From fecad7893be025b9768a5fa58517c03562377083 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Fri, 27 Jan 2023 17:40:30 -0600 Subject: [PATCH 001/191] did this TODO --- lib/pages/wallet_view/wallet_view.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index bc63f0868..fd5473b11 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -774,9 +774,6 @@ class _WalletViewState extends ConsumerState { ); }, onBuyPressed: () { - // TODO set default coin to currently open wallet here by passing it as an argument - // final coin = ref.read(managerProvider).coin; - unawaited(Navigator.of(context).pushNamed( BuyInWalletView.routeName, arguments: coin, From cbebe69ad8ae711112ed0eaca082d3a68e0f91d7 Mon Sep 17 00:00:00 2001 From: julian Date: Sun, 29 Jan 2023 11:21:35 -0600 Subject: [PATCH 002/191] WIP initial majestic bank api work --- .../majestic_bank/majestic_bank_api.dart | 240 ++++++++++++++++++ .../majestic_bank/majestic_bank_exchange.dart | 82 ++++++ 2 files changed, 322 insertions(+) create mode 100644 lib/services/exchange/majestic_bank/majestic_bank_api.dart create mode 100644 lib/services/exchange/majestic_bank/majestic_bank_exchange.dart diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart new file mode 100644 index 000000000..58333b807 --- /dev/null +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -0,0 +1,240 @@ +import 'dart:convert'; + +import 'package:http/http.dart' as http; +import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/services/exchange/exchange_response.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; +import 'package:stackwallet/utilities/logger.dart'; +import 'package:uuid/uuid.dart'; + +class MajesticBankAPI { + static const String scheme = "https"; + static const String authority = "majesticbank.sc"; + static const String version = "v1"; + static const String refCode = ""; + + MajesticBankAPI._(); + + static final MajesticBankAPI _instance = MajesticBankAPI._(); + + static MajesticBankAPI get instance => _instance; + + /// set this to override using standard http client. Useful for testing + http.Client? client; + + Uri _buildUri({required String endpoint, Map? params}) { + return Uri.https(authority, "/api/$version/$endpoint", params); + } + + String getPrettyJSONString(jsonObject) { + var encoder = const JsonEncoder.withIndent(" "); + return encoder.convert(jsonObject); + } + + Future _makeGetRequest(Uri uri) async { + final client = this.client ?? http.Client(); + int code = -1; + try { + final response = await client.get( + uri, + ); + + code = response.statusCode; + print(response.body); + + final parsed = jsonDecode(response.body); + + return parsed; + } catch (e, s) { + Logging.instance.log( + "_makeRequest($uri) HTTP:$code threw: $e\n$s", + level: LogLevel.Error, + ); + rethrow; + } + } + + Future getRates() async { + final uri = _buildUri( + endpoint: "rates", + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + return getPrettyJSONString(jsonObject); + } catch (e, s) { + Logging.instance.log("getRates exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future calculateOrder() async { + final uri = _buildUri( + endpoint: "calculate", + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + return getPrettyJSONString(jsonObject); + } catch (e, s) { + Logging.instance + .log("calculateOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future> createOrder({ + required String amount, + required String fromCurrency, + required String receiveCurrency, + required String receiveAddress, + }) async { + final params = { + "from_amount": amount, + "from_currency": fromCurrency, + "receive_currency": receiveCurrency, + "receive_address": receiveAddress, + "referral_code": refCode, + }; + + final uri = _buildUri(endpoint: "create", params: params); + + try { + final now = DateTime.now(); + final jsonObject = await _makeGetRequest(uri); + final json = Map.from(jsonObject as Map); + + final trade = Trade( + uuid: const Uuid().v1(), + tradeId: json["trx"] as String, + rateType: "floating-rate", + direction: "direct", + timestamp: now, + updatedAt: now, + payInCurrency: json["from_currency"] as String, + payInAmount: json["from_amount"] as String, + payInAddress: json["address"] as String, + payInNetwork: "", + payInExtraId: "", + payInTxid: "", + payOutCurrency: json["receive_currency"] as String, + payOutAmount: json["receive_amount"] as String, + payOutAddress: json["receive_address"] as String, + payOutNetwork: "", + payOutExtraId: "", + payOutTxid: "", + refundAddress: "", + refundExtraId: "", + status: "Waiting", + exchangeName: MajesticBankExchange.exchangeName, + ); + return ExchangeResponse(value: trade); + } catch (e, s) { + Logging.instance + .log("createOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future> createFixedRateOrder({ + required String amount, + required String fromCurrency, + required String receiveCurrency, + required String receiveAddress, + required bool reversed, + }) async { + final params = { + "from_currency": fromCurrency, + "receive_currency": receiveCurrency, + "receive_address": receiveAddress, + "referral_code": refCode, + }; + + if (reversed) { + params["receive_amount"] = amount; + } else { + params["from_amount"] = amount; + } + + final uri = _buildUri(endpoint: "pay", params: params); + + try { + final now = DateTime.now(); + final jsonObject = await _makeGetRequest(uri); + final json = Map.from(jsonObject as Map); + + final trade = Trade( + uuid: const Uuid().v1(), + tradeId: json["trx"] as String, + rateType: "fixed-rate", + direction: reversed ? "reversed" : "direct", + timestamp: now, + updatedAt: now, + payInCurrency: json["from_currency"] as String, + payInAmount: json["from_amount"] as String, + payInAddress: json["address"] as String, + payInNetwork: "", + payInExtraId: "", + payInTxid: "", + payOutCurrency: json["receive_currency"] as String, + payOutAmount: json["receive_amount"] as String, + payOutAddress: json["receive_address"] as String, + payOutNetwork: "", + payOutExtraId: "", + payOutTxid: "", + refundAddress: "", + refundExtraId: "", + status: "Waiting", + exchangeName: MajesticBankExchange.exchangeName, + ); + return ExchangeResponse(value: trade); + } catch (e, s) { + Logging.instance + .log("createFixedRateOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future trackOrder({required String orderId}) async { + final uri = _buildUri( + endpoint: "track", + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + return getPrettyJSONString(jsonObject); + } catch (e, s) { + Logging.instance + .log("createOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } +} diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart new file mode 100644 index 000000000..978ffb914 --- /dev/null +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -0,0 +1,82 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/response_objects/currency.dart'; +import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; +import 'package:stackwallet/models/exchange/response_objects/pair.dart'; +import 'package:stackwallet/models/exchange/response_objects/range.dart'; +import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/services/exchange/exchange.dart'; +import 'package:stackwallet/services/exchange/exchange_response.dart'; + +class MajesticBankExchange extends Exchange { + static const exchangeName = "MajesticBank"; + + @override + Future> createTrade( + {required String from, + required String to, + required bool fixedRate, + required Decimal amount, + required String addressTo, + String? extraId, + required String addressRefund, + required String refundExtraId, + String? rateId, + required bool reversed}) { + // TODO: implement createTrade + throw UnimplementedError(); + } + + @override + Future>> getAllCurrencies(bool fixedRate) { + // TODO: implement getAllCurrencies + throw UnimplementedError(); + } + + @override + Future>> getAllPairs(bool fixedRate) { + // TODO: implement getAllPairs + throw UnimplementedError(); + } + + @override + Future> getEstimate( + String from, String to, Decimal amount, bool fixedRate, bool reversed) { + // TODO: implement getEstimate + throw UnimplementedError(); + } + + @override + Future>> getPairsFor( + String currency, bool fixedRate) { + // TODO: implement getPairsFor + throw UnimplementedError(); + } + + @override + Future> getRange( + String from, String to, bool fixedRate) { + // TODO: implement getRange + throw UnimplementedError(); + } + + @override + Future> getTrade(String tradeId) { + // TODO: implement getTrade + throw UnimplementedError(); + } + + @override + Future>> getTrades() { + // TODO: implement getTrades + throw UnimplementedError(); + } + + @override + String get name => exchangeName; + + @override + Future> updateTrade(Trade trade) { + // TODO: implement updateTrade + throw UnimplementedError(); + } +} From 9ab087587b72c51eb8c4d207e7317cb57e0173d2 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 07:58:11 -0600 Subject: [PATCH 003/191] helper --- .../global_settings_view/hidden_settings.dart | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/pages/settings_views/global_settings_view/hidden_settings.dart b/lib/pages/settings_views/global_settings_view/hidden_settings.dart index d92b166d7..bc86ecdb0 100644 --- a/lib/pages/settings_views/global_settings_view/hidden_settings.dart +++ b/lib/pages/settings_views/global_settings_view/hidden_settings.dart @@ -128,6 +128,27 @@ class HiddenSettings extends StatelessWidget { ), ); }), + // const SizedBox( + // height: 12, + // ), + // Consumer(builder: (_, ref, __) { + // return GestureDetector( + // onTap: () async { + // final x = + // await MajesticBankAPI.instance.getRates(); + // print(x); + // }, + // child: RoundedWhiteContainer( + // child: Text( + // "Click me", + // style: STextStyles.button(context).copyWith( + // color: Theme.of(context) + // .extension()! + // .accentColorDark), + // ), + // ), + // ); + // }), const SizedBox( height: 12, ), From 85d69c0cb29330e46c559bd2f070e5e93a0e4203 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 08:28:14 -0600 Subject: [PATCH 004/191] check all outputs for potential notification tx --- lib/services/mixins/electrum_x_parsing.dart | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/services/mixins/electrum_x_parsing.dart b/lib/services/mixins/electrum_x_parsing.dart index 23be3d80d..c0b572b20 100644 --- a/lib/services/mixins/electrum_x_parsing.dart +++ b/lib/services/mixins/electrum_x_parsing.dart @@ -189,14 +189,16 @@ mixin ElectrumXParsing { TransactionSubType txSubType = TransactionSubType.none; if (this is PaynymWalletInterface && outs.length > 1 && ins.isNotEmpty) { - List? scriptChunks = outs[1].scriptPubKeyAsm?.split(" "); - if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") { - final blindedPaymentCode = scriptChunks![1]; - final bytes = blindedPaymentCode.fromHex; + for (int i = 0; i < outs.length; i++) { + List? scriptChunks = outs[i].scriptPubKeyAsm?.split(" "); + if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") { + final blindedPaymentCode = scriptChunks![1]; + final bytes = blindedPaymentCode.fromHex; - // https://en.bitcoin.it/wiki/BIP_0047#Sending - if (bytes.length == 80 && bytes.first == 1) { - txSubType = TransactionSubType.bip47Notification; + // https://en.bitcoin.it/wiki/BIP_0047#Sending + if (bytes.length == 80 && bytes.first == 1) { + txSubType = TransactionSubType.bip47Notification; + } } } } From 17cbc390e4f90ce7d97ca4692b6d42d8003a7130 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 08:28:54 -0600 Subject: [PATCH 005/191] pass in correct values --- .../coins/bitcoin/bitcoin_wallet.dart | 2 ++ .../mixins/paynym_wallet_interface.dart | 20 ++++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 83188746e..1f32a945a 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -1314,6 +1314,8 @@ class BitcoinWallet extends CoinServiceAPI checkChangeAddressForTransactions: _checkChangeAddressForTransactions, addDerivation: addDerivation, addDerivations: addDerivations, + dustLimitP2PKH: DUST_LIMIT_P2PKH, + minConfirms: MINIMUM_CONFIRMATIONS, ); } diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 3a9642cf0..2292f3ec5 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -15,7 +15,6 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart'; import 'package:stackwallet/exceptions/wallet/insufficient_balance_exception.dart'; import 'package:stackwallet/exceptions/wallet/paynym_send_exception.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; -import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart'; @@ -35,6 +34,8 @@ mixin PaynymWalletInterface { late final MainDB _db; late final ElectrumX _electrumXClient; late final SecureStorageInterface _secureStorage; + late final int _dustLimitP2PKH; + late final int _minConfirms; // passed in wallet functions late final Future> Function() _getMnemonic; @@ -79,6 +80,8 @@ mixin PaynymWalletInterface { required MainDB db, required ElectrumX electrumXClient, required SecureStorageInterface secureStorage, + required int dustLimitP2PKH, + required int minConfirms, required Future> Function() getMnemonic, required Future Function() getChainHeight, required Future Function() getCurrentChangeAddress, @@ -125,6 +128,8 @@ mixin PaynymWalletInterface { _db = db; _electrumXClient = electrumXClient; _secureStorage = secureStorage; + _dustLimitP2PKH = dustLimitP2PKH; + _minConfirms = minConfirms; _getMnemonic = getMnemonic; _getChainHeight = getChainHeight; _getCurrentChangeAddress = getCurrentChangeAddress; @@ -353,7 +358,7 @@ mixin PaynymWalletInterface { int additionalOutputs = 0, List? utxos, }) async { - const amountToSend = DUST_LIMIT; + final amountToSend = _dustLimitP2PKH; final List availableOutputs = utxos ?? await _db.getUTXOs(_walletId).findAll(); final List spendableOutputs = []; @@ -362,8 +367,8 @@ mixin PaynymWalletInterface { // Build list of spendable outputs and totaling their satoshi amount for (var i = 0; i < availableOutputs.length; i++) { if (availableOutputs[i].isBlocked == false && - availableOutputs[i].isConfirmed( - await _getChainHeight(), MINIMUM_CONFIRMATIONS) == + availableOutputs[i] + .isConfirmed(await _getChainHeight(), _minConfirms) == true) { spendableOutputs.add(availableOutputs[i]); spendableSatoshiValue += availableOutputs[i].value; @@ -440,13 +445,13 @@ mixin PaynymWalletInterface { feeForWithChange = vSizeForWithChange * 1000; } - if (satoshisBeingUsed - amountToSend > feeForNoChange + DUST_LIMIT) { + if (satoshisBeingUsed - amountToSend > feeForNoChange + _dustLimitP2PKH) { // try to add change output due to "left over" amount being greater than // the estimated fee + the dust limit int changeAmount = satoshisBeingUsed - amountToSend - feeForWithChange; // check estimates are correct and build notification tx - if (changeAmount >= DUST_LIMIT && + if (changeAmount >= _dustLimitP2PKH && satoshisBeingUsed - amountToSend - changeAmount == feeForWithChange) { final txn = await _createNotificationTx( targetPaymentCodeString: targetPaymentCodeString, @@ -572,7 +577,8 @@ mixin PaynymWalletInterface { ); // todo: modify address once segwit support is in our bip47 - txb.addOutput(targetPaymentCode.notificationAddressP2PKH(), DUST_LIMIT); + txb.addOutput( + targetPaymentCode.notificationAddressP2PKH(), _dustLimitP2PKH); txb.addOutput(opReturnScript, 0); // TODO: add possible change output and mark output as dangerous From 6e54ddec865843fb0674bf11e84d8051add5dacd Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 09:13:30 -0600 Subject: [PATCH 006/191] wallet bottom nav bar fixes --- .../sub_widgets/wallet_navigation_bar.dart | 117 +++++++++--------- 1 file changed, 58 insertions(+), 59 deletions(-) diff --git a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart index a50c7bb3c..4e6be9e97 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart @@ -360,62 +360,6 @@ class _WalletNavigationBarState extends ConsumerState { ), ), ), - if (ref.watch(walletsChangeNotifierProvider.select((value) => - value.getManager(widget.walletId).hasPaynymSupport))) - RawMaterialButton( - constraints: const BoxConstraints( - minWidth: 66, - ), - onPressed: () { - if (scale == 0) { - setState(() { - scale = 1; - }); - } else if (scale == 1) { - setState(() { - scale = 0; - }); - } - }, - splashColor: - Theme.of(context).extension()!.highlight, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular( - widget.height / 2.0, - ), - ), - child: Container( - color: Colors.transparent, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 2.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const Spacer(), - const SizedBox( - height: 2, - ), - SvgPicture.asset( - Assets.svg.bars, - width: 20, - height: 20, - ), - const SizedBox( - height: 6, - ), - Text( - "More", - style: STextStyles.buttonSmall(context), - ), - const Spacer(), - ], - ), - ), - ), - ), - const SizedBox( - width: 12, - ), if (widget.coin.hasBuySupport) RawMaterialButton( constraints: const BoxConstraints( @@ -455,10 +399,65 @@ class _WalletNavigationBarState extends ConsumerState { ), ), ), - if (widget.coin.hasBuySupport) - const SizedBox( - width: 12, + if (ref.watch(walletsChangeNotifierProvider.select((value) => + value.getManager(widget.walletId).hasPaynymSupport))) + RawMaterialButton( + constraints: const BoxConstraints( + minWidth: 66, + ), + onPressed: () { + if (scale == 0) { + setState(() { + scale = 1; + }); + } else if (scale == 1) { + setState(() { + scale = 0; + }); + } + }, + splashColor: + Theme.of(context).extension()!.highlight, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular( + widget.height / 2.0, + ), + ), + child: Container( + color: Colors.transparent, + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 2.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + const Spacer(), + const SizedBox( + height: 2, + ), + SvgPicture.asset( + Assets.svg.bars, + width: 20, + height: 20, + color: Theme.of(context) + .extension()! + .bottomNavIconIcon, + ), + const SizedBox( + height: 6, + ), + Text( + "More", + style: STextStyles.buttonSmall(context), + ), + const Spacer(), + ], + ), + ), + ), ), + const SizedBox( + width: 12, + ), ], ), ), From 1e5f624c8b9cbcc1dd3930653aade78a3b1703f2 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Mon, 30 Jan 2023 09:30:57 -0600 Subject: [PATCH 007/191] remove unused functions --- lib/pages/buy_view/buy_form.dart | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index 029bc9aa4..0aa8170f8 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -108,10 +108,6 @@ class _BuyFormState extends ConsumerState { static Decimal maxCrypto = Decimal.parse((10000.00000000).toString()); static String boundedCryptoTicker = ''; - void fiatFieldOnChanged(String value) async {} - - void cryptoFieldOnChanged(String value) async {} - void selectCrypto() async { if (ref.read(simplexProvider).supportedCryptos.isEmpty) { bool shouldPop = false; From a41f80ac557d78a19432cae09c1c4adfc48ea65c Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 11:06:28 -0600 Subject: [PATCH 008/191] add height change notify --- lib/services/coins/bitcoin/bitcoin_wallet.dart | 8 ++++++++ lib/services/coins/bitcoincash/bitcoincash_wallet.dart | 8 ++++++++ lib/services/coins/dogecoin/dogecoin_wallet.dart | 8 ++++++++ lib/services/coins/epiccash/epiccash_wallet.dart | 8 ++++++++ lib/services/coins/firo/firo_wallet.dart | 8 ++++++++ lib/services/coins/litecoin/litecoin_wallet.dart | 8 ++++++++ lib/services/coins/namecoin/namecoin_wallet.dart | 8 ++++++++ lib/services/coins/particl/particl_wallet.dart | 8 ++++++++ 8 files changed, 64 insertions(+) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 1f32a945a..32c24686b 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -251,6 +251,14 @@ class BitcoinWallet extends CoinServiceAPI final result = await _electrumXClient.getBlockHeadTip(); final height = result["height"] as int; await updateCachedChainHeight(height); + if (height > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return height; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 969eb1815..a84c8f09e 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -217,6 +217,14 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { final result = await _electrumXClient.getBlockHeadTip(); final height = result["height"] as int; await updateCachedChainHeight(height); + if (height > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return height; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 90d2764ac..7dc3bc6f9 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -226,6 +226,14 @@ class DogecoinWallet extends CoinServiceAPI final result = await _electrumXClient.getBlockHeadTip(); final height = result["height"] as int; await updateCachedChainHeight(height); + if (height > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return height; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index 86ed2979b..d6505889b 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -1416,6 +1416,14 @@ class EpicCashWallet extends CoinServiceAPI }); await updateCachedChainHeight(latestHeight!); + if (latestHeight! > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return latestHeight!; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index ec63db186..7758d4e0c 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -4897,6 +4897,14 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { final result = await _electrumXClient.getBlockHeadTip(); final height = result["height"] as int; await updateCachedChainHeight(height); + if (height > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return height; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index be93d478f..779a9ba54 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -241,6 +241,14 @@ class LitecoinWallet extends CoinServiceAPI final result = await _electrumXClient.getBlockHeadTip(); final height = result["height"] as int; await updateCachedChainHeight(height); + if (height > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return height; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 2cf0e8ef5..f074ca0ef 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -236,6 +236,14 @@ class NamecoinWallet extends CoinServiceAPI final result = await _electrumXClient.getBlockHeadTip(); final height = result["height"] as int; await updateCachedChainHeight(height); + if (height > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return height; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 4f822d87a..e4e419892 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -231,6 +231,14 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { final result = await _electrumXClient.getBlockHeadTip(); final height = result["height"] as int; await updateCachedChainHeight(height); + if (height > storedChainHeight) { + GlobalEventBus.instance.fire( + UpdatedInBackgroundEvent( + "Updated current chain height in $walletId $walletName!", + walletId, + ), + ); + } return height; } catch (e, s) { Logging.instance.log("Exception caught in chainHeight: $e\n$s", From 225aec176306dacf91770b5abd2751c8930463d0 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 12:03:23 -0600 Subject: [PATCH 009/191] update ui transaction state fix --- .../sub_widgets/transactions_list.dart | 29 +++++++++---------- .../all_transactions_view.dart | 8 +++-- .../transaction_details_view.dart | 4 +-- .../dogecoin/current_height_provider.dart | 6 ---- lib/widgets/transaction_card.dart | 4 +-- 5 files changed, 23 insertions(+), 28 deletions(-) delete mode 100644 lib/providers/blockchain/dogecoin/current_height_provider.dart diff --git a/lib/pages/wallet_view/sub_widgets/transactions_list.dart b/lib/pages/wallet_view/sub_widgets/transactions_list.dart index 71f56ccad..360b3028b 100644 --- a/lib/pages/wallet_view/sub_widgets/transactions_list.dart +++ b/lib/pages/wallet_view/sub_widgets/transactions_list.dart @@ -5,7 +5,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/pages/exchange_view/trade_details_view.dart'; import 'package:stackwallet/pages/wallet_view/sub_widgets/no_transactions_found.dart'; -import 'package:stackwallet/providers/blockchain/dogecoin/current_height_provider.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/route_generator.dart'; @@ -85,7 +84,13 @@ class _TransactionsListState extends ConsumerState { children: [ TransactionCard( // this may mess with combined firo transactions - key: Key(tx.txid + tx.type.name + tx.address.value.toString()), // + key: Key(tx.txid + + tx.type.name + + tx.address.value.toString() + + ref + .watch(widget.managerProvider + .select((value) => value.currentHeight)) + .toString()), // transaction: tx, walletId: widget.walletId, ), @@ -180,7 +185,13 @@ class _TransactionsListState extends ConsumerState { ), child: TransactionCard( // this may mess with combined firo transactions - key: Key(tx.txid + tx.type.name + tx.address.value.toString()), // + key: Key(tx.txid + + tx.type.name + + tx.address.value.toString() + + ref + .watch(widget.managerProvider + .select((value) => value.currentHeight)) + .toString()), // transaction: tx, walletId: widget.walletId, ), @@ -188,13 +199,6 @@ class _TransactionsListState extends ConsumerState { } } - void updateHeightProvider(Manager manager) { - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - ref.read(currentHeightProvider(manager.coin).state).state = - manager.currentHeight; - }); - } - @override void initState() { managerProvider = widget.managerProvider; @@ -203,14 +207,9 @@ class _TransactionsListState extends ConsumerState { @override Widget build(BuildContext context) { - // final managerProvider = ref - // .watch(walletsChangeNotifierProvider) - // .getManagerProvider(widget.walletId); - final manager = ref.watch(walletsChangeNotifierProvider .select((value) => value.getManager(widget.walletId))); - updateHeightProvider(manager); return FutureBuilder( future: manager.transactions, builder: (fbContext, AsyncSnapshot> snapshot) { diff --git a/lib/pages/wallet_view/transaction_views/all_transactions_view.dart b/lib/pages/wallet_view/transaction_views/all_transactions_view.dart index 6ebb5bd1c..c9ba6181b 100644 --- a/lib/pages/wallet_view/transaction_views/all_transactions_view.dart +++ b/lib/pages/wallet_view/transaction_views/all_transactions_view.dart @@ -10,7 +10,6 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/wallet_view/sub_widgets/tx_icon.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_search_filter_view.dart'; -import 'package:stackwallet/providers/blockchain/dogecoin/current_height_provider.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/transaction_filter_provider.dart'; @@ -131,7 +130,9 @@ class _TransactionDetailsViewState extends ConsumerState { // check if address book name contains contains |= contacts .where((e) => - e.addresses.where((a) => a.address == tx.address).isNotEmpty && + e.addresses + .where((a) => a.address == tx.address.value?.value) + .isNotEmpty && e.name.toLowerCase().contains(keyword)) .isNotEmpty; @@ -853,7 +854,8 @@ class _DesktopTransactionCardRowState prefix = ""; } - final currentHeight = ref.watch(currentHeightProvider(coin).state).state; + final currentHeight = ref.watch(walletsChangeNotifierProvider + .select((value) => value.getManager(walletId).currentHeight)); return Material( color: Theme.of(context).extension()!.popupBG, diff --git a/lib/pages/wallet_view/transaction_views/transaction_details_view.dart b/lib/pages/wallet_view/transaction_views/transaction_details_view.dart index f2755f547..af82a250d 100644 --- a/lib/pages/wallet_view/transaction_views/transaction_details_view.dart +++ b/lib/pages/wallet_view/transaction_views/transaction_details_view.dart @@ -11,7 +11,6 @@ import 'package:stackwallet/pages/wallet_view/sub_widgets/tx_icon.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/dialogs/cancelling_transaction_progress_dialog.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/edit_note_view.dart'; import 'package:stackwallet/pages/wallet_view/wallet_view.dart'; -import 'package:stackwallet/providers/blockchain/dogecoin/current_height_provider.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart'; @@ -298,7 +297,8 @@ class _TransactionDetailsViewState @override Widget build(BuildContext context) { - final currentHeight = ref.watch(currentHeightProvider(coin).state).state; + final currentHeight = ref.watch(walletsChangeNotifierProvider + .select((value) => value.getManager(walletId).currentHeight)); return ConditionalParent( condition: !isDesktop, diff --git a/lib/providers/blockchain/dogecoin/current_height_provider.dart b/lib/providers/blockchain/dogecoin/current_height_provider.dart deleted file mode 100644 index 22b6711db..000000000 --- a/lib/providers/blockchain/dogecoin/current_height_provider.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:dart_numerics/dart_numerics.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/utilities/enums/coin_enum.dart'; - -final currentHeightProvider = - StateProvider.family((ref, coin) => int64MaxValue); diff --git a/lib/widgets/transaction_card.dart b/lib/widgets/transaction_card.dart index 031234142..1b19a2380 100644 --- a/lib/widgets/transaction_card.dart +++ b/lib/widgets/transaction_card.dart @@ -6,7 +6,6 @@ import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/wallet_view/sub_widgets/tx_icon.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart'; -import 'package:stackwallet/providers/blockchain/dogecoin/current_height_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -121,7 +120,8 @@ class _TransactionCardState extends ConsumerState { } } - final currentHeight = ref.watch(currentHeightProvider(coin).state).state; + final currentHeight = ref.watch(walletsChangeNotifierProvider + .select((value) => value.getManager(walletId).currentHeight)); return Material( color: Theme.of(context).extension()!.popupBG, From 47fb446b2e6460f97c9eebc73c5f3193d279cdd5 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 13:08:44 -0600 Subject: [PATCH 010/191] changed amount validation and (hopefully) fixed preview quote button --- lib/pages/buy_view/buy_form.dart | 245 ++++++++++++++++++------------- 1 file changed, 143 insertions(+), 102 deletions(-) diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index 0aa8170f8..3ec462ca7 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -108,6 +108,37 @@ class _BuyFormState extends ConsumerState { static Decimal maxCrypto = Decimal.parse((10000.00000000).toString()); static String boundedCryptoTicker = ''; + String _amountOutOfRangeErrorString = ""; + void validateAmount() { + if (_buyAmountController.text.isEmpty) { + setState(() { + _amountOutOfRangeErrorString = ""; + }); + return; + } + + final value = Decimal.tryParse(_buyAmountController.text); + if (value == null) { + setState(() { + _amountOutOfRangeErrorString = "Invalid amount"; + }); + } else if (value > maxFiat) { + setState(() { + _amountOutOfRangeErrorString = + "Maximum amount: ${maxFiat.toStringAsFixed(2)}"; + }); + } else if (value < minFiat) { + setState(() { + _amountOutOfRangeErrorString = + "Minimum amount: ${minFiat.toStringAsFixed(2)}"; + }); + } else { + setState(() { + _amountOutOfRangeErrorString = ""; + }); + } + } + void selectCrypto() async { if (ref.read(simplexProvider).supportedCryptos.isEmpty) { bool shouldPop = false; @@ -355,11 +386,11 @@ class _BuyFormState extends ConsumerState { } } - String? _fetchIconUrlFromTicker(String? ticker) { - if (ticker == null) return null; - - return null; - } + // String? _fetchIconUrlFromTicker(String? ticker) { + // if (ticker == null) return null; + // + // return null; + // } bool isStackCoin(String? ticker) { if (ticker == null) return false; @@ -373,13 +404,15 @@ class _BuyFormState extends ConsumerState { } Widget? getIconForTicker(String ticker) { - String? iconAsset = /*isStackCoin(ticker) + String iconAsset = /*isStackCoin(ticker) ?*/ Assets.svg.iconFor(coin: coinFromTickerCaseInsensitive(ticker)); // : Assets.svg.buyIconFor(ticker); - return (iconAsset != null) - ? SvgPicture.asset(iconAsset, height: 20, width: 20) - : null; + // return (iconAsset != null) + // ? SvgPicture.asset(iconAsset, height: 20, width: 20) + // : null; + + return SvgPicture.asset(iconAsset, height: 20, width: 20); } Future previewQuote(SimplexQuote quote) async { @@ -500,7 +533,7 @@ class _BuyFormState extends ConsumerState { String errorMessage = "${quoteResponse.exception?.errorMessage}"; if (errorMessage.contains('must be between')) { errorMessage = errorMessage.substring( - (errorMessage.indexOf('getQuote exception: ') ?? 19) + 20, + errorMessage.indexOf('getQuote exception: ') + 20, errorMessage.indexOf(", value: null")); _BuyFormState.boundedCryptoTicker = errorMessage.substring( errorMessage.indexOf('The ') + 4, @@ -848,7 +881,11 @@ class _BuyFormState extends ConsumerState { .textFieldDefaultBG, child: Padding( padding: const EdgeInsets.only( - left: 12.0, top: 12.0, right: 12.0, bottom: 12.0), + left: 12.0, + top: 12.0, + right: 12.0, + bottom: 12.0, + ), child: Row( children: [ Container( @@ -874,7 +911,7 @@ class _BuyFormState extends ConsumerState { width: 8, ), Text( - "${selectedFiat?.ticker ?? 'ERR'}", + selectedFiat?.ticker ?? 'ERR', style: STextStyles.largeMedium14(context), ), const SizedBox( @@ -882,7 +919,7 @@ class _BuyFormState extends ConsumerState { ), Expanded( child: Text( - "${selectedFiat?.name ?? 'Error'}", + selectedFiat?.name ?? 'Error', style: STextStyles.largeMedium14(context), ), ), @@ -934,10 +971,11 @@ class _BuyFormState extends ConsumerState { color: Theme.of(context).extension()!.textDark, ), key: const Key("buyAmountInputFieldTextFieldKey"), - controller: _buyAmountController - ..text = _BuyFormState.buyWithFiat - ? _BuyFormState.minFiat.toStringAsFixed(2) ?? '50.00' - : _BuyFormState.minCrypto.toStringAsFixed(8), + controller: _buyAmountController, + // note: setting the text value here will set it every time this widget rebuilds + // ..text = _BuyFormState.buyWithFiat + // ? _BuyFormState.minFiat.toStringAsFixed(2) ?? '50.00' + // : _BuyFormState.minCrypto.toStringAsFixed(8), focusNode: _buyAmountFocusNode, keyboardType: Util.isDesktop ? null @@ -946,7 +984,10 @@ class _BuyFormState extends ConsumerState { decimal: true, ), textAlign: TextAlign.left, - inputFormatters: [NumericalRangeFormatter()], + // inputFormatters: [NumericalRangeFormatter()], + onChanged: (_) { + validateAmount(); + }, decoration: InputDecoration( contentPadding: const EdgeInsets.only( // top: 22, @@ -981,8 +1022,8 @@ class _BuyFormState extends ConsumerState { ), child: Text( format.simpleCurrencySymbol( - selectedFiat?.ticker ?? - "ERR".toUpperCase()), + selectedFiat?.ticker.toUpperCase() ?? + "ERR"), textAlign: TextAlign.center, style: STextStyles.smallMed12(context).copyWith( color: Theme.of(context) @@ -1019,18 +1060,20 @@ class _BuyFormState extends ConsumerState { key: const Key( "buyViewClearAmountFieldButtonKey"), onTap: () { - if (_BuyFormState.buyWithFiat) { - _buyAmountController.text = _BuyFormState - .minFiat - .toStringAsFixed(2); - } else { - if (selectedCrypto?.ticker == - _BuyFormState.boundedCryptoTicker) { - _buyAmountController.text = _BuyFormState - .minCrypto - .toStringAsFixed(8); - } - } + // if (_BuyFormState.buyWithFiat) { + // _buyAmountController.text = _BuyFormState + // .minFiat + // .toStringAsFixed(2); + // } else { + // if (selectedCrypto?.ticker == + // _BuyFormState.boundedCryptoTicker) { + // _buyAmountController.text = _BuyFormState + // .minCrypto + // .toStringAsFixed(8); + // } + // } + _buyAmountController.text = ""; + validateAmount(); }, child: const XIcon(), ) @@ -1047,7 +1090,7 @@ class _BuyFormState extends ConsumerState { _buyAmountController.text = amountString.toString(); - setState(() {}); + validateAmount(); } }, child: _buyAmountController.text.isEmpty @@ -1060,6 +1103,14 @@ class _BuyFormState extends ConsumerState { ), ), ), + SizedBox( + height: isDesktop ? 10 : 4, + ), + if (_amountOutOfRangeErrorString.isNotEmpty) + Text( + _amountOutOfRangeErrorString, + style: STextStyles.errorSmall(context), + ), SizedBox( height: isDesktop ? 20 : 12, ), @@ -1167,7 +1218,7 @@ class _BuyFormState extends ConsumerState { _receiveAddressController.text = ""; _address = ""; setState(() { - _addressToggleFlag = true; + _addressToggleFlag = false; }); }, child: const XIcon(), @@ -1338,27 +1389,15 @@ class _BuyFormState extends ConsumerState { SizedBox( height: isDesktop ? 20 : 12, ), - MouseRegion( - cursor: SystemMouseCursors.click, - child: GestureDetector( - onTap: () { - if (_receiveAddressController.text.isNotEmpty && - _buyAmountController.text.isNotEmpty) { - previewQuote(quote); - } - }, - child: PrimaryButton( - buttonHeight: isDesktop ? ButtonHeight.l : null, - enabled: _receiveAddressController.text.isNotEmpty && - _buyAmountController.text.isNotEmpty, - onPressed: () { - if (_receiveAddressController.text.isNotEmpty && - _buyAmountController.text.isNotEmpty) { - previewQuote(quote); - } - }, - label: "Preview quote", - )), + PrimaryButton( + buttonHeight: isDesktop ? ButtonHeight.l : null, + enabled: _addressToggleFlag && + _amountOutOfRangeErrorString.isEmpty && + _buyAmountController.text.isNotEmpty, + onPressed: () { + previewQuote(quote); + }, + label: "Preview quote", ), ], ), @@ -1367,51 +1406,53 @@ class _BuyFormState extends ConsumerState { } } -// See https://stackoverflow.com/a/68072967 -class NumericalRangeFormatter extends TextInputFormatter { - NumericalRangeFormatter(); +// might need this again in the future - @override - TextEditingValue formatEditUpdate( - TextEditingValue oldValue, - TextEditingValue newValue, - ) { - TextSelection newSelection = newValue.selection; - String newVal = _BuyFormState.buyWithFiat - ? Decimal.parse(newValue.text).toStringAsFixed(2) - : Decimal.parse(newValue.text).toStringAsFixed(8); - if (newValue.text == '') { - return newValue; - } else { - if (_BuyFormState.buyWithFiat) { - if (Decimal.parse(newValue.text) < _BuyFormState.minFiat) { - newVal = _BuyFormState.minFiat.toStringAsFixed(2); - // _BuyFormState._buyAmountController.selection = - // TextSelection.collapsed( - // offset: _BuyFormState.buyWithFiat - // ? _BuyFormState._buyAmountController.text.length - 2 - // : _BuyFormState._buyAmountController.text.length - 8); - } else if (Decimal.parse(newValue.text) > _BuyFormState.maxFiat) { - newVal = _BuyFormState.maxFiat.toStringAsFixed(2); - } - } else if (!_BuyFormState.buyWithFiat && - _BuyFormState.selectedCrypto?.ticker == - _BuyFormState.boundedCryptoTicker) { - if (Decimal.parse(newValue.text) < _BuyFormState.minCrypto) { - newVal = _BuyFormState.minCrypto.toStringAsFixed(8); - } else if (Decimal.parse(newValue.text) > _BuyFormState.maxCrypto) { - newVal = _BuyFormState.maxCrypto.toStringAsFixed(8); - } - } - } - - final regexString = _BuyFormState.buyWithFiat - ? r'^([0-9]*[,.]?[0-9]{0,2}|[,.][0-9]{0,2})$' - : r'^([0-9]*[,.]?[0-9]{0,8}|[,.][0-9]{0,8})$'; - - // return RegExp(r'^([0-9]*[,.]?[0-9]{0,8}|[,.][0-9]{0,8})$') - return RegExp(regexString).hasMatch(newVal) - ? TextEditingValue(text: newVal, selection: newSelection) - : oldValue; - } -} +// // See https://stackoverflow.com/a/68072967 +// class NumericalRangeFormatter extends TextInputFormatter { +// NumericalRangeFormatter(); +// +// @override +// TextEditingValue formatEditUpdate( +// TextEditingValue oldValue, +// TextEditingValue newValue, +// ) { +// TextSelection newSelection = newValue.selection; +// String newVal = _BuyFormState.buyWithFiat +// ? Decimal.parse(newValue.text).toStringAsFixed(2) +// : Decimal.parse(newValue.text).toStringAsFixed(8); +// if (newValue.text == '') { +// return newValue; +// } else { +// if (_BuyFormState.buyWithFiat) { +// if (Decimal.parse(newValue.text) < _BuyFormState.minFiat) { +// newVal = _BuyFormState.minFiat.toStringAsFixed(2); +// // _BuyFormState._buyAmountController.selection = +// // TextSelection.collapsed( +// // offset: _BuyFormState.buyWithFiat +// // ? _BuyFormState._buyAmountController.text.length - 2 +// // : _BuyFormState._buyAmountController.text.length - 8); +// } else if (Decimal.parse(newValue.text) > _BuyFormState.maxFiat) { +// newVal = _BuyFormState.maxFiat.toStringAsFixed(2); +// } +// } else if (!_BuyFormState.buyWithFiat && +// _BuyFormState.selectedCrypto?.ticker == +// _BuyFormState.boundedCryptoTicker) { +// if (Decimal.parse(newValue.text) < _BuyFormState.minCrypto) { +// newVal = _BuyFormState.minCrypto.toStringAsFixed(8); +// } else if (Decimal.parse(newValue.text) > _BuyFormState.maxCrypto) { +// newVal = _BuyFormState.maxCrypto.toStringAsFixed(8); +// } +// } +// } +// +// final regexString = _BuyFormState.buyWithFiat +// ? r'^([0-9]*[,.]?[0-9]{0,2}|[,.][0-9]{0,2})$' +// : r'^([0-9]*[,.]?[0-9]{0,8}|[,.][0-9]{0,8})$'; +// +// // return RegExp(r'^([0-9]*[,.]?[0-9]{0,8}|[,.][0-9]{0,8})$') +// return RegExp(regexString).hasMatch(newVal) +// ? TextEditingValue(text: newVal, selection: newSelection) +// : oldValue; +// } +// } From bed518d061a49b1f80b27aaa3e5574705d11cf42 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 13:40:40 -0600 Subject: [PATCH 011/191] ensure fiat amount validation updates on fiat type changed --- lib/pages/buy_view/buy_form.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index 3ec462ca7..a882c1475 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -122,12 +122,12 @@ class _BuyFormState extends ConsumerState { setState(() { _amountOutOfRangeErrorString = "Invalid amount"; }); - } else if (value > maxFiat) { + } else if (value > maxFiat && buyWithFiat) { setState(() { _amountOutOfRangeErrorString = "Maximum amount: ${maxFiat.toStringAsFixed(2)}"; }); - } else if (value < minFiat) { + } else if (value < minFiat && buyWithFiat) { setState(() { _amountOutOfRangeErrorString = "Minimum amount: ${minFiat.toStringAsFixed(2)}"; @@ -280,6 +280,7 @@ class _BuyFormState extends ConsumerState { minFiat = fiat.minAmount != minFiat ? fiat.minAmount : minFiat; maxFiat = fiat.maxAmount != maxFiat ? fiat.maxAmount : maxFiat; }); + validateAmount(); }, ); } From 13721df803bfbc1a75d02f45602fdfe8ad2e8c83 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 13:42:19 -0600 Subject: [PATCH 012/191] ensure fiat amount validation updates on use fiat amount selected --- lib/pages/buy_view/buy_form.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index a882c1475..a46238188 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -958,6 +958,7 @@ class _BuyFormState extends ConsumerState { setState(() { buyWithFiat = !buyWithFiat; }); + validateAmount(); }, ) ], From 4f58483e82223e34b2356e5bd2bc2c27f33979c3 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 14:08:21 -0600 Subject: [PATCH 013/191] show min/max crypto amounts returned by simplex api on quote request --- lib/pages/buy_view/buy_form.dart | 49 ++++++++++++----------- lib/services/buy/buy_response.dart | 6 ++- lib/services/buy/simplex/simplex_api.dart | 21 ++++++++-- 3 files changed, 47 insertions(+), 29 deletions(-) diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index a46238188..051afcf71 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -531,25 +531,25 @@ class _BuyFormState extends ConsumerState { } } else { // Error; probably amount out of bounds - String errorMessage = "${quoteResponse.exception?.errorMessage}"; - if (errorMessage.contains('must be between')) { - errorMessage = errorMessage.substring( - errorMessage.indexOf('getQuote exception: ') + 20, - errorMessage.indexOf(", value: null")); - _BuyFormState.boundedCryptoTicker = errorMessage.substring( - errorMessage.indexOf('The ') + 4, - errorMessage.indexOf(' amount must be between')); - _BuyFormState.minCrypto = Decimal.parse(errorMessage.substring( - errorMessage.indexOf('must be between ') + 16, - errorMessage.indexOf(' and '))); - _BuyFormState.maxCrypto = Decimal.parse(errorMessage.substring( - errorMessage.indexOf("$minCrypto and ") + "$minCrypto and ".length, - errorMessage.length)); - if (Decimal.parse(_buyAmountController.text) > - _BuyFormState.maxCrypto) { - _buyAmountController.text = _BuyFormState.maxCrypto.toString(); - } - } + // String errorMessage = "${quoteResponse.exception?.errorMessage}"; + // if (errorMessage.contains('must be between')) { + // errorMessage = errorMessage.substring( + // errorMessage.indexOf('getQuote exception: ') + 20, + // errorMessage.indexOf(", value: null")); + // _BuyFormState.boundedCryptoTicker = errorMessage.substring( + // errorMessage.indexOf('The ') + 4, + // errorMessage.indexOf(' amount must be between')); + // _BuyFormState.minCrypto = Decimal.parse(errorMessage.substring( + // errorMessage.indexOf('must be between ') + 16, + // errorMessage.indexOf(' and '))); + // _BuyFormState.maxCrypto = Decimal.parse(errorMessage.substring( + // errorMessage.indexOf("$minCrypto and ") + "$minCrypto and ".length, + // errorMessage.length)); + // if (Decimal.parse(_buyAmountController.text) > + // _BuyFormState.maxCrypto) { + // _buyAmountController.text = _BuyFormState.maxCrypto.toString(); + // } + // } await showDialog( context: context, barrierDismissible: true, @@ -571,7 +571,7 @@ class _BuyFormState extends ConsumerState { height: 24, ), Text( - errorMessage, + quoteResponse.exception!.errorMessage, style: STextStyles.smallMed14(context), ), const SizedBox( @@ -633,10 +633,11 @@ class _BuyFormState extends ConsumerState { level: LogLevel.Warning, ); return BuyResponse( - exception: BuyException( - response.toString(), - BuyExceptionType.generic, - ), + exception: response.exception ?? + BuyException( + response.toString(), + BuyExceptionType.generic, + ), ); } } diff --git a/lib/services/buy/buy_response.dart b/lib/services/buy/buy_response.dart index 3198d0a19..6510ece4c 100644 --- a/lib/services/buy/buy_response.dart +++ b/lib/services/buy/buy_response.dart @@ -1,4 +1,8 @@ -enum BuyExceptionType { generic, serializeResponseError } +enum BuyExceptionType { + generic, + serializeResponseError, + cryptoAmountOutOfRange, +} class BuyException implements Exception { String errorMessage; diff --git a/lib/services/buy/simplex/simplex_api.dart b/lib/services/buy/simplex/simplex_api.dart index 4060567f0..85b4d5d9e 100644 --- a/lib/services/buy/simplex/simplex_api.dart +++ b/lib/services/buy/simplex/simplex_api.dart @@ -210,7 +210,20 @@ class SimplexAPI { BuyResponse _parseQuote(dynamic jsonArray) { try { - String cryptoAmount = "${jsonArray['digital_money']['amount']}"; + // final Map lol = + // Map.from(jsonArray as Map); + + String? cryptoAmount = jsonArray['digital_money']?['amount'] as String?; + + if (cryptoAmount == null) { + String error = jsonArray['error'] as String; + return BuyResponse( + exception: BuyException( + error, + BuyExceptionType.cryptoAmountOutOfRange, + ), + ); + } SimplexQuote quote = jsonArray['quote'] as SimplexQuote; final SimplexQuote _quote = SimplexQuote( @@ -277,9 +290,9 @@ class SimplexAPI { } final jsonArray = jsonDecode(res.body); // TODO check if valid json if (jsonArray.containsKey('error') as bool) { - if (jsonArray['error'] == true || jsonArray['error'] == 'true') { - throw Exception(jsonArray['message']); - } + if (jsonArray['error'] == true || jsonArray['error'] == 'true') { + throw Exception(jsonArray['message']); + } } SimplexOrder _order = SimplexOrder( From 1f7bd41d8eb23dc0039432941279fccf49151c6f Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 14:15:44 -0600 Subject: [PATCH 014/191] update tests mock calls --- test/widget_tests/transaction_card_test.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/widget_tests/transaction_card_test.dart b/test/widget_tests/transaction_card_test.dart index 0ab7e4477..84b6372d5 100644 --- a/test/widget_tests/transaction_card_test.dart +++ b/test/widget_tests/transaction_card_test.dart @@ -80,6 +80,8 @@ void main() { when(wallets.getManager("wallet-id")) .thenAnswer((realInvocation) => Manager(wallet)); + + when(wallet.storedChainHeight).thenAnswer((_) => 6000000); // await tester.pumpWidget( ProviderScope( @@ -173,6 +175,7 @@ void main() { .thenAnswer((realInvocation) => Tuple2(Decimal.ten, 0.00)); when(wallet.coin).thenAnswer((_) => Coin.firo); + when(wallet.storedChainHeight).thenAnswer((_) => 6000000); when(wallets.getManager("wallet-id")) .thenAnswer((realInvocation) => Manager(wallet)); @@ -271,6 +274,8 @@ void main() { when(wallets.getManager("wallet-id")) .thenAnswer((realInvocation) => Manager(wallet)); + when(wallet.storedChainHeight).thenAnswer((_) => 6000000); + await tester.pumpWidget( ProviderScope( overrides: [ @@ -358,6 +363,8 @@ void main() { when(wallets.getManager("wallet id")) .thenAnswer((realInvocation) => Manager(wallet)); + when(wallet.storedChainHeight).thenAnswer((_) => 6000000); + mockingjay .when(() => navigator.pushNamed("/transactionDetails", arguments: Tuple3(tx, Coin.firo, "wallet id"))) @@ -395,6 +402,7 @@ void main() { verify(mockPrefs.currency).called(2); verify(mockLocaleService.locale).called(4); verify(wallet.coin.ticker).called(2); + verify(wallet.storedChainHeight).called(2); verifyNoMoreInteractions(wallet); verifyNoMoreInteractions(mockLocaleService); From 29bf67b2ce1611b9c5c3646c88e094ab15f8ad69 Mon Sep 17 00:00:00 2001 From: Diego Salazar Date: Mon, 30 Jan 2023 14:18:45 -0700 Subject: [PATCH 015/191] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 2e3a80f77..49574720d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Stack Wallet # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.36+113 +version: 1.5.36+114 environment: sdk: ">=2.17.0 <3.0.0" From 69435f48079db2c196fcee66b26db399e319910c Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 15:34:21 -0600 Subject: [PATCH 016/191] rename and fix text button style update bug --- .../subviews/add_address_book_entry_view.dart | 4 +- .../subviews/contact_details_view.dart | 2 +- lib/pages/buy_view/buy_form.dart | 4 +- .../exchange_step_views/step_2_view.dart | 4 +- .../exchange_view/trade_details_view.dart | 2 +- lib/pages/paynym/dialogs/paynym_qr_popup.dart | 2 +- .../subwidgets/desktop_paynym_details.dart | 2 +- lib/pages/receive_view/receive_view.dart | 2 +- lib/pages/send_view/send_view.dart | 2 +- .../global_settings_view/about_view.dart | 2 +- .../advanced_views/debug_view.dart | 4 +- .../manage_nodes_views/coin_nodes_view.dart | 2 +- .../stack_backup_views/auto_backup_view.dart | 4 +- .../wallet_network_settings_view.dart | 4 +- .../transaction_details_view.dart | 2 +- lib/pages/wallet_view/wallet_view.dart | 2 +- .../wallets_view/sub_widgets/all_wallets.dart | 2 +- .../subwidgets/desktop_address_card.dart | 4 +- .../subwidgets/desktop_contact_details.dart | 2 +- .../subwidgets/desktop_step_2.dart | 4 +- .../subwidgets/desktop_choose_from_stack.dart | 2 +- .../subwidgets/desktop_trade_history.dart | 2 +- .../desktop_favorite_wallets.dart | 2 +- .../my_stack_view/my_wallets.dart | 2 +- .../sub_widgets/contact_list_item.dart | 2 +- .../wallet_view/sub_widgets/desktop_send.dart | 2 +- .../recent_desktop_transactions.dart | 2 +- .../password/desktop_login_view.dart | 2 +- .../backup_and_restore_settings.dart | 2 +- .../settings_menu/desktop_about_view.dart | 2 +- .../custom_buttons/blue_text_button.dart | 55 ++++++++++++++----- lib/widgets/node_card.dart | 4 +- 32 files changed, 81 insertions(+), 54 deletions(-) diff --git a/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart b/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart index 36191e0b7..caffb65c7 100644 --- a/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart +++ b/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart @@ -584,7 +584,7 @@ class _AddAddressBookEntryViewState "Address ${i + 1}", style: STextStyles.smallMed12(context), ), - BlueTextButton( + CustomTextButton( onTap: () { _removeForm(forms[i].id); }, @@ -601,7 +601,7 @@ class _AddAddressBookEntryViewState const SizedBox( height: 16, ), - BlueTextButton( + CustomTextButton( onTap: () { _addForm(); scrollController.animateTo( diff --git a/lib/pages/address_book_views/subviews/contact_details_view.dart b/lib/pages/address_book_views/subviews/contact_details_view.dart index ff15420ca..4f417c9a5 100644 --- a/lib/pages/address_book_views/subviews/contact_details_view.dart +++ b/lib/pages/address_book_views/subviews/contact_details_view.dart @@ -311,7 +311,7 @@ class _ContactDetailsViewState extends ConsumerState { "Addresses", style: STextStyles.itemSubtitle(context), ), - BlueTextButton( + CustomTextButton( text: "Add new", onTap: () { Navigator.of(context).pushNamed( diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index 051afcf71..30bd05106 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -953,7 +953,7 @@ class _BuyFormState extends ConsumerState { Theme.of(context).extension()!.textDark3, ), ), - BlueTextButton( + CustomTextButton( text: buyWithFiat ? "Use crypto amount" : "Use fiat amount", onTap: () { setState(() { @@ -1129,7 +1129,7 @@ class _BuyFormState extends ConsumerState { ), ), if (isStackCoin(selectedCrypto?.ticker)) - BlueTextButton( + CustomTextButton( text: "Choose from stack", onTap: () { try { diff --git a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart index 238499c5f..081709c31 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart @@ -189,7 +189,7 @@ class _Step2ViewState extends ConsumerState { style: STextStyles.smallMed12(context), ), if (isStackCoin(model.receiveTicker)) - BlueTextButton( + CustomTextButton( text: "Choose from stack", onTap: () { try { @@ -448,7 +448,7 @@ class _Step2ViewState extends ConsumerState { style: STextStyles.smallMed12(context), ), if (isStackCoin(model.sendTicker)) - BlueTextButton( + CustomTextButton( text: "Choose from stack", onTap: () { try { diff --git a/lib/pages/exchange_view/trade_details_view.dart b/lib/pages/exchange_view/trade_details_view.dart index 9d8a1d223..4e42ff888 100644 --- a/lib/pages/exchange_view/trade_details_view.dart +++ b/lib/pages/exchange_view/trade_details_view.dart @@ -516,7 +516,7 @@ class _TradeDetailsViewState extends ConsumerState { const SizedBox( height: 10, ), - BlueTextButton( + CustomTextButton( text: "View transaction", onTap: () { final Coin coin = diff --git a/lib/pages/paynym/dialogs/paynym_qr_popup.dart b/lib/pages/paynym/dialogs/paynym_qr_popup.dart index 4ff6d9ca0..e712884b1 100644 --- a/lib/pages/paynym/dialogs/paynym_qr_popup.dart +++ b/lib/pages/paynym/dialogs/paynym_qr_popup.dart @@ -118,7 +118,7 @@ class PaynymQrPopup extends StatelessWidget { const SizedBox( height: 6, ), - BlueTextButton( + CustomTextButton( text: "Copy", textSize: isDesktop ? 18 : 10, onTap: () async { diff --git a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart index 61db83d7b..5076e2450 100644 --- a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart +++ b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart @@ -324,7 +324,7 @@ class _PaynymDetailsPopupState extends ConsumerState { const SizedBox( height: 8, ), - BlueTextButton( + CustomTextButton( text: "Copy", onTap: () async { await Clipboard.setData( diff --git a/lib/pages/receive_view/receive_view.dart b/lib/pages/receive_view/receive_view.dart index c43964779..b6ae7c70a 100644 --- a/lib/pages/receive_view/receive_view.dart +++ b/lib/pages/receive_view/receive_view.dart @@ -233,7 +233,7 @@ class _ReceiveViewState extends ConsumerState { const SizedBox( height: 20, ), - BlueTextButton( + CustomTextButton( text: "Create new QR code", onTap: () async { unawaited(Navigator.of(context).push( diff --git a/lib/pages/send_view/send_view.dart b/lib/pages/send_view/send_view.dart index c9216bf0e..c472bcc11 100644 --- a/lib/pages/send_view/send_view.dart +++ b/lib/pages/send_view/send_view.dart @@ -1304,7 +1304,7 @@ class _SendViewState extends ConsumerState { style: STextStyles.smallMed12(context), textAlign: TextAlign.left, ), - BlueTextButton( + CustomTextButton( text: "Send all ${coin.ticker}", onTap: () async { if (coin == Coin.firo || diff --git a/lib/pages/settings_views/global_settings_view/about_view.dart b/lib/pages/settings_views/global_settings_view/about_view.dart index a1e78ba7d..bf0f4a507 100644 --- a/lib/pages/settings_views/global_settings_view/about_view.dart +++ b/lib/pages/settings_views/global_settings_view/about_view.dart @@ -484,7 +484,7 @@ class AboutView extends ConsumerWidget { const SizedBox( height: 4, ), - BlueTextButton( + CustomTextButton( text: "https://stackwallet.com", onTap: () { launchUrl( diff --git a/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart b/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart index 5c12fb1ad..d86dbe272 100644 --- a/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart +++ b/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart @@ -282,7 +282,7 @@ class _DebugViewState extends ConsumerState { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - BlueTextButton( + CustomTextButton( text: "Save Debug Info to clipboard", onTap: () async { try { @@ -350,7 +350,7 @@ class _DebugViewState extends ConsumerState { }, ), const Spacer(), - BlueTextButton( + CustomTextButton( text: "Save logs to file", onTap: () async { final systemfile = SWBFileSystem(); diff --git a/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart b/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart index 91e6871f3..85d28eb66 100644 --- a/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart +++ b/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart @@ -92,7 +92,7 @@ class _CoinNodesViewState extends ConsumerState { ), textAlign: TextAlign.left, ), - BlueTextButton( + CustomTextButton( text: "Add new node", onTap: () { Navigator.of(context).pushNamed( diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart index 85fd9c1e9..6a43d963e 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart @@ -327,7 +327,7 @@ class _AutoBackupViewState extends ConsumerState { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - BlueTextButton( + CustomTextButton( text: "Back up now", onTap: () { ref.read(autoSWBServiceProvider).doBackup(); @@ -448,7 +448,7 @@ class _AutoBackupViewState extends ConsumerState { height: 20, ), Center( - child: BlueTextButton( + child: CustomTextButton( text: "Edit Auto Backup", onTap: () async { Navigator.of(context) diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart index 21e0f2d49..526ef0e79 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart @@ -749,7 +749,7 @@ class _WalletNetworkSettingsViewState ? STextStyles.desktopTextExtraExtraSmall(context) : STextStyles.smallMed12(context), ), - BlueTextButton( + CustomTextButton( text: "Add new node", onTap: () { Navigator.of(context).pushNamed( @@ -880,7 +880,7 @@ class _WalletNetworkSettingsViewState top: 16, bottom: 6, ), - child: BlueTextButton( + child: CustomTextButton( text: "Rescan", onTap: () async { await Navigator.of(context).push( diff --git a/lib/pages/wallet_view/transaction_views/transaction_details_view.dart b/lib/pages/wallet_view/transaction_views/transaction_details_view.dart index af82a250d..5b737a939 100644 --- a/lib/pages/wallet_view/transaction_views/transaction_details_view.dart +++ b/lib/pages/wallet_view/transaction_views/transaction_details_view.dart @@ -1092,7 +1092,7 @@ class _TransactionDetailsViewState height: 8, ), if (coin != Coin.epicCash) - BlueTextButton( + CustomTextButton( text: "Open in block explorer", onTap: () async { final uri = diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index fd5473b11..04817a843 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -649,7 +649,7 @@ class _WalletViewState extends ConsumerState { .textDark3, ), ), - BlueTextButton( + CustomTextButton( text: "See all", onTap: () { Navigator.of(context).pushNamed( diff --git a/lib/pages/wallets_view/sub_widgets/all_wallets.dart b/lib/pages/wallets_view/sub_widgets/all_wallets.dart index eae7374bf..b63e8eb6e 100644 --- a/lib/pages/wallets_view/sub_widgets/all_wallets.dart +++ b/lib/pages/wallets_view/sub_widgets/all_wallets.dart @@ -24,7 +24,7 @@ class AllWallets extends StatelessWidget { color: Theme.of(context).extension()!.textDark, ), ), - BlueTextButton( + CustomTextButton( text: "Add new", onTap: () { Navigator.of(context).pushNamed(AddWalletView.routeName); diff --git a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart index ad9310df2..518e593b0 100644 --- a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart +++ b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart @@ -66,7 +66,7 @@ class DesktopAddressCard extends StatelessWidget { ), Row( children: [ - BlueTextButton( + CustomTextButton( text: "Copy", onTap: () { clipboard.setData( @@ -87,7 +87,7 @@ class DesktopAddressCard extends StatelessWidget { if (contactId != "default") Consumer( builder: (context, ref, child) { - return BlueTextButton( + return CustomTextButton( text: "Edit", onTap: () async { ref.refresh( diff --git a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart index 98fce4a0b..4b2eb33a8 100644 --- a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart +++ b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart @@ -182,7 +182,7 @@ class _DesktopContactDetailsState extends ConsumerState { style: STextStyles.desktopTextExtraExtraSmall(context), ), - BlueTextButton( + CustomTextButton( text: "Add new", onTap: () async { ref.refresh( diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart index 027de6cd7..c959e0f45 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart @@ -300,7 +300,7 @@ class _DesktopStep2State extends ConsumerState { ), if (isStackCoin(ref.watch(desktopExchangeModelProvider .select((value) => value!.receiveTicker)))) - BlueTextButton( + CustomTextButton( text: "Choose from stack", onTap: selectRecipientAddressFromStack, ), @@ -432,7 +432,7 @@ class _DesktopStep2State extends ConsumerState { ), if (isStackCoin(ref.watch(desktopExchangeModelProvider .select((value) => value!.sendTicker)))) - BlueTextButton( + CustomTextButton( text: "Choose from stack", onTap: selectRefundAddressFromStack, ), diff --git a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart index 3216949b0..2c1d8a44d 100644 --- a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart +++ b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart @@ -221,7 +221,7 @@ class _DesktopChooseFromStackState const SizedBox( width: 80, ), - BlueTextButton( + CustomTextButton( text: "Select wallet", onTap: () async { final address = diff --git a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart index 296847d71..b87ca6c6b 100644 --- a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart +++ b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart @@ -72,7 +72,7 @@ class _DesktopTradeHistoryState extends ConsumerState { "Recent trades", style: STextStyles.desktopTextExtraExtraSmall(context), ), - BlueTextButton( + CustomTextButton( text: "See all", onTap: () { Navigator.of(context) diff --git a/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart b/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart index 91130fe19..5694c66ed 100644 --- a/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart +++ b/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart @@ -39,7 +39,7 @@ class DesktopFavoriteWallets extends ConsumerWidget { .textFieldActiveSearchIconRight, ), ), - BlueTextButton( + CustomTextButton( text: "Edit", onTap: () { Navigator.of(context).pushNamed(ManageFavoritesView.routeName); diff --git a/lib/pages_desktop_specific/my_stack_view/my_wallets.dart b/lib/pages_desktop_specific/my_stack_view/my_wallets.dart index 41d0f0ce5..1dd345f74 100644 --- a/lib/pages_desktop_specific/my_stack_view/my_wallets.dart +++ b/lib/pages_desktop_specific/my_stack_view/my_wallets.dart @@ -38,7 +38,7 @@ class _MyWalletsState extends ConsumerState { ), ), const Spacer(), - BlueTextButton( + CustomTextButton( text: "Add new wallet", onTap: () { Navigator.of( diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart index 1277c5c0f..7ae3c51e4 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart @@ -133,7 +133,7 @@ class _ContactListItemState extends ConsumerState { ], ), ), - BlueTextButton( + CustomTextButton( text: "Select wallet", onTap: () { Navigator.of(context).pop(e); diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart index c4f7eee34..cc63c67a8 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart @@ -987,7 +987,7 @@ class _DesktopSendState extends ConsumerState { ), textAlign: TextAlign.left, ), - BlueTextButton( + CustomTextButton( text: "Send all ${coin.ticker}", onTap: sendAllTapped, ), diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/recent_desktop_transactions.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/recent_desktop_transactions.dart index 59e01f0b7..dca501e25 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/recent_desktop_transactions.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/recent_desktop_transactions.dart @@ -37,7 +37,7 @@ class _RecentDesktopTransactionsState .textFieldActiveSearchIconLeft, ), ), - BlueTextButton( + CustomTextButton( text: "See all", onTap: () { Navigator.of(context).pushNamed( diff --git a/lib/pages_desktop_specific/password/desktop_login_view.dart b/lib/pages_desktop_specific/password/desktop_login_view.dart index 67eab0903..05ad2d2ad 100644 --- a/lib/pages_desktop_specific/password/desktop_login_view.dart +++ b/lib/pages_desktop_specific/password/desktop_login_view.dart @@ -261,7 +261,7 @@ class _DesktopLoginViewState extends ConsumerState { const SizedBox( height: 60, ), - BlueTextButton( + CustomTextButton( text: "Forgot password?", textSize: 20, onTap: () { diff --git a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart index 37b40b004..e3f086746 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart @@ -450,7 +450,7 @@ class _BackupRestoreSettings extends ConsumerState { STextStyles.itemSubtitle( context), ), - BlueTextButton( + CustomTextButton( text: "Back up now", onTap: () { ref diff --git a/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart b/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart index 18988cb68..242fbfd9f 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart @@ -678,7 +678,7 @@ class DesktopAboutView extends ConsumerWidget { const SizedBox( height: 2, ), - BlueTextButton( + CustomTextButton( text: "https://stackwallet.com", onTap: () { diff --git a/lib/widgets/custom_buttons/blue_text_button.dart b/lib/widgets/custom_buttons/blue_text_button.dart index 7877ddcde..8be6bb937 100644 --- a/lib/widgets/custom_buttons/blue_text_button.dart +++ b/lib/widgets/custom_buttons/blue_text_button.dart @@ -1,17 +1,17 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; -class BlueTextButton extends ConsumerStatefulWidget { - const BlueTextButton({ +class _CustomTextButton extends StatefulWidget { + const _CustomTextButton({ Key? key, required this.text, + required this.enabledColor, + required this.disabledColor, this.onTap, this.enabled = true, this.textSize, @@ -21,12 +21,14 @@ class BlueTextButton extends ConsumerStatefulWidget { final VoidCallback? onTap; final bool enabled; final double? textSize; + final Color enabledColor; + final Color disabledColor; @override - ConsumerState createState() => _BlueTextButtonState(); + State<_CustomTextButton> createState() => _CustomTextButtonState(); } -class _BlueTextButtonState extends ConsumerState +class _CustomTextButtonState extends State<_CustomTextButton> with SingleTickerProviderStateMixin { AnimationController? controller; Animation? animation; @@ -37,18 +39,14 @@ class _BlueTextButtonState extends ConsumerState @override void initState() { if (widget.enabled) { - color = ref.read(colorThemeProvider.state).state.buttonTextBorderless; + color = widget.enabledColor; controller = AnimationController( vsync: this, duration: const Duration(milliseconds: 100), ); animation = ColorTween( - begin: ref.read(colorThemeProvider.state).state.buttonTextBorderless, - end: ref - .read(colorThemeProvider.state) - .state - .buttonTextBorderless - .withOpacity(0.4), + begin: widget.enabledColor, + end: widget.enabledColor.withOpacity(0.4), ).animate(controller!); animation!.addListener(() { @@ -57,7 +55,7 @@ class _BlueTextButtonState extends ConsumerState }); }); } else { - color = ref.read(colorThemeProvider.state).state.textSubtitle1; + color = widget.disabledColor; } super.initState(); @@ -116,3 +114,32 @@ class _BlueTextButtonState extends ConsumerState ); } } + +class CustomTextButton extends StatelessWidget { + const CustomTextButton({ + Key? key, + required this.text, + this.onTap, + this.enabled = true, + this.textSize, + }) : super(key: key); + + final String text; + final VoidCallback? onTap; + final bool enabled; + final double? textSize; + + @override + Widget build(BuildContext context) { + return _CustomTextButton( + key: UniqueKey(), + text: text, + enabledColor: + Theme.of(context).extension()!.buttonTextBorderless, + disabledColor: Theme.of(context).extension()!.textSubtitle1, + enabled: enabled, + textSize: textSize, + onTap: onTap, + ); + } +} diff --git a/lib/widgets/node_card.dart b/lib/widgets/node_card.dart index e366cd713..4e51e0d0d 100644 --- a/lib/widgets/node_card.dart +++ b/lib/widgets/node_card.dart @@ -261,7 +261,7 @@ class _NodeCardState extends ConsumerState { const SizedBox( width: 66, ), - BlueTextButton( + CustomTextButton( text: "Connect", enabled: _status == "Disconnected", onTap: () async { @@ -285,7 +285,7 @@ class _NodeCardState extends ConsumerState { const SizedBox( width: 48, ), - BlueTextButton( + CustomTextButton( text: "Details", onTap: () { Navigator.of(context).pushNamed( From 2f1853ef924b57c2a04ccc180daffdcc47ea48a0 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 15:38:01 -0600 Subject: [PATCH 017/191] update default stackwallet paynym code --- lib/utilities/featured_paynyms.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/utilities/featured_paynyms.dart b/lib/utilities/featured_paynyms.dart index 2a99bc459..a04fa9a7d 100644 --- a/lib/utilities/featured_paynyms.dart +++ b/lib/utilities/featured_paynyms.dart @@ -3,7 +3,7 @@ abstract class FeaturedPaynyms { // static const String samouraiWalletDevFund = // "PM8TJYkuSdYXJnwDBq8ChfinfXv3srxhQrx3eoEwbSw51wMjdo9JJ2DsycwT3gt3zHQ7cV1grvabMmmf1Btj6fY7tgkgSz9B8MZuR3kjYfgMLMURJCXN"; static const String stackWallet = - "PM8TJPdEeH3A77h4xJYQeXPWix2W5yAJrzVQ8ggET1n92utnc57FXCoH94Z2wUSJNfGwkX1kNDTCQLkHecVsjQHGkDE8MUyWE4xWJcc1EDDYCeSSBfLL"; + "PM8TJdQcNk27JpxGRtNR7Hnh8VkJk4Nf17BthLx89fM3iX3UL2YshyaiTAvKgTCVvpgsAgY1DbojkAaUd3Rcn48NEn4uUBuqkaSddgKL8TPAAEQXNuE6"; static Map get featured => { "Stack Wallet": stackWallet, From 83cf471b6fcd203662f1823722f4b81f9e13ca06 Mon Sep 17 00:00:00 2001 From: Diego Salazar Date: Mon, 30 Jan 2023 15:03:12 -0700 Subject: [PATCH 018/191] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 49574720d..5ab5c8b80 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Stack Wallet # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.36+114 +version: 1.5.36+115 environment: sdk: ">=2.17.0 <3.0.0" From bcb8f2cd413f706a206fb7e363acad1428b29865 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 08:41:40 -0600 Subject: [PATCH 019/191] "choose from stack" fixes --- crypto_plugins/flutter_libepiccash | 2 +- lib/pages/buy_view/buy_form.dart | 8 ++++++-- .../exchange_view/exchange_step_views/step_2_view.dart | 4 ++-- .../exchange_steps/subwidgets/desktop_step_2.dart | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/crypto_plugins/flutter_libepiccash b/crypto_plugins/flutter_libepiccash index 0309140a9..9a150d8cd 160000 --- a/crypto_plugins/flutter_libepiccash +++ b/crypto_plugins/flutter_libepiccash @@ -1 +1 @@ -Subproject commit 0309140a95a51388df0effcc39ff0a25b2752b29 +Subproject commit 9a150d8cd2c3625424b0059e6b7306f3659fdbe0 diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index 30bd05106..feea9579d 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -1130,7 +1130,7 @@ class _BuyFormState extends ConsumerState { ), if (isStackCoin(selectedCrypto?.ticker)) CustomTextButton( - text: "Choose from stack", + text: "Choose from Stack", onTap: () { try { final coin = coinFromTickerCaseInsensitive( @@ -1153,7 +1153,11 @@ class _BuyFormState extends ConsumerState { _receiveAddressController.text = await manager.currentReceivingAddress; - setState(() {}); + setState(() { + _addressToggleFlag = + _receiveAddressController.text.isNotEmpty; + }); + validateAmount(); } }); } catch (e, s) { diff --git a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart index 081709c31..86db9171a 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart @@ -190,7 +190,7 @@ class _Step2ViewState extends ConsumerState { ), if (isStackCoin(model.receiveTicker)) CustomTextButton( - text: "Choose from stack", + text: "Choose from Stack", onTap: () { try { final coin = @@ -449,7 +449,7 @@ class _Step2ViewState extends ConsumerState { ), if (isStackCoin(model.sendTicker)) CustomTextButton( - text: "Choose from stack", + text: "Choose from Stack", onTap: () { try { final coin = diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart index c959e0f45..c4371d4e8 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart @@ -301,7 +301,7 @@ class _DesktopStep2State extends ConsumerState { if (isStackCoin(ref.watch(desktopExchangeModelProvider .select((value) => value!.receiveTicker)))) CustomTextButton( - text: "Choose from stack", + text: "Choose from Stack", onTap: selectRecipientAddressFromStack, ), ], @@ -433,7 +433,7 @@ class _DesktopStep2State extends ConsumerState { if (isStackCoin(ref.watch(desktopExchangeModelProvider .select((value) => value!.sendTicker)))) CustomTextButton( - text: "Choose from stack", + text: "Choose from Stack", onTap: selectRefundAddressFromStack, ), ], From 92076bf12ad444588dcbe493764fd6bf5c8b339c Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 09:17:25 -0600 Subject: [PATCH 020/191] add image assets --- assets/svg/robot-head.svg | 3 +++ assets/svg/whirlpool.svg | 3 +++ lib/utilities/assets.dart | 2 ++ pubspec.yaml | 2 ++ 4 files changed, 10 insertions(+) create mode 100644 assets/svg/robot-head.svg create mode 100644 assets/svg/whirlpool.svg diff --git a/assets/svg/robot-head.svg b/assets/svg/robot-head.svg new file mode 100644 index 000000000..b6810c227 --- /dev/null +++ b/assets/svg/robot-head.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/svg/whirlpool.svg b/assets/svg/whirlpool.svg new file mode 100644 index 000000000..cf075308f --- /dev/null +++ b/assets/svg/whirlpool.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/utilities/assets.dart b/lib/utilities/assets.dart index 5a0427782..bef07a1d7 100644 --- a/lib/utilities/assets.dart +++ b/lib/utilities/assets.dart @@ -194,6 +194,8 @@ class _SVG { String get exitDesktop => "assets/svg/exit-desktop.svg"; String get keys => "assets/svg/keys.svg"; String get arrowDown => "assets/svg/arrow-down.svg"; + String get robotHead => "assets/svg/robot-head.svg"; + String get whirlPool => "assets/svg/whirlpool.svg"; String get ellipse1 => "assets/svg/Ellipse-43.svg"; String get ellipse2 => "assets/svg/Ellipse-42.svg"; diff --git a/pubspec.yaml b/pubspec.yaml index 5ab5c8b80..5e131a27a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -309,6 +309,8 @@ flutter: - assets/svg/plus-circle.svg - assets/svg/circle-plus-filled.svg - assets/svg/configuration.svg + - assets/svg/robot-head.svg + - assets/svg/whirlpool.svg # coin icons - assets/svg/coin_icons/Bitcoin.svg - assets/svg/coin_icons/Litecoin.svg From 69934fb87103c7b647d4ba690b1077cece21a57c Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 09:42:55 -0600 Subject: [PATCH 021/191] clean up transaction list item ui state update key --- .../sub_widgets/transactions_list.dart | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/lib/pages/wallet_view/sub_widgets/transactions_list.dart b/lib/pages/wallet_view/sub_widgets/transactions_list.dart index 360b3028b..0c48e69b6 100644 --- a/lib/pages/wallet_view/sub_widgets/transactions_list.dart +++ b/lib/pages/wallet_view/sub_widgets/transactions_list.dart @@ -20,6 +20,8 @@ import 'package:stackwallet/widgets/trade_card.dart'; import 'package:stackwallet/widgets/transaction_card.dart'; import 'package:tuple/tuple.dart'; +import '../../../utilities/enums/coin_enum.dart'; + class TransactionsList extends ConsumerStatefulWidget { const TransactionsList({ Key? key, @@ -67,11 +69,18 @@ class _TransactionsListState extends ConsumerState { BuildContext context, Transaction tx, BorderRadius? radius, + Coin coin, ) { final matchingTrades = ref .read(tradesServiceProvider) .trades .where((e) => e.payInTxid == tx.txid || e.payOutTxid == tx.txid); + + final isConfirmed = tx.isConfirmed( + ref.watch( + widget.managerProvider.select((value) => value.currentHeight)), + coin.requiredConfirmations); + if (tx.type == TransactionType.outgoing && matchingTrades.isNotEmpty) { final trade = matchingTrades.first; return Container( @@ -84,13 +93,9 @@ class _TransactionsListState extends ConsumerState { children: [ TransactionCard( // this may mess with combined firo transactions - key: Key(tx.txid + - tx.type.name + - tx.address.value.toString() + - ref - .watch(widget.managerProvider - .select((value) => value.currentHeight)) - .toString()), // + key: isConfirmed + ? Key(tx.txid + tx.type.name + tx.address.value.toString()) + : UniqueKey(), // transaction: tx, walletId: widget.walletId, ), @@ -185,13 +190,9 @@ class _TransactionsListState extends ConsumerState { ), child: TransactionCard( // this may mess with combined firo transactions - key: Key(tx.txid + - tx.type.name + - tx.address.value.toString() + - ref - .watch(widget.managerProvider - .select((value) => value.currentHeight)) - .toString()), // + key: isConfirmed + ? Key(tx.txid + tx.type.name + tx.address.value.toString()) + : UniqueKey(), transaction: tx, walletId: widget.walletId, ), @@ -263,7 +264,7 @@ class _TransactionsListState extends ConsumerState { radius = _borderRadiusFirst; } final tx = _transactions2[index]; - return itemBuilder(context, tx, radius); + return itemBuilder(context, tx, radius, manager.coin); }, separatorBuilder: (context, index) { return Container( @@ -290,7 +291,7 @@ class _TransactionsListState extends ConsumerState { radius = _borderRadiusFirst; } final tx = _transactions2[index]; - return itemBuilder(context, tx, radius); + return itemBuilder(context, tx, radius, manager.coin); }, ), ); From 3940c88e448f8eb972c139652b331b2f05ce4ed6 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 10:03:16 -0600 Subject: [PATCH 022/191] fix notifTx fee calculate bug --- lib/services/mixins/paynym_wallet_interface.dart | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 2292f3ec5..e1fe7cbee 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -438,11 +438,13 @@ mixin PaynymWalletInterface { feeRatePerKB: selectedTxFeeRate, ); - if (feeForNoChange < vSizeForNoChange * 1000) { - feeForNoChange = vSizeForNoChange * 1000; - } - if (feeForWithChange < vSizeForWithChange * 1000) { - feeForWithChange = vSizeForWithChange * 1000; + if (_coin == Coin.dogecoin || _coin == Coin.dogecoinTestNet) { + if (feeForNoChange < vSizeForNoChange * 1000) { + feeForNoChange = vSizeForNoChange * 1000; + } + if (feeForWithChange < vSizeForWithChange * 1000) { + feeForWithChange = vSizeForWithChange * 1000; + } } if (satoshisBeingUsed - amountToSend > feeForNoChange + _dustLimitP2PKH) { From c06c3935cae3f815a0074435f48e0d836f194b91 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 10:37:03 -0600 Subject: [PATCH 023/191] handle fee rounding error --- lib/services/mixins/paynym_wallet_interface.dart | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index e1fe7cbee..c979e80da 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -455,7 +455,7 @@ mixin PaynymWalletInterface { // check estimates are correct and build notification tx if (changeAmount >= _dustLimitP2PKH && satoshisBeingUsed - amountToSend - changeAmount == feeForWithChange) { - final txn = await _createNotificationTx( + var txn = await _createNotificationTx( targetPaymentCodeString: targetPaymentCodeString, utxosToUse: utxoObjectsToUse, utxoSigningData: utxoSigningData, @@ -464,6 +464,18 @@ mixin PaynymWalletInterface { int feeBeingPaid = satoshisBeingUsed - amountToSend - changeAmount; + // make sure minimum fee is accurate if that is being used + if (txn.item2 - feeBeingPaid == 1) { + changeAmount -= 1; + feeBeingPaid += 1; + txn = await _createNotificationTx( + targetPaymentCodeString: targetPaymentCodeString, + utxosToUse: utxoObjectsToUse, + utxoSigningData: utxoSigningData, + change: changeAmount, + ); + } + Map transactionObject = { "hex": txn.item1, "recipientPaynym": targetPaymentCodeString, From 0a264a97c5c16bef80b087f72fe8c9cf82976d08 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 10:37:53 -0600 Subject: [PATCH 024/191] pass p2pkh change address to paynym interface --- .../coins/bitcoin/bitcoin_wallet.dart | 62 ++++++++++++++++++- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 32c24686b..ad8e9f5da 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -218,6 +218,19 @@ class BitcoinWallet extends CoinServiceAPI .findFirst()) ?? await _generateAddressForChain(1, 0, DerivePathTypeExt.primaryFor(coin)); + Future get currentChangeAddressP2PKH async => + (await _currentChangeAddressP2PKH).value; + + Future get _currentChangeAddressP2PKH async => + (await db + .getAddresses(walletId) + .filter() + .typeEqualTo(isar_models.AddressType.p2pkh) + .subTypeEqualTo(isar_models.AddressSubType.change) + .sortByDerivationIndexDesc() + .findFirst()) ?? + await _generateAddressForChain(1, 0, DerivePathType.bip44); + @override Future exit() async { _hasCalledExit = true; @@ -1313,13 +1326,14 @@ class BitcoinWallet extends CoinServiceAPI secureStorage: secureStore, getMnemonic: () => mnemonic, getChainHeight: () => chainHeight, - getCurrentChangeAddress: () => currentChangeAddress, + getCurrentChangeAddress: () => currentChangeAddressP2PKH, estimateTxFee: estimateTxFee, prepareSend: prepareSend, getTxCount: getTxCount, fetchBuildTxData: fetchBuildTxData, refresh: refresh, - checkChangeAddressForTransactions: _checkChangeAddressForTransactions, + checkChangeAddressForTransactions: + _checkP2PKHChangeAddressForTransactions, addDerivation: addDerivation, addDerivations: addDerivations, dustLimitP2PKH: DUST_LIMIT_P2PKH, @@ -1966,6 +1980,50 @@ class BitcoinWallet extends CoinServiceAPI } } + Future _checkP2PKHChangeAddressForTransactions() async { + try { + final currentChange = await _currentChangeAddressP2PKH; + final int txCount = await getTxCount(address: currentChange.value); + Logging.instance.log( + 'Number of txs for current change address $currentChange: $txCount', + level: LogLevel.Info); + + if (txCount >= 1 || currentChange.derivationIndex < 0) { + // First increment the change index + final newChangeIndex = currentChange.derivationIndex + 1; + + // Use new index to derive a new change address + final newChangeAddress = await _generateAddressForChain( + 1, newChangeIndex, DerivePathType.bip44); + + final existing = await db + .getAddresses(walletId) + .filter() + .valueEqualTo(newChangeAddress.value) + .findFirst(); + if (existing == null) { + // Add that new change address + await db.putAddress(newChangeAddress); + } else { + // we need to update the address + await db.updateAddress(existing, newChangeAddress); + } + // keep checking until address with no tx history is set as current + await _checkP2PKHChangeAddressForTransactions(); + } + } on SocketException catch (se, s) { + Logging.instance.log( + "SocketException caught in _checkReceivingAddressForTransactions(${DerivePathType.bip44}): $se\n$s", + level: LogLevel.Error); + return; + } catch (e, s) { + Logging.instance.log( + "Exception rethrown from _checkReceivingAddressForTransactions(${DerivePathType.bip44}): $e\n$s", + level: LogLevel.Error); + rethrow; + } + } + Future _checkCurrentReceivingAddressesForTransactions() async { try { // for (final type in DerivePathType.values) { From dcd7f312a5f1ead7e4cce9352baf04629572291b Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 11:09:21 -0600 Subject: [PATCH 025/191] dynamics... --- lib/services/buy/simplex/simplex_api.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/buy/simplex/simplex_api.dart b/lib/services/buy/simplex/simplex_api.dart index 85b4d5d9e..37417fcbf 100644 --- a/lib/services/buy/simplex/simplex_api.dart +++ b/lib/services/buy/simplex/simplex_api.dart @@ -213,7 +213,7 @@ class SimplexAPI { // final Map lol = // Map.from(jsonArray as Map); - String? cryptoAmount = jsonArray['digital_money']?['amount'] as String?; + double? cryptoAmount = jsonArray['digital_money']?['amount'] as double?; if (cryptoAmount == null) { String error = jsonArray['error'] as String; From 57dd5669063a4b316da623b9fb174c8034ef8c4d Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 11:11:42 -0600 Subject: [PATCH 026/191] paynym bot head icon --- .../wallet_view/sub_widgets/wallet_navigation_bar.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart index 4e6be9e97..379362dbc 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart @@ -177,6 +177,14 @@ class _WalletNavigationBarState extends ConsumerState { "Paynym", style: STextStyles.w600_12(context), ), + const SizedBox( + width: 16, + ), + SvgPicture.asset( + Assets.svg.robotHead, + height: 20, + width: 20, + ), ], ), ), From 95ff076d3d7a6c4befc0fc8e0fff50cac25d00fa Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 11:35:58 -0600 Subject: [PATCH 027/191] add paynym bot image background --- assets/images/unclaimed.png | Bin 0 -> 773687 bytes lib/pages/paynym/paynym_claim_view.dart | 2 +- lib/utilities/assets.dart | 1 + pubspec.yaml | 1 + 4 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 assets/images/unclaimed.png diff --git a/assets/images/unclaimed.png b/assets/images/unclaimed.png new file mode 100644 index 0000000000000000000000000000000000000000..f99d4ab2a03643c930aa8251c8b4fefa85cceb2d GIT binary patch literal 773687 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:LG> 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
N_JZv-iCb;$-Rb>M9&Oj@L6>S zmcGF)r9Z2tl`y8z&-Ni+`)Pv3m%Cm0x}JvC z{(i7@!%66#F8D(T&U3~8Q!uwveD7G(DSx_Dvxh);Nv%|uKNa~Gl#U_gYat*vt{cr^ zArlOmU2)w%z?%jJ2Y#53d?MrH!xq!OfA#f592!SLMMbl|qRp7il`lDV8zgqDDdy9v zjvwfciv!)o3)(M&ROn7?9q(0`Ho7Ezs{^lKvV9L%=1J}R?@5`2e6)QXmPcl|y?x3R zt#9@wCRk3imJ2ep+}V2^28kPi6fQ3QG6>QzTyRCQ*5!}Z)qUeQzt)@iI#l1&Z=rQ$ zJCr~U04-0U7)t6ufsRk#vubfL5Xm>s|H9S#%PhOV$*QDdL22~89m~z;z}q7Czfuh~ zN$4CNCPR^$89ic|wKWi29N-YdgT-WxyS?>~7DL{~D{Wh0QI8BI+t;93P%{cl#+sFg z7zbFCCod13iKSH2d-*@dOTVKZdcb+VMI{8rP73>))Eq;jV`2h%%|{Yf&Q8N|V?TSG z^Z&cne)xB-MNJAO*Bf_PE;j~#yb=4?NX3KYy-SJo!3bzcOH7|Mx|zd5G@Yxd(%}qb zUyNmM!`|WexC1i10ZBVCS%_Z z8KJmKAq>dY7$MXerY5pz))d~{{+lzbW&5Cg5cLuffq_kXVg1qc8YBT=>_#VFu)^4D zYiWV&J>0_V6x?@w17MYb;np+<7!F1-@Wj`Xsd|YxUWyM!NGdR(bwt12PSRU4_OBiX zoqpH56Eyf?Hz$ zr$-%kKVMvvbnL|o9gQ*9(8O$tD=IP<$?rK|I`nmiMtq$+WOaMcCN#P)Q4NYD|D>

0Jc@Q&*qfwS1oXgI3;KQz5AGPh{1M7r!bHa@hOW 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≷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

P!c(P!UOs-iMy!Wa_yMG9a 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 { ), Image( image: AssetImage( - Assets.png.stack, + Assets.png.unclaimedPaynym, ), width: MediaQuery.of(context).size.width / 2, ), diff --git a/lib/utilities/assets.dart b/lib/utilities/assets.dart index bef07a1d7..5bb7c3edb 100644 --- a/lib/utilities/assets.dart +++ b/lib/utilities/assets.dart @@ -264,6 +264,7 @@ class _PNG { const _PNG(); String get stack => "assets/images/stack.png"; + String get unclaimedPaynym => "assets/images/unclaimed.png"; String get splash => "assets/images/splash.png"; String get monero => "assets/images/monero.png"; diff --git a/pubspec.yaml b/pubspec.yaml index 5e131a27a..fb8b264d4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -205,6 +205,7 @@ flutter: - assets/svg/circle-check.svg - assets/svg/clipboard.svg - assets/images/stack.png + - assets/images/unclaimed.png - assets/images/monero.png - assets/images/wownero.png - assets/images/firo.png From 2e7d55bda4c546632f5a23677472320925e8ce1e Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 12:17:32 -0600 Subject: [PATCH 028/191] btc notification tx fix --- lib/services/mixins/paynym_wallet_interface.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index c979e80da..a8354b75f 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -588,6 +588,8 @@ mixin PaynymWalletInterface { txb.addInput( utxo.txid, txPointIndex, + null, + utxoSigningData[utxo.txid]["output"] as Uint8List, ); // todo: modify address once segwit support is in our bip47 @@ -606,15 +608,18 @@ mixin PaynymWalletInterface { txb.sign( vin: 0, keyPair: myKeyPair, + witnessValue: utxo.value, + witnessScript: utxoSigningData[utxo.txid]["redeemScript"] as Uint8List?, ); // sign rest of possible inputs - for (var i = 1; i < utxosToUse.length - 1; i++) { + for (var i = 1; i < utxosToUse.length; i++) { final txid = utxosToUse[i].txid; txb.sign( vin: i, keyPair: utxoSigningData[txid]["keyPair"] as btc_dart.ECPair, - // witnessValue: utxosToUse[i].value, + witnessValue: utxosToUse[i].value, + witnessScript: utxoSigningData[utxo.txid]["redeemScript"] as Uint8List?, ); } From 1e92f96ff13406e41cbd6c1980be9467215553c8 Mon Sep 17 00:00:00 2001 From: Diego Salazar Date: Tue, 31 Jan 2023 11:29:04 -0700 Subject: [PATCH 029/191] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index fb8b264d4..6cba3b460 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Stack Wallet # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.36+115 +version: 1.5.36+117 environment: sdk: ">=2.17.0 <3.0.0" From 6df782647eb5a05ea7eb9d09c09954d4d210978e Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 13:44:56 -0600 Subject: [PATCH 030/191] btc send exact value of output fix --- lib/services/coins/bitcoin/bitcoin_wallet.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index ad8e9f5da..5f18f3273 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -2360,7 +2360,10 @@ class BitcoinWallet extends CoinServiceAPI ], satoshiAmounts: [ satoshiAmountToSend, - satoshisBeingUsed - satoshiAmountToSend - 1 + // this can cause a problem where the output value is negative so commenting out for now + // satoshisBeingUsed - satoshiAmountToSend - 1 + // and using dust limit instead + DUST_LIMIT, ], // dust limit is the minimum amount a change output should be ))["vSize"] as int; @@ -2825,6 +2828,7 @@ class BitcoinWallet extends CoinServiceAPI // Add transaction output for (var i = 0; i < recipients.length; i++) { + print("OURPUT VALUW: ${satoshiAmounts[i]}"); txb.addOutput(recipients[i], satoshiAmounts[i]); } From 95d1f3c17e5bdd46d8a14d347970d247ef4f22ad Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 14:09:45 -0600 Subject: [PATCH 031/191] check all outputs for payment codes --- .../mixins/paynym_wallet_interface.dart | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index a8354b75f..f420e8a67 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -696,8 +696,26 @@ mixin PaynymWalletInterface { } try { - final blindedCode = - transaction.outputs.elementAt(1).scriptPubKeyAsm!.split(" ")[1]; + Uint8List? blindedCodeBytes; + + for (int i = 0; i < transaction.outputs.length; i++) { + List? scriptChunks = + transaction.outputs.elementAt(1).scriptPubKeyAsm?.split(" "); + if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") { + final blindedPaymentCode = scriptChunks![1]; + final bytes = blindedPaymentCode.fromHex; + + // https://en.bitcoin.it/wiki/BIP_0047#Sending + if (bytes.length == 80 && bytes.first == 1) { + blindedCodeBytes = bytes; + } + } + } + + // transaction does not contain a payment code + if (blindedCodeBytes == null) { + return null; + } final designatedInput = transaction.inputs.first; @@ -718,7 +736,7 @@ mixin PaynymWalletInterface { final mask = PaymentCode.getMask(S.ecdhSecret(), rev); - final unBlindedPayload = PaymentCode.blind(blindedCode.fromHex, mask); + final unBlindedPayload = PaymentCode.blind(blindedCodeBytes, mask); final unBlindedPaymentCode = PaymentCode.initFromPayload(unBlindedPayload); From 6a0673bec5023986dc26d49e2549d9e8de280699 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 14:40:54 -0600 Subject: [PATCH 032/191] EXTRACT FUNCTION FOR PARSING BLINDED PAYMENT CODE FROM A TRANSACTION --- .../mixins/paynym_wallet_interface.dart | 18 +++---------- lib/utilities/bip47_utils.dart | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 lib/utilities/bip47_utils.dart diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index f420e8a67..3db2f453f 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -16,6 +16,7 @@ import 'package:stackwallet/exceptions/wallet/insufficient_balance_exception.dar import 'package:stackwallet/exceptions/wallet/paynym_send_exception.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; +import 'package:stackwallet/utilities/bip47_utils.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; @@ -696,21 +697,8 @@ mixin PaynymWalletInterface { } try { - Uint8List? blindedCodeBytes; - - for (int i = 0; i < transaction.outputs.length; i++) { - List? scriptChunks = - transaction.outputs.elementAt(1).scriptPubKeyAsm?.split(" "); - if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") { - final blindedPaymentCode = scriptChunks![1]; - final bytes = blindedPaymentCode.fromHex; - - // https://en.bitcoin.it/wiki/BIP_0047#Sending - if (bytes.length == 80 && bytes.first == 1) { - blindedCodeBytes = bytes; - } - } - } + final blindedCodeBytes = + Bip47Utils.getBlindedPaymentCodeBytesFrom(transaction); // transaction does not contain a payment code if (blindedCodeBytes == null) { diff --git a/lib/utilities/bip47_utils.dart b/lib/utilities/bip47_utils.dart new file mode 100644 index 000000000..2f1622cb7 --- /dev/null +++ b/lib/utilities/bip47_utils.dart @@ -0,0 +1,27 @@ +import 'dart:typed_data'; + +import 'package:bip47/src/util.dart'; +import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; + +abstract class Bip47Utils { + /// looks at tx outputs and returns a blinded payment code if found + static Uint8List? getBlindedPaymentCodeBytesFrom(Transaction transaction) { + Uint8List? blindedCodeBytes; + + for (int i = 0; i < transaction.outputs.length; i++) { + List? scriptChunks = + transaction.outputs.elementAt(i).scriptPubKeyAsm?.split(" "); + if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") { + final blindedPaymentCode = scriptChunks![1]; + final bytes = blindedPaymentCode.fromHex; + + // https://en.bitcoin.it/wiki/BIP_0047#Sending + if (bytes.length == 80 && bytes.first == 1) { + blindedCodeBytes = bytes; + } + } + } + + return blindedCodeBytes; + } +} From a25c03cb5c23cab37a805147a3e105297d11780b Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 16:21:09 -0600 Subject: [PATCH 033/191] modify bip47 utils --- lib/utilities/bip47_utils.dart | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/lib/utilities/bip47_utils.dart b/lib/utilities/bip47_utils.dart index 2f1622cb7..6433f4e1d 100644 --- a/lib/utilities/bip47_utils.dart +++ b/lib/utilities/bip47_utils.dart @@ -1,24 +1,34 @@ import 'dart:typed_data'; import 'package:bip47/src/util.dart'; +import 'package:stackwallet/models/isar/models/blockchain_data/output.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; abstract class Bip47Utils { /// looks at tx outputs and returns a blinded payment code if found static Uint8List? getBlindedPaymentCodeBytesFrom(Transaction transaction) { + for (int i = 0; i < transaction.outputs.length; i++) { + final bytes = getBlindedPaymentCodeBytesFromOutput( + transaction.outputs.elementAt(i)); + if (bytes != null) { + return bytes; + } + } + + return null; + } + + static Uint8List? getBlindedPaymentCodeBytesFromOutput(Output output) { Uint8List? blindedCodeBytes; - for (int i = 0; i < transaction.outputs.length; i++) { - List? scriptChunks = - transaction.outputs.elementAt(i).scriptPubKeyAsm?.split(" "); - if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") { - final blindedPaymentCode = scriptChunks![1]; - final bytes = blindedPaymentCode.fromHex; + List? scriptChunks = output.scriptPubKeyAsm?.split(" "); + if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") { + final blindedPaymentCode = scriptChunks![1]; + final bytes = blindedPaymentCode.fromHex; - // https://en.bitcoin.it/wiki/BIP_0047#Sending - if (bytes.length == 80 && bytes.first == 1) { - blindedCodeBytes = bytes; - } + // https://en.bitcoin.it/wiki/BIP_0047#Sending + if (bytes.length == 80 && bytes.first == 1) { + blindedCodeBytes = bytes; } } From 19bf4c0df6f833ec6968eb16abf72f92effd23e4 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 17:26:10 -0600 Subject: [PATCH 034/191] scan following/followers for paynym history --- .../coins/bitcoin/bitcoin_wallet.dart | 30 +++++- .../mixins/paynym_wallet_interface.dart | 92 ++++++++++++++++--- 2 files changed, 106 insertions(+), 16 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 5f18f3273..2d2f5b590 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -40,6 +40,7 @@ import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; +import 'package:stackwallet/utilities/paynym_is_api.dart'; import 'package:stackwallet/utilities/prefs.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -704,16 +705,28 @@ class BitcoinWallet extends CoinServiceAPI ...p2shChangeAddressArray, ]); - // generate to ensure notification address is in db before refreshing transactions - await getMyNotificationAddress(DerivePathType.bip44); + // get own payment code + final myCode = await getPaymentCode(DerivePathType.bip44); // refresh transactions to pick up any received notification transactions await _refreshTransactions(); + final Set codesToCheck = {}; + final nym = await PaynymIsApi().nym(myCode.toString()); + if (nym.value != null) { + for (final follower in nym.value!.followers) { + codesToCheck.add(follower.code); + } + for (final following in nym.value!.following) { + codesToCheck.add(following.code); + } + } + // restore paynym transactions await restoreAllHistory( maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + paymentCodeStrings: codesToCheck, ); await _updateUTXOs(); @@ -940,6 +953,17 @@ class BitcoinWallet extends CoinServiceAPI GlobalEventBus.instance.fire(RefreshPercentChangedEvent(0.0, walletId)); GlobalEventBus.instance.fire(RefreshPercentChangedEvent(0.1, walletId)); + final myCode = await getPaymentCode(DerivePathType.bip44); + final Set codesToCheck = {}; + final nym = await PaynymIsApi().nym(myCode.toString()); + if (nym.value != null) { + for (final follower in nym.value!.followers) { + codesToCheck.add(follower.code); + } + for (final following in nym.value!.following) { + codesToCheck.add(following.code); + } + } final currentHeight = await chainHeight; const storedHeight = 1; //await storedChainHeight; @@ -976,6 +1000,7 @@ class BitcoinWallet extends CoinServiceAPI .fire(RefreshPercentChangedEvent(0.80, walletId)); await fetchFuture; + await checkForNotificationTransactionsTo(codesToCheck); await getAllTxsToWatch(); GlobalEventBus.instance .fire(RefreshPercentChangedEvent(0.90, walletId)); @@ -2828,7 +2853,6 @@ class BitcoinWallet extends CoinServiceAPI // Add transaction output for (var i = 0; i < recipients.length; i++) { - print("OURPUT VALUW: ${satoshiAmounts[i]}"); txb.addOutput(recipients[i], satoshiAmounts[i]); } diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 3db2f453f..a257a7d1e 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -749,33 +749,99 @@ mixin PaynymWalletInterface { .subTypeEqualTo(TransactionSubType.bip47Notification) .findAll(); - List unBlindedList = []; + List codes = []; for (final tx in txns) { - final unBlinded = await unBlindedPaymentCodeFromTransaction( - transaction: tx, - myNotificationAddress: myAddress, - ); - if (unBlinded != null && - unBlindedList - .where((e) => e.toString() == unBlinded.toString()) - .isEmpty) { - unBlindedList.add(unBlinded); + // tx is sent so we can check the address's otherData for the code String + if (tx.type == TransactionType.outgoing && + tx.address.value?.otherData != null) { + final codeString = + await paymentCodeStringByKey(tx.address.value!.otherData!); + if (codeString != null && + codes.where((e) => e.toString() == codeString).isEmpty) { + codes.add(PaymentCode.fromPaymentCode(codeString, _network)); + } + } else { + // otherwise we need to un blind the code + final unBlinded = await unBlindedPaymentCodeFromTransaction( + transaction: tx, + myNotificationAddress: myAddress, + ); + if (unBlinded != null && + codes.where((e) => e.toString() == unBlinded.toString()).isEmpty) { + codes.add(unBlinded); + } } } - return unBlindedList; + return codes; + } + + Future checkForNotificationTransactionsTo( + Set otherCodeStrings) async { + final sentNotificationTransactions = await _db + .getTransactions(_walletId) + .filter() + .subTypeEqualTo(TransactionSubType.bip47Notification) + .and() + .typeEqualTo(TransactionType.outgoing) + .findAll(); + + final List codes = []; + for (final codeString in otherCodeStrings) { + codes.add(PaymentCode.fromPaymentCode(codeString, _network)); + } + + for (final tx in sentNotificationTransactions) { + if (tx.address.value != null && tx.address.value!.otherData == null) { + final oldAddress = + await _db.getAddress(_walletId, tx.address.value!.value); + for (final code in codes) { + final notificationAddress = code.notificationAddressP2PKH(); + if (notificationAddress == oldAddress!.value) { + final address = Address( + walletId: _walletId, + value: notificationAddress, + publicKey: [], + derivationIndex: 0, + type: oldAddress.type, + subType: AddressSubType.paynymNotification, + otherData: await storeCode(code.toString()), + ); + await _db.updateAddress(oldAddress, address); + } + } + } + } } Future restoreAllHistory({ required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, + required Set paymentCodeStrings, }) async { final codes = await getAllPaymentCodesFromNotificationTransactions(); + final List extraCodes = []; + for (final codeString in paymentCodeStrings) { + if (codes.where((e) => e.toString() == codeString).isEmpty) { + final extraCode = PaymentCode.fromPaymentCode(codeString, _network); + if (extraCode.isValid()) { + extraCodes.add(extraCode); + } + } + } + + codes.addAll(extraCodes); + final List> futures = []; for (final code in codes) { - futures.add(restoreHistoryWith( - code, maxUnusedAddressGap, maxNumberOfIndexesToCheck)); + futures.add( + restoreHistoryWith( + code, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ), + ); } await Future.wait(futures); From 7e05abec43a3f316c0bc77af9c99153dafe41684 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 17:46:30 -0600 Subject: [PATCH 035/191] show green "connected" in paynym details ui --- .../paynym/dialogs/paynym_details_popup.dart | 41 +++++++++++++++++-- .../subwidgets/desktop_paynym_details.dart | 39 ++++++++++++++++-- lib/utilities/text_styles.dart | 35 ++++++++++++++++ 3 files changed, 109 insertions(+), 6 deletions(-) diff --git a/lib/pages/paynym/dialogs/paynym_details_popup.dart b/lib/pages/paynym/dialogs/paynym_details_popup.dart index a2aea2a14..83860280b 100644 --- a/lib/pages/paynym/dialogs/paynym_details_popup.dart +++ b/lib/pages/paynym/dialogs/paynym_details_popup.dart @@ -181,9 +181,44 @@ class _PaynymDetailsPopupState extends ConsumerState { const SizedBox( width: 12, ), - Text( - widget.accountLite.nymName, - style: STextStyles.w600_12(context), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widget.accountLite.nymName, + style: STextStyles.w600_12(context), + ), + FutureBuilder( + future: + wallet.hasConnected(widget.accountLite.code), + builder: (context, AsyncSnapshot snapshot) { + if (snapshot.connectionState == + ConnectionState.done && + snapshot.data == true) { + return Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + const SizedBox( + height: 2, + ), + Text( + "Connected", + style: STextStyles.w500_10(context) + .copyWith( + color: Theme.of(context) + .extension()! + .accentColorGreen, + ), + ) + ], + ); + } else { + return Container(); + } + }, + ), + ], ), ], ), diff --git a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart index 5076e2450..fd89999d6 100644 --- a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart +++ b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart @@ -176,9 +176,42 @@ class _PaynymDetailsPopupState extends ConsumerState { const SizedBox( width: 12, ), - Text( - widget.accountLite.nymName, - style: STextStyles.desktopTextSmall(context), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widget.accountLite.nymName, + style: STextStyles.desktopTextSmall(context), + ), + FutureBuilder( + future: wallet.hasConnected(widget.accountLite.code), + builder: (context, AsyncSnapshot snapshot) { + if (snapshot.connectionState == + ConnectionState.done && + snapshot.data == true) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox( + height: 2, + ), + Text( + "Connected", + style: STextStyles.desktopTextSmall(context) + .copyWith( + color: Theme.of(context) + .extension()! + .accentColorGreen, + ), + ) + ], + ); + } else { + return Container(); + } + }, + ), + ], ), ], ), diff --git a/lib/utilities/text_styles.dart b/lib/utilities/text_styles.dart index 8b756e984..6af4f6d9c 100644 --- a/lib/utilities/text_styles.dart +++ b/lib/utilities/text_styles.dart @@ -967,6 +967,41 @@ class STextStyles { } } + static TextStyle w500_10(BuildContext context) { + switch (_theme(context).themeType) { + case ThemeType.light: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 10, + ); + case ThemeType.oceanBreeze: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 10, + ); + case ThemeType.dark: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 10, + ); + case ThemeType.oledBlack: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 10, + ); + case ThemeType.fruitSorbet: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 10, + ); + } + } + static TextStyle syncPercent(BuildContext context) { switch (_theme(context).themeType) { case ThemeType.light: From a00340b46497b3246547e23aceb12db919c4b3c6 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 17:46:56 -0600 Subject: [PATCH 036/191] fix hasConnected to return true for sent notification transactions --- lib/services/mixins/paynym_wallet_interface.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index a257a7d1e..9300e10a2 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -681,6 +681,13 @@ mixin PaynymWalletInterface { if (paymentCodeString == unBlindedPaymentCode.toString()) { return true; } + + if (tx.address.value?.otherData != null) { + final code = await paymentCodeStringByKey(tx.address.value!.otherData!); + if (code == paymentCodeString) { + return true; + } + } } // otherwise return no From e5464a9c3c8a91ba3b3beb54152d3e5030b2d468 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 18:14:06 -0600 Subject: [PATCH 037/191] pop buy to wallets as well as exchange --- lib/pages/home_view/home_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/home_view/home_view.dart b/lib/pages/home_view/home_view.dart index 5a09203cb..9ba14c692 100644 --- a/lib/pages/home_view/home_view.dart +++ b/lib/pages/home_view/home_view.dart @@ -50,7 +50,7 @@ class _HomeViewState extends ConsumerState { Future _onWillPop() async { // go to home view when tapping back on the main exchange view - if (ref.read(homeViewPageIndexStateProvider.state).state == 1) { + if (ref.read(homeViewPageIndexStateProvider.state).state != 0) { ref.read(homeViewPageIndexStateProvider.state).state = 0; return false; } From a05121b62ed8ddba2ab65da7fe98f3138595bb53 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 18:31:14 -0600 Subject: [PATCH 038/191] update sorbet theme images --- assets/svg/fruitSorbet/buy-coins-icon.svg | 21 ++++++++++++++------- assets/svg/fruitSorbet/exchange-2.svg | 4 ++-- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/assets/svg/fruitSorbet/buy-coins-icon.svg b/assets/svg/fruitSorbet/buy-coins-icon.svg index 5788e2bf0..63b214e40 100644 --- a/assets/svg/fruitSorbet/buy-coins-icon.svg +++ b/assets/svg/fruitSorbet/buy-coins-icon.svg @@ -1,11 +1,18 @@ + - - - + + + - - - - + + + + + + + + + + diff --git a/assets/svg/fruitSorbet/exchange-2.svg b/assets/svg/fruitSorbet/exchange-2.svg index 11e246a3b..0310a3386 100644 --- a/assets/svg/fruitSorbet/exchange-2.svg +++ b/assets/svg/fruitSorbet/exchange-2.svg @@ -1,4 +1,4 @@ - - + + From dc2f34477928b5b99d540be34ba6910e74ffbc1c Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 18:37:04 -0600 Subject: [PATCH 039/191] bottom nav text color change for fruit sorbet --- lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart | 5 ++++- lib/utilities/text_styles.dart | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart index 379362dbc..19a785de5 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart @@ -175,7 +175,7 @@ class _WalletNavigationBarState extends ConsumerState { children: [ Text( "Paynym", - style: STextStyles.w600_12(context), + style: STextStyles.buttonSmall(context), ), const SizedBox( width: 16, @@ -184,6 +184,9 @@ class _WalletNavigationBarState extends ConsumerState { Assets.svg.robotHead, height: 20, width: 20, + color: Theme.of(context) + .extension()! + .bottomNavIconIcon, ), ], ), diff --git a/lib/utilities/text_styles.dart b/lib/utilities/text_styles.dart index 6af4f6d9c..91e06e45b 100644 --- a/lib/utilities/text_styles.dart +++ b/lib/utilities/text_styles.dart @@ -1065,7 +1065,7 @@ class STextStyles { ); case ThemeType.fruitSorbet: return GoogleFonts.inter( - color: _theme(context).textDark, + color: _theme(context).bottomNavIconIcon, fontWeight: FontWeight.w500, fontSize: 12, ); From 588d715a6149f077fe851c564342c80a10a2d56e Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 31 Jan 2023 19:26:23 -0600 Subject: [PATCH 040/191] only clear out wallet utxos on refresh --- lib/services/coins/bitcoin/bitcoin_wallet.dart | 4 +++- lib/services/coins/bitcoincash/bitcoincash_wallet.dart | 2 +- lib/services/coins/dogecoin/dogecoin_wallet.dart | 2 +- lib/services/coins/firo/firo_wallet.dart | 2 +- lib/services/coins/litecoin/litecoin_wallet.dart | 2 +- lib/services/coins/namecoin/namecoin_wallet.dart | 2 +- lib/services/coins/particl/particl_wallet.dart | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 2d2f5b590..6a7898272 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -1858,7 +1858,7 @@ class BitcoinWallet extends CoinServiceAPI // TODO move this out of here and into IDB await db.isar.writeTxn(() async { - await db.isar.utxos.clear(); + await db.isar.utxos.where().walletIdEqualTo(walletId).deleteAll(); await db.isar.utxos.putAll(outputArray); }); @@ -2278,6 +2278,8 @@ class BitcoinWallet extends CoinServiceAPI Logging.instance.log("spendableOutputs.length: ${spendableOutputs.length}", level: LogLevel.Info); + Logging.instance.log("availableOutputs.length: ${availableOutputs.length}", + level: LogLevel.Info); Logging.instance .log("spendableOutputs: $spendableOutputs", level: LogLevel.Info); Logging.instance.log("spendableSatoshiValue: $spendableSatoshiValue", diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index a84c8f09e..84fb7f473 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -1673,7 +1673,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { // TODO move this out of here and into IDB await db.isar.writeTxn(() async { - await db.isar.utxos.clear(); + await db.isar.utxos.where().walletIdEqualTo(walletId).deleteAll(); await db.isar.utxos.putAll(outputArray); }); diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 7dc3bc6f9..45f20b763 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -1620,7 +1620,7 @@ class DogecoinWallet extends CoinServiceAPI // TODO move this out of here and into IDB await db.isar.writeTxn(() async { - await db.isar.utxos.clear(); + await db.isar.utxos.where().walletIdEqualTo(walletId).deleteAll(); await db.isar.utxos.putAll(outputArray); }); diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index 7758d4e0c..03e788e54 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -3665,7 +3665,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { // TODO move this out of here and into IDB await db.isar.writeTxn(() async { - await db.isar.utxos.clear(); + await db.isar.utxos.where().walletIdEqualTo(walletId).deleteAll(); await db.isar.utxos.putAll(outputArray); }); diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index 779a9ba54..b0de62f75 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -1784,7 +1784,7 @@ class LitecoinWallet extends CoinServiceAPI // TODO move this out of here and into IDB await db.isar.writeTxn(() async { - await db.isar.utxos.clear(); + await db.isar.utxos.where().walletIdEqualTo(walletId).deleteAll(); await db.isar.utxos.putAll(outputArray); }); diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index f074ca0ef..470a6a0bc 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -1763,7 +1763,7 @@ class NamecoinWallet extends CoinServiceAPI // TODO move this out of here and into IDB await db.isar.writeTxn(() async { - await db.isar.utxos.clear(); + await db.isar.utxos.where().walletIdEqualTo(walletId).deleteAll(); await db.isar.utxos.putAll(outputArray); }); diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index e4e419892..3a63204a8 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -1659,7 +1659,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { // TODO move this out of here and into IDB await db.isar.writeTxn(() async { - await db.isar.utxos.clear(); + await db.isar.utxos.where().walletIdEqualTo(walletId).deleteAll(); await db.isar.utxos.putAll(outputArray); }); From bc5dc9a5d7a1a779fa3c6ffe16537e5b6f22d3bd Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 09:29:51 -0600 Subject: [PATCH 041/191] simple receiving addresses list view --- lib/models/isar/models/address/address.dart | 2 + lib/pages/receive_view/receive_view.dart | 81 +++++++++++++ .../receiving_addresses_view.dart | 114 ++++++++++++++++++ lib/route_generator.dart | 16 +++ 4 files changed, 213 insertions(+) create mode 100644 lib/pages/receive_view/receiving_addresses_view.dart diff --git a/lib/models/isar/models/address/address.dart b/lib/models/isar/models/address/address.dart index c3e885f3e..1f0d48f8f 100644 --- a/lib/models/isar/models/address/address.dart +++ b/lib/models/isar/models/address/address.dart @@ -69,6 +69,7 @@ class Address extends CryptoCurrencyAddress { "}"; } +// do not modify enum AddressType { p2pkh, p2sh, @@ -79,6 +80,7 @@ enum AddressType { nonWallet, } +// do not modify enum AddressSubType { receiving, change, diff --git a/lib/pages/receive_view/receive_view.dart b/lib/pages/receive_view/receive_view.dart index b6ae7c70a..2d7d11b45 100644 --- a/lib/pages/receive_view/receive_view.dart +++ b/lib/pages/receive_view/receive_view.dart @@ -7,10 +7,12 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:qr_flutter/qr_flutter.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/receive_view/generate_receiving_uri_qr_code_view.dart'; +import 'package:stackwallet/pages/receive_view/receiving_addresses_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; +import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; @@ -19,6 +21,7 @@ import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; +import 'package:tuple/tuple.dart'; class ReceiveView extends ConsumerStatefulWidget { const ReceiveView({ @@ -128,6 +131,84 @@ class _ReceiveViewState extends ConsumerState { "Receive ${coin.ticker}", style: STextStyles.navBarTitle(context), ), + actions: [ + Padding( + padding: const EdgeInsets.only( + top: 10, + bottom: 10, + right: 10, + ), + child: AspectRatio( + aspectRatio: 1, + child: AppBarIconButton( + key: const Key("walletNetworkSettingsAddNewNodeViewButton"), + size: 36, + shadows: const [], + color: Theme.of(context).extension()!.background, + icon: SvgPicture.asset( + Assets.svg.verticalEllipsis, + color: Theme.of(context) + .extension()! + .accentColorDark, + width: 20, + height: 20, + ), + onPressed: () { + showDialog( + barrierColor: Colors.transparent, + barrierDismissible: true, + context: context, + builder: (_) { + return Stack( + children: [ + Positioned( + top: 9, + right: 10, + child: Container( + decoration: BoxDecoration( + color: Theme.of(context) + .extension()! + .popupBG, + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + // boxShadow: [CFColors.standardBoxShadow], + boxShadow: const [], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + GestureDetector( + onTap: () { + Navigator.of(context).pop(); + Navigator.of(context).pushNamed( + ReceivingAddressesView.routeName, + arguments: Tuple2(walletId, false), + ); + }, + child: RoundedWhiteContainer( + child: Material( + color: Colors.transparent, + child: Text( + "Address list", + style: STextStyles.baseXS(context), + ), + ), + ), + ), + ], + ), + ), + ), + ], + ); + }, + ); + }, + ), + ), + ), + ], ), body: Padding( padding: const EdgeInsets.all(12), diff --git a/lib/pages/receive_view/receiving_addresses_view.dart b/lib/pages/receive_view/receiving_addresses_view.dart new file mode 100644 index 000000000..260e33cd1 --- /dev/null +++ b/lib/pages/receive_view/receiving_addresses_view.dart @@ -0,0 +1,114 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:isar/isar.dart'; +import 'package:stackwallet/db/main_db.dart'; +import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/utilities/clipboard_interface.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/widgets/background.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; +import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; +import 'package:stackwallet/widgets/loading_indicator.dart'; +import 'package:stackwallet/widgets/rounded_white_container.dart'; + +class ReceivingAddressesView extends ConsumerWidget { + const ReceivingAddressesView({ + Key? key, + required this.walletId, + required this.isDesktop, + this.clipboard = const ClipboardWrapper(), + }) : super(key: key); + + static const String routeName = "/receivingAddressesView"; + + final String walletId; + final bool isDesktop; + final ClipboardInterface clipboard; + + @override + Widget build(BuildContext context, WidgetRef ref) { + return ConditionalParent( + condition: !isDesktop, + builder: (child) => Background( + child: Scaffold( + backgroundColor: + Theme.of(context).extension()!.background, + appBar: AppBar( + backgroundColor: + Theme.of(context).extension()!.backgroundAppBar, + leading: AppBarBackButton( + onPressed: () { + Navigator.of(context).pop(); + }, + ), + title: Text( + "Receiving addresses", + style: STextStyles.navBarTitle(context), + ), + ), + body: Padding( + padding: const EdgeInsets.all(16), + child: child, + ), + ), + ), + child: FutureBuilder( + future: MainDB.instance + .getAddresses(walletId) + .filter() + .subTypeEqualTo(AddressSubType.receiving) + .and() + .not() + .typeEqualTo(AddressType.nonWallet) + .sortByDerivationIndexDesc() + .findAll(), + builder: (context, AsyncSnapshot> snapshot) { + if (snapshot.connectionState == ConnectionState.done && + snapshot.data != null) { + // listview + return ListView.separated( + itemCount: snapshot.data!.length, + separatorBuilder: (_, __) => Container( + height: 10, + ), + itemBuilder: (_, index) => AddressCard( + address: snapshot.data![index], + ), + ); + } else { + return const Center( + child: LoadingIndicator( + height: 200, + width: 200, + ), + ); + } + }, + ), + ); + } +} + +class AddressCard extends StatelessWidget { + const AddressCard({ + Key? key, + required this.address, + }) : super(key: key); + + final Address address; + + @override + Widget build(BuildContext context) { + return RoundedWhiteContainer( + child: Row( + children: [ + Text( + address.value, + style: STextStyles.itemSubtitle12(context), + ) + ], + ), + ); + } +} diff --git a/lib/route_generator.dart b/lib/route_generator.dart index d73fb71e4..970246043 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -46,6 +46,7 @@ import 'package:stackwallet/pages/paynym/paynym_home_view.dart'; import 'package:stackwallet/pages/pinpad_views/create_pin_view.dart'; import 'package:stackwallet/pages/receive_view/generate_receiving_uri_qr_code_view.dart'; import 'package:stackwallet/pages/receive_view/receive_view.dart'; +import 'package:stackwallet/pages/receive_view/receiving_addresses_view.dart'; import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart'; import 'package:stackwallet/pages/send_view/send_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/about_view.dart'; @@ -820,6 +821,21 @@ class RouteGenerator { } return _routeError("${settings.name} invalid args: ${args.toString()}"); + case ReceivingAddressesView.routeName: + if (args is Tuple2) { + return getRoute( + shouldUseMaterialRoute: useMaterialPageRoute, + builder: (_) => ReceivingAddressesView( + walletId: args.item1, + isDesktop: args.item2, + ), + settings: RouteSettings( + name: settings.name, + ), + ); + } + return _routeError("${settings.name} invalid args: ${args.toString()}"); + case SendView.routeName: if (args is Tuple2) { return getRoute( From 266a433aa374659be8ef14098e18c114790be08a Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 10:08:30 -0600 Subject: [PATCH 042/191] add paynym share --- lib/pages/paynym/paynym_home_view.dart | 22 ++++++++++++-- lib/utilities/util.dart | 9 ++++++ macos/Flutter/GeneratedPluginRegistrant.swift | 2 +- pubspec.lock | 30 +------------------ pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 3 ++ windows/flutter/generated_plugins.cmake | 1 + 7 files changed, 36 insertions(+), 33 deletions(-) diff --git a/lib/pages/paynym/paynym_home_view.dart b/lib/pages/paynym/paynym_home_view.dart index 4d4efeb0d..b34c05b12 100644 --- a/lib/pages/paynym/paynym_home_view.dart +++ b/lib/pages/paynym/paynym_home_view.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:share_plus/share_plus.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/paynym/add_new_paynym_follow_view.dart'; import 'package:stackwallet/pages/paynym/dialogs/paynym_qr_popup.dart'; @@ -358,8 +359,25 @@ class _PaynymHomeViewState extends ConsumerState { .extension()! .textDark, ), - onPressed: () { - // copy to clipboard + onPressed: () async { + Rect? sharePositionOrigin; + if (await Util.isIPad) { + final box = + context.findRenderObject() as RenderBox?; + if (box != null) { + sharePositionOrigin = + box.localToGlobal(Offset.zero) & box.size; + } + } + + await Share.share( + ref + .read(myPaynymAccountStateProvider.state) + .state! + .codes + .first + .code, + sharePositionOrigin: sharePositionOrigin); }, ), ), diff --git a/lib/utilities/util.dart b/lib/utilities/util.dart index 2940b6d40..6a31fae04 100644 --- a/lib/utilities/util.dart +++ b/lib/utilities/util.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:device_info_plus/device_info_plus.dart'; import 'package:flutter/material.dart'; abstract class Util { @@ -22,6 +23,14 @@ abstract class Util { return Platform.isLinux || Platform.isMacOS || Platform.isWindows; } + static Future get isIPad async { + final deviceInfo = (await DeviceInfoPlugin().deviceInfo); + if (deviceInfo is IosDeviceInfo) { + return (deviceInfo).name?.toLowerCase().contains("ipad") == true; + } + return false; + } + static MaterialColor createMaterialColor(Color color) { List strengths = [.05]; final swatch = {}; diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 59063791f..7c5023a1c 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -14,7 +14,7 @@ import flutter_secure_storage_macos import isar_flutter_libs import package_info_plus_macos import path_provider_macos -import share_plus_macos +import share_plus import shared_preferences_macos import stack_wallet_backup import url_launcher_macos diff --git a/pubspec.lock b/pubspec.lock index 073ef8a47..5949543b2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1237,21 +1237,7 @@ packages: name: share_plus url: "https://pub.dartlang.org" source: hosted - version: "4.5.3" - share_plus_linux: - dependency: transitive - description: - name: share_plus_linux - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - share_plus_macos: - dependency: transitive - description: - name: share_plus_macos - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" + version: "6.3.0" share_plus_platform_interface: dependency: transitive description: @@ -1259,20 +1245,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.2.0" - share_plus_web: - dependency: transitive - description: - name: share_plus_web - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - share_plus_windows: - dependency: transitive - description: - name: share_plus_windows - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" shared_preferences: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 6cba3b460..61c22e7aa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -126,7 +126,7 @@ dependencies: tuple: ^2.0.0 flutter_riverpod: ^1.0.3 qr_flutter: ^4.0.0 - share_plus: ^4.0.10 + share_plus: ^6.3.0 emojis: ^0.9.9 pointycastle: ^3.6.0 package_info_plus: ^1.4.2 diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 98655fe05..e265edffe 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -26,6 +27,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("IsarFlutterLibsPlugin")); PermissionHandlerWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); + SharePlusWindowsPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi")); StackWalletBackupPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("StackWalletBackupPluginCApi")); UrlLauncherWindowsRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 4426d9497..6a4a3acbf 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -8,6 +8,7 @@ list(APPEND FLUTTER_PLUGIN_LIST flutter_secure_storage_windows isar_flutter_libs permission_handler_windows + share_plus stack_wallet_backup url_launcher_windows window_size From 68be62e3ef2003b2425859042c05a61a46a51c8e Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 10:38:49 -0600 Subject: [PATCH 043/191] bch fetch derivation by address fix --- .../coins/bitcoincash/bitcoincash_wallet.dart | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 84fb7f473..af495fba7 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -2601,13 +2601,12 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { final n = output["n"]; if (n != null && n == utxosToUse[i].vout) { String address = output["scriptPubKey"]["addresses"][0] as String; - if (bitbox.Address.detectFormat(address) == + if (bitbox.Address.detectFormat(address) != bitbox.Address.formatCashAddr) { - if (validateCashAddr(address)) { - address = bitbox.Address.toLegacyAddress(address); - } else { - throw Exception( - "Unsupported address found during fetchBuildTxData(): $address"); + try { + address = bitbox.Address.toCashAddress(address); + } catch (_) { + rethrow; } } if (!addressTxid.containsKey(address)) { From b64ffe91b780cd9fea0f9966b99b6ba2385fcedd Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 11:23:09 -0600 Subject: [PATCH 044/191] paynym receiving address scanning fix --- .../mixins/paynym_wallet_interface.dart | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 9300e10a2..5bfbbe068 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -162,7 +162,21 @@ mixin PaynymWalletInterface { if (address == null) { final generatedAddress = await _generatePaynymReceivingAddress(sender, 0); - await _db.putAddress(generatedAddress); + + final existing = await _db + .getAddresses(_walletId) + .filter() + .valueEqualTo(generatedAddress.value) + .findFirst(); + + if (existing == null) { + // Add that new address + await _db.putAddress(generatedAddress); + } else { + // we need to update the address + await _db.updateAddress(existing, generatedAddress); + } + return currentReceivingPaynymAddress(sender); } else { return address; @@ -203,7 +217,22 @@ mixin PaynymWalletInterface { sender, address.derivationIndex + 1, ); - await _db.putAddress(nextAddress); + + final existing = await _db + .getAddresses(_walletId) + .filter() + .valueEqualTo(nextAddress.value) + .findFirst(); + + if (existing == null) { + // Add that new address + await _db.putAddress(nextAddress); + } else { + // we need to update the address + await _db.updateAddress(existing, nextAddress); + } + // keep checking until address with no tx history is set as current + await checkCurrentPaynymReceivingAddressForTransactions(sender); } } From 6a076724372c1dc248f249b03655643808bf0c77 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 15:02:41 -0600 Subject: [PATCH 045/191] paynym mobile ui sizing changes --- .../paynym/dialogs/paynym_details_popup.dart | 42 +++++----- lib/pages/paynym/dialogs/paynym_qr_popup.dart | 15 ++-- lib/pages/paynym/paynym_home_view.dart | 30 +++---- .../subwidgets/desktop_paynym_details.dart | 2 +- lib/pages/paynym/subwidgets/paynym_card.dart | 6 +- .../paynym/subwidgets/paynym_card_button.dart | 6 +- lib/utilities/text_styles.dart | 80 +++++++++++++++++-- .../paynym_follow_toggle_button.dart | 12 +-- lib/widgets/desktop/secondary_button.dart | 10 +++ 9 files changed, 146 insertions(+), 57 deletions(-) diff --git a/lib/pages/paynym/dialogs/paynym_details_popup.dart b/lib/pages/paynym/dialogs/paynym_details_popup.dart index 83860280b..729ed5941 100644 --- a/lib/pages/paynym/dialogs/paynym_details_popup.dart +++ b/lib/pages/paynym/dialogs/paynym_details_popup.dart @@ -176,7 +176,7 @@ class _PaynymDetailsPopupState extends ConsumerState { children: [ PayNymBot( paymentCodeString: widget.accountLite.code, - size: 32, + size: 36, ), const SizedBox( width: 12, @@ -186,7 +186,7 @@ class _PaynymDetailsPopupState extends ConsumerState { children: [ Text( widget.accountLite.nymName, - style: STextStyles.w600_12(context), + style: STextStyles.w600_14(context), ), FutureBuilder( future: @@ -204,7 +204,7 @@ class _PaynymDetailsPopupState extends ConsumerState { ), Text( "Connected", - style: STextStyles.w500_10(context) + style: STextStyles.w500_12(context) .copyWith( color: Theme.of(context) .extension()! @@ -230,33 +230,33 @@ class _PaynymDetailsPopupState extends ConsumerState { if (snapshot.data!) { return PrimaryButton( label: "Send", - buttonHeight: ButtonHeight.l, + buttonHeight: ButtonHeight.xl, icon: SvgPicture.asset( Assets.svg.circleArrowUpRight, - width: 10, - height: 10, + width: 14, + height: 14, color: Theme.of(context) .extension()! .buttonTextPrimary, ), - iconSpacing: 4, - width: 86, + iconSpacing: 8, + width: 100, onPressed: _onSend, ); } else { return PrimaryButton( label: "Connect", - buttonHeight: ButtonHeight.l, + buttonHeight: ButtonHeight.xl, icon: SvgPicture.asset( Assets.svg.circlePlusFilled, - width: 10, - height: 10, + width: 13, + height: 13, color: Theme.of(context) .extension()! .buttonTextPrimary, ), - iconSpacing: 4, - width: 86, + iconSpacing: 8, + width: 128, onPressed: _onConnectPressed, ); } @@ -291,6 +291,7 @@ class _PaynymDetailsPopupState extends ConsumerState { color: Theme.of(context) .extension()! .warningForeground, + fontSize: 12, ), ), ), @@ -321,7 +322,9 @@ class _PaynymDetailsPopupState extends ConsumerState { children: [ Text( "PayNym address", - style: STextStyles.infoSmall(context), + style: STextStyles.infoSmall(context).copyWith( + fontSize: 12, + ), ), const SizedBox( height: 6, @@ -332,6 +335,7 @@ class _PaynymDetailsPopupState extends ConsumerState { color: Theme.of(context) .extension()! .textDark, + fontSize: 12, ), ), const SizedBox( @@ -346,7 +350,7 @@ class _PaynymDetailsPopupState extends ConsumerState { ), QrImage( padding: const EdgeInsets.all(0), - size: 86, + size: 100, data: widget.accountLite.code, foregroundColor: Theme.of(context).extension()!.textDark, @@ -375,16 +379,16 @@ class _PaynymDetailsPopupState extends ConsumerState { Expanded( child: SecondaryButton( label: "Copy", - buttonHeight: ButtonHeight.l, + buttonHeight: ButtonHeight.xl, + iconSpacing: 8, icon: SvgPicture.asset( Assets.svg.copy, - width: 10, - height: 10, + width: 12, + height: 12, color: Theme.of(context) .extension()! .buttonTextSecondary, ), - iconSpacing: 4, onPressed: () async { await Clipboard.setData( ClipboardData( diff --git a/lib/pages/paynym/dialogs/paynym_qr_popup.dart b/lib/pages/paynym/dialogs/paynym_qr_popup.dart index e712884b1..3ad985472 100644 --- a/lib/pages/paynym/dialogs/paynym_qr_popup.dart +++ b/lib/pages/paynym/dialogs/paynym_qr_popup.dart @@ -56,7 +56,7 @@ class PaynymQrPopup extends StatelessWidget { children: [ PayNymBot( paymentCodeString: paynymAccount.codes.first.code, - size: isDesktop ? 56 : 32, + size: isDesktop ? 56 : 36, ), const SizedBox( width: 12, @@ -65,7 +65,7 @@ class PaynymQrPopup extends StatelessWidget { paynymAccount.nymName, style: isDesktop ? STextStyles.w500_24(context) - : STextStyles.w600_12(context), + : STextStyles.w600_14(context), ), ], ), @@ -87,7 +87,7 @@ class PaynymQrPopup extends StatelessWidget { children: [ Expanded( child: ConstrainedBox( - constraints: const BoxConstraints(minHeight: 107), + constraints: const BoxConstraints(minHeight: 130), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -100,7 +100,9 @@ class PaynymQrPopup extends StatelessWidget { .extension()! .textSubtitle1, ) - : STextStyles.infoSmall(context), + : STextStyles.infoSmall(context).copyWith( + fontSize: 12, + ), ), const SizedBox( height: 6, @@ -113,6 +115,7 @@ class PaynymQrPopup extends StatelessWidget { color: Theme.of(context) .extension()! .textDark, + fontSize: 12, ), ), const SizedBox( @@ -120,7 +123,7 @@ class PaynymQrPopup extends StatelessWidget { ), CustomTextButton( text: "Copy", - textSize: isDesktop ? 18 : 10, + textSize: isDesktop ? 18 : 14, onTap: () async { await Clipboard.setData( ClipboardData( @@ -146,7 +149,7 @@ class PaynymQrPopup extends StatelessWidget { ), QrImage( padding: const EdgeInsets.all(0), - size: 107, + size: 130, data: paynymAccount.codes.first.code, foregroundColor: Theme.of(context).extension()!.textDark, diff --git a/lib/pages/paynym/paynym_home_view.dart b/lib/pages/paynym/paynym_home_view.dart index b34c05b12..96baa5daf 100644 --- a/lib/pages/paynym/paynym_home_view.dart +++ b/lib/pages/paynym/paynym_home_view.dart @@ -303,7 +303,9 @@ class _PaynymHomeViewState extends ConsumerState { .code, 12, 5), - style: STextStyles.label(context), + style: STextStyles.label(context).copyWith( + fontSize: 14, + ), ), const SizedBox( height: 11, @@ -313,11 +315,11 @@ class _PaynymHomeViewState extends ConsumerState { Expanded( child: SecondaryButton( label: "Copy", - buttonHeight: ButtonHeight.l, - iconSpacing: 4, + buttonHeight: ButtonHeight.xl, + iconSpacing: 8, icon: CopyIcon( - width: 10, - height: 10, + width: 12, + height: 12, color: Theme.of(context) .extension()! .textDark, @@ -350,11 +352,11 @@ class _PaynymHomeViewState extends ConsumerState { Expanded( child: SecondaryButton( label: "Share", - buttonHeight: ButtonHeight.l, - iconSpacing: 4, + buttonHeight: ButtonHeight.xl, + iconSpacing: 8, icon: ShareIcon( - width: 10, - height: 10, + width: 12, + height: 12, color: Theme.of(context) .extension()! .textDark, @@ -387,11 +389,11 @@ class _PaynymHomeViewState extends ConsumerState { Expanded( child: SecondaryButton( label: "Address", - buttonHeight: ButtonHeight.l, - iconSpacing: 4, + buttonHeight: ButtonHeight.xl, + iconSpacing: 8, icon: QrCodeIcon( - width: 10, - height: 10, + width: 12, + height: 12, color: Theme.of(context) .extension()! .textDark, @@ -554,7 +556,7 @@ class _PaynymHomeViewState extends ConsumerState { child: child, ), child: SizedBox( - height: isDesktop ? 56 : 40, + height: isDesktop ? 56 : 48, width: isDesktop ? 490 : null, child: Toggle( onColor: Theme.of(context).extension()!.popupBG, diff --git a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart index fd89999d6..2f7f05e9a 100644 --- a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart +++ b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart @@ -171,7 +171,7 @@ class _PaynymDetailsPopupState extends ConsumerState { children: [ PayNymBot( paymentCodeString: widget.accountLite.code, - size: 32, + size: 36, ), const SizedBox( width: 12, diff --git a/lib/pages/paynym/subwidgets/paynym_card.dart b/lib/pages/paynym/subwidgets/paynym_card.dart index be989a588..644e9e9bf 100644 --- a/lib/pages/paynym/subwidgets/paynym_card.dart +++ b/lib/pages/paynym/subwidgets/paynym_card.dart @@ -37,7 +37,7 @@ class _PaynymCardState extends State { child: Row( children: [ PayNymBot( - size: 32, + size: 36, paymentCodeString: widget.paymentCodeString, ), const SizedBox( @@ -56,7 +56,7 @@ class _PaynymCardState extends State { .extension()! .textFieldActiveText, ) - : STextStyles.w500_12(context), + : STextStyles.w500_14(context), ), const SizedBox( height: 2, @@ -65,7 +65,7 @@ class _PaynymCardState extends State { Format.shorten(widget.paymentCodeString, 12, 5), style: isDesktop ? STextStyles.desktopTextExtraExtraSmall(context) - : STextStyles.w500_12(context).copyWith( + : STextStyles.w500_14(context).copyWith( color: Theme.of(context) .extension()! .textSubtitle1, diff --git a/lib/pages/paynym/subwidgets/paynym_card_button.dart b/lib/pages/paynym/subwidgets/paynym_card_button.dart index 75c4d2cc0..6e51c85f8 100644 --- a/lib/pages/paynym/subwidgets/paynym_card_button.dart +++ b/lib/pages/paynym/subwidgets/paynym_card_button.dart @@ -77,7 +77,7 @@ class _PaynymCardButtonState extends ConsumerState { child: Row( children: [ PayNymBot( - size: 32, + size: 36, paymentCodeString: widget.accountLite.code, ), const SizedBox( @@ -96,7 +96,7 @@ class _PaynymCardButtonState extends ConsumerState { .extension()! .textFieldActiveText, ) - : STextStyles.w500_12(context), + : STextStyles.w500_14(context), ), const SizedBox( height: 2, @@ -105,7 +105,7 @@ class _PaynymCardButtonState extends ConsumerState { Format.shorten(widget.accountLite.code, 12, 5), style: isDesktop ? STextStyles.desktopTextExtraExtraSmall(context) - : STextStyles.w500_12(context).copyWith( + : STextStyles.w500_14(context).copyWith( color: Theme.of(context) .extension()! .textSubtitle1, diff --git a/lib/utilities/text_styles.dart b/lib/utilities/text_styles.dart index 91e06e45b..98878b6b6 100644 --- a/lib/utilities/text_styles.dart +++ b/lib/utilities/text_styles.dart @@ -13,31 +13,31 @@ class STextStyles { return GoogleFonts.inter( color: _theme(context).textDark3, fontWeight: FontWeight.w500, - fontSize: 12, + fontSize: 14, ); case ThemeType.oceanBreeze: return GoogleFonts.inter( color: _theme(context).textDark3, fontWeight: FontWeight.w500, - fontSize: 12, + fontSize: 14, ); case ThemeType.dark: return GoogleFonts.inter( color: _theme(context).textDark3, fontWeight: FontWeight.w500, - fontSize: 12, + fontSize: 14, ); case ThemeType.oledBlack: return GoogleFonts.inter( color: _theme(context).textDark3, fontWeight: FontWeight.w500, - fontSize: 12, + fontSize: 14, ); case ThemeType.fruitSorbet: return GoogleFonts.inter( color: _theme(context).textDark3, fontWeight: FontWeight.w500, - fontSize: 12, + fontSize: 14, ); } } @@ -932,6 +932,76 @@ class STextStyles { } } + static TextStyle w600_14(BuildContext context) { + switch (_theme(context).themeType) { + case ThemeType.light: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 14, + ); + case ThemeType.oceanBreeze: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 14, + ); + case ThemeType.dark: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 14, + ); + case ThemeType.oledBlack: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 14, + ); + case ThemeType.fruitSorbet: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 14, + ); + } + } + + static TextStyle w500_14(BuildContext context) { + switch (_theme(context).themeType) { + case ThemeType.light: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); + case ThemeType.oceanBreeze: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); + case ThemeType.dark: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); + case ThemeType.oledBlack: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); + case ThemeType.fruitSorbet: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); + } + } + static TextStyle w500_12(BuildContext context) { switch (_theme(context).themeType) { case ThemeType.light: diff --git a/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart b/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart index 5591a5ff3..e4235fef4 100644 --- a/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart +++ b/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart @@ -272,8 +272,8 @@ class _PaynymFollowToggleButtonState switch (widget.style) { case PaynymFollowToggleButtonStyle.primary: return PrimaryButton( - width: isDesktop ? 120 : 84, - buttonHeight: isDesktop ? ButtonHeight.s : ButtonHeight.l, + width: isDesktop ? 120 : 100, + buttonHeight: isDesktop ? ButtonHeight.s : ButtonHeight.xl, label: isFollowing ? "Unfollow" : "Follow", onPressed: _onPressed, ); @@ -281,15 +281,15 @@ class _PaynymFollowToggleButtonState case PaynymFollowToggleButtonStyle.detailsPopup: return SecondaryButton( label: isFollowing ? "Unfollow" : "Follow", - buttonHeight: ButtonHeight.l, + buttonHeight: ButtonHeight.xl, + iconSpacing: 8, icon: SvgPicture.asset( isFollowing ? Assets.svg.userMinus : Assets.svg.userPlus, - width: 10, - height: 10, + width: 16, + height: 16, color: Theme.of(context).extension()!.buttonTextSecondary, ), - iconSpacing: 4, onPressed: _onPressed, ); diff --git a/lib/widgets/desktop/secondary_button.dart b/lib/widgets/desktop/secondary_button.dart index 6dba6fdd8..6b4e46221 100644 --- a/lib/widgets/desktop/secondary_button.dart +++ b/lib/widgets/desktop/secondary_button.dart @@ -78,6 +78,16 @@ class SecondaryButton extends StatelessWidget { .buttonTextSecondaryDisabled, ); } + if (buttonHeight == ButtonHeight.xl) { + return STextStyles.button(context).copyWith( + fontSize: 14, + color: enabled + ? Theme.of(context).extension()!.buttonTextSecondary + : Theme.of(context) + .extension()! + .buttonTextSecondaryDisabled, + ); + } return STextStyles.button(context).copyWith( color: enabled ? Theme.of(context).extension()!.buttonTextSecondary From 72cb62774c9ce0f4135e1f04834611637210086b Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 15:19:32 -0600 Subject: [PATCH 046/191] revert and modify tx size calc for two outputs --- lib/services/coins/bitcoin/bitcoin_wallet.dart | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 6a7898272..525b06d70 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; +import 'dart:math'; import 'package:bech32/bech32.dart'; import 'package:bip32/bip32.dart' as bip32; @@ -2387,11 +2388,9 @@ class BitcoinWallet extends CoinServiceAPI ], satoshiAmounts: [ satoshiAmountToSend, - // this can cause a problem where the output value is negative so commenting out for now - // satoshisBeingUsed - satoshiAmountToSend - 1 - // and using dust limit instead - DUST_LIMIT, - ], // dust limit is the minimum amount a change output should be + // should/can we just set this to 0 ? + max(0, satoshisBeingUsed - satoshiAmountToSend - 1), + ], ))["vSize"] as int; // Assume 1 output, only for recipient and no change From 9dc5f91a043a5818b0380f1d9a8d6d47ad577e02 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 15:37:58 -0600 Subject: [PATCH 047/191] add logging to fee btc calc --- .../coins/bitcoin/bitcoin_wallet.dart | 51 ++++++++++++------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 525b06d70..c4ad5266b 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -2373,25 +2373,38 @@ class BitcoinWallet extends CoinServiceAPI return transactionObject; } - final int vSizeForOneOutput = (await buildTransaction( - utxosToUse: utxoObjectsToUse, - utxoSigningData: utxoSigningData, - recipients: [_recipientAddress], - satoshiAmounts: [satoshisBeingUsed - 1], - ))["vSize"] as int; - final int vSizeForTwoOutPuts = (await buildTransaction( - utxosToUse: utxoObjectsToUse, - utxoSigningData: utxoSigningData, - recipients: [ - _recipientAddress, - await _getCurrentAddressForChain(1, DerivePathTypeExt.primaryFor(coin)), - ], - satoshiAmounts: [ - satoshiAmountToSend, - // should/can we just set this to 0 ? - max(0, satoshisBeingUsed - satoshiAmountToSend - 1), - ], - ))["vSize"] as int; + final int vSizeForOneOutput; + try { + vSizeForOneOutput = (await buildTransaction( + utxosToUse: utxoObjectsToUse, + utxoSigningData: utxoSigningData, + recipients: [_recipientAddress], + satoshiAmounts: [satoshisBeingUsed - 1], + ))["vSize"] as int; + } catch (e) { + Logging.instance.log("vSizeForOneOutput: $e", level: LogLevel.Error); + rethrow; + } + + final int vSizeForTwoOutPuts; + try { + vSizeForTwoOutPuts = (await buildTransaction( + utxosToUse: utxoObjectsToUse, + utxoSigningData: utxoSigningData, + recipients: [ + _recipientAddress, + await _getCurrentAddressForChain( + 1, DerivePathTypeExt.primaryFor(coin)), + ], + satoshiAmounts: [ + satoshiAmountToSend, + max(0, satoshisBeingUsed - satoshiAmountToSend - 1), + ], + ))["vSize"] as int; + } catch (e) { + Logging.instance.log("vSizeForTwoOutPuts: $e", level: LogLevel.Error); + rethrow; + } // Assume 1 output, only for recipient and no change final feeForOneOutput = estimateTxFee( From 5ede544893d432aefee06eed4a4e6e6b64a8278d Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 16:46:01 -0600 Subject: [PATCH 048/191] add wrapped exceptions to MainDB to hopefully catch stack traces --- lib/db/main_db.dart | 189 +++++++++++------- lib/exceptions/main_db/main_db_exception.dart | 12 ++ 2 files changed, 128 insertions(+), 73 deletions(-) create mode 100644 lib/exceptions/main_db/main_db_exception.dart diff --git a/lib/db/main_db.dart b/lib/db/main_db.dart index 90293171c..426e9f493 100644 --- a/lib/db/main_db.dart +++ b/lib/db/main_db.dart @@ -1,5 +1,6 @@ import 'package:flutter/foundation.dart'; import 'package:isar/isar.dart'; +import 'package:stackwallet/exceptions/main_db/main_db_exception.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; import 'package:tuple/tuple.dart'; @@ -40,64 +41,101 @@ class MainDB { String walletId) => isar.addresses.where().walletIdEqualTo(walletId); - Future putAddress(Address address) => isar.writeTxn(() async { - await isar.addresses.put(address); + Future putAddress(Address address) async { + try { + return await isar.writeTxn(() async { + return await isar.addresses.put(address); }); + } catch (e) { + throw MainDBException("failed putAddress: $address", e); + } + } - Future putAddresses(List

addresses) => isar.writeTxn(() async { - await isar.addresses.putAll(addresses); + Future> putAddresses(List
addresses) async { + try { + return await isar.writeTxn(() async { + return await isar.addresses.putAll(addresses); }); + } catch (e) { + throw MainDBException("failed putAddresses: $addresses", e); + } + } - Future updateOrPutAddresses(List
addresses) async { - await isar.writeTxn(() async { - for (final address in addresses) { - final storedAddress = await isar.addresses - .getByValueWalletId(address.value, address.walletId); + Future> updateOrPutAddresses(List
addresses) async { + try { + List ids = []; + await isar.writeTxn(() async { + for (final address in addresses) { + final storedAddress = await isar.addresses + .getByValueWalletId(address.value, address.walletId); - if (storedAddress == null) { - await isar.addresses.put(address); - } else { - address.id = storedAddress.id; - await storedAddress.transactions.load(); - final txns = storedAddress.transactions.toList(); - await isar.addresses.delete(storedAddress.id); - await isar.addresses.put(address); - address.transactions.addAll(txns); - await address.transactions.save(); + int id; + if (storedAddress == null) { + id = await isar.addresses.put(address); + } else { + address.id = storedAddress.id; + await storedAddress.transactions.load(); + final txns = storedAddress.transactions.toList(); + await isar.addresses.delete(storedAddress.id); + id = await isar.addresses.put(address); + address.transactions.addAll(txns); + await address.transactions.save(); + } + ids.add(id); } - } - }); + }); + return ids; + } catch (e) { + throw MainDBException("failed updateOrPutAddresses: $addresses", e); + } } Future getAddress(String walletId, String address) async { return isar.addresses.getByValueWalletId(address, walletId); } - Future updateAddress(Address oldAddress, Address newAddress) => - isar.writeTxn(() async { + Future updateAddress(Address oldAddress, Address newAddress) async { + try { + return await isar.writeTxn(() async { newAddress.id = oldAddress.id; await oldAddress.transactions.load(); final txns = oldAddress.transactions.toList(); await isar.addresses.delete(oldAddress.id); - await isar.addresses.put(newAddress); + final id = await isar.addresses.put(newAddress); newAddress.transactions.addAll(txns); await newAddress.transactions.save(); + return id; }); + } catch (e) { + throw MainDBException( + "failed updateAddress: from=$oldAddress to=$newAddress", e); + } + } // transactions QueryBuilder getTransactions( String walletId) => isar.transactions.where().walletIdEqualTo(walletId); - Future putTransaction(Transaction transaction) => - isar.writeTxn(() async { - await isar.transactions.put(transaction); + Future putTransaction(Transaction transaction) async { + try { + return await isar.writeTxn(() async { + return await isar.transactions.put(transaction); }); + } catch (e) { + throw MainDBException("failed putTransaction: $transaction", e); + } + } - Future putTransactions(List transactions) => - isar.writeTxn(() async { - await isar.transactions.putAll(transactions); + Future> putTransactions(List transactions) async { + try { + return await isar.writeTxn(() async { + return await isar.transactions.putAll(transactions); }); + } catch (e) { + throw MainDBException("failed putTransactions: $transactions", e); + } + } Future getTransaction(String walletId, String txid) async { return isar.transactions.getByTxidWalletId(txid, walletId); @@ -212,55 +250,60 @@ class MainDB { } Future addNewTransactionData( - List, List, Address?>> - transactionsData, - String walletId) async { - await isar.writeTxn(() async { - for (final data in transactionsData) { - final tx = data.item1; + List, List, Address?>> + transactionsData, + String walletId, + ) async { + try { + await isar.writeTxn(() async { + for (final data in transactionsData) { + final tx = data.item1; - final potentiallyUnconfirmedTx = await getTransactions(walletId) - .filter() - .txidEqualTo(tx.txid) - .findFirst(); - if (potentiallyUnconfirmedTx != null) { - // update use id to replace tx - tx.id = potentiallyUnconfirmedTx.id; - await isar.transactions.delete(potentiallyUnconfirmedTx.id); - } - // save transaction - await isar.transactions.put(tx); - - // link and save outputs - if (data.item2.isNotEmpty) { - await isar.outputs.putAll(data.item2); - tx.outputs.addAll(data.item2); - await tx.outputs.save(); - } - - // link and save inputs - if (data.item3.isNotEmpty) { - await isar.inputs.putAll(data.item3); - tx.inputs.addAll(data.item3); - await tx.inputs.save(); - } - - if (data.item4 != null) { - final address = await getAddresses(walletId) + final potentiallyUnconfirmedTx = await getTransactions(walletId) .filter() - .valueEqualTo(data.item4!.value) + .txidEqualTo(tx.txid) .findFirst(); + if (potentiallyUnconfirmedTx != null) { + // update use id to replace tx + tx.id = potentiallyUnconfirmedTx.id; + await isar.transactions.delete(potentiallyUnconfirmedTx.id); + } + // save transaction + await isar.transactions.put(tx); - // check if address exists in db and add if it does not - if (address == null) { - await isar.addresses.put(data.item4!); + // link and save outputs + if (data.item2.isNotEmpty) { + await isar.outputs.putAll(data.item2); + tx.outputs.addAll(data.item2); + await tx.outputs.save(); } - // link and save address - tx.address.value = address ?? data.item4!; - await tx.address.save(); + // link and save inputs + if (data.item3.isNotEmpty) { + await isar.inputs.putAll(data.item3); + tx.inputs.addAll(data.item3); + await tx.inputs.save(); + } + + if (data.item4 != null) { + final address = await getAddresses(walletId) + .filter() + .valueEqualTo(data.item4!.value) + .findFirst(); + + // check if address exists in db and add if it does not + if (address == null) { + await isar.addresses.put(data.item4!); + } + + // link and save address + tx.address.value = address ?? data.item4!; + await tx.address.save(); + } } - } - }); + }); + } catch (e) { + throw MainDBException("failed addNewTransactionData", e); + } } } diff --git a/lib/exceptions/main_db/main_db_exception.dart b/lib/exceptions/main_db/main_db_exception.dart new file mode 100644 index 000000000..4285060ba --- /dev/null +++ b/lib/exceptions/main_db/main_db_exception.dart @@ -0,0 +1,12 @@ +import 'package:stackwallet/exceptions/sw_exception.dart'; + +class MainDBException extends SWException { + MainDBException(super.message, this.originalError); + + final Object originalError; + + @override + String toString() { + return "$message: originalError=$originalError"; + } +} From ce5586d67550155e3a87055c924181017ce7b61e Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 16:46:27 -0600 Subject: [PATCH 049/191] extra percent notifier --- lib/services/coins/bitcoin/bitcoin_wallet.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index c4ad5266b..20f69da11 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -981,6 +981,7 @@ class BitcoinWallet extends CoinServiceAPI GlobalEventBus.instance.fire(RefreshPercentChangedEvent(0.3, walletId)); await _checkCurrentReceivingAddressesForTransactions(); + GlobalEventBus.instance.fire(RefreshPercentChangedEvent(0.4, walletId)); await checkAllCurrentReceivingPaynymAddressesForTransactions(); final fetchFuture = _refreshTransactions(); From aec33094d631a537905eca964149384d3f31c5ae Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 16:46:49 -0600 Subject: [PATCH 050/191] payment code lookup fix --- .../mixins/paynym_wallet_interface.dart | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 5bfbbe068..7d01bac46 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -148,15 +148,13 @@ mixin PaynymWalletInterface { btc_dart.NetworkType get networkType => _network; Future
currentReceivingPaynymAddress(PaymentCode sender) async { - final key = await lookupKey(sender.toString()); + final keys = await lookupKey(sender.toString()); final address = await _db .getAddresses(_walletId) .filter() .subTypeEqualTo(AddressSubType.paynymReceive) .and() - .otherDataEqualTo(key) - .and() - .otherDataIsNotNull() + .anyOf(keys, (q, String e) => q.otherDataEqualTo(e)) .sortByDerivationIndexDesc() .findFirst(); @@ -331,15 +329,13 @@ mixin PaynymWalletInterface { const maxCount = 2147483647; for (int i = startIndex; i < maxCount; i++) { - final key = await lookupKey(pCode.toString()); + final keys = await lookupKey(pCode.toString()); final address = await _db .getAddresses(_walletId) .filter() .subTypeEqualTo(AddressSubType.paynymSend) .and() - .otherDataEqualTo(key) - .and() - .otherDataIsNotNull() + .anyOf(keys, (q, String e) => q.otherDataEqualTo(e)) .and() .derivationIndexEqualTo(i) .findFirst(); @@ -1215,16 +1211,17 @@ mixin PaynymWalletInterface { } /// look up a key that corresponds to a payment code string - Future lookupKey(String paymentCodeString) async { + Future> lookupKey(String paymentCodeString) async { final keys = (await _secureStorage.keys).where((e) => e.startsWith(kPCodeKeyPrefix)); + final List result = []; for (final key in keys) { final value = await _secureStorage.read(key: key); if (value == paymentCodeString) { - return key; + result.add(key); } } - return null; + return result; } /// fetch a payment code string From e666928d63294613779bf85dfc7d54e8e4851f92 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 18:24:41 -0600 Subject: [PATCH 051/191] majestic bank limits and rates api calls --- .../exchange/majestic_bank/mb_limit.dart | 19 +++++++ .../exchange/majestic_bank/mb_object.dart | 1 + .../exchange/majestic_bank/mb_rate.dart | 15 ++++++ .../majestic_bank/majestic_bank_api.dart | 53 ++++++++++++++++++- 4 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 lib/models/exchange/majestic_bank/mb_limit.dart create mode 100644 lib/models/exchange/majestic_bank/mb_object.dart create mode 100644 lib/models/exchange/majestic_bank/mb_rate.dart diff --git a/lib/models/exchange/majestic_bank/mb_limit.dart b/lib/models/exchange/majestic_bank/mb_limit.dart new file mode 100644 index 000000000..baa002d56 --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_limit.dart @@ -0,0 +1,19 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_object.dart'; + +class MBLimit extends MBObject { + MBLimit({ + required this.currency, + required this.min, + required this.max, + }); + + final String currency; + final Decimal min; + final Decimal max; + + @override + String toString() { + return "MBLimit: { $currency: { min: $min, max: $max } }"; + } +} diff --git a/lib/models/exchange/majestic_bank/mb_object.dart b/lib/models/exchange/majestic_bank/mb_object.dart new file mode 100644 index 000000000..e3810131c --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_object.dart @@ -0,0 +1 @@ +abstract class MBObject {} diff --git a/lib/models/exchange/majestic_bank/mb_rate.dart b/lib/models/exchange/majestic_bank/mb_rate.dart new file mode 100644 index 000000000..60d71cdf0 --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_rate.dart @@ -0,0 +1,15 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_object.dart'; + +class MBRate extends MBObject { + MBRate({required this.fromCurrency, required this.toCurrency, required this.rate,}); + + final String fromCurrency; + final String toCurrency; + final Decimal rate; + + @override + String toString() { + return "MBRate: { $fromCurrency-$toCurrency: $rate }"; + } +} diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index 58333b807..00d4e2e20 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -1,6 +1,9 @@ import 'dart:convert'; +import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; +import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_rate.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; @@ -54,7 +57,7 @@ class MajesticBankAPI { } } - Future getRates() async { + Future>> getRates() async { final uri = _buildUri( endpoint: "rates", ); @@ -62,7 +65,20 @@ class MajesticBankAPI { try { final jsonObject = await _makeGetRequest(uri); - return getPrettyJSONString(jsonObject); + final map = Map.from(jsonObject as Map); + final List rates = []; + for (final key in map.keys) { + final currencies = key.split("-"); + if (currencies.length == 2) { + final rate = MBRate( + fromCurrency: currencies.first, + toCurrency: currencies.last, + rate: Decimal.parse(map[key].toString()), + ); + rates.add(rate); + } + } + return ExchangeResponse(value: rates); } catch (e, s) { Logging.instance.log("getRates exception: $e\n$s", level: LogLevel.Error); return ExchangeResponse( @@ -74,6 +90,39 @@ class MajesticBankAPI { } } + Future>> getLimits() async { + final uri = _buildUri( + endpoint: + "rates", // limits are included in the rates call for some reason??? + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + final map = Map.from(jsonObject as Map)["limits"] as Map; + final List limits = []; + for (final key in map.keys) { + final limit = MBLimit( + currency: key as String, + min: Decimal.parse(map[key]["min"].toString()), + max: Decimal.parse(map[key]["max"].toString()), + ); + limits.add(limit); + } + + return ExchangeResponse(value: limits); + } catch (e, s) { + Logging.instance + .log("getLimits exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + Future calculateOrder() async { final uri = _buildUri( endpoint: "calculate", From eaf8fe7094a77defa21c15932b608c843b371259 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 08:48:03 -0600 Subject: [PATCH 052/191] possible epic cash address get fix --- lib/services/coins/epiccash/epiccash_wallet.dart | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index d6505889b..42198104c 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -839,6 +839,10 @@ class EpicCashWallet extends CoinServiceAPI isar_models.Address? address = await db .getAddresses(walletId) .filter() + .subTypeEqualTo(isar_models.AddressSubType.receiving) + .and() + .typeEqualTo(isar_models.AddressType.mimbleWimble) + .and() .derivationIndexEqualTo(index) .findFirst(); @@ -877,8 +881,14 @@ class EpicCashWallet extends CoinServiceAPI (await _currentReceivingAddress)?.value ?? (await _getReceivingAddressForIndex(0)).value; - Future get _currentReceivingAddress => - db.getAddresses(walletId).sortByDerivationIndexDesc().findFirst(); + Future get _currentReceivingAddress => db + .getAddresses(walletId) + .filter() + .subTypeEqualTo(isar_models.AddressSubType.receiving) + .and() + .typeEqualTo(isar_models.AddressType.mimbleWimble) + .sortByDerivationIndexDesc() + .findFirst(); @override Future exit() async { From 16d4384525568b2215de092a5890b7edbe3f7379 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 09:03:57 -0600 Subject: [PATCH 053/191] possible putAddresses index violation error during full rescan fix --- .../coins/bitcoin/bitcoin_wallet.dart | 29 ++++++++++++++----- .../coins/bitcoincash/bitcoincash_wallet.dart | 23 +++++++++++---- .../coins/dogecoin/dogecoin_wallet.dart | 18 ++++++++---- .../coins/litecoin/litecoin_wallet.dart | 29 ++++++++++++++----- .../coins/namecoin/namecoin_wallet.dart | 29 ++++++++++++++----- .../coins/particl/particl_wallet.dart | 23 +++++++++++---- 6 files changed, 110 insertions(+), 41 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 20f69da11..77f1f1509 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -524,6 +524,7 @@ class BitcoinWallet extends CoinServiceAPI required String mnemonic, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, + bool isRescan = false, }) async { longMutex = true; @@ -697,14 +698,25 @@ class BitcoinWallet extends CoinServiceAPI p2wpkhChangeAddressArray.add(address); } - await db.putAddresses([ - ...p2wpkhReceiveAddressArray, - ...p2wpkhChangeAddressArray, - ...p2pkhReceiveAddressArray, - ...p2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); + if (isRescan) { + await db.updateOrPutAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } else { + await db.putAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } // get own payment code final myCode = await getPaymentCode(DerivePathType.bip44); @@ -2924,6 +2936,7 @@ class BitcoinWallet extends CoinServiceAPI mnemonic: mnemonic!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + isRescan: true, ); longMutex = false; diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index af495fba7..952a07746 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -487,6 +487,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { required String mnemonic, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, + bool isRescan = false, }) async { longMutex = true; @@ -616,12 +617,21 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { p2shChangeAddressArray.add(address); } - await db.putAddresses([ - ...p2pkhReceiveAddressArray, - ...p2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); + if (isRescan) { + await db.updateOrPutAddresses([ + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } else { + await db.putAddresses([ + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } await _updateUTXOs(); @@ -2874,6 +2884,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { mnemonic: mnemonic!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + isRescan: true, ); longMutex = false; diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 45f20b763..ff4ba9919 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -464,6 +464,7 @@ class DogecoinWallet extends CoinServiceAPI required String mnemonic, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, + bool isRescan = false, }) async { longMutex = true; @@ -540,11 +541,17 @@ class DogecoinWallet extends CoinServiceAPI await _generateAddressForChain(1, 0, DerivePathType.bip44); p2pkhChangeAddressArray.add(address); } - - await db.putAddresses([ - ...p2pkhReceiveAddressArray, - ...p2pkhChangeAddressArray, - ]); + if (isRescan) { + await db.updateOrPutAddresses([ + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ]); + } else { + await db.putAddresses([ + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ]); + } // paynym stuff // // generate to ensure notification address is in db before refreshing transactions @@ -2573,6 +2580,7 @@ class DogecoinWallet extends CoinServiceAPI mnemonic: mnemonic!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + isRescan: true, ); longMutex = false; diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index b0de62f75..5a3965357 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -517,6 +517,7 @@ class LitecoinWallet extends CoinServiceAPI required String mnemonic, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, + bool isRescan = false, }) async { longMutex = true; @@ -690,14 +691,25 @@ class LitecoinWallet extends CoinServiceAPI p2wpkhChangeAddressArray.add(address); } - await db.putAddresses([ - ...p2wpkhReceiveAddressArray, - ...p2wpkhChangeAddressArray, - ...p2pkhReceiveAddressArray, - ...p2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); + if (isRescan) { + await db.updateOrPutAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } else { + await db.putAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } await _updateUTXOs(); @@ -2887,6 +2899,7 @@ class LitecoinWallet extends CoinServiceAPI mnemonic: mnemonic!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + isRescan: true, ); longMutex = false; diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 470a6a0bc..01a1bdcd9 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -507,6 +507,7 @@ class NamecoinWallet extends CoinServiceAPI required String mnemonic, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, + bool isRescan = false, }) async { longMutex = true; @@ -680,14 +681,25 @@ class NamecoinWallet extends CoinServiceAPI p2wpkhChangeAddressArray.add(address); } - await db.putAddresses([ - ...p2wpkhReceiveAddressArray, - ...p2wpkhChangeAddressArray, - ...p2pkhReceiveAddressArray, - ...p2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); + if (isRescan) { + await db.updateOrPutAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } else { + await db.putAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } await _updateUTXOs(); @@ -2877,6 +2889,7 @@ class NamecoinWallet extends CoinServiceAPI mnemonic: mnemonic!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + isRescan: true, ); longMutex = false; diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 3a63204a8..4c343be01 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -489,6 +489,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { required String mnemonic, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, + bool isRescan = false, }) async { longMutex = true; @@ -614,12 +615,21 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { p2wpkhChangeAddressArray.add(address); } - await db.putAddresses([ - ...p2wpkhReceiveAddressArray, - ...p2wpkhChangeAddressArray, - ...p2pkhReceiveAddressArray, - ...p2pkhChangeAddressArray, - ]); + if (isRescan) { + await db.updateOrPutAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ]); + } else { + await db.putAddresses([ + ...p2wpkhReceiveAddressArray, + ...p2wpkhChangeAddressArray, + ...p2pkhReceiveAddressArray, + ...p2pkhChangeAddressArray, + ]); + } await _updateUTXOs(); @@ -2982,6 +2992,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { mnemonic: mnemonic!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + isRescan: true, ); longMutex = false; From 4aec78f0ed34716bc5c91886cb0d07c34440e146 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Thu, 2 Feb 2023 09:24:26 -0600 Subject: [PATCH 054/191] Add BIP44 derivation paths to Bitcoin Cash wallet restoration process (#330) * add new derive path for bch and make it the new default. we currently use slip44 (coinType 145) as the default * add default cases to DerivePathType switches now failing * normalize DerivePathType errors log failing derivePathType or type, as appropriate * add default derive path case to paynym interface * use slip44 in bch wallet * linting * WIP look up both bip44 and slip44 addresses slip44 is used by default * typo fix * typo fix thanks Julian * remove print * use slip44 addresses by default * use AddressType unknown for bip44 derive path type * use address type unknown in _getCurrentAddressForChain, too * generate different keys for SLIP44 and BIP44 paths * couple more slips * return slip44 from addressType * slip before bip * revert slip44-bip44, bch's bip44->bch44 * set bch44 derive path to type unknown do not comingle paths in later output selection by index * handle bip44 and bch44 path addresses when handling outputs * use bip44 by default * typofix * typo fix in the typo fix yo dawg * separate new derivation path functions into their own non-testnet block * cleanup * disable test should re-enable if it can be fixed with the test mnemonic in hand --------- Co-authored-by: julian --- .../coins/bitcoin/bitcoin_wallet.dart | 12 +- .../coins/bitcoincash/bitcoincash_wallet.dart | 184 ++++++++++++++---- .../coins/dogecoin/dogecoin_wallet.dart | 5 +- .../coins/litecoin/litecoin_wallet.dart | 12 +- .../coins/namecoin/namecoin_wallet.dart | 9 +- .../coins/particl/particl_wallet.dart | 14 +- .../mixins/paynym_wallet_interface.dart | 2 + .../enums/derive_path_type_enum.dart | 1 + .../bitcoincash/bitcoincash_wallet_test.dart | 24 +-- 9 files changed, 196 insertions(+), 67 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 20f69da11..e20e9f74c 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -106,7 +106,7 @@ bip32.BIP32 getBip32NodeFromRoot( case DerivePathType.bip84: return root.derivePath("m/84'/$coinType'/0'/$chain/$index"); default: - throw Exception("DerivePathType must not be null."); + throw Exception("DerivePathType $derivePathType not supported"); } } @@ -436,7 +436,7 @@ class BitcoinWallet extends CoinServiceAPI addrType = isar_models.AddressType.p2wpkh; break; default: - throw Exception("No Path type $type exists"); + throw Exception("DerivePathType $type not supported"); } final address = isar_models.Address( @@ -1560,6 +1560,8 @@ class BitcoinWallet extends CoinServiceAPI address = P2WPKH(network: _network, data: data).data.address!; addrType = isar_models.AddressType.p2wpkh; break; + default: + throw Exception("DerivePathType $derivePathType not supported"); } // add generated address & info to derivations @@ -1606,6 +1608,8 @@ class BitcoinWallet extends CoinServiceAPI case DerivePathType.bip84: type = isar_models.AddressType.p2wpkh; break; + default: + throw Exception("DerivePathType unsupported"); } address = await db .getAddresses(walletId) @@ -1633,6 +1637,8 @@ class BitcoinWallet extends CoinServiceAPI case DerivePathType.bip84: key = "${walletId}_${chainId}DerivationsP2WPKH"; break; + default: + throw Exception("DerivePathType unsupported"); } return key; } @@ -2645,6 +2651,8 @@ class BitcoinWallet extends CoinServiceAPI case DerivePathType.bip84: addressesP2WPKH.add(address); break; + default: + throw Exception("DerivePathType unsupported"); } } } diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index af495fba7..4274c524c 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -77,7 +77,8 @@ bip32.BIP32 getBip32NodeFromRoot( String coinType; switch (root.network.wif) { case 0x80: // bch mainnet wif - coinType = "145"; // bch mainnet + coinType = + derivePathType == DerivePathType.bch44 ? "145" : "0"; // bch mainnet break; case 0xef: // bch testnet wif coinType = "1"; // bch testnet @@ -87,6 +88,7 @@ bip32.BIP32 getBip32NodeFromRoot( } switch (derivePathType) { case DerivePathType.bip44: + case DerivePathType.bch44: return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); case DerivePathType.bip49: return root.derivePath("m/49'/$coinType'/0'/$chain/$index"); @@ -329,6 +331,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { mnemonic: mnemonic.trim(), maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + coin: coin, ); } catch (e, s) { Logging.instance.log( @@ -387,6 +390,11 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { addrType = isar_models.AddressType.p2pkh; addressString = bitbox.Address.toCashAddress(addressString); break; + case DerivePathType.bch44: + addressString = P2PKH(data: data, network: _network).data.address!; + addrType = isar_models.AddressType.unknown; + addressString = bitbox.Address.toCashAddress(addressString); + break; case DerivePathType.bip49: addressString = P2SH( data: PaymentData( @@ -397,7 +405,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { addrType = isar_models.AddressType.p2sh; break; default: - throw Exception("No Path type $type exists"); + throw Exception("DerivePathType $type not supported"); } final address = isar_models.Address( @@ -483,28 +491,34 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { } } - Future _recoverWalletFromBIP32SeedPhrase({ - required String mnemonic, - int maxUnusedAddressGap = 20, - int maxNumberOfIndexesToCheck = 1000, - }) async { + Future _recoverWalletFromBIP32SeedPhrase( + {required String mnemonic, + int maxUnusedAddressGap = 20, + int maxNumberOfIndexesToCheck = 1000, + Coin? coin}) async { longMutex = true; - Map> p2pkhReceiveDerivations = {}; + Map> bip44P2pkhReceiveDerivations = {}; + Map> bch44P2pkhReceiveDerivations = {}; Map> p2shReceiveDerivations = {}; - Map> p2pkhChangeDerivations = {}; + Map> bip44P2pkhChangeDerivations = {}; + Map> bch44P2pkhChangeDerivations = {}; Map> p2shChangeDerivations = {}; final root = await compute(getBip32RootWrapper, Tuple2(mnemonic, _network)); - List p2pkhReceiveAddressArray = []; + List bip44P2pkhReceiveAddressArray = []; + List bch44P2pkhReceiveAddressArray = []; List p2shReceiveAddressArray = []; - int p2pkhReceiveIndex = -1; + int bch44P2pkhReceiveIndex = -1; + int bip44P2pkhReceiveIndex = -1; int p2shReceiveIndex = -1; - List p2pkhChangeAddressArray = []; + List bip44P2pkhChangeAddressArray = []; + List bch44P2pkhChangeAddressArray = []; List p2shChangeAddressArray = []; - int p2pkhChangeIndex = -1; + int bch44P2pkhChangeIndex = -1; + int bip44P2pkhChangeIndex = -1; int p2shChangeIndex = -1; // The gap limit will be capped at [maxUnusedAddressGap] @@ -515,10 +529,11 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { const txCountBatchSize = 12; try { + bool testnet = ((coin ?? null) == Coin.bitcoincashTestnet) ? true : false; // receiving addresses Logging.instance .log("checking receiving addresses...", level: LogLevel.Info); - final resultReceive44 = _checkGaps(maxNumberOfIndexesToCheck, + final resultReceiveBip44 = _checkGaps(maxNumberOfIndexesToCheck, maxUnusedAddressGap, txCountBatchSize, root, DerivePathType.bip44, 0); final resultReceive49 = _checkGaps(maxNumberOfIndexesToCheck, @@ -527,23 +542,23 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { Logging.instance .log("checking change addresses...", level: LogLevel.Info); // change addresses - final resultChange44 = _checkGaps(maxNumberOfIndexesToCheck, + final bip44ResultChange = _checkGaps(maxNumberOfIndexesToCheck, maxUnusedAddressGap, txCountBatchSize, root, DerivePathType.bip44, 1); final resultChange49 = _checkGaps(maxNumberOfIndexesToCheck, maxUnusedAddressGap, txCountBatchSize, root, DerivePathType.bip49, 1); await Future.wait([ - resultReceive44, + resultReceiveBip44, resultReceive49, - resultChange44, + bip44ResultChange, resultChange49, ]); - p2pkhReceiveAddressArray = - (await resultReceive44)['addressArray'] as List; - p2pkhReceiveIndex = (await resultReceive44)['index'] as int; - p2pkhReceiveDerivations = (await resultReceive44)['derivations'] + bip44P2pkhReceiveAddressArray = (await resultReceiveBip44)['addressArray'] + as List; + bip44P2pkhReceiveIndex = (await resultReceiveBip44)['index'] as int; + bip44P2pkhReceiveDerivations = (await resultReceiveBip44)['derivations'] as Map>; p2shReceiveAddressArray = @@ -552,10 +567,10 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { p2shReceiveDerivations = (await resultReceive49)['derivations'] as Map>; - p2pkhChangeAddressArray = - (await resultChange44)['addressArray'] as List; - p2pkhChangeIndex = (await resultChange44)['index'] as int; - p2pkhChangeDerivations = (await resultChange44)['derivations'] + bip44P2pkhChangeAddressArray = (await bip44ResultChange)['addressArray'] + as List; + bip44P2pkhChangeIndex = (await bip44ResultChange)['index'] as int; + bip44P2pkhChangeDerivations = (await bip44ResultChange)['derivations'] as Map>; p2shChangeAddressArray = @@ -565,11 +580,11 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { as Map>; // save the derivations (if any) - if (p2pkhReceiveDerivations.isNotEmpty) { + if (bip44P2pkhReceiveDerivations.isNotEmpty) { await addDerivations( chain: 0, derivePathType: DerivePathType.bip44, - derivationsToAdd: p2pkhReceiveDerivations); + derivationsToAdd: bip44P2pkhReceiveDerivations); } if (p2shReceiveDerivations.isNotEmpty) { await addDerivations( @@ -577,11 +592,11 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { derivePathType: DerivePathType.bip49, derivationsToAdd: p2shReceiveDerivations); } - if (p2pkhChangeDerivations.isNotEmpty) { + if (bip44P2pkhChangeDerivations.isNotEmpty) { await addDerivations( chain: 1, derivePathType: DerivePathType.bip44, - derivationsToAdd: p2pkhChangeDerivations); + derivationsToAdd: bip44P2pkhChangeDerivations); } if (p2shChangeDerivations.isNotEmpty) { await addDerivations( @@ -592,10 +607,10 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { // If restoring a wallet that never received any funds, then set receivingArray manually // If we didn't do this, it'd store an empty array - if (p2pkhReceiveIndex == -1) { + if (bip44P2pkhReceiveIndex == -1) { final address = await _generateAddressForChain(0, 0, DerivePathType.bip44); - p2pkhReceiveAddressArray.add(address); + bip44P2pkhReceiveAddressArray.add(address); } if (p2shReceiveIndex == -1) { final address = @@ -605,10 +620,10 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { // If restoring a wallet that never sent any funds with change, then set changeArray // manually. If we didn't do this, it'd store an empty array. - if (p2pkhChangeIndex == -1) { + if (bip44P2pkhChangeIndex == -1) { final address = await _generateAddressForChain(1, 0, DerivePathType.bip44); - p2pkhChangeAddressArray.add(address); + bip44P2pkhChangeAddressArray.add(address); } if (p2shChangeIndex == -1) { final address = @@ -616,12 +631,80 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { p2shChangeAddressArray.add(address); } - await db.putAddresses([ - ...p2pkhReceiveAddressArray, - ...p2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); + if (!testnet) { + final resultReceiveBch44 = _checkGaps( + maxNumberOfIndexesToCheck, + maxUnusedAddressGap, + txCountBatchSize, + root, + DerivePathType.bch44, + 0); + final Future> bch44ResultChange = _checkGaps( + maxNumberOfIndexesToCheck, + maxUnusedAddressGap, + txCountBatchSize, + root, + DerivePathType.bch44, + 1); + await Future.wait([ + resultReceiveBch44, + bch44ResultChange, + ]); + + bch44P2pkhReceiveAddressArray = + (await resultReceiveBch44)['addressArray'] + as List; + bch44P2pkhReceiveIndex = (await resultReceiveBch44)['index'] as int; + bch44P2pkhReceiveDerivations = (await resultReceiveBch44)['derivations'] + as Map>; + + bch44P2pkhChangeAddressArray = (await bch44ResultChange)['addressArray'] + as List; + bch44P2pkhChangeIndex = (await bch44ResultChange)['index'] as int; + bch44P2pkhChangeDerivations = (await bch44ResultChange)['derivations'] + as Map>; + + if (bch44P2pkhReceiveDerivations.isNotEmpty) { + await addDerivations( + chain: 0, + derivePathType: DerivePathType.bch44, + derivationsToAdd: bch44P2pkhReceiveDerivations); + } + if (bch44P2pkhChangeDerivations.isNotEmpty) { + await addDerivations( + chain: 1, + derivePathType: DerivePathType.bch44, + derivationsToAdd: bch44P2pkhChangeDerivations); + } + + if (bch44P2pkhReceiveIndex == -1) { + final address = + await _generateAddressForChain(0, 0, DerivePathType.bch44); + bch44P2pkhReceiveAddressArray.add(address); + } + + if (bch44P2pkhChangeIndex == -1) { + final address = + await _generateAddressForChain(1, 0, DerivePathType.bch44); + bch44P2pkhChangeAddressArray.add(address); + } + + await db.putAddresses([ + ...bip44P2pkhReceiveAddressArray, + ...bip44P2pkhChangeAddressArray, + ...bch44P2pkhReceiveAddressArray, + ...bch44P2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } else { + await db.putAddresses([ + ...bip44P2pkhReceiveAddressArray, + ...bip44P2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]); + } await _updateUTXOs(); @@ -1410,6 +1493,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { ), ); final data = PaymentData(pubkey: node.publicKey); + String address; isar_models.AddressType addrType; @@ -1419,6 +1503,11 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { addrType = isar_models.AddressType.p2pkh; address = bitbox.Address.toCashAddress(address); break; + case DerivePathType.bch44: + address = P2PKH(data: data, network: _network).data.address!; + addrType = isar_models.AddressType.unknown; + address = bitbox.Address.toCashAddress(address); + break; case DerivePathType.bip49: address = P2SH( data: PaymentData( @@ -1430,6 +1519,8 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { break; case DerivePathType.bip84: throw UnsupportedError("bip84 not supported by BCH"); + default: + throw Exception("DerivePathType $derivePathType not supported"); } // add generated address & info to derivations @@ -1469,11 +1560,16 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { case DerivePathType.bip44: type = isar_models.AddressType.p2pkh; break; + case DerivePathType.bch44: + type = isar_models.AddressType.unknown; + break; case DerivePathType.bip49: type = isar_models.AddressType.p2sh; break; case DerivePathType.bip84: throw UnsupportedError("bip84 not supported by BCH"); + default: + throw Exception("DerivePathType $derivePathType not supported"); } final address = await db @@ -1496,6 +1592,9 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { case DerivePathType.bip44: key = "${walletId}_${chainId}DerivationsP2PKH"; break; + case DerivePathType.bch44: + key = "${walletId}_${chainId}DerivationsBch44P2PKH"; + break; case DerivePathType.bip49: key = "${walletId}_${chainId}DerivationsP2SH"; break; @@ -1961,7 +2060,8 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { .where((e) => e.subType == isar_models.AddressSubType.receiving) .map((e) { if (bitbox.Address.detectFormat(e.value) == bitbox.Address.formatLegacy && - addressType(address: e.value) == DerivePathType.bip44) { + (addressType(address: e.value) == DerivePathType.bip44 || + addressType(address: e.value) == DerivePathType.bch44)) { return bitbox.Address.toCashAddress(e.value); } else { return e.value; @@ -1972,7 +2072,8 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { .where((e) => e.subType == isar_models.AddressSubType.change) .map((e) { if (bitbox.Address.detectFormat(e.value) == bitbox.Address.formatLegacy && - addressType(address: e.value) == DerivePathType.bip44) { + (addressType(address: e.value) == DerivePathType.bip44 || + addressType(address: e.value) == DerivePathType.bch44)) { return bitbox.Address.toCashAddress(e.value); } else { return e.value; @@ -2615,6 +2716,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { (addressTxid[address] as List).add(txid); switch (addressType(address: address)) { case DerivePathType.bip44: + case DerivePathType.bch44: addressesP2PKH.add(address); break; case DerivePathType.bip49: diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 45f20b763..b4dce7a89 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -90,7 +90,8 @@ bip32.BIP32 getBip32NodeFromRoot( case DerivePathType.bip44: return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); default: - throw Exception("Unsupported DerivePathType"); + throw Exception( + "DerivePathType null or unsupported (${DerivePathType.bip44})"); } } @@ -388,7 +389,7 @@ class DogecoinWallet extends CoinServiceAPI ); break; default: - throw Exception("No Path type $type exists"); + throw Exception("DerivePathType $type not supported"); } receivingNodes.addAll({ "${_id}_$j": { diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index b0de62f75..32cddf47f 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -102,7 +102,7 @@ bip32.BIP32 getBip32NodeFromRoot( case DerivePathType.bip84: return root.derivePath("m/84'/$coinType'/0'/$chain/$index"); default: - throw Exception("DerivePathType must not be null."); + throw Exception("DerivePathType unsupported"); } } @@ -429,7 +429,7 @@ class LitecoinWallet extends CoinServiceAPI addrType = isar_models.AddressType.p2wpkh; break; default: - throw Exception("No Path type $type exists"); + throw Exception("DerivePathType unsupported"); } final address = isar_models.Address( @@ -1540,6 +1540,8 @@ class LitecoinWallet extends CoinServiceAPI .address!; addrType = isar_models.AddressType.p2wpkh; break; + default: + throw Exception("DerivePathType unsupported"); } // add generated address & info to derivations @@ -1586,6 +1588,8 @@ class LitecoinWallet extends CoinServiceAPI case DerivePathType.bip84: type = isar_models.AddressType.p2wpkh; break; + default: + throw Exception("DerivePathType unsupported"); } address = await db .getAddresses(walletId) @@ -1613,6 +1617,8 @@ class LitecoinWallet extends CoinServiceAPI case DerivePathType.bip84: key = "${walletId}_${chainId}DerivationsP2WPKH"; break; + default: + throw Exception("DerivePathType unsupported"); } return key; } @@ -2603,6 +2609,8 @@ class LitecoinWallet extends CoinServiceAPI case DerivePathType.bip84: addressesP2WPKH.add(address); break; + default: + throw Exception("DerivePathType unsupported"); } } } diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 470a6a0bc..338089331 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -419,7 +419,7 @@ class NamecoinWallet extends CoinServiceAPI addrType = isar_models.AddressType.p2wpkh; break; default: - throw Exception("No Path type $type exists"); + throw Exception("DerivePathType $type not supported"); } final address = isar_models.Address( @@ -1517,6 +1517,8 @@ class NamecoinWallet extends CoinServiceAPI .address!; addrType = isar_models.AddressType.p2wpkh; break; + default: + throw Exception("DerivePathType must not be null."); } // add generated address & info to derivations @@ -1563,6 +1565,9 @@ class NamecoinWallet extends CoinServiceAPI case DerivePathType.bip84: type = isar_models.AddressType.p2wpkh; break; + default: + throw Exception( + "DerivePathType null or unsupported (${DerivePathType.bip44})"); } address = await db .getAddresses(walletId) @@ -1590,6 +1595,8 @@ class NamecoinWallet extends CoinServiceAPI case DerivePathType.bip84: key = "${walletId}_${chainId}DerivationsP2WPKH"; break; + default: + throw Exception("DerivePathType $derivePathType not supported"); } return key; } diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 3a63204a8..fc9971e89 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -95,7 +95,7 @@ bip32.BIP32 getBip32NodeFromRoot( case DerivePathType.bip84: return root.derivePath("m/84'/$coinType'/0'/$chain/$index"); default: - throw Exception("DerivePathType must not be null."); + throw Exception("DerivePathType $derivePathType not supported"); } } @@ -401,7 +401,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { addrType = isar_models.AddressType.p2wpkh; break; default: - throw Exception("No Path type $type exists"); + throw Exception("DerivePathType $type not supported"); } final address = isar_models.Address( @@ -1415,7 +1415,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { addrType = isar_models.AddressType.p2wpkh; break; default: - throw Exception("Unsupported DerivePathType"); + throw Exception("DerivePathType $derivePathType not supported"); } // add generated address & info to derivations @@ -1460,7 +1460,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { type = isar_models.AddressType.p2wpkh; break; default: - throw Exception("Unsupported DerivePathType"); + throw Exception("DerivePathType $derivePathType not supported"); } address = await db .getAddresses(walletId) @@ -1487,7 +1487,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { key = "${walletId}_${chainId}DerivationsP2WPKH"; break; default: - throw Exception("Unsupported DerivePathType"); + throw Exception("DerivePathType $derivePathType not supported"); } return key; } @@ -2202,7 +2202,6 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { Logging.instance.log(s.toString(), level: LogLevel.Warning); } // Logging.instance.log("output is transparent", level: LogLevel.Info); - } else if (output.containsKey('ct_fee') as bool) { // or type: data // TODO handle CT tx @@ -2757,7 +2756,8 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { addressesP2WPKH.add(address); break; default: - throw Exception("Unsupported DerivePathType"); + throw Exception( + "DerivePathType ${addressType(address: address)} not supported"); } } } diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 7d01bac46..87ef97df5 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -1122,6 +1122,8 @@ mixin PaynymWalletInterface { case DerivePathType.bip84: type = AddressType.p2wpkh; break; + default: + throw Exception("DerivePathType $derivePathType not supported"); } final storedAddress = await _db diff --git a/lib/utilities/enums/derive_path_type_enum.dart b/lib/utilities/enums/derive_path_type_enum.dart index 55f103d45..53db94e96 100644 --- a/lib/utilities/enums/derive_path_type_enum.dart +++ b/lib/utilities/enums/derive_path_type_enum.dart @@ -2,6 +2,7 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; enum DerivePathType { bip44, + bch44, bip49, bip84, } diff --git a/test/services/coins/bitcoincash/bitcoincash_wallet_test.dart b/test/services/coins/bitcoincash/bitcoincash_wallet_test.dart index 93d85c324..20ab88a53 100644 --- a/test/services/coins/bitcoincash/bitcoincash_wallet_test.dart +++ b/test/services/coins/bitcoincash/bitcoincash_wallet_test.dart @@ -41,18 +41,18 @@ void main() async { }); }); - group("bip32 node/root", () { - test("getBip32Root", () { - final root = getBip32Root(TEST_MNEMONIC, bitcoincash); - expect(root.toWIF(), ROOT_WIF); - }); - - test("basic getBip32Node", () { - final node = - getBip32Node(0, 0, TEST_MNEMONIC, bitcoincash, DerivePathType.bip44); - expect(node.toWIF(), NODE_WIF_44); - }); - }); + // group("bip32 node/root", () { + // test("getBip32Root", () { + // final root = getBip32Root(TEST_MNEMONIC, bitcoincash); + // expect(root.toWIF(), ROOT_WIF); + // }); + // + // test("basic getBip32Node", () { + // final node = + // getBip32Node(0, 0, TEST_MNEMONIC, bitcoincash, DerivePathType.bip44); + // expect(node.toWIF(), NODE_WIF_44); + // }); + // }); group("mainnet bitcoincash addressType", () { MockElectrumX? client; From b2d7414cb6cf058c6b84e57dec08b385ae190992 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 09:41:33 -0600 Subject: [PATCH 055/191] merge clean up --- .../coins/bitcoincash/bitcoincash_wallet.dart | 50 ++++++------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index cbc48238d..ec41f0457 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -633,6 +633,13 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { p2shChangeAddressArray.add(address); } + final addressesToStore = [ + ...bip44P2pkhReceiveAddressArray, + ...bip44P2pkhChangeAddressArray, + ...p2shReceiveAddressArray, + ...p2shChangeAddressArray, + ]; + if (!testnet) { final resultReceiveBch44 = _checkGaps( maxNumberOfIndexesToCheck, @@ -691,41 +698,16 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { bch44P2pkhChangeAddressArray.add(address); } - if (isRescan) { - await db.updateOrPutAddresses([ - ...bip44P2pkhReceiveAddressArray, - ...bip44P2pkhChangeAddressArray, - ...bch44P2pkhReceiveAddressArray, - ...bch44P2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); - } else { - await db.putAddresses([ - ...bip44P2pkhReceiveAddressArray, - ...bip44P2pkhChangeAddressArray, - ...bch44P2pkhReceiveAddressArray, - ...bch44P2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); - } + addressesToStore.addAll([ + ...bch44P2pkhReceiveAddressArray, + ...bch44P2pkhChangeAddressArray, + ]); + } + + if (isRescan) { + await db.updateOrPutAddresses(addressesToStore); } else { - if (isRescan) { - await db.updateOrPutAddresses([ - ...bip44P2pkhReceiveAddressArray, - ...bip44P2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); - } else { - await db.putAddresses([ - ...bip44P2pkhReceiveAddressArray, - ...bip44P2pkhChangeAddressArray, - ...p2shReceiveAddressArray, - ...p2shChangeAddressArray, - ]); - } + await db.putAddresses(addressesToStore); } await _updateUTXOs(); From a6dae8d9e070c3b8f2ea680be4b85649c07d6178 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 09:43:08 -0600 Subject: [PATCH 056/191] address overflow fix --- lib/pages/receive_view/receiving_addresses_view.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/pages/receive_view/receiving_addresses_view.dart b/lib/pages/receive_view/receiving_addresses_view.dart index 260e33cd1..e5f1d88bf 100644 --- a/lib/pages/receive_view/receiving_addresses_view.dart +++ b/lib/pages/receive_view/receiving_addresses_view.dart @@ -103,9 +103,11 @@ class AddressCard extends StatelessWidget { return RoundedWhiteContainer( child: Row( children: [ - Text( - address.value, - style: STextStyles.itemSubtitle12(context), + Expanded( + child: Text( + address.value, + style: STextStyles.itemSubtitle12(context), + ), ) ], ), From 80611d1a31d26dbe05d579c44764f1006fe9aab4 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Thu, 2 Feb 2023 11:38:41 -0600 Subject: [PATCH 057/191] use bch44 derivation if bip44 is null --- .../coins/bitcoincash/bitcoincash_wallet.dart | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index ec41f0457..4a4ff041b 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -2736,19 +2736,28 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { // p2pkh / bip44 final p2pkhLength = addressesP2PKH.length; if (p2pkhLength > 0) { - final receiveDerivations = await _fetchDerivations( + final receiveDerivationsBip44 = await _fetchDerivations( chain: 0, derivePathType: DerivePathType.bip44, ); - final changeDerivations = await _fetchDerivations( + final changeDerivationsBip44 = await _fetchDerivations( chain: 1, derivePathType: DerivePathType.bip44, ); + final receiveDerivationsBch44 = await _fetchDerivations( + chain: 0, + derivePathType: DerivePathType.bch44, + ); + final changeDerivationsBch44 = await _fetchDerivations( + chain: 1, + derivePathType: DerivePathType.bch44, + ); for (int i = 0; i < p2pkhLength; i++) { String address = addressesP2PKH[i]; // receives - final receiveDerivation = receiveDerivations[address]; + final receiveDerivation = receiveDerivationsBip44[address] ?? + receiveDerivationsBch44[address]; // if a match exists it will not be null if (receiveDerivation != null) { final data = P2PKH( @@ -2769,7 +2778,8 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { } } else { // if its not a receive, check change - final changeDerivation = changeDerivations[address]; + final changeDerivation = changeDerivationsBip44[address] ?? + changeDerivationsBch44[address]; // if a match exists it will not be null if (changeDerivation != null) { final data = P2PKH( From b5040597355f1a32502581e12741afff6a4c59d0 Mon Sep 17 00:00:00 2001 From: julian Date: Sun, 29 Jan 2023 11:21:35 -0600 Subject: [PATCH 058/191] WIP initial majestic bank api work --- .../majestic_bank/majestic_bank_api.dart | 240 ++++++++++++++++++ .../majestic_bank/majestic_bank_exchange.dart | 82 ++++++ 2 files changed, 322 insertions(+) create mode 100644 lib/services/exchange/majestic_bank/majestic_bank_api.dart create mode 100644 lib/services/exchange/majestic_bank/majestic_bank_exchange.dart diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart new file mode 100644 index 000000000..58333b807 --- /dev/null +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -0,0 +1,240 @@ +import 'dart:convert'; + +import 'package:http/http.dart' as http; +import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/services/exchange/exchange_response.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; +import 'package:stackwallet/utilities/logger.dart'; +import 'package:uuid/uuid.dart'; + +class MajesticBankAPI { + static const String scheme = "https"; + static const String authority = "majesticbank.sc"; + static const String version = "v1"; + static const String refCode = ""; + + MajesticBankAPI._(); + + static final MajesticBankAPI _instance = MajesticBankAPI._(); + + static MajesticBankAPI get instance => _instance; + + /// set this to override using standard http client. Useful for testing + http.Client? client; + + Uri _buildUri({required String endpoint, Map? params}) { + return Uri.https(authority, "/api/$version/$endpoint", params); + } + + String getPrettyJSONString(jsonObject) { + var encoder = const JsonEncoder.withIndent(" "); + return encoder.convert(jsonObject); + } + + Future _makeGetRequest(Uri uri) async { + final client = this.client ?? http.Client(); + int code = -1; + try { + final response = await client.get( + uri, + ); + + code = response.statusCode; + print(response.body); + + final parsed = jsonDecode(response.body); + + return parsed; + } catch (e, s) { + Logging.instance.log( + "_makeRequest($uri) HTTP:$code threw: $e\n$s", + level: LogLevel.Error, + ); + rethrow; + } + } + + Future getRates() async { + final uri = _buildUri( + endpoint: "rates", + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + return getPrettyJSONString(jsonObject); + } catch (e, s) { + Logging.instance.log("getRates exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future calculateOrder() async { + final uri = _buildUri( + endpoint: "calculate", + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + return getPrettyJSONString(jsonObject); + } catch (e, s) { + Logging.instance + .log("calculateOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future> createOrder({ + required String amount, + required String fromCurrency, + required String receiveCurrency, + required String receiveAddress, + }) async { + final params = { + "from_amount": amount, + "from_currency": fromCurrency, + "receive_currency": receiveCurrency, + "receive_address": receiveAddress, + "referral_code": refCode, + }; + + final uri = _buildUri(endpoint: "create", params: params); + + try { + final now = DateTime.now(); + final jsonObject = await _makeGetRequest(uri); + final json = Map.from(jsonObject as Map); + + final trade = Trade( + uuid: const Uuid().v1(), + tradeId: json["trx"] as String, + rateType: "floating-rate", + direction: "direct", + timestamp: now, + updatedAt: now, + payInCurrency: json["from_currency"] as String, + payInAmount: json["from_amount"] as String, + payInAddress: json["address"] as String, + payInNetwork: "", + payInExtraId: "", + payInTxid: "", + payOutCurrency: json["receive_currency"] as String, + payOutAmount: json["receive_amount"] as String, + payOutAddress: json["receive_address"] as String, + payOutNetwork: "", + payOutExtraId: "", + payOutTxid: "", + refundAddress: "", + refundExtraId: "", + status: "Waiting", + exchangeName: MajesticBankExchange.exchangeName, + ); + return ExchangeResponse(value: trade); + } catch (e, s) { + Logging.instance + .log("createOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future> createFixedRateOrder({ + required String amount, + required String fromCurrency, + required String receiveCurrency, + required String receiveAddress, + required bool reversed, + }) async { + final params = { + "from_currency": fromCurrency, + "receive_currency": receiveCurrency, + "receive_address": receiveAddress, + "referral_code": refCode, + }; + + if (reversed) { + params["receive_amount"] = amount; + } else { + params["from_amount"] = amount; + } + + final uri = _buildUri(endpoint: "pay", params: params); + + try { + final now = DateTime.now(); + final jsonObject = await _makeGetRequest(uri); + final json = Map.from(jsonObject as Map); + + final trade = Trade( + uuid: const Uuid().v1(), + tradeId: json["trx"] as String, + rateType: "fixed-rate", + direction: reversed ? "reversed" : "direct", + timestamp: now, + updatedAt: now, + payInCurrency: json["from_currency"] as String, + payInAmount: json["from_amount"] as String, + payInAddress: json["address"] as String, + payInNetwork: "", + payInExtraId: "", + payInTxid: "", + payOutCurrency: json["receive_currency"] as String, + payOutAmount: json["receive_amount"] as String, + payOutAddress: json["receive_address"] as String, + payOutNetwork: "", + payOutExtraId: "", + payOutTxid: "", + refundAddress: "", + refundExtraId: "", + status: "Waiting", + exchangeName: MajesticBankExchange.exchangeName, + ); + return ExchangeResponse(value: trade); + } catch (e, s) { + Logging.instance + .log("createFixedRateOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + Future trackOrder({required String orderId}) async { + final uri = _buildUri( + endpoint: "track", + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + return getPrettyJSONString(jsonObject); + } catch (e, s) { + Logging.instance + .log("createOrder exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } +} diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart new file mode 100644 index 000000000..978ffb914 --- /dev/null +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -0,0 +1,82 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/response_objects/currency.dart'; +import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; +import 'package:stackwallet/models/exchange/response_objects/pair.dart'; +import 'package:stackwallet/models/exchange/response_objects/range.dart'; +import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/services/exchange/exchange.dart'; +import 'package:stackwallet/services/exchange/exchange_response.dart'; + +class MajesticBankExchange extends Exchange { + static const exchangeName = "MajesticBank"; + + @override + Future> createTrade( + {required String from, + required String to, + required bool fixedRate, + required Decimal amount, + required String addressTo, + String? extraId, + required String addressRefund, + required String refundExtraId, + String? rateId, + required bool reversed}) { + // TODO: implement createTrade + throw UnimplementedError(); + } + + @override + Future>> getAllCurrencies(bool fixedRate) { + // TODO: implement getAllCurrencies + throw UnimplementedError(); + } + + @override + Future>> getAllPairs(bool fixedRate) { + // TODO: implement getAllPairs + throw UnimplementedError(); + } + + @override + Future> getEstimate( + String from, String to, Decimal amount, bool fixedRate, bool reversed) { + // TODO: implement getEstimate + throw UnimplementedError(); + } + + @override + Future>> getPairsFor( + String currency, bool fixedRate) { + // TODO: implement getPairsFor + throw UnimplementedError(); + } + + @override + Future> getRange( + String from, String to, bool fixedRate) { + // TODO: implement getRange + throw UnimplementedError(); + } + + @override + Future> getTrade(String tradeId) { + // TODO: implement getTrade + throw UnimplementedError(); + } + + @override + Future>> getTrades() { + // TODO: implement getTrades + throw UnimplementedError(); + } + + @override + String get name => exchangeName; + + @override + Future> updateTrade(Trade trade) { + // TODO: implement updateTrade + throw UnimplementedError(); + } +} From fca09fbe02dc3ea0e7a5ff54206c82bda076d242 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 30 Jan 2023 07:58:11 -0600 Subject: [PATCH 059/191] helper --- .../global_settings_view/hidden_settings.dart | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/pages/settings_views/global_settings_view/hidden_settings.dart b/lib/pages/settings_views/global_settings_view/hidden_settings.dart index d92b166d7..bc86ecdb0 100644 --- a/lib/pages/settings_views/global_settings_view/hidden_settings.dart +++ b/lib/pages/settings_views/global_settings_view/hidden_settings.dart @@ -128,6 +128,27 @@ class HiddenSettings extends StatelessWidget { ), ); }), + // const SizedBox( + // height: 12, + // ), + // Consumer(builder: (_, ref, __) { + // return GestureDetector( + // onTap: () async { + // final x = + // await MajesticBankAPI.instance.getRates(); + // print(x); + // }, + // child: RoundedWhiteContainer( + // child: Text( + // "Click me", + // style: STextStyles.button(context).copyWith( + // color: Theme.of(context) + // .extension()! + // .accentColorDark), + // ), + // ), + // ); + // }), const SizedBox( height: 12, ), From 8bdf0413bd1b707d2cc966ca966fa7b76a7353e3 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 1 Feb 2023 18:24:41 -0600 Subject: [PATCH 060/191] majestic bank limits and rates api calls --- .../exchange/majestic_bank/mb_limit.dart | 19 +++++++ .../exchange/majestic_bank/mb_object.dart | 1 + .../exchange/majestic_bank/mb_rate.dart | 15 ++++++ .../majestic_bank/majestic_bank_api.dart | 53 ++++++++++++++++++- 4 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 lib/models/exchange/majestic_bank/mb_limit.dart create mode 100644 lib/models/exchange/majestic_bank/mb_object.dart create mode 100644 lib/models/exchange/majestic_bank/mb_rate.dart diff --git a/lib/models/exchange/majestic_bank/mb_limit.dart b/lib/models/exchange/majestic_bank/mb_limit.dart new file mode 100644 index 000000000..baa002d56 --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_limit.dart @@ -0,0 +1,19 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_object.dart'; + +class MBLimit extends MBObject { + MBLimit({ + required this.currency, + required this.min, + required this.max, + }); + + final String currency; + final Decimal min; + final Decimal max; + + @override + String toString() { + return "MBLimit: { $currency: { min: $min, max: $max } }"; + } +} diff --git a/lib/models/exchange/majestic_bank/mb_object.dart b/lib/models/exchange/majestic_bank/mb_object.dart new file mode 100644 index 000000000..e3810131c --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_object.dart @@ -0,0 +1 @@ +abstract class MBObject {} diff --git a/lib/models/exchange/majestic_bank/mb_rate.dart b/lib/models/exchange/majestic_bank/mb_rate.dart new file mode 100644 index 000000000..60d71cdf0 --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_rate.dart @@ -0,0 +1,15 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_object.dart'; + +class MBRate extends MBObject { + MBRate({required this.fromCurrency, required this.toCurrency, required this.rate,}); + + final String fromCurrency; + final String toCurrency; + final Decimal rate; + + @override + String toString() { + return "MBRate: { $fromCurrency-$toCurrency: $rate }"; + } +} diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index 58333b807..00d4e2e20 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -1,6 +1,9 @@ import 'dart:convert'; +import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; +import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_rate.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; @@ -54,7 +57,7 @@ class MajesticBankAPI { } } - Future getRates() async { + Future>> getRates() async { final uri = _buildUri( endpoint: "rates", ); @@ -62,7 +65,20 @@ class MajesticBankAPI { try { final jsonObject = await _makeGetRequest(uri); - return getPrettyJSONString(jsonObject); + final map = Map.from(jsonObject as Map); + final List rates = []; + for (final key in map.keys) { + final currencies = key.split("-"); + if (currencies.length == 2) { + final rate = MBRate( + fromCurrency: currencies.first, + toCurrency: currencies.last, + rate: Decimal.parse(map[key].toString()), + ); + rates.add(rate); + } + } + return ExchangeResponse(value: rates); } catch (e, s) { Logging.instance.log("getRates exception: $e\n$s", level: LogLevel.Error); return ExchangeResponse( @@ -74,6 +90,39 @@ class MajesticBankAPI { } } + Future>> getLimits() async { + final uri = _buildUri( + endpoint: + "rates", // limits are included in the rates call for some reason??? + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + final map = Map.from(jsonObject as Map)["limits"] as Map; + final List limits = []; + for (final key in map.keys) { + final limit = MBLimit( + currency: key as String, + min: Decimal.parse(map[key]["min"].toString()), + max: Decimal.parse(map[key]["max"].toString()), + ); + limits.add(limit); + } + + return ExchangeResponse(value: limits); + } catch (e, s) { + Logging.instance + .log("getLimits exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + Future calculateOrder() async { final uri = _buildUri( endpoint: "calculate", From 991f12841660519c1638d6da7367a6bdcc4dfc1a Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 14:07:03 -0600 Subject: [PATCH 061/191] buy warning popup refactor for desktop style/size --- .../sub_widgets/buy_warning_popup.dart | 391 +++++++++++------- 1 file changed, 235 insertions(+), 156 deletions(-) diff --git a/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart b/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart index c98d53580..dc9935a03 100644 --- a/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart +++ b/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart @@ -18,16 +18,28 @@ import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; -class BuyWarningPopup extends StatelessWidget { - BuyWarningPopup({ +class BuyWarningPopup extends StatefulWidget { + const BuyWarningPopup({ Key? key, required this.quote, this.order, }) : super(key: key); - final SimplexQuote quote; + final SimplexOrder? order; + @override + State createState() => _BuyWarningPopupState(); +} + +class _BuyWarningPopupState extends State { + late final bool isDesktop; SimplexOrder? order; + String get title => "Buy ${widget.quote.crypto.ticker}"; + String get message => + "This purchase is provided and fulfilled by Simplex by nuvei " + "(a third party). You will be taken to their website. Please follow " + "their instructions."; + Future> newOrder(SimplexQuote quote) async { final orderResponse = await SimplexAPI.instance.newOrder(quote); @@ -38,174 +50,241 @@ class BuyWarningPopup extends StatelessWidget { return SimplexAPI.instance.redirect(order); } - @override - Widget build(BuildContext context) { - final isDesktop = Util.isDesktop; - - Future _buyInvoice() async { - await showDialog( - context: context, - // useRootNavigator: isDesktop, - builder: (context) { - return isDesktop - ? DesktopDialog( - maxHeight: 700, - maxWidth: 580, - child: Column( + Future _buyInvoice() async { + await showDialog( + context: context, + // useRootNavigator: isDesktop, + builder: (context) { + return isDesktop + ? DesktopDialog( + maxHeight: 700, + maxWidth: 580, + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + Padding( + padding: const EdgeInsets.only( + left: 32, + ), + child: Text( + "Order details", + style: STextStyles.desktopH3(context), + ), + ), + const DesktopDialogCloseButton(), + ], + ), + Expanded( + child: Padding( + padding: const EdgeInsets.only( + left: 32, + right: 32, + bottom: 32, + ), + child: Row( children: [ - Padding( - padding: const EdgeInsets.only( - left: 32, - ), - child: Text( - "Order details", - style: STextStyles.desktopH3(context), + Expanded( + child: RoundedWhiteContainer( + padding: const EdgeInsets.all(16), + borderColor: Theme.of(context) + .extension()! + .background, + child: BuyOrderDetailsView( + order: order as SimplexOrder, + ), ), ), - const DesktopDialogCloseButton(), ], ), + ), + ), + ], + ), + ) + : BuyOrderDetailsView( + order: order as SimplexOrder, + ); + }, + ); + } + + Future onContinue() async { + BuyResponse orderResponse = await newOrder(widget.quote); + if (orderResponse.exception == null) { + await redirect(orderResponse.value as SimplexOrder) + .then((_response) async { + order = orderResponse.value as SimplexOrder; + Navigator.of(context, rootNavigator: isDesktop).pop(); + Navigator.of(context, rootNavigator: isDesktop).pop(); + await _buyInvoice(); + }); + } else { + await showDialog( + context: context, + barrierDismissible: true, + builder: (context) { + if (isDesktop) { + return DesktopDialog( + maxWidth: 450, + child: Padding( + padding: const EdgeInsets.all(32), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Simplex API error", + style: STextStyles.desktopH3(context), + ), + const SizedBox( + height: 24, + ), + Text( + "${orderResponse.exception?.errorMessage}", + style: STextStyles.smallMed14(context), + ), + const SizedBox( + height: 56, + ), + Row( + children: [ + const Spacer(), Expanded( - child: Padding( - padding: const EdgeInsets.only( - left: 32, - right: 32, - bottom: 32, - ), - child: Row( - children: [ - Expanded( - child: RoundedWhiteContainer( - padding: const EdgeInsets.all(16), - borderColor: Theme.of(context) - .extension()! - .background, - child: BuyOrderDetailsView( - order: order as SimplexOrder, - ), - ), - ), - ], - ), + child: PrimaryButton( + buttonHeight: ButtonHeight.l, + label: "Ok", + onPressed: () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + Navigator.of(context).pop(); // weee + }, ), ), ], - ), - ) - : BuyOrderDetailsView( - order: order as SimplexOrder, - ); - }); - } - - return StackDialog( - title: "Buy ${quote.crypto.ticker}", - message: "This purchase is provided and fulfilled by Simplex by nuvei " - "(a third party). You will be taken to their website. Please follow " - "their instructions.", - leftButton: SecondaryButton( - label: "Cancel", - onPressed: Navigator.of(context, rootNavigator: isDesktop).pop, - ), - rightButton: PrimaryButton( - label: "Continue", - onPressed: () async { - BuyResponse orderResponse = await newOrder(quote); - if (orderResponse.exception == null) { - await redirect(orderResponse.value as SimplexOrder) - .then((_response) async { - this.order = orderResponse.value as SimplexOrder; - Navigator.of(context, rootNavigator: isDesktop).pop(); - Navigator.of(context, rootNavigator: isDesktop).pop(); - await _buyInvoice(); - }); + ) + ], + ), + ), + ); } else { - await showDialog( - context: context, - barrierDismissible: true, - builder: (context) { - if (isDesktop) { - return DesktopDialog( - maxWidth: 450, - child: Padding( - padding: const EdgeInsets.all(32), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Simplex API error", - style: STextStyles.desktopH3(context), - ), - const SizedBox( - height: 24, - ), - Text( - "${orderResponse.exception?.errorMessage}", - style: STextStyles.smallMed14(context), - ), - const SizedBox( - height: 56, - ), - Row( - children: [ - const Spacer(), - Expanded( - child: PrimaryButton( - buttonHeight: ButtonHeight.l, - label: "Ok", - onPressed: () { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pop(); // weee - }, - ), - ), - ], - ) - ], - ), - ), - ); - } else { - return StackDialog( - title: "Simplex API error", - message: "${orderResponse.exception?.errorMessage}", - // "${quoteResponse.exception?.errorMessage.substring(8, (quoteResponse.exception?.errorMessage?.length ?? 109) - (8 + 6))}", - rightButton: TextButton( - style: Theme.of(context) + return StackDialog( + title: "Simplex API error", + message: "${orderResponse.exception?.errorMessage}", + // "${quoteResponse.exception?.errorMessage.substring(8, (quoteResponse.exception?.errorMessage?.length ?? 109) - (8 + 6))}", + rightButton: TextButton( + style: Theme.of(context) + .extension()! + .getSecondaryEnabledButtonStyle(context), + child: Text( + "Ok", + style: STextStyles.button(context).copyWith( + color: Theme.of(context) .extension()! - .getSecondaryEnabledButtonStyle(context), - child: Text( - "Ok", - style: STextStyles.button(context).copyWith( - color: Theme.of(context) - .extension()! - .accentColorDark), - ), - onPressed: () { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pop(); // weee - }, - ), - ); - } - }, + .accentColorDark), + ), + onPressed: () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + Navigator.of(context).pop(); // weee + }, + ), ); } }, - ), - icon: SizedBox( - width: 64, - height: 32, - child: SvgPicture.asset( - Assets.buy.simplexLogo(context), + ); + } + } + + @override + void initState() { + order = widget.order; + isDesktop = Util.isDesktop; + super.initState(); + } + + @override + Widget build(BuildContext context) { + if (isDesktop) { + return DesktopDialog( + maxWidth: 580, + maxHeight: 350, + child: Padding( + padding: const EdgeInsets.all(32), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: STextStyles.desktopH3(context), + ), + SizedBox( + width: 64, + height: 32, + child: SvgPicture.asset( + Assets.buy.simplexLogo(context), + ), + ), + ], + ), + const Spacer(), + Text( + message, + style: STextStyles.desktopTextSmall(context), + ), + const Spacer( + flex: 2, + ), + Row( + children: [ + Expanded( + child: SecondaryButton( + label: "Cancel", + buttonHeight: ButtonHeight.l, + onPressed: + Navigator.of(context, rootNavigator: isDesktop).pop, + ), + ), + const SizedBox( + width: 16, + ), + Expanded( + child: PrimaryButton( + buttonHeight: ButtonHeight.l, + label: "Continue", + onPressed: onContinue, + ), + ), + ], + ) + ], + ), ), - ), - ); + ); + } else { + return StackDialog( + title: title, + message: message, + leftButton: SecondaryButton( + label: "Cancel", + onPressed: Navigator.of(context, rootNavigator: isDesktop).pop, + ), + rightButton: PrimaryButton( + label: "Continue", + onPressed: onContinue, + ), + icon: SizedBox( + width: 64, + height: 32, + child: SvgPicture.asset( + Assets.buy.simplexLogo(context), + ), + ), + ); + } } } From 3ba9f7d61b1dfd71804ac66502886148e2b1b005 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 14:18:27 -0600 Subject: [PATCH 062/191] WIP majestic bank order calculate api call --- .../majestic_bank/mb_order_calculation.dart | 21 +++++++++ .../global_settings_view/hidden_settings.dart | 44 ++++++++++--------- .../majestic_bank/majestic_bank_api.dart | 24 +++++++++- 3 files changed, 66 insertions(+), 23 deletions(-) create mode 100644 lib/models/exchange/majestic_bank/mb_order_calculation.dart diff --git a/lib/models/exchange/majestic_bank/mb_order_calculation.dart b/lib/models/exchange/majestic_bank/mb_order_calculation.dart new file mode 100644 index 000000000..931ca440f --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_order_calculation.dart @@ -0,0 +1,21 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_object.dart'; + +class MBOrderCalculation extends MBObject { + MBOrderCalculation({ + required this.fromCurrency, + required this.fromAmount, + required this.receiveCurrency, + required this.receiveAmount, + }); + + final String fromCurrency; + final Decimal fromAmount; + final String receiveCurrency; + final Decimal receiveAmount; + + @override + String toString() { + return "MBOrderCalculation: { $fromCurrency: $fromAmount, $receiveCurrency: $receiveAmount }"; + } +} diff --git a/lib/pages/settings_views/global_settings_view/hidden_settings.dart b/lib/pages/settings_views/global_settings_view/hidden_settings.dart index bc86ecdb0..d5c4864ae 100644 --- a/lib/pages/settings_views/global_settings_view/hidden_settings.dart +++ b/lib/pages/settings_views/global_settings_view/hidden_settings.dart @@ -11,6 +11,8 @@ import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; +import '../../../services/exchange/majestic_bank/majestic_bank_api.dart'; + class HiddenSettings extends StatelessWidget { const HiddenSettings({Key? key}) : super(key: key); @@ -128,27 +130,27 @@ class HiddenSettings extends StatelessWidget { ), ); }), - // const SizedBox( - // height: 12, - // ), - // Consumer(builder: (_, ref, __) { - // return GestureDetector( - // onTap: () async { - // final x = - // await MajesticBankAPI.instance.getRates(); - // print(x); - // }, - // child: RoundedWhiteContainer( - // child: Text( - // "Click me", - // style: STextStyles.button(context).copyWith( - // color: Theme.of(context) - // .extension()! - // .accentColorDark), - // ), - // ), - // ); - // }), + const SizedBox( + height: 12, + ), + Consumer(builder: (_, ref, __) { + return GestureDetector( + onTap: () async { + final x = + await MajesticBankAPI.instance.getLimits(); + print(x); + }, + child: RoundedWhiteContainer( + child: Text( + "Click me", + style: STextStyles.button(context).copyWith( + color: Theme.of(context) + .extension()! + .accentColorDark), + ), + ), + ); + }), const SizedBox( height: 12, ), diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index 00d4e2e20..3b1f9218b 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_order_calculation.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_rate.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; @@ -123,15 +124,34 @@ class MajesticBankAPI { } } - Future calculateOrder() async { + /// If [reversed] then the amount is the expected receive_amount, otherwise + /// the amount is assumed to be the from_amount. + Future> calculateOrder({ + required String amount, + required bool reversed, + required String fromCurrency, + required String receiveCurrency, + }) async { final uri = _buildUri( endpoint: "calculate", ); + final params = { + "from_currency": fromCurrency, + "receive_currency": receiveCurrency, + }; + + if (reversed) { + params["receive_amount"] = amount; + } else { + params["from_amount"] = amount; + } + try { final jsonObject = await _makeGetRequest(uri); - return getPrettyJSONString(jsonObject); + // return getPrettyJSONString(jsonObject); + return ExchangeResponse(); } catch (e, s) { Logging.instance .log("calculateOrder exception: $e\n$s", level: LogLevel.Error); From 4fbf38fd117a060190c85f20325077cc839a8215 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 14:07:03 -0600 Subject: [PATCH 063/191] buy warning popup refactor for desktop style/size --- .../sub_widgets/buy_warning_popup.dart | 391 +++++++++++------- 1 file changed, 235 insertions(+), 156 deletions(-) diff --git a/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart b/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart index c98d53580..dc9935a03 100644 --- a/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart +++ b/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart @@ -18,16 +18,28 @@ import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; -class BuyWarningPopup extends StatelessWidget { - BuyWarningPopup({ +class BuyWarningPopup extends StatefulWidget { + const BuyWarningPopup({ Key? key, required this.quote, this.order, }) : super(key: key); - final SimplexQuote quote; + final SimplexOrder? order; + @override + State createState() => _BuyWarningPopupState(); +} + +class _BuyWarningPopupState extends State { + late final bool isDesktop; SimplexOrder? order; + String get title => "Buy ${widget.quote.crypto.ticker}"; + String get message => + "This purchase is provided and fulfilled by Simplex by nuvei " + "(a third party). You will be taken to their website. Please follow " + "their instructions."; + Future> newOrder(SimplexQuote quote) async { final orderResponse = await SimplexAPI.instance.newOrder(quote); @@ -38,174 +50,241 @@ class BuyWarningPopup extends StatelessWidget { return SimplexAPI.instance.redirect(order); } - @override - Widget build(BuildContext context) { - final isDesktop = Util.isDesktop; - - Future _buyInvoice() async { - await showDialog( - context: context, - // useRootNavigator: isDesktop, - builder: (context) { - return isDesktop - ? DesktopDialog( - maxHeight: 700, - maxWidth: 580, - child: Column( + Future _buyInvoice() async { + await showDialog( + context: context, + // useRootNavigator: isDesktop, + builder: (context) { + return isDesktop + ? DesktopDialog( + maxHeight: 700, + maxWidth: 580, + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + Padding( + padding: const EdgeInsets.only( + left: 32, + ), + child: Text( + "Order details", + style: STextStyles.desktopH3(context), + ), + ), + const DesktopDialogCloseButton(), + ], + ), + Expanded( + child: Padding( + padding: const EdgeInsets.only( + left: 32, + right: 32, + bottom: 32, + ), + child: Row( children: [ - Padding( - padding: const EdgeInsets.only( - left: 32, - ), - child: Text( - "Order details", - style: STextStyles.desktopH3(context), + Expanded( + child: RoundedWhiteContainer( + padding: const EdgeInsets.all(16), + borderColor: Theme.of(context) + .extension()! + .background, + child: BuyOrderDetailsView( + order: order as SimplexOrder, + ), ), ), - const DesktopDialogCloseButton(), ], ), + ), + ), + ], + ), + ) + : BuyOrderDetailsView( + order: order as SimplexOrder, + ); + }, + ); + } + + Future onContinue() async { + BuyResponse orderResponse = await newOrder(widget.quote); + if (orderResponse.exception == null) { + await redirect(orderResponse.value as SimplexOrder) + .then((_response) async { + order = orderResponse.value as SimplexOrder; + Navigator.of(context, rootNavigator: isDesktop).pop(); + Navigator.of(context, rootNavigator: isDesktop).pop(); + await _buyInvoice(); + }); + } else { + await showDialog( + context: context, + barrierDismissible: true, + builder: (context) { + if (isDesktop) { + return DesktopDialog( + maxWidth: 450, + child: Padding( + padding: const EdgeInsets.all(32), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Simplex API error", + style: STextStyles.desktopH3(context), + ), + const SizedBox( + height: 24, + ), + Text( + "${orderResponse.exception?.errorMessage}", + style: STextStyles.smallMed14(context), + ), + const SizedBox( + height: 56, + ), + Row( + children: [ + const Spacer(), Expanded( - child: Padding( - padding: const EdgeInsets.only( - left: 32, - right: 32, - bottom: 32, - ), - child: Row( - children: [ - Expanded( - child: RoundedWhiteContainer( - padding: const EdgeInsets.all(16), - borderColor: Theme.of(context) - .extension()! - .background, - child: BuyOrderDetailsView( - order: order as SimplexOrder, - ), - ), - ), - ], - ), + child: PrimaryButton( + buttonHeight: ButtonHeight.l, + label: "Ok", + onPressed: () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + Navigator.of(context).pop(); // weee + }, ), ), ], - ), - ) - : BuyOrderDetailsView( - order: order as SimplexOrder, - ); - }); - } - - return StackDialog( - title: "Buy ${quote.crypto.ticker}", - message: "This purchase is provided and fulfilled by Simplex by nuvei " - "(a third party). You will be taken to their website. Please follow " - "their instructions.", - leftButton: SecondaryButton( - label: "Cancel", - onPressed: Navigator.of(context, rootNavigator: isDesktop).pop, - ), - rightButton: PrimaryButton( - label: "Continue", - onPressed: () async { - BuyResponse orderResponse = await newOrder(quote); - if (orderResponse.exception == null) { - await redirect(orderResponse.value as SimplexOrder) - .then((_response) async { - this.order = orderResponse.value as SimplexOrder; - Navigator.of(context, rootNavigator: isDesktop).pop(); - Navigator.of(context, rootNavigator: isDesktop).pop(); - await _buyInvoice(); - }); + ) + ], + ), + ), + ); } else { - await showDialog( - context: context, - barrierDismissible: true, - builder: (context) { - if (isDesktop) { - return DesktopDialog( - maxWidth: 450, - child: Padding( - padding: const EdgeInsets.all(32), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Simplex API error", - style: STextStyles.desktopH3(context), - ), - const SizedBox( - height: 24, - ), - Text( - "${orderResponse.exception?.errorMessage}", - style: STextStyles.smallMed14(context), - ), - const SizedBox( - height: 56, - ), - Row( - children: [ - const Spacer(), - Expanded( - child: PrimaryButton( - buttonHeight: ButtonHeight.l, - label: "Ok", - onPressed: () { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pop(); // weee - }, - ), - ), - ], - ) - ], - ), - ), - ); - } else { - return StackDialog( - title: "Simplex API error", - message: "${orderResponse.exception?.errorMessage}", - // "${quoteResponse.exception?.errorMessage.substring(8, (quoteResponse.exception?.errorMessage?.length ?? 109) - (8 + 6))}", - rightButton: TextButton( - style: Theme.of(context) + return StackDialog( + title: "Simplex API error", + message: "${orderResponse.exception?.errorMessage}", + // "${quoteResponse.exception?.errorMessage.substring(8, (quoteResponse.exception?.errorMessage?.length ?? 109) - (8 + 6))}", + rightButton: TextButton( + style: Theme.of(context) + .extension()! + .getSecondaryEnabledButtonStyle(context), + child: Text( + "Ok", + style: STextStyles.button(context).copyWith( + color: Theme.of(context) .extension()! - .getSecondaryEnabledButtonStyle(context), - child: Text( - "Ok", - style: STextStyles.button(context).copyWith( - color: Theme.of(context) - .extension()! - .accentColorDark), - ), - onPressed: () { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pop(); // weee - }, - ), - ); - } - }, + .accentColorDark), + ), + onPressed: () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + Navigator.of(context).pop(); // weee + }, + ), ); } }, - ), - icon: SizedBox( - width: 64, - height: 32, - child: SvgPicture.asset( - Assets.buy.simplexLogo(context), + ); + } + } + + @override + void initState() { + order = widget.order; + isDesktop = Util.isDesktop; + super.initState(); + } + + @override + Widget build(BuildContext context) { + if (isDesktop) { + return DesktopDialog( + maxWidth: 580, + maxHeight: 350, + child: Padding( + padding: const EdgeInsets.all(32), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: STextStyles.desktopH3(context), + ), + SizedBox( + width: 64, + height: 32, + child: SvgPicture.asset( + Assets.buy.simplexLogo(context), + ), + ), + ], + ), + const Spacer(), + Text( + message, + style: STextStyles.desktopTextSmall(context), + ), + const Spacer( + flex: 2, + ), + Row( + children: [ + Expanded( + child: SecondaryButton( + label: "Cancel", + buttonHeight: ButtonHeight.l, + onPressed: + Navigator.of(context, rootNavigator: isDesktop).pop, + ), + ), + const SizedBox( + width: 16, + ), + Expanded( + child: PrimaryButton( + buttonHeight: ButtonHeight.l, + label: "Continue", + onPressed: onContinue, + ), + ), + ], + ) + ], + ), ), - ), - ); + ); + } else { + return StackDialog( + title: title, + message: message, + leftButton: SecondaryButton( + label: "Cancel", + onPressed: Navigator.of(context, rootNavigator: isDesktop).pop, + ), + rightButton: PrimaryButton( + label: "Continue", + onPressed: onContinue, + ), + icon: SizedBox( + width: 64, + height: 32, + child: SvgPicture.asset( + Assets.buy.simplexLogo(context), + ), + ), + ); + } } } From 1d4812c5b2de4b85546f1655eae462173aca9ae5 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 14:34:35 -0600 Subject: [PATCH 064/191] pull down to refresh paynym home view on mobile --- .../subwidgets/paynym_followers_list.dart | 150 +++++++++++------- .../subwidgets/paynym_following_list.dart | 150 +++++++++++------- 2 files changed, 192 insertions(+), 108 deletions(-) diff --git a/lib/pages/paynym/subwidgets/paynym_followers_list.dart b/lib/pages/paynym/subwidgets/paynym_followers_list.dart index dbec19692..d8583954d 100644 --- a/lib/pages/paynym/subwidgets/paynym_followers_list.dart +++ b/lib/pages/paynym/subwidgets/paynym_followers_list.dart @@ -3,11 +3,17 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_card_button.dart'; +import 'package:stackwallet/providers/global/paynym_api_provider.dart'; +import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; +import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart'; +import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; class PaynymFollowersList extends ConsumerStatefulWidget { @@ -54,61 +60,97 @@ class _PaynymFollowersListState extends ConsumerState { ref.watch(myPaynymAccountStateProvider.state).state?.followers; final count = followers?.length ?? 0; - return ListView.separated( - itemCount: max(count, 1), - separatorBuilder: (BuildContext context, int index) => Container( - height: 1.5, - color: Colors.transparent, - ), - itemBuilder: (BuildContext context, int index) { - if (count == 0) { - return RoundedWhiteContainer( - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - "Your PayNym followers will appear here", - style: isDesktop - ? STextStyles.desktopTextExtraExtraSmall(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ) - : STextStyles.label(context), - ), - ], - ), - ); - } else if (count == 1) { - return RoundedWhiteContainer( - padding: const EdgeInsets.all(0), - child: PaynymCardButton( - walletId: widget.walletId, - accountLite: followers![0], - ), - ); - } else { - BorderRadius? borderRadius; - if (index == 0) { - borderRadius = _borderRadiusFirst; - } else if (index == count - 1) { - borderRadius = _borderRadiusLast; - } + return ConditionalParent( + condition: !isDesktop, + builder: (child) => RefreshIndicator( + child: child, + onRefresh: () async { + try { + final manager = ref + .read(walletsChangeNotifierProvider) + .getManager(widget.walletId); - return Container( - key: Key("paynymCardKey_${followers![index].nymId}"), - decoration: BoxDecoration( - borderRadius: borderRadius, - color: Theme.of(context).extension()!.popupBG, - ), - child: PaynymCardButton( - walletId: widget.walletId, - accountLite: followers[index], - ), - ); - } - }, + // get wallet to access paynym calls + final wallet = manager.wallet as PaynymWalletInterface; + + // get payment code + final pCode = await wallet.getPaymentCode( + DerivePathTypeExt.primaryFor(manager.coin), + ); + + // get account from api + final account = + await ref.read(paynymAPIProvider).nym(pCode.toString()); + + // update my account + if (account.value != null) { + ref.read(myPaynymAccountStateProvider.state).state = + account.value!; + } + } catch (e) { + Logging.instance.log( + "Failed pull down refresh of paynym home page: $e", + level: LogLevel.Warning, + ); + } + }, + ), + child: ListView.separated( + itemCount: max(count, 1), + separatorBuilder: (BuildContext context, int index) => Container( + height: 1.5, + color: Colors.transparent, + ), + itemBuilder: (BuildContext context, int index) { + if (count == 0) { + return RoundedWhiteContainer( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + "Your PayNym followers will appear here", + style: isDesktop + ? STextStyles.desktopTextExtraExtraSmall(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ) + : STextStyles.label(context), + ), + ], + ), + ); + } else if (count == 1) { + return RoundedWhiteContainer( + padding: const EdgeInsets.all(0), + child: PaynymCardButton( + walletId: widget.walletId, + accountLite: followers![0], + ), + ); + } else { + BorderRadius? borderRadius; + if (index == 0) { + borderRadius = _borderRadiusFirst; + } else if (index == count - 1) { + borderRadius = _borderRadiusLast; + } + + return Container( + key: Key("paynymCardKey_${followers![index].nymId}"), + decoration: BoxDecoration( + borderRadius: borderRadius, + color: Theme.of(context).extension()!.popupBG, + ), + child: PaynymCardButton( + walletId: widget.walletId, + accountLite: followers[index], + ), + ); + } + }, + ), ); } } diff --git a/lib/pages/paynym/subwidgets/paynym_following_list.dart b/lib/pages/paynym/subwidgets/paynym_following_list.dart index 754fd6a45..4d9df16ac 100644 --- a/lib/pages/paynym/subwidgets/paynym_following_list.dart +++ b/lib/pages/paynym/subwidgets/paynym_following_list.dart @@ -3,11 +3,17 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_card_button.dart'; +import 'package:stackwallet/providers/global/paynym_api_provider.dart'; +import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; +import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart'; +import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; class PaynymFollowingList extends ConsumerStatefulWidget { @@ -54,61 +60,97 @@ class _PaynymFollowingListState extends ConsumerState { ref.watch(myPaynymAccountStateProvider.state).state?.following; final count = following?.length ?? 0; - return ListView.separated( - itemCount: max(count, 1), - separatorBuilder: (BuildContext context, int index) => Container( - height: 1.5, - color: Colors.transparent, - ), - itemBuilder: (BuildContext context, int index) { - if (count == 0) { - return RoundedWhiteContainer( - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - "Your PayNym contacts will appear here", - style: isDesktop - ? STextStyles.desktopTextExtraExtraSmall(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ) - : STextStyles.label(context), - ), - ], - ), - ); - } else if (count == 1) { - return RoundedWhiteContainer( - padding: const EdgeInsets.all(0), - child: PaynymCardButton( - walletId: widget.walletId, - accountLite: following![0], - ), - ); - } else { - BorderRadius? borderRadius; - if (index == 0) { - borderRadius = _borderRadiusFirst; - } else if (index == count - 1) { - borderRadius = _borderRadiusLast; - } + return ConditionalParent( + condition: !isDesktop, + builder: (child) => RefreshIndicator( + child: child, + onRefresh: () async { + try { + final manager = ref + .read(walletsChangeNotifierProvider) + .getManager(widget.walletId); - return Container( - key: Key("paynymCardKey_${following![index].nymId}"), - decoration: BoxDecoration( - borderRadius: borderRadius, - color: Theme.of(context).extension()!.popupBG, - ), - child: PaynymCardButton( - walletId: widget.walletId, - accountLite: following[index], - ), - ); - } - }, + // get wallet to access paynym calls + final wallet = manager.wallet as PaynymWalletInterface; + + // get payment code + final pCode = await wallet.getPaymentCode( + DerivePathTypeExt.primaryFor(manager.coin), + ); + + // get account from api + final account = + await ref.read(paynymAPIProvider).nym(pCode.toString()); + + // update my account + if (account.value != null) { + ref.read(myPaynymAccountStateProvider.state).state = + account.value!; + } + } catch (e) { + Logging.instance.log( + "Failed pull down refresh of paynym home page: $e", + level: LogLevel.Warning, + ); + } + }, + ), + child: ListView.separated( + itemCount: max(count, 1), + separatorBuilder: (BuildContext context, int index) => Container( + height: 1.5, + color: Colors.transparent, + ), + itemBuilder: (BuildContext context, int index) { + if (count == 0) { + return RoundedWhiteContainer( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + "Your PayNym contacts will appear here", + style: isDesktop + ? STextStyles.desktopTextExtraExtraSmall(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ) + : STextStyles.label(context), + ), + ], + ), + ); + } else if (count == 1) { + return RoundedWhiteContainer( + padding: const EdgeInsets.all(0), + child: PaynymCardButton( + walletId: widget.walletId, + accountLite: following![0], + ), + ); + } else { + BorderRadius? borderRadius; + if (index == 0) { + borderRadius = _borderRadiusFirst; + } else if (index == count - 1) { + borderRadius = _borderRadiusLast; + } + + return Container( + key: Key("paynymCardKey_${following![index].nymId}"), + decoration: BoxDecoration( + borderRadius: borderRadius, + color: Theme.of(context).extension()!.popupBG, + ), + child: PaynymCardButton( + walletId: widget.walletId, + accountLite: following[index], + ), + ); + } + }, + ), ); } } From a22973cd35becd2722ae4ee29ff945a4f85f42e0 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 15:37:59 -0600 Subject: [PATCH 065/191] WIP addresses list ui --- .../receive_view/addresses/address_card.dart | 132 ++++++++++ .../addresses/address_qr_popup.dart | 193 ++++++++++++++ .../addresses/edit_address_label_view.dart | 241 ++++++++++++++++++ .../receiving_addresses_view.dart | 32 +-- lib/pages/receive_view/receive_view.dart | 18 +- lib/route_generator.dart | 19 +- lib/widgets/rounded_container.dart | 3 + lib/widgets/rounded_white_container.dart | 3 + 8 files changed, 610 insertions(+), 31 deletions(-) create mode 100644 lib/pages/receive_view/addresses/address_card.dart create mode 100644 lib/pages/receive_view/addresses/address_qr_popup.dart create mode 100644 lib/pages/receive_view/addresses/edit_address_label_view.dart rename lib/pages/receive_view/{ => addresses}/receiving_addresses_view.dart (84%) diff --git a/lib/pages/receive_view/addresses/address_card.dart b/lib/pages/receive_view/addresses/address_card.dart new file mode 100644 index 000000000..1a47c256c --- /dev/null +++ b/lib/pages/receive_view/addresses/address_card.dart @@ -0,0 +1,132 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/notifications/show_flush_bar.dart'; +import 'package:stackwallet/pages/receive_view/addresses/address_qr_popup.dart'; +import 'package:stackwallet/pages/receive_view/addresses/edit_address_label_view.dart'; +import 'package:stackwallet/utilities/clipboard_interface.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; +import 'package:stackwallet/widgets/desktop/secondary_button.dart'; +import 'package:stackwallet/widgets/icon_widgets/copy_icon.dart'; +import 'package:stackwallet/widgets/icon_widgets/qrcode_icon.dart'; +import 'package:stackwallet/widgets/rounded_white_container.dart'; +import 'package:tuple/tuple.dart'; + +class AddressCard extends StatelessWidget { + const AddressCard({ + Key? key, + required this.address, + required this.walletId, + required this.coin, + this.clipboard = const ClipboardWrapper(), + }) : super(key: key); + + final Address address; + final String walletId; + final Coin coin; + final ClipboardInterface clipboard; + + @override + Widget build(BuildContext context) { + return RoundedWhiteContainer( + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "TODO: label", + style: STextStyles.itemSubtitle(context), + ), + CustomTextButton( + text: "Edit label", + textSize: 14, + onTap: () { + Navigator.of(context).pushNamed( + EditAddressLabelView.routeName, + arguments: Tuple2( + address, + walletId, + ), + ); + }, + ), + ], + ), + const SizedBox( + height: 8, + ), + Row( + children: [ + Expanded( + child: SelectableText( + address.value, + style: STextStyles.itemSubtitle12(context), + ), + ) + ], + ), + const SizedBox( + height: 10, + ), + Row( + children: [ + Expanded( + child: SecondaryButton( + label: "Copy address", + icon: CopyIcon( + color: Theme.of(context) + .extension()! + .buttonTextSecondary, + ), + onPressed: () async { + await clipboard.setData( + ClipboardData( + text: address.value, + ), + ); + unawaited( + showFloatingFlushBar( + type: FlushBarType.info, + message: "Copied to clipboard", + context: context, + ), + ); + }, + ), + ), + const SizedBox( + width: 12, + ), + Expanded( + child: SecondaryButton( + label: "Show QR Code", + icon: QrCodeIcon( + color: Theme.of(context) + .extension()! + .buttonTextSecondary, + ), + onPressed: () { + showDialog( + context: context, + builder: (context) => AddressQrPopup( + address: address, + coin: coin, + clipboard: clipboard, + ), + ); + }, + ), + ), + ], + ) + ], + ), + ); + } +} diff --git a/lib/pages/receive_view/addresses/address_qr_popup.dart b/lib/pages/receive_view/addresses/address_qr_popup.dart new file mode 100644 index 000000000..75b3509de --- /dev/null +++ b/lib/pages/receive_view/addresses/address_qr_popup.dart @@ -0,0 +1,193 @@ +import 'dart:async'; +import 'dart:io'; +import 'dart:ui' as ui; + +import 'package:file_picker/file_picker.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:qr_flutter/qr_flutter.dart'; +import 'package:share_plus/share_plus.dart'; +import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/notifications/show_flush_bar.dart'; +import 'package:stackwallet/utilities/address_utils.dart'; +import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/clipboard_interface.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/desktop/primary_button.dart'; +import 'package:stackwallet/widgets/desktop/secondary_button.dart'; +import 'package:stackwallet/widgets/stack_dialog.dart'; + +class AddressQrPopup extends StatefulWidget { + const AddressQrPopup({ + Key? key, + required this.address, + required this.coin, + this.clipboard = const ClipboardWrapper(), + }) : super(key: key); + + final Address address; + final Coin coin; + final ClipboardInterface clipboard; + + @override + State createState() => _AddressQrPopupState(); +} + +class _AddressQrPopupState extends State { + final _qrKey = GlobalKey(); + final isDesktop = Util.isDesktop; + + Future _capturePng(bool shouldSaveInsteadOfShare) async { + try { + RenderRepaintBoundary boundary = + _qrKey.currentContext?.findRenderObject() as RenderRepaintBoundary; + ui.Image image = await boundary.toImage(); + ByteData? byteData = + await image.toByteData(format: ui.ImageByteFormat.png); + Uint8List pngBytes = byteData!.buffer.asUint8List(); + + if (shouldSaveInsteadOfShare) { + if (isDesktop) { + final dir = Directory("${Platform.environment['HOME']}"); + if (!dir.existsSync()) { + throw Exception( + "Home dir not found while trying to open filepicker on QR image save"); + } + final path = await FilePicker.platform.saveFile( + fileName: "qrcode.png", + initialDirectory: dir.path, + ); + + if (path != null) { + final file = File(path); + if (file.existsSync()) { + unawaited( + showFloatingFlushBar( + type: FlushBarType.warning, + message: "$path already exists!", + context: context, + ), + ); + } else { + await file.writeAsBytes(pngBytes); + unawaited( + showFloatingFlushBar( + type: FlushBarType.success, + message: "$path saved!", + context: context, + ), + ); + } + } + } else { + // await DocumentFileSavePlus.saveFile( + // pngBytes, + // "receive_qr_code_${DateTime.now().toLocal().toIso8601String()}.png", + // "image/png"); + } + } else { + final tempDir = await getTemporaryDirectory(); + final file = await File("${tempDir.path}/qrcode.png").create(); + await file.writeAsBytes(pngBytes); + + await Share.shareFiles(["${tempDir.path}/qrcode.png"], + text: "Receive URI QR Code"); + } + } catch (e) { + //todo: comeback to this + debugPrint(e.toString()); + } + } + + @override + Widget build(BuildContext context) { + return StackDialogBase( + child: Column( + children: [ + Text( + "todo: custom label", + style: STextStyles.pageTitleH2(context), + ), + const SizedBox( + height: 8, + ), + Text( + widget.address.value, + style: STextStyles.itemSubtitle(context), + ), + const SizedBox( + height: 16, + ), + Center( + child: RepaintBoundary( + key: _qrKey, + child: QrImage( + data: AddressUtils.buildUriString( + widget.coin, + widget.address.value, + {}, + ), + size: 220, + backgroundColor: + Theme.of(context).extension()!.popupBG, + foregroundColor: + Theme.of(context).extension()!.accentColorDark, + ), + ), + ), + const SizedBox( + height: 16, + ), + Row( + children: [ + Expanded( + child: SecondaryButton( + width: 170, + buttonHeight: isDesktop ? ButtonHeight.l : null, + onPressed: () async { + await _capturePng(false); + }, + label: "Share", + icon: SvgPicture.asset( + Assets.svg.share, + width: 20, + height: 20, + color: Theme.of(context) + .extension()! + .buttonTextSecondary, + ), + ), + ), + const SizedBox( + width: 16, + ), + Expanded( + child: PrimaryButton( + width: 170, + onPressed: () async { + await _capturePng(true); + }, + label: "Save", + icon: SvgPicture.asset( + Assets.svg.arrowDown, + width: 20, + height: 20, + color: Theme.of(context) + .extension()! + .buttonTextPrimary, + ), + ), + ), + ], + ) + ], + ), + ); + } +} diff --git a/lib/pages/receive_view/addresses/edit_address_label_view.dart b/lib/pages/receive_view/addresses/edit_address_label_view.dart new file mode 100644 index 000000000..d44b61686 --- /dev/null +++ b/lib/pages/receive_view/addresses/edit_address_label_view.dart @@ -0,0 +1,241 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/models/isar/models/address/address.dart'; +import 'package:stackwallet/utilities/constants.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/background.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; +import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; +import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; +import 'package:stackwallet/widgets/desktop/primary_button.dart'; +import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; +import 'package:stackwallet/widgets/stack_text_field.dart'; +import 'package:stackwallet/widgets/textfield_icon_button.dart'; + +class EditAddressLabelView extends ConsumerStatefulWidget { + const EditAddressLabelView({ + Key? key, + required this.address, + required this.walletId, + }) : super(key: key); + + static const String routeName = "/editAddressLabel"; + + final Address address; + final String walletId; + + @override + ConsumerState createState() => + _EditAddressLabelViewState(); +} + +class _EditAddressLabelViewState extends ConsumerState { + late final TextEditingController _labelFieldController; + final labelFieldFocusNode = FocusNode(); + + late final bool isDesktop; + + @override + void initState() { + isDesktop = Util.isDesktop; + _labelFieldController = TextEditingController(); + _labelFieldController.text = "todo: address.label"; + super.initState(); + } + + @override + void dispose() { + _labelFieldController.dispose(); + labelFieldFocusNode.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ConditionalParent( + condition: !isDesktop, + builder: (child) => Background( + child: child, + ), + child: Scaffold( + backgroundColor: isDesktop + ? Colors.transparent + : Theme.of(context).extension()!.background, + appBar: isDesktop + ? null + : AppBar( + backgroundColor: + Theme.of(context).extension()!.background, + leading: AppBarBackButton( + onPressed: () async { + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + await Future.delayed( + const Duration(milliseconds: 75)); + } + if (mounted) { + Navigator.of(context).pop(); + } + }, + ), + title: Text( + "Edit label", + style: STextStyles.navBarTitle(context), + ), + ), + body: ConditionalParent( + condition: !isDesktop, + builder: (child) => Padding( + padding: const EdgeInsets.all(12), + child: LayoutBuilder( + builder: (context, constraints) { + return SingleChildScrollView( + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: constraints.maxHeight, + ), + child: IntrinsicHeight( + child: Padding( + padding: const EdgeInsets.all(4), + child: child, + ), + ), + ), + ); + }, + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (isDesktop) + Padding( + padding: const EdgeInsets.only( + left: 32, + bottom: 12, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Edit label", + style: STextStyles.desktopH3(context), + ), + const DesktopDialogCloseButton(), + ], + ), + ), + Padding( + padding: isDesktop + ? const EdgeInsets.symmetric( + horizontal: 32, + ) + : const EdgeInsets.all(0), + child: ClipRRect( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + child: TextField( + autocorrect: Util.isDesktop ? false : true, + enableSuggestions: Util.isDesktop ? false : true, + controller: _labelFieldController, + style: isDesktop + ? STextStyles.desktopTextExtraSmall(context).copyWith( + color: Theme.of(context) + .extension()! + .textFieldActiveText, + height: 1.8, + ) + : STextStyles.field(context), + focusNode: labelFieldFocusNode, + decoration: standardInputDecoration( + "Address label", + labelFieldFocusNode, + context, + desktopMed: isDesktop, + ).copyWith( + contentPadding: isDesktop + ? const EdgeInsets.only( + left: 16, + top: 11, + bottom: 12, + right: 5, + ) + : null, + suffixIcon: _labelFieldController.text.isNotEmpty + ? Padding( + padding: const EdgeInsets.only(right: 0), + child: UnconstrainedBox( + child: Row( + children: [ + TextFieldIconButton( + child: const XIcon(), + onTap: () async { + setState(() { + _labelFieldController.text = ""; + }); + }, + ), + ], + ), + ), + ) + : null, + ), + ), + ), + ), + // if (!isDesktop) + const Spacer(), + if (isDesktop) + Padding( + padding: const EdgeInsets.all(32), + child: PrimaryButton( + label: "Save", + onPressed: () async { + // todo: update address + // await ref + // .read(notesServiceChangeNotifierProvider( + // widget.walletId)) + // .editOrAddNote( + // txid: widget.txid, + // note: _labelFieldController.text, + // ); + // if (mounted) { + // Navigator.of(context).pop(); + // } + }, + ), + ), + if (!isDesktop) + TextButton( + onPressed: () async { + // todo: update address + // await ref + // .read( + // notesServiceChangeNotifierProvider(widget.walletId)) + // .editOrAddNote( + // txid: widget.txid, + // note: _labelFieldController.text, + // ); + // if (mounted) { + // Navigator.of(context).pop(); + // } + }, + style: Theme.of(context) + .extension()! + .getPrimaryEnabledButtonStyle(context), + child: Text( + "Save", + style: STextStyles.button(context), + ), + ) + ], + ), + ), + ), + ); + } +} diff --git a/lib/pages/receive_view/receiving_addresses_view.dart b/lib/pages/receive_view/addresses/receiving_addresses_view.dart similarity index 84% rename from lib/pages/receive_view/receiving_addresses_view.dart rename to lib/pages/receive_view/addresses/receiving_addresses_view.dart index e5f1d88bf..927043373 100644 --- a/lib/pages/receive_view/receiving_addresses_view.dart +++ b/lib/pages/receive_view/addresses/receiving_addresses_view.dart @@ -3,6 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/db/main_db.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/pages/receive_view/addresses/address_card.dart'; +import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; @@ -10,7 +12,6 @@ import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; -import 'package:stackwallet/widgets/rounded_white_container.dart'; class ReceivingAddressesView extends ConsumerWidget { const ReceivingAddressesView({ @@ -28,6 +29,8 @@ class ReceivingAddressesView extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + final coin = ref.watch(walletsChangeNotifierProvider + .select((value) => value.getManager(walletId).coin)); return ConditionalParent( condition: !isDesktop, builder: (child) => Background( @@ -73,7 +76,9 @@ class ReceivingAddressesView extends ConsumerWidget { height: 10, ), itemBuilder: (_, index) => AddressCard( + walletId: walletId, address: snapshot.data![index], + coin: coin, ), ); } else { @@ -89,28 +94,3 @@ class ReceivingAddressesView extends ConsumerWidget { ); } } - -class AddressCard extends StatelessWidget { - const AddressCard({ - Key? key, - required this.address, - }) : super(key: key); - - final Address address; - - @override - Widget build(BuildContext context) { - return RoundedWhiteContainer( - child: Row( - children: [ - Expanded( - child: Text( - address.value, - style: STextStyles.itemSubtitle12(context), - ), - ) - ], - ), - ); - } -} diff --git a/lib/pages/receive_view/receive_view.dart b/lib/pages/receive_view/receive_view.dart index 2d7d11b45..52283111c 100644 --- a/lib/pages/receive_view/receive_view.dart +++ b/lib/pages/receive_view/receive_view.dart @@ -6,8 +6,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:qr_flutter/qr_flutter.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; +import 'package:stackwallet/pages/receive_view/addresses/receiving_addresses_view.dart'; import 'package:stackwallet/pages/receive_view/generate_receiving_uri_qr_code_view.dart'; -import 'package:stackwallet/pages/receive_view/receiving_addresses_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -187,11 +187,21 @@ class _ReceiveViewState extends ConsumerState { ); }, child: RoundedWhiteContainer( + boxShadow: [ + Theme.of(context) + .extension()! + .standardBoxShadow, + ], child: Material( color: Colors.transparent, - child: Text( - "Address list", - style: STextStyles.baseXS(context), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 12, + ), + child: Text( + "Address list", + style: STextStyles.field(context), + ), ), ), ), diff --git a/lib/route_generator.dart b/lib/route_generator.dart index 970246043..d1ed6a4bd 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -6,6 +6,7 @@ import 'package:stackwallet/models/buy/response_objects/quote.dart'; import 'package:stackwallet/models/contact_address_entry.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/models/isar/models/address/address.dart'; import 'package:stackwallet/models/paynym/paynym_account_lite.dart'; import 'package:stackwallet/models/send_view_auto_fill_data.dart'; import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart'; @@ -44,9 +45,10 @@ import 'package:stackwallet/pages/paynym/add_new_paynym_follow_view.dart'; import 'package:stackwallet/pages/paynym/paynym_claim_view.dart'; import 'package:stackwallet/pages/paynym/paynym_home_view.dart'; import 'package:stackwallet/pages/pinpad_views/create_pin_view.dart'; +import 'package:stackwallet/pages/receive_view/addresses/edit_address_label_view.dart'; +import 'package:stackwallet/pages/receive_view/addresses/receiving_addresses_view.dart'; import 'package:stackwallet/pages/receive_view/generate_receiving_uri_qr_code_view.dart'; import 'package:stackwallet/pages/receive_view/receive_view.dart'; -import 'package:stackwallet/pages/receive_view/receiving_addresses_view.dart'; import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart'; import 'package:stackwallet/pages/send_view/send_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/about_view.dart'; @@ -474,6 +476,21 @@ class RouteGenerator { } return _routeError("${settings.name} invalid args: ${args.toString()}"); + case EditAddressLabelView.routeName: + if (args is Tuple2) { + return getRoute( + shouldUseMaterialRoute: useMaterialPageRoute, + builder: (_) => EditAddressLabelView( + address: args.item1, + walletId: args.item2, + ), + settings: RouteSettings( + name: settings.name, + ), + ); + } + return _routeError("${settings.name} invalid args: ${args.toString()}"); + case EditTradeNoteView.routeName: if (args is Tuple2) { return getRoute( diff --git a/lib/widgets/rounded_container.dart b/lib/widgets/rounded_container.dart index 9f9bfbd8d..d689d9ca8 100644 --- a/lib/widgets/rounded_container.dart +++ b/lib/widgets/rounded_container.dart @@ -11,6 +11,7 @@ class RoundedContainer extends StatelessWidget { this.width, this.height, this.borderColor, + this.boxShadow, }) : super(key: key); final Widget? child; @@ -20,6 +21,7 @@ class RoundedContainer extends StatelessWidget { final double? width; final double? height; final Color? borderColor; + final List? boxShadow; @override Widget build(BuildContext context) { @@ -32,6 +34,7 @@ class RoundedContainer extends StatelessWidget { Constants.size.circularBorderRadius * radiusMultiplier, ), border: borderColor == null ? null : Border.all(color: borderColor!), + boxShadow: boxShadow, ), child: Padding( padding: padding, diff --git a/lib/widgets/rounded_white_container.dart b/lib/widgets/rounded_white_container.dart index 1173e95b1..2ade9b729 100644 --- a/lib/widgets/rounded_white_container.dart +++ b/lib/widgets/rounded_white_container.dart @@ -11,6 +11,7 @@ class RoundedWhiteContainer extends StatelessWidget { this.width, this.height, this.borderColor, + this.boxShadow, }) : super(key: key); final Widget? child; @@ -19,6 +20,7 @@ class RoundedWhiteContainer extends StatelessWidget { final double? width; final double? height; final Color? borderColor; + final List? boxShadow; @override Widget build(BuildContext context) { @@ -29,6 +31,7 @@ class RoundedWhiteContainer extends StatelessWidget { width: width, height: height, borderColor: borderColor, + boxShadow: boxShadow, child: child, ); } From 5ccc868c9b28cd5b1e0db7c15970652eac4312b2 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 15:41:54 -0600 Subject: [PATCH 066/191] update amount changed state on send view when tapping send all --- lib/pages/send_view/send_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/pages/send_view/send_view.dart b/lib/pages/send_view/send_view.dart index c472bcc11..eab3d0638 100644 --- a/lib/pages/send_view/send_view.dart +++ b/lib/pages/send_view/send_view.dart @@ -1338,6 +1338,7 @@ class _SendViewState extends ConsumerState { Constants.decimalPlacesForCoin( coin)); } + _cryptoAmountChanged(); }, ), ], From 97604a792f1cc0d190821629ae3ca93e0155e83a Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 15:48:06 -0600 Subject: [PATCH 067/191] fix offline wallet creation for namecoin and particl --- .../coins/namecoin/namecoin_wallet.dart | 26 +++++++++++-------- .../coins/particl/particl_wallet.dart | 26 +++++++++++-------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 1ee89d95f..3129ed765 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -1438,17 +1438,21 @@ class NamecoinWallet extends CoinServiceAPI Logging.instance .log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info); if (!integrationTestFlag) { - final features = await electrumXClient.getServerFeatures(); - Logging.instance.log("features: $features", level: LogLevel.Info); - switch (coin) { - case Coin.namecoin: - if (features['genesis_hash'] != GENESIS_HASH_MAINNET) { - throw Exception("genesis hash does not match main net!"); - } - break; - default: - throw Exception( - "Attempted to generate a NamecoinWallet using a non namecoin coin type: ${coin.name}"); + try { + final features = await electrumXClient.getServerFeatures(); + Logging.instance.log("features: $features", level: LogLevel.Info); + switch (coin) { + case Coin.namecoin: + if (features['genesis_hash'] != GENESIS_HASH_MAINNET) { + throw Exception("genesis hash does not match main net!"); + } + break; + default: + throw Exception( + "Attempted to generate a NamecoinWallet using a non namecoin coin type: ${coin.name}"); + } + } catch (e, s) { + Logging.instance.log("$e/n$s", level: LogLevel.Info); } } diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 625b4d384..7b99eae00 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -1353,17 +1353,21 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { Logging.instance .log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info); if (!integrationTestFlag) { - final features = await electrumXClient.getServerFeatures(); - Logging.instance.log("features: $features", level: LogLevel.Info); - switch (coin) { - case Coin.particl: - if (features['genesis_hash'] != GENESIS_HASH_MAINNET) { - throw Exception("genesis hash does not match main net!"); - } - break; - default: - throw Exception( - "Attempted to generate a ParticlWallet using a non particl coin type: ${coin.name}"); + try { + final features = await electrumXClient.getServerFeatures(); + Logging.instance.log("features: $features", level: LogLevel.Info); + switch (coin) { + case Coin.particl: + if (features['genesis_hash'] != GENESIS_HASH_MAINNET) { + throw Exception("genesis hash does not match main net!"); + } + break; + default: + throw Exception( + "Attempted to generate a ParticlWallet using a non particl coin type: ${coin.name}"); + } + } catch (e, s) { + Logging.instance.log("$e/n$s", level: LogLevel.Info); } } From 4ca5cf097881070daa90486adc5c45dfffe65ef4 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 15:54:29 -0600 Subject: [PATCH 068/191] ocean breeze secondary button text color fix --- lib/utilities/theme/ocean_breeze_colors.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/utilities/theme/ocean_breeze_colors.dart b/lib/utilities/theme/ocean_breeze_colors.dart index 1ba64843d..f8bcaf0c1 100644 --- a/lib/utilities/theme/ocean_breeze_colors.dart +++ b/lib/utilities/theme/ocean_breeze_colors.dart @@ -94,7 +94,7 @@ class OceanBreezeColors extends StackColorTheme { @override Color get buttonTextPrimary => const Color(0xFFFFFFFF); @override - Color get buttonTextSecondary => const Color(0xFF232323); + Color get buttonTextSecondary => accentColorDark; @override Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); @override From a781b24c5c0f20b31ca2cef767fa90f9a605452e Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 15:54:48 -0600 Subject: [PATCH 069/191] paynym home view button icon color fix --- lib/pages/paynym/paynym_home_view.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pages/paynym/paynym_home_view.dart b/lib/pages/paynym/paynym_home_view.dart index 96baa5daf..210d46687 100644 --- a/lib/pages/paynym/paynym_home_view.dart +++ b/lib/pages/paynym/paynym_home_view.dart @@ -322,7 +322,7 @@ class _PaynymHomeViewState extends ConsumerState { height: 12, color: Theme.of(context) .extension()! - .textDark, + .buttonTextSecondary, ), onPressed: () async { await Clipboard.setData( @@ -359,7 +359,7 @@ class _PaynymHomeViewState extends ConsumerState { height: 12, color: Theme.of(context) .extension()! - .textDark, + .buttonTextSecondary, ), onPressed: () async { Rect? sharePositionOrigin; @@ -396,7 +396,7 @@ class _PaynymHomeViewState extends ConsumerState { height: 12, color: Theme.of(context) .extension()! - .textDark, + .buttonTextSecondary, ), onPressed: () { showDialog( From afc25e3f0691b3f9d6c61a6bb927ac503b006fe7 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 15:57:48 -0600 Subject: [PATCH 070/191] paynym home view app bar button icon color fix --- lib/pages/paynym/paynym_home_view.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pages/paynym/paynym_home_view.dart b/lib/pages/paynym/paynym_home_view.dart index 210d46687..9292b8acb 100644 --- a/lib/pages/paynym/paynym_home_view.dart +++ b/lib/pages/paynym/paynym_home_view.dart @@ -201,7 +201,7 @@ class _PaynymHomeViewState extends ConsumerState { height: 20, color: Theme.of(context) .extension()! - .textDark, + .accentColorDark, ), onPressed: () { Navigator.of(context).pushNamed( @@ -223,7 +223,7 @@ class _PaynymHomeViewState extends ConsumerState { height: 20, color: Theme.of(context) .extension()! - .textDark, + .accentColorDark, ), onPressed: () { // todo info ? From f0a8d65b3e99ad2c68f61ce6bb9efbbaf251fecc Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 2 Feb 2023 16:19:14 -0600 Subject: [PATCH 071/191] show sent tx immediately in history --- .../coins/bitcoin/bitcoin_wallet.dart | 65 +++++++------------ .../coins/bitcoincash/bitcoincash_wallet.dart | 65 +++++++------------ .../coins/dogecoin/dogecoin_wallet.dart | 65 +++++++------------ lib/services/coins/firo/firo_wallet.dart | 63 +++++++----------- .../coins/litecoin/litecoin_wallet.dart | 65 +++++++------------ lib/services/coins/manager.dart | 11 +++- .../coins/namecoin/namecoin_wallet.dart | 65 +++++++------------ .../coins/particl/particl_wallet.dart | 65 +++++++------------ 8 files changed, 184 insertions(+), 280 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 3bf151ccc..60ba85895 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -1267,46 +1267,31 @@ class BitcoinWallet extends CoinServiceAPI // transactions locally in a good way @override Future updateSentCachedTxData(Map txData) async { - // final priceData = - // await _priceAPI.getPricesAnd24hChange(baseCurrency: _prefs.currency); - // Decimal currentPrice = priceData[coin]?.item1 ?? Decimal.zero; - // final locale = - // Platform.isWindows ? "en_US" : await Devicelocale.currentLocale; - // final String worthNow = Format.localizedStringAsFixed( - // value: - // ((currentPrice * Decimal.fromInt(txData["recipientAmt"] as int)) / - // Decimal.fromInt(Constants.satsPerCoin(coin))) - // .toDecimal(scaleOnInfinitePrecision: 2), - // decimalPlaces: 2, - // locale: locale!); - // - // final tx = models.Transaction( - // txid: txData["txid"] as String, - // confirmedStatus: false, - // timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, - // txType: "Sent", - // amount: txData["recipientAmt"] as int, - // worthNow: worthNow, - // worthAtBlockTimestamp: worthNow, - // fees: txData["fee"] as int, - // inputSize: 0, - // outputSize: 0, - // inputs: [], - // outputs: [], - // address: txData["address"] as String, - // height: -1, - // confirmations: 0, - // ); - // - // if (cachedTxData == null) { - // final data = await _fetchTransactionData(); - // _transactionData = Future(() => data); - // } - // - // final transactions = cachedTxData!.getAllTransactions(); - // transactions[tx.txid] = tx; - // cachedTxData = models.TransactionData.fromMap(transactions); - // _transactionData = Future(() => cachedTxData!); + final transaction = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, + type: isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: txData["recipientAmt"] as int, + fee: txData["fee"] as int, + height: null, + isCancelled: false, + isLelantus: false, + otherData: null, + slateId: null, + ); + + final address = txData["address"] is String + ? await db.getAddress(walletId, txData["address"] as String) + : null; + + await db.addNewTransactionData( + [ + Tuple4(transaction, [], [], address), + ], + walletId, + ); } @override diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 4a4ff041b..1963c89bc 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -1200,46 +1200,31 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { // transactions locally in a good way @override Future updateSentCachedTxData(Map txData) async { - // final priceData = - // await _priceAPI.getPricesAnd24hChange(baseCurrency: _prefs.currency); - // Decimal currentPrice = priceData[coin]?.item1 ?? Decimal.zero; - // final locale = - // Platform.isWindows ? "en_US" : await Devicelocale.currentLocale; - // final String worthNow = Format.localizedStringAsFixed( - // value: - // ((currentPrice * Decimal.fromInt(txData["recipientAmt"] as int)) / - // Decimal.fromInt(Constants.satsPerCoin(coin))) - // .toDecimal(scaleOnInfinitePrecision: 2), - // decimalPlaces: 2, - // locale: locale!); - // - // final tx = models.Transaction( - // txid: txData["txid"] as String, - // confirmedStatus: false, - // timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, - // txType: "Sent", - // amount: txData["recipientAmt"] as int, - // worthNow: worthNow, - // worthAtBlockTimestamp: worthNow, - // fees: txData["fee"] as int, - // inputSize: 0, - // outputSize: 0, - // inputs: [], - // outputs: [], - // address: txData["address"] as String, - // height: -1, - // confirmations: 0, - // ); - // - // if (cachedTxData == null) { - // final data = await _fetchTransactionData(); - // _transactionData = Future(() => data); - // } - // - // final transactions = cachedTxData!.getAllTransactions(); - // transactions[tx.txid] = tx; - // cachedTxData = models.TransactionData.fromMap(transactions); - // _transactionData = Future(() => cachedTxData!); + final transaction = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, + type: isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: txData["recipientAmt"] as int, + fee: txData["fee"] as int, + height: null, + isCancelled: false, + isLelantus: false, + otherData: null, + slateId: null, + ); + + final address = txData["address"] is String + ? await db.getAddress(walletId, txData["address"] as String) + : null; + + await db.addNewTransactionData( + [ + Tuple4(transaction, [], [], address), + ], + walletId, + ); } bool validateCashAddr(String cashAddr) { diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 85a2abc81..b67054b4c 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -1059,46 +1059,31 @@ class DogecoinWallet extends CoinServiceAPI // transactions locally in a good way @override Future updateSentCachedTxData(Map txData) async { - // final priceData = - // await _priceAPI.getPricesAnd24hChange(baseCurrency: _prefs.currency); - // Decimal currentPrice = priceData[coin]?.item1 ?? Decimal.zero; - // final locale = - // Platform.isWindows ? "en_US" : await Devicelocale.currentLocale; - // final String worthNow = Format.localizedStringAsFixed( - // value: - // ((currentPrice * Decimal.fromInt(txData["recipientAmt"] as int)) / - // Decimal.fromInt(Constants.satsPerCoin(coin))) - // .toDecimal(scaleOnInfinitePrecision: 2), - // decimalPlaces: 2, - // locale: locale!); - // - // final tx = models.Transaction( - // txid: txData["txid"] as String, - // confirmedStatus: false, - // timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, - // txType: "Sent", - // amount: txData["recipientAmt"] as int, - // worthNow: worthNow, - // worthAtBlockTimestamp: worthNow, - // fees: txData["fee"] as int, - // inputSize: 0, - // outputSize: 0, - // inputs: [], - // outputs: [], - // address: txData["address"] as String, - // height: -1, - // confirmations: 0, - // ); - // - // if (cachedTxData == null) { - // final data = await _fetchTransactionData(); - // _transactionData = Future(() => data); - // } - // - // final transactions = cachedTxData!.getAllTransactions(); - // transactions[tx.txid] = tx; - // cachedTxData = models.TransactionData.fromMap(transactions); - // _transactionData = Future(() => cachedTxData!); + final transaction = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, + type: isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: txData["recipientAmt"] as int, + fee: txData["fee"] as int, + height: null, + isCancelled: false, + isLelantus: false, + otherData: null, + slateId: null, + ); + + final address = txData["address"] is String + ? await db.getAddress(walletId, txData["address"] as String) + : null; + + await db.addNewTransactionData( + [ + Tuple4(transaction, [], [], address), + ], + walletId, + ); } @override diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index 03e788e54..9f767dbba 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -818,44 +818,31 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { // transactions locally in a good way @override Future updateSentCachedTxData(Map txData) async { - // final currentPrice = await firoPrice; - // final locale = - // Platform.isWindows ? "en_US" : await Devicelocale.currentLocale; - // final String worthNow = Format.localizedStringAsFixed( - // value: - // ((currentPrice * Decimal.fromInt(txData["recipientAmt"] as int)) / - // Decimal.fromInt(Constants.satsPerCoin(coin))) - // .toDecimal(scaleOnInfinitePrecision: 2), - // decimalPlaces: 2, - // locale: locale!); - // - // final tx = models.Transaction( - // txid: txData["txid"] as String, - // confirmedStatus: false, - // timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, - // txType: "Sent", - // amount: txData["recipientAmt"] as int, - // worthNow: worthNow, - // worthAtBlockTimestamp: worthNow, - // fees: txData["fee"] as int, - // inputSize: 0, - // outputSize: 0, - // inputs: [], - // outputs: [], - // address: txData["address"] as String, - // height: -1, - // confirmations: 0, - // ); - // - // if (cachedTxData == null) { - // final data = await _fetchTransactionData(); - // _transactionData = Future(() => data); - // } - // - // final transactions = cachedTxData!.getAllTransactions(); - // transactions[tx.txid] = tx; - // cachedTxData = models.TransactionData.fromMap(transactions); - // _transactionData = Future(() => cachedTxData!); + final transaction = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, + type: isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: txData["recipientAmt"] as int, + fee: txData["fee"] as int, + height: null, + isCancelled: false, + isLelantus: false, + otherData: null, + slateId: null, + ); + + final address = txData["address"] is String + ? await db.getAddress(walletId, txData["address"] as String) + : null; + + await db.addNewTransactionData( + [ + Tuple4(transaction, [], [], address), + ], + walletId, + ); } /// Holds the max fee that can be sent diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index ecbc9cbc0..03b569511 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -1214,46 +1214,31 @@ class LitecoinWallet extends CoinServiceAPI // transactions locally in a good way @override Future updateSentCachedTxData(Map txData) async { - // final priceData = - // await _priceAPI.getPricesAnd24hChange(baseCurrency: _prefs.currency); - // Decimal currentPrice = priceData[coin]?.item1 ?? Decimal.zero; - // final locale = - // Platform.isWindows ? "en_US" : await Devicelocale.currentLocale; - // final String worthNow = Format.localizedStringAsFixed( - // value: - // ((currentPrice * Decimal.fromInt(txData["recipientAmt"] as int)) / - // Decimal.fromInt(Constants.satsPerCoin(coin))) - // .toDecimal(scaleOnInfinitePrecision: 2), - // decimalPlaces: 2, - // locale: locale!); - // - // final tx = models.Transaction( - // txid: txData["txid"] as String, - // confirmedStatus: false, - // timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, - // txType: "Sent", - // amount: txData["recipientAmt"] as int, - // worthNow: worthNow, - // worthAtBlockTimestamp: worthNow, - // fees: txData["fee"] as int, - // inputSize: 0, - // outputSize: 0, - // inputs: [], - // outputs: [], - // address: txData["address"] as String, - // height: -1, - // confirmations: 0, - // ); - // - // if (cachedTxData == null) { - // final data = await _refreshTransactions(); - // _transactionData = Future(() => data); - // } - // - // final transactions = cachedTxData!.getAllTransactions(); - // transactions[tx.txid] = tx; - // cachedTxData = models.TransactionData.fromMap(transactions); - // _transactionData = Future(() => cachedTxData!); + final transaction = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, + type: isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: txData["recipientAmt"] as int, + fee: txData["fee"] as int, + height: null, + isCancelled: false, + isLelantus: false, + otherData: null, + slateId: null, + ); + + final address = txData["address"] is String + ? await db.getAddress(walletId, txData["address"] as String) + : null; + + await db.addNewTransactionData( + [ + Tuple4(transaction, [], [], address), + ], + walletId, + ); } @override diff --git a/lib/services/coins/manager.dart b/lib/services/coins/manager.dart index 892766cf5..203c2d05f 100644 --- a/lib/services/coins/manager.dart +++ b/lib/services/coins/manager.dart @@ -110,8 +110,15 @@ class Manager with ChangeNotifier { try { final txid = await _currentWallet.confirmSend(txData: txData); - txData["txid"] = txid; - await _currentWallet.updateSentCachedTxData(txData); + try { + txData["txid"] = txid; + await _currentWallet.updateSentCachedTxData(txData); + } catch (e, s) { + // do not rethrow as that would get handled as a send failure further up + // also this is not critical code and transaction should show up on \ + // refresh regardless + Logging.instance.log("$e\n$s", level: LogLevel.Warning); + } notifyListeners(); return txid; diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 3129ed765..10852044b 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -1203,46 +1203,31 @@ class NamecoinWallet extends CoinServiceAPI // transactions locally in a good way @override Future updateSentCachedTxData(Map txData) async { - // final priceData = - // await _priceAPI.getPricesAnd24hChange(baseCurrency: _prefs.currency); - // Decimal currentPrice = priceData[coin]?.item1 ?? Decimal.zero; - // final locale = - // Platform.isWindows ? "en_US" : await Devicelocale.currentLocale; - // final String worthNow = Format.localizedStringAsFixed( - // value: - // ((currentPrice * Decimal.fromInt(txData["recipientAmt"] as int)) / - // Decimal.fromInt(Constants.satsPerCoin(coin))) - // .toDecimal(scaleOnInfinitePrecision: 2), - // decimalPlaces: 2, - // locale: locale!); - // - // final tx = models.Transaction( - // txid: txData["txid"] as String, - // confirmedStatus: false, - // timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, - // txType: "Sent", - // amount: txData["recipientAmt"] as int, - // worthNow: worthNow, - // worthAtBlockTimestamp: worthNow, - // fees: txData["fee"] as int, - // inputSize: 0, - // outputSize: 0, - // inputs: [], - // outputs: [], - // address: txData["address"] as String, - // height: -1, - // confirmations: 0, - // ); - // - // if (cachedTxData == null) { - // final data = await _refreshTransactions(); - // _transactionData = Future(() => data); - // } - // - // final transactions = cachedTxData!.getAllTransactions(); - // transactions[tx.txid] = tx; - // cachedTxData = models.TransactionData.fromMap(transactions); - // _transactionData = Future(() => cachedTxData!); + final transaction = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, + type: isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: txData["recipientAmt"] as int, + fee: txData["fee"] as int, + height: null, + isCancelled: false, + isLelantus: false, + otherData: null, + slateId: null, + ); + + final address = txData["address"] is String + ? await db.getAddress(walletId, txData["address"] as String) + : null; + + await db.addNewTransactionData( + [ + Tuple4(transaction, [], [], address), + ], + walletId, + ); } @override diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 7b99eae00..1f6c7a2ea 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -1131,46 +1131,31 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { // transactions locally in a good way @override Future updateSentCachedTxData(Map txData) async { - // final priceData = - // await _priceAPI.getPricesAnd24hChange(baseCurrency: _prefs.currency); - // Decimal currentPrice = priceData[coin]?.item1 ?? Decimal.zero; - // final locale = - // Platform.isWindows ? "en_US" : await Devicelocale.currentLocale; - // final String worthNow = Format.localizedStringAsFixed( - // value: - // ((currentPrice * Decimal.fromInt(txData["recipientAmt"] as int)) / - // Decimal.fromInt(Constants.satsPerCoin(coin))) - // .toDecimal(scaleOnInfinitePrecision: 2), - // decimalPlaces: 2, - // locale: locale!); - // - // final tx = models.Transaction( - // txid: txData["txid"] as String, - // confirmedStatus: false, - // timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, - // txType: "Sent", - // amount: txData["recipientAmt"] as int, - // worthNow: worthNow, - // worthAtBlockTimestamp: worthNow, - // fees: txData["fee"] as int, - // inputSize: 0, - // outputSize: 0, - // inputs: [], - // outputs: [], - // address: txData["address"] as String, - // height: -1, - // confirmations: 0, - // ); - // - // if (cachedTxData == null) { - // final data = await _refreshTransactions(); - // _transactionData = Future(() => data); - // } else { - // final transactions = cachedTxData!.getAllTransactions(); - // transactions[tx.txid] = tx; - // cachedTxData = models.TransactionData.fromMap(transactions); - // _transactionData = Future(() => cachedTxData!); - // } + final transaction = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: DateTime.now().millisecondsSinceEpoch ~/ 1000, + type: isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: txData["recipientAmt"] as int, + fee: txData["fee"] as int, + height: null, + isCancelled: false, + isLelantus: false, + otherData: null, + slateId: null, + ); + + final address = txData["address"] is String + ? await db.getAddress(walletId, txData["address"] as String) + : null; + + await db.addNewTransactionData( + [ + Tuple4(transaction, [], [], address), + ], + walletId, + ); } @override From ab370186427ec7aacf8656fe08f0910d228ff81f Mon Sep 17 00:00:00 2001 From: julian-CStack <97684800+julian-CStack@users.noreply.github.com> Date: Thu, 2 Feb 2023 18:02:23 -0600 Subject: [PATCH 072/191] Update test.yaml --- .github/workflows/test.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 4638e84dd..01cd71173 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -23,6 +23,7 @@ jobs: run: | cargo install cargo-ndk rustup target add x86_64-unknown-linux-gnu + sudo apt clean sudo apt update sudo apt install -y unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake openjdk-8-jre-headless libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev llvm sudo apt install -y debhelper libclang-dev cargo rustc opencl-headers libssl-dev ocl-icd-opencl-dev From a7bff0f01805c50446600c774fa7df3254fe69c4 Mon Sep 17 00:00:00 2001 From: Diego Salazar Date: Thu, 2 Feb 2023 18:12:11 -0700 Subject: [PATCH 073/191] 121 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 61c22e7aa..86fd250cc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Stack Wallet # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.36+117 +version: 1.5.36+121 environment: sdk: ">=2.17.0 <3.0.0" From 19d0cb378db06fe6622dbc5405ceb9a5da0c9929 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 08:27:27 -0600 Subject: [PATCH 074/191] sort receiving addresses by lowest index first --- lib/pages/receive_view/addresses/receiving_addresses_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/receive_view/addresses/receiving_addresses_view.dart b/lib/pages/receive_view/addresses/receiving_addresses_view.dart index 927043373..ac817bedf 100644 --- a/lib/pages/receive_view/addresses/receiving_addresses_view.dart +++ b/lib/pages/receive_view/addresses/receiving_addresses_view.dart @@ -64,7 +64,7 @@ class ReceivingAddressesView extends ConsumerWidget { .and() .not() .typeEqualTo(AddressType.nonWallet) - .sortByDerivationIndexDesc() + .sortByDerivationIndex() .findAll(), builder: (context, AsyncSnapshot> snapshot) { if (snapshot.connectionState == ConnectionState.done && From 7f15c1e6f41aad9cdf69b308a558186d0a8d68cc Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 10:26:11 -0600 Subject: [PATCH 075/191] fix share button on receiving qr generate --- .../generate_receiving_uri_qr_code_view.dart | 51 +++++-------------- 1 file changed, 12 insertions(+), 39 deletions(-) diff --git a/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart b/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart index ca219b92e..c0865d5a6 100644 --- a/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart +++ b/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart @@ -218,46 +218,19 @@ class _GenerateUriQrCodeViewState extends State { Center( child: SizedBox( width: width, - child: TextButton( - onPressed: () async { - // TODO: add save button as well - await _capturePng(true); - }, - style: Theme.of(context) - .extension()! - .getSecondaryEnabledButtonStyle(context), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Center( - child: SvgPicture.asset( - Assets.svg.share, - width: 14, - height: 14, - ), - ), - const SizedBox( - width: 4, - ), - Column( - children: [ - Text( - "Share", - textAlign: TextAlign.center, - style: STextStyles.button(context).copyWith( - color: Theme.of(context) - .extension()! - .buttonTextSecondary, - ), - ), - const SizedBox( - height: 2, - ), - ], - ), - ], + child: SecondaryButton( + label: "Share", + icon: SvgPicture.asset( + Assets.svg.share, + width: 14, + height: 14, + color: Theme.of(context) + .extension()! + .buttonTextSecondary, ), + onPressed: () async { + await _capturePng(false); + }, ), ), ), From b0c00d8ec706a8193a7494ea2f8b012c7f6f2b8b Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 13:22:21 -0600 Subject: [PATCH 076/191] db refactor and added address labels --- lib/db/main_db.dart | 160 +- lib/models/isar/models/address_label.dart | 32 + lib/models/isar/models/address_label.g.dart | 1071 ++++++++++++ .../{address => blockchain_data}/address.dart | 23 +- .../address.g.dart | 321 +++- .../crypto_currency_address.dart | 0 .../isar/models/blockchain_data/input.dart | 32 +- .../isar/models/blockchain_data/input.g.dart | 672 +------- .../isar/models/blockchain_data/output.dart | 22 +- .../isar/models/blockchain_data/output.g.dart | 638 +------ .../models/blockchain_data/transaction.dart | 52 +- .../models/blockchain_data/transaction.g.dart | 486 ++++-- .../isar/models/blockchain_data/utxo.g.dart | 226 ++- lib/models/isar/models/isar_models.dart | 3 +- .../receive_view/addresses/address_card.dart | 213 ++- .../addresses/address_qr_popup.dart | 9 +- .../addresses/edit_address_label_view.dart | 49 +- lib/route_generator.dart | 7 +- .../coins/bitcoin/bitcoin_wallet.dart | 9 +- .../coins/bitcoincash/bitcoincash_wallet.dart | 48 +- .../coins/dogecoin/dogecoin_wallet.dart | 8 +- .../coins/epiccash/epiccash_wallet.dart | 9 +- lib/services/coins/firo/firo_wallet.dart | 83 +- .../coins/litecoin/litecoin_wallet.dart | 9 +- lib/services/coins/monero/monero_wallet.dart | 9 +- .../coins/namecoin/namecoin_wallet.dart | 9 +- .../coins/particl/particl_wallet.dart | 44 +- .../coins/wownero/wownero_wallet.dart | 9 +- lib/services/mixins/electrum_x_parsing.dart | 9 +- lib/utilities/db_version_migration.dart | 76 +- pubspec.lock | 7 + pubspec.yaml | 1 + test/cached_electrumx_test.mocks.dart | 18 + test/electrumx_test.mocks.dart | 18 + .../pages/send_view/send_view_test.mocks.dart | 1488 +++++++++++------ .../exchange/exchange_view_test.mocks.dart | 18 + .../bitcoin/bitcoin_wallet_test.mocks.dart | 9 + .../bitcoincash_wallet_test.mocks.dart | 9 + .../dogecoin/dogecoin_wallet_test.mocks.dart | 9 + .../services/coins/firo/firo_wallet_test.dart | 2 + .../coins/firo/firo_wallet_test.mocks.dart | 9 + test/services/coins/manager_test.dart | 2 + .../namecoin/namecoin_wallet_test.mocks.dart | 9 + .../particl/particl_wallet_test.mocks.dart | 9 + test/services/wallets_service_test.mocks.dart | 5 + .../managed_favorite_test.mocks.dart | 1426 +++++++++++----- .../node_options_sheet_test.mocks.dart | 18 + .../table_view/table_view_row_test.mocks.dart | 1296 +++++++++----- test/widget_tests/transaction_card_test.dart | 162 +- .../transaction_card_test.mocks.dart | 18 + test/widget_tests/wallet_card_test.mocks.dart | 916 +++++++--- ...et_info_row_balance_future_test.mocks.dart | 1410 +++++++++++----- .../wallet_info_row_test.mocks.dart | 1410 +++++++++++----- 53 files changed, 8242 insertions(+), 4365 deletions(-) create mode 100644 lib/models/isar/models/address_label.dart create mode 100644 lib/models/isar/models/address_label.g.dart rename lib/models/isar/models/{address => blockchain_data}/address.dart (78%) rename lib/models/isar/models/{address => blockchain_data}/address.g.dart (85%) rename lib/models/isar/models/{address => blockchain_data}/crypto_currency_address.dart (100%) diff --git a/lib/db/main_db.dart b/lib/db/main_db.dart index 426e9f493..5e3d94a97 100644 --- a/lib/db/main_db.dart +++ b/lib/db/main_db.dart @@ -1,6 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/exceptions/main_db/main_db_exception.dart'; +import 'package:stackwallet/exceptions/sw_exception.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; import 'package:tuple/tuple.dart'; @@ -24,10 +25,9 @@ class MainDB { [ TransactionSchema, TransactionNoteSchema, - InputSchema, - OutputSchema, UTXOSchema, AddressSchema, + AddressLabelSchema, ], directory: (await StackFileSystem.applicationIsarDirectory()).path, inspector: kDebugMode, @@ -141,6 +141,13 @@ class MainDB { return isar.transactions.getByTxidWalletId(txid, walletId); } + Stream watchTransaction({ + required Id id, + bool fireImmediately = false, + }) { + return isar.transactions.watchObject(id, fireImmediately: fireImmediately); + } + // utxos QueryBuilder getUTXOs(String walletId) => isar.utxos.where().walletIdEqualTo(walletId); @@ -153,30 +160,6 @@ class MainDB { await isar.utxos.putAll(utxos); }); - // inputs - QueryBuilder getInputs(String walletId) => - isar.inputs.where().walletIdEqualTo(walletId); - - Future putInput(Input input) => isar.writeTxn(() async { - await isar.inputs.put(input); - }); - - Future putInputs(List inputs) => isar.writeTxn(() async { - await isar.inputs.putAll(inputs); - }); - - // outputs - QueryBuilder getOutputs(String walletId) => - isar.outputs.where().walletIdEqualTo(walletId); - - Future putOutput(Output output) => isar.writeTxn(() async { - await isar.outputs.put(output); - }); - - Future putOutputs(List outputs) => isar.writeTxn(() async { - await isar.outputs.putAll(outputs); - }); - // transaction notes QueryBuilder getTransactionNotes(String walletId) => @@ -192,13 +175,82 @@ class MainDB { await isar.transactionNotes.putAll(transactionNotes); }); + Future getTransactionNote( + String walletId, String txid) async { + return isar.transactionNotes.getByTxidWalletId( + txid, + walletId, + ); + } + + Stream watchTransactionNote({ + required Id id, + bool fireImmediately = false, + }) { + return isar.transactionNotes + .watchObject(id, fireImmediately: fireImmediately); + } + + // address labels + QueryBuilder getAddressLabels( + String walletId) => + isar.addressLabels.where().walletIdEqualTo(walletId); + + Future putAddressLabel(AddressLabel addressLabel) => + isar.writeTxn(() async { + return await isar.addressLabels.put(addressLabel); + }); + + int putAddressLabelSync(AddressLabel addressLabel) => isar.writeTxnSync(() { + return isar.addressLabels.putSync(addressLabel); + }); + + Future putAddressLabels(List addressLabels) => + isar.writeTxn(() async { + await isar.addressLabels.putAll(addressLabels); + }); + + Future getAddressLabel( + String walletId, String addressString) async { + return isar.addressLabels.getByAddressStringWalletId( + addressString, + walletId, + ); + } + + AddressLabel? getAddressLabelSync(String walletId, String addressString) { + return isar.addressLabels.getByAddressStringWalletIdSync( + addressString, + walletId, + ); + } + + Stream watchAddressLabel({ + required Id id, + bool fireImmediately = false, + }) { + return isar.addressLabels.watchObject(id, fireImmediately: fireImmediately); + } + + Future updateAddressLabel(AddressLabel addressLabel) async { + try { + return await isar.writeTxn(() async { + final deleted = await isar.addresses.delete(addressLabel.id); + if (!deleted) { + throw SWException("Failed to delete $addressLabel before updating"); + } + return await isar.addressLabels.put(addressLabel); + }); + } catch (e) { + throw MainDBException("failed updateAddressLabel", e); + } + } + // Future deleteWalletBlockchainData(String walletId) async { final transactionCount = await getTransactions(walletId).count(); final addressCount = await getAddresses(walletId).count(); final utxoCount = await getUTXOs(walletId).count(); - final inputCount = await getInputs(walletId).count(); - final outputCount = await getOutputs(walletId).count(); await isar.writeTxn(() async { const paginateLimit = 50; @@ -230,28 +282,11 @@ class MainDB { await isar.utxos .deleteAll(utxos.map((e) => e.id).toList(growable: false)); } - - // inputs - for (int i = 0; i < inputCount; i += paginateLimit) { - final inputs = - await getInputs(walletId).offset(i).limit(paginateLimit).findAll(); - await isar.inputs - .deleteAll(inputs.map((e) => e.id).toList(growable: false)); - } - - // outputs - for (int i = 0; i < outputCount; i += paginateLimit) { - final outputs = - await getOutputs(walletId).offset(i).limit(paginateLimit).findAll(); - await isar.outputs - .deleteAll(outputs.map((e) => e.id).toList(growable: false)); - } }); } Future addNewTransactionData( - List, List, Address?>> - transactionsData, + List> transactionsData, String walletId, ) async { try { @@ -259,10 +294,10 @@ class MainDB { for (final data in transactionsData) { final tx = data.item1; - final potentiallyUnconfirmedTx = await getTransactions(walletId) - .filter() - .txidEqualTo(tx.txid) - .findFirst(); + final potentiallyUnconfirmedTx = await getTransaction( + walletId, + tx.txid, + ); if (potentiallyUnconfirmedTx != null) { // update use id to replace tx tx.id = potentiallyUnconfirmedTx.id; @@ -271,33 +306,16 @@ class MainDB { // save transaction await isar.transactions.put(tx); - // link and save outputs - if (data.item2.isNotEmpty) { - await isar.outputs.putAll(data.item2); - tx.outputs.addAll(data.item2); - await tx.outputs.save(); - } - - // link and save inputs - if (data.item3.isNotEmpty) { - await isar.inputs.putAll(data.item3); - tx.inputs.addAll(data.item3); - await tx.inputs.save(); - } - - if (data.item4 != null) { - final address = await getAddresses(walletId) - .filter() - .valueEqualTo(data.item4!.value) - .findFirst(); + if (data.item2 != null) { + final address = await getAddress(walletId, data.item2!.value); // check if address exists in db and add if it does not if (address == null) { - await isar.addresses.put(data.item4!); + await isar.addresses.put(data.item2!); } // link and save address - tx.address.value = address ?? data.item4!; + tx.address.value = address ?? data.item2!; await tx.address.save(); } } diff --git a/lib/models/isar/models/address_label.dart b/lib/models/isar/models/address_label.dart new file mode 100644 index 000000000..f3efa8acf --- /dev/null +++ b/lib/models/isar/models/address_label.dart @@ -0,0 +1,32 @@ +import 'package:isar/isar.dart'; + +part 'address_label.g.dart'; + +@Collection() +class AddressLabel { + AddressLabel({ + required this.walletId, + required this.addressString, + required this.value, + }); + + Id id = Isar.autoIncrement; + + @Index() + late final String walletId; + + @Index(unique: true, composite: [CompositeIndex("walletId")]) + late final String addressString; + + late final String value; + + AddressLabel copyWith({String? label, Id? id}) { + final addressLabel = AddressLabel( + walletId: walletId, + addressString: addressString, + value: label ?? value, + ); + addressLabel.id = id ?? this.id; + return addressLabel; + } +} diff --git a/lib/models/isar/models/address_label.g.dart b/lib/models/isar/models/address_label.g.dart new file mode 100644 index 000000000..1cd21f035 --- /dev/null +++ b/lib/models/isar/models/address_label.g.dart @@ -0,0 +1,1071 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'address_label.dart'; + +// ************************************************************************** +// IsarCollectionGenerator +// ************************************************************************** + +// coverage:ignore-file +// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters + +extension GetAddressLabelCollection on Isar { + IsarCollection get addressLabels => this.collection(); +} + +const AddressLabelSchema = CollectionSchema( + name: r'AddressLabel', + id: 75734181566197428, + properties: { + r'addressString': PropertySchema( + id: 0, + name: r'addressString', + type: IsarType.string, + ), + r'value': PropertySchema( + id: 1, + name: r'value', + type: IsarType.string, + ), + r'walletId': PropertySchema( + id: 2, + name: r'walletId', + type: IsarType.string, + ) + }, + estimateSize: _addressLabelEstimateSize, + serialize: _addressLabelSerialize, + deserialize: _addressLabelDeserialize, + deserializeProp: _addressLabelDeserializeProp, + idName: r'id', + indexes: { + r'walletId': IndexSchema( + id: -1783113319798776304, + name: r'walletId', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'walletId', + type: IndexType.hash, + caseSensitive: true, + ) + ], + ), + r'addressString_walletId': IndexSchema( + id: -3907148833323637842, + name: r'addressString_walletId', + unique: true, + replace: false, + properties: [ + IndexPropertySchema( + name: r'addressString', + type: IndexType.hash, + caseSensitive: true, + ), + IndexPropertySchema( + name: r'walletId', + type: IndexType.hash, + caseSensitive: true, + ) + ], + ) + }, + links: {}, + embeddedSchemas: {}, + getId: _addressLabelGetId, + getLinks: _addressLabelGetLinks, + attach: _addressLabelAttach, + version: '3.0.5', +); + +int _addressLabelEstimateSize( + AddressLabel object, + List offsets, + Map> allOffsets, +) { + var bytesCount = offsets.last; + bytesCount += 3 + object.addressString.length * 3; + bytesCount += 3 + object.value.length * 3; + bytesCount += 3 + object.walletId.length * 3; + return bytesCount; +} + +void _addressLabelSerialize( + AddressLabel object, + IsarWriter writer, + List offsets, + Map> allOffsets, +) { + writer.writeString(offsets[0], object.addressString); + writer.writeString(offsets[1], object.value); + writer.writeString(offsets[2], object.walletId); +} + +AddressLabel _addressLabelDeserialize( + Id id, + IsarReader reader, + List offsets, + Map> allOffsets, +) { + final object = AddressLabel( + addressString: reader.readString(offsets[0]), + value: reader.readString(offsets[1]), + walletId: reader.readString(offsets[2]), + ); + object.id = id; + return object; +} + +P _addressLabelDeserializeProp

( + IsarReader reader, + int propertyId, + int offset, + Map> allOffsets, +) { + switch (propertyId) { + case 0: + return (reader.readString(offset)) as P; + case 1: + return (reader.readString(offset)) as P; + case 2: + return (reader.readString(offset)) as P; + default: + throw IsarError('Unknown property with id $propertyId'); + } +} + +Id _addressLabelGetId(AddressLabel object) { + return object.id; +} + +List> _addressLabelGetLinks(AddressLabel object) { + return []; +} + +void _addressLabelAttach( + IsarCollection col, Id id, AddressLabel object) { + object.id = id; +} + +extension AddressLabelByIndex on IsarCollection { + Future getByAddressStringWalletId( + String addressString, String walletId) { + return getByIndex(r'addressString_walletId', [addressString, walletId]); + } + + AddressLabel? getByAddressStringWalletIdSync( + String addressString, String walletId) { + return getByIndexSync(r'addressString_walletId', [addressString, walletId]); + } + + Future deleteByAddressStringWalletId( + String addressString, String walletId) { + return deleteByIndex(r'addressString_walletId', [addressString, walletId]); + } + + bool deleteByAddressStringWalletIdSync( + String addressString, String walletId) { + return deleteByIndexSync( + r'addressString_walletId', [addressString, walletId]); + } + + Future> getAllByAddressStringWalletId( + List addressStringValues, List walletIdValues) { + final len = addressStringValues.length; + assert(walletIdValues.length == len, + 'All index values must have the same length'); + final values = >[]; + for (var i = 0; i < len; i++) { + values.add([addressStringValues[i], walletIdValues[i]]); + } + + return getAllByIndex(r'addressString_walletId', values); + } + + List getAllByAddressStringWalletIdSync( + List addressStringValues, List walletIdValues) { + final len = addressStringValues.length; + assert(walletIdValues.length == len, + 'All index values must have the same length'); + final values = >[]; + for (var i = 0; i < len; i++) { + values.add([addressStringValues[i], walletIdValues[i]]); + } + + return getAllByIndexSync(r'addressString_walletId', values); + } + + Future deleteAllByAddressStringWalletId( + List addressStringValues, List walletIdValues) { + final len = addressStringValues.length; + assert(walletIdValues.length == len, + 'All index values must have the same length'); + final values = >[]; + for (var i = 0; i < len; i++) { + values.add([addressStringValues[i], walletIdValues[i]]); + } + + return deleteAllByIndex(r'addressString_walletId', values); + } + + int deleteAllByAddressStringWalletIdSync( + List addressStringValues, List walletIdValues) { + final len = addressStringValues.length; + assert(walletIdValues.length == len, + 'All index values must have the same length'); + final values = >[]; + for (var i = 0; i < len; i++) { + values.add([addressStringValues[i], walletIdValues[i]]); + } + + return deleteAllByIndexSync(r'addressString_walletId', values); + } + + Future putByAddressStringWalletId(AddressLabel object) { + return putByIndex(r'addressString_walletId', object); + } + + Id putByAddressStringWalletIdSync(AddressLabel object, + {bool saveLinks = true}) { + return putByIndexSync(r'addressString_walletId', object, + saveLinks: saveLinks); + } + + Future> putAllByAddressStringWalletId(List objects) { + return putAllByIndex(r'addressString_walletId', objects); + } + + List putAllByAddressStringWalletIdSync(List objects, + {bool saveLinks = true}) { + return putAllByIndexSync(r'addressString_walletId', objects, + saveLinks: saveLinks); + } +} + +extension AddressLabelQueryWhereSort + on QueryBuilder { + QueryBuilder anyId() { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(const IdWhereClause.any()); + }); + } +} + +extension AddressLabelQueryWhere + on QueryBuilder { + QueryBuilder idEqualTo(Id id) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: id, + upper: id, + )); + }); + } + + QueryBuilder idNotEqualTo( + Id id) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ) + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ); + } else { + return query + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ) + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ); + } + }); + } + + QueryBuilder idGreaterThan( + Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: include), + ); + }); + } + + QueryBuilder idLessThan(Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: include), + ); + }); + } + + QueryBuilder idBetween( + Id lowerId, + Id upperId, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: lowerId, + includeLower: includeLower, + upper: upperId, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder walletIdEqualTo( + String walletId) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'walletId', + value: [walletId], + )); + }); + } + + QueryBuilder + walletIdNotEqualTo(String walletId) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'walletId', + lower: [], + upper: [walletId], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'walletId', + lower: [walletId], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'walletId', + lower: [walletId], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'walletId', + lower: [], + upper: [walletId], + includeUpper: false, + )); + } + }); + } + + QueryBuilder + addressStringEqualToAnyWalletId(String addressString) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'addressString_walletId', + value: [addressString], + )); + }); + } + + QueryBuilder + addressStringNotEqualToAnyWalletId(String addressString) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [], + upper: [addressString], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [addressString], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [addressString], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [], + upper: [addressString], + includeUpper: false, + )); + } + }); + } + + QueryBuilder + addressStringWalletIdEqualTo(String addressString, String walletId) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'addressString_walletId', + value: [addressString, walletId], + )); + }); + } + + QueryBuilder + addressStringEqualToWalletIdNotEqualTo( + String addressString, String walletId) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [addressString], + upper: [addressString, walletId], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [addressString, walletId], + includeLower: false, + upper: [addressString], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [addressString, walletId], + includeLower: false, + upper: [addressString], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'addressString_walletId', + lower: [addressString], + upper: [addressString, walletId], + includeUpper: false, + )); + } + }); + } +} + +extension AddressLabelQueryFilter + on QueryBuilder { + QueryBuilder + addressStringEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'addressString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'addressString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'addressString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'addressString', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'addressString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'addressString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'addressString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'addressString', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + addressStringIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'addressString', + value: '', + )); + }); + } + + QueryBuilder + addressStringIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'addressString', + value: '', + )); + }); + } + + QueryBuilder idEqualTo( + Id value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idGreaterThan( + Id value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idLessThan( + Id value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idBetween( + Id lower, + Id upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'id', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder valueEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder valueLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder valueBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'value', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder valueEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder valueContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder valueMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'value', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'value', + value: '', + )); + }); + } + + QueryBuilder + valueIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'value', + value: '', + )); + }); + } + + QueryBuilder + walletIdEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'walletId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'walletId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'walletId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'walletId', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'walletId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'walletId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'walletId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'walletId', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + walletIdIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'walletId', + value: '', + )); + }); + } + + QueryBuilder + walletIdIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'walletId', + value: '', + )); + }); + } +} + +extension AddressLabelQueryObject + on QueryBuilder {} + +extension AddressLabelQueryLinks + on QueryBuilder {} + +extension AddressLabelQuerySortBy + on QueryBuilder { + QueryBuilder sortByAddressString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'addressString', Sort.asc); + }); + } + + QueryBuilder + sortByAddressStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'addressString', Sort.desc); + }); + } + + QueryBuilder sortByValue() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'value', Sort.asc); + }); + } + + QueryBuilder sortByValueDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'value', Sort.desc); + }); + } + + QueryBuilder sortByWalletId() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'walletId', Sort.asc); + }); + } + + QueryBuilder sortByWalletIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'walletId', Sort.desc); + }); + } +} + +extension AddressLabelQuerySortThenBy + on QueryBuilder { + QueryBuilder thenByAddressString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'addressString', Sort.asc); + }); + } + + QueryBuilder + thenByAddressStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'addressString', Sort.desc); + }); + } + + QueryBuilder thenById() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.asc); + }); + } + + QueryBuilder thenByIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.desc); + }); + } + + QueryBuilder thenByValue() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'value', Sort.asc); + }); + } + + QueryBuilder thenByValueDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'value', Sort.desc); + }); + } + + QueryBuilder thenByWalletId() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'walletId', Sort.asc); + }); + } + + QueryBuilder thenByWalletIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'walletId', Sort.desc); + }); + } +} + +extension AddressLabelQueryWhereDistinct + on QueryBuilder { + QueryBuilder distinctByAddressString( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'addressString', + caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByValue( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'value', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByWalletId( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'walletId', caseSensitive: caseSensitive); + }); + } +} + +extension AddressLabelQueryProperty + on QueryBuilder { + QueryBuilder idProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'id'); + }); + } + + QueryBuilder addressStringProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'addressString'); + }); + } + + QueryBuilder valueProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'value'); + }); + } + + QueryBuilder walletIdProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'walletId'); + }); + } +} diff --git a/lib/models/isar/models/address/address.dart b/lib/models/isar/models/blockchain_data/address.dart similarity index 78% rename from lib/models/isar/models/address/address.dart rename to lib/models/isar/models/blockchain_data/address.dart index 1f0d48f8f..b131c20f8 100644 --- a/lib/models/isar/models/address/address.dart +++ b/lib/models/isar/models/blockchain_data/address.dart @@ -1,6 +1,7 @@ +import 'package:equatable/equatable.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/exceptions/address/address_exception.dart'; -import 'package:stackwallet/models/isar/models/address/crypto_currency_address.dart'; +import 'package:stackwallet/models/isar/models/blockchain_data/crypto_currency_address.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; part 'address.g.dart'; @@ -12,6 +13,7 @@ class Address extends CryptoCurrencyAddress { required this.value, required this.publicKey, required this.derivationIndex, + // required this.derivationPath, required this.type, required this.subType, this.otherData, @@ -36,6 +38,8 @@ class Address extends CryptoCurrencyAddress { @enumerated late final AddressSubType subType; + late final DerivationPath? derivationPath; + late final String? otherData; final transactions = IsarLinks(); @@ -65,6 +69,7 @@ class Address extends CryptoCurrencyAddress { "type: ${type.name}, " "subType: ${subType.name}, " "transactionsLength: ${transactions.length} " + "derivationPath: $derivationPath, " "otherData: $otherData, " "}"; } @@ -90,3 +95,19 @@ enum AddressSubType { unknown, nonWallet, } + +@Embedded(inheritance: false) +class DerivationPath extends Equatable { + late final String value; + + List getComponents() => value.split("/"); + + String getPurpose() => getComponents()[1]; + + @override + toString() => value; + + @ignore + @override + List get props => [value]; +} diff --git a/lib/models/isar/models/address/address.g.dart b/lib/models/isar/models/blockchain_data/address.g.dart similarity index 85% rename from lib/models/isar/models/address/address.g.dart rename to lib/models/isar/models/blockchain_data/address.g.dart index 6ff9f44b0..567dc993a 100644 --- a/lib/models/isar/models/address/address.g.dart +++ b/lib/models/isar/models/blockchain_data/address.g.dart @@ -22,35 +22,41 @@ const AddressSchema = CollectionSchema( name: r'derivationIndex', type: IsarType.long, ), - r'otherData': PropertySchema( + r'derivationPath': PropertySchema( id: 1, + name: r'derivationPath', + type: IsarType.object, + target: r'DerivationPath', + ), + r'otherData': PropertySchema( + id: 2, name: r'otherData', type: IsarType.string, ), r'publicKey': PropertySchema( - id: 2, + id: 3, name: r'publicKey', type: IsarType.byteList, ), r'subType': PropertySchema( - id: 3, + id: 4, name: r'subType', type: IsarType.byte, enumMap: _AddresssubTypeEnumValueMap, ), r'type': PropertySchema( - id: 4, + id: 5, name: r'type', type: IsarType.byte, enumMap: _AddresstypeEnumValueMap, ), r'value': PropertySchema( - id: 5, + id: 6, name: r'value', type: IsarType.string, ), r'walletId': PropertySchema( - id: 6, + id: 7, name: r'walletId', type: IsarType.string, ) @@ -114,7 +120,7 @@ const AddressSchema = CollectionSchema( single: false, ) }, - embeddedSchemas: {}, + embeddedSchemas: {r'DerivationPath': DerivationPathSchema}, getId: _addressGetId, getLinks: _addressGetLinks, attach: _addressAttach, @@ -127,6 +133,14 @@ int _addressEstimateSize( Map> allOffsets, ) { var bytesCount = offsets.last; + { + final value = object.derivationPath; + if (value != null) { + bytesCount += 3 + + DerivationPathSchema.estimateSize( + value, allOffsets[DerivationPath]!, allOffsets); + } + } { final value = object.otherData; if (value != null) { @@ -146,12 +160,18 @@ void _addressSerialize( Map> allOffsets, ) { writer.writeLong(offsets[0], object.derivationIndex); - writer.writeString(offsets[1], object.otherData); - writer.writeByteList(offsets[2], object.publicKey); - writer.writeByte(offsets[3], object.subType.index); - writer.writeByte(offsets[4], object.type.index); - writer.writeString(offsets[5], object.value); - writer.writeString(offsets[6], object.walletId); + writer.writeObject( + offsets[1], + allOffsets, + DerivationPathSchema.serialize, + object.derivationPath, + ); + writer.writeString(offsets[2], object.otherData); + writer.writeByteList(offsets[3], object.publicKey); + writer.writeByte(offsets[4], object.subType.index); + writer.writeByte(offsets[5], object.type.index); + writer.writeString(offsets[6], object.value); + writer.writeString(offsets[7], object.walletId); } Address _addressDeserialize( @@ -162,14 +182,19 @@ Address _addressDeserialize( ) { final object = Address( derivationIndex: reader.readLong(offsets[0]), - otherData: reader.readStringOrNull(offsets[1]), - publicKey: reader.readByteList(offsets[2]) ?? [], - subType: _AddresssubTypeValueEnumMap[reader.readByteOrNull(offsets[3])] ?? + otherData: reader.readStringOrNull(offsets[2]), + publicKey: reader.readByteList(offsets[3]) ?? [], + subType: _AddresssubTypeValueEnumMap[reader.readByteOrNull(offsets[4])] ?? AddressSubType.receiving, - type: _AddresstypeValueEnumMap[reader.readByteOrNull(offsets[4])] ?? + type: _AddresstypeValueEnumMap[reader.readByteOrNull(offsets[5])] ?? AddressType.p2pkh, - value: reader.readString(offsets[5]), - walletId: reader.readString(offsets[6]), + value: reader.readString(offsets[6]), + walletId: reader.readString(offsets[7]), + ); + object.derivationPath = reader.readObjectOrNull( + offsets[1], + DerivationPathSchema.deserialize, + allOffsets, ); object.id = id; return object; @@ -185,19 +210,25 @@ P _addressDeserializeProp

( case 0: return (reader.readLong(offset)) as P; case 1: - return (reader.readStringOrNull(offset)) as P; + return (reader.readObjectOrNull( + offset, + DerivationPathSchema.deserialize, + allOffsets, + )) as P; case 2: - return (reader.readByteList(offset) ?? []) as P; + return (reader.readStringOrNull(offset)) as P; case 3: + return (reader.readByteList(offset) ?? []) as P; + case 4: return (_AddresssubTypeValueEnumMap[reader.readByteOrNull(offset)] ?? AddressSubType.receiving) as P; - case 4: + case 5: return (_AddresstypeValueEnumMap[reader.readByteOrNull(offset)] ?? AddressType.p2pkh) as P; - case 5: - return (reader.readString(offset)) as P; case 6: return (reader.readString(offset)) as P; + case 7: + return (reader.readString(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); } @@ -705,6 +736,23 @@ extension AddressQueryFilter }); } + QueryBuilder derivationPathIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'derivationPath', + )); + }); + } + + QueryBuilder + derivationPathIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'derivationPath', + )); + }); + } + QueryBuilder idEqualTo(Id value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( @@ -1411,7 +1459,14 @@ extension AddressQueryFilter } extension AddressQueryObject - on QueryBuilder {} + on QueryBuilder { + QueryBuilder derivationPath( + FilterQuery q) { + return QueryBuilder.apply(this, (query) { + return query.object(q, r'derivationPath'); + }); + } +} extension AddressQueryLinks on QueryBuilder { @@ -1699,6 +1754,13 @@ extension AddressQueryProperty }); } + QueryBuilder + derivationPathProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'derivationPath'); + }); + } + QueryBuilder otherDataProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'otherData'); @@ -1735,3 +1797,212 @@ extension AddressQueryProperty }); } } + +// ************************************************************************** +// IsarEmbeddedGenerator +// ************************************************************************** + +// coverage:ignore-file +// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters + +const DerivationPathSchema = Schema( + name: r'DerivationPath', + id: -7377061614393881103, + properties: { + r'value': PropertySchema( + id: 0, + name: r'value', + type: IsarType.string, + ) + }, + estimateSize: _derivationPathEstimateSize, + serialize: _derivationPathSerialize, + deserialize: _derivationPathDeserialize, + deserializeProp: _derivationPathDeserializeProp, +); + +int _derivationPathEstimateSize( + DerivationPath object, + List offsets, + Map> allOffsets, +) { + var bytesCount = offsets.last; + bytesCount += 3 + object.value.length * 3; + return bytesCount; +} + +void _derivationPathSerialize( + DerivationPath object, + IsarWriter writer, + List offsets, + Map> allOffsets, +) { + writer.writeString(offsets[0], object.value); +} + +DerivationPath _derivationPathDeserialize( + Id id, + IsarReader reader, + List offsets, + Map> allOffsets, +) { + final object = DerivationPath(); + object.value = reader.readString(offsets[0]); + return object; +} + +P _derivationPathDeserializeProp

( + IsarReader reader, + int propertyId, + int offset, + Map> allOffsets, +) { + switch (propertyId) { + case 0: + return (reader.readString(offset)) as P; + default: + throw IsarError('Unknown property with id $propertyId'); + } +} + +extension DerivationPathQueryFilter + on QueryBuilder { + QueryBuilder + valueEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'value', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'value', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'value', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + valueIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'value', + value: '', + )); + }); + } + + QueryBuilder + valueIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'value', + value: '', + )); + }); + } +} + +extension DerivationPathQueryObject + on QueryBuilder {} diff --git a/lib/models/isar/models/address/crypto_currency_address.dart b/lib/models/isar/models/blockchain_data/crypto_currency_address.dart similarity index 100% rename from lib/models/isar/models/address/crypto_currency_address.dart rename to lib/models/isar/models/blockchain_data/crypto_currency_address.dart diff --git a/lib/models/isar/models/blockchain_data/input.dart b/lib/models/isar/models/blockchain_data/input.dart index 58bbef889..9cee0db08 100644 --- a/lib/models/isar/models/blockchain_data/input.dart +++ b/lib/models/isar/models/blockchain_data/input.dart @@ -1,27 +1,19 @@ import 'package:isar/isar.dart'; -import 'package:stackwallet/models/isar/models/blockchain_data/output.dart'; -import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; part 'input.g.dart'; -@Collection() +@embedded class Input { Input({ - required this.walletId, - required this.txid, - required this.vout, - required this.scriptSig, - required this.scriptSigAsm, - required this.isCoinbase, - required this.sequence, - required this.innerRedeemScriptAsm, + this.txid = "error", + this.vout = -1, + this.scriptSig, + this.scriptSigAsm, + this.isCoinbase, + this.sequence, + this.innerRedeemScriptAsm, }); - Id id = Isar.autoIncrement; - - @Index() - late final String walletId; - late final String txid; late final int vout; @@ -30,17 +22,11 @@ class Input { late final String? scriptSigAsm; - // TODO: find witness type // is it even used? - // late List? witness; + late final String? witness; late final bool? isCoinbase; late final int? sequence; late final String? innerRedeemScriptAsm; - - final prevOut = IsarLink(); - - @Backlink(to: 'inputs') - final transaction = IsarLink(); } diff --git a/lib/models/isar/models/blockchain_data/input.g.dart b/lib/models/isar/models/blockchain_data/input.g.dart index 499538b42..d197c2fdc 100644 --- a/lib/models/isar/models/blockchain_data/input.g.dart +++ b/lib/models/isar/models/blockchain_data/input.g.dart @@ -3,17 +3,13 @@ part of 'input.dart'; // ************************************************************************** -// IsarCollectionGenerator +// IsarEmbeddedGenerator // ************************************************************************** // coverage:ignore-file // ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters -extension GetInputCollection on Isar { - IsarCollection get inputs => this.collection(); -} - -const InputSchema = CollectionSchema( +const InputSchema = Schema( name: r'Input', id: 1962449150546623042, properties: { @@ -52,9 +48,9 @@ const InputSchema = CollectionSchema( name: r'vout', type: IsarType.long, ), - r'walletId': PropertySchema( + r'witness': PropertySchema( id: 7, - name: r'walletId', + name: r'witness', type: IsarType.string, ) }, @@ -62,42 +58,6 @@ const InputSchema = CollectionSchema( serialize: _inputSerialize, deserialize: _inputDeserialize, deserializeProp: _inputDeserializeProp, - idName: r'id', - indexes: { - r'walletId': IndexSchema( - id: -1783113319798776304, - name: r'walletId', - unique: false, - replace: false, - properties: [ - IndexPropertySchema( - name: r'walletId', - type: IndexType.hash, - caseSensitive: true, - ) - ], - ) - }, - links: { - r'prevOut': LinkSchema( - id: 2963704715567457192, - name: r'prevOut', - target: r'Output', - single: true, - ), - r'transaction': LinkSchema( - id: -7488914266019463608, - name: r'transaction', - target: r'Transaction', - single: true, - linkName: r'inputs', - ) - }, - embeddedSchemas: {}, - getId: _inputGetId, - getLinks: _inputGetLinks, - attach: _inputAttach, - version: '3.0.5', ); int _inputEstimateSize( @@ -125,7 +85,12 @@ int _inputEstimateSize( } } bytesCount += 3 + object.txid.length * 3; - bytesCount += 3 + object.walletId.length * 3; + { + final value = object.witness; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } return bytesCount; } @@ -142,7 +107,7 @@ void _inputSerialize( writer.writeLong(offsets[4], object.sequence); writer.writeString(offsets[5], object.txid); writer.writeLong(offsets[6], object.vout); - writer.writeString(offsets[7], object.walletId); + writer.writeString(offsets[7], object.witness); } Input _inputDeserialize( @@ -157,11 +122,10 @@ Input _inputDeserialize( scriptSig: reader.readStringOrNull(offsets[2]), scriptSigAsm: reader.readStringOrNull(offsets[3]), sequence: reader.readLongOrNull(offsets[4]), - txid: reader.readString(offsets[5]), - vout: reader.readLong(offsets[6]), - walletId: reader.readString(offsets[7]), + txid: reader.readStringOrNull(offsets[5]) ?? "error", + vout: reader.readLongOrNull(offsets[6]) ?? -1, ); - object.id = id; + object.witness = reader.readStringOrNull(offsets[7]); return object; } @@ -183,204 +147,17 @@ P _inputDeserializeProp

( case 4: return (reader.readLongOrNull(offset)) as P; case 5: - return (reader.readString(offset)) as P; + return (reader.readStringOrNull(offset) ?? "error") as P; case 6: - return (reader.readLong(offset)) as P; + return (reader.readLongOrNull(offset) ?? -1) as P; case 7: - return (reader.readString(offset)) as P; + return (reader.readStringOrNull(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); } } -Id _inputGetId(Input object) { - return object.id; -} - -List> _inputGetLinks(Input object) { - return [object.prevOut, object.transaction]; -} - -void _inputAttach(IsarCollection col, Id id, Input object) { - object.id = id; - object.prevOut.attach(col, col.isar.collection(), r'prevOut', id); - object.transaction - .attach(col, col.isar.collection(), r'transaction', id); -} - -extension InputQueryWhereSort on QueryBuilder { - QueryBuilder anyId() { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(const IdWhereClause.any()); - }); - } -} - -extension InputQueryWhere on QueryBuilder { - QueryBuilder idEqualTo(Id id) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IdWhereClause.between( - lower: id, - upper: id, - )); - }); - } - - QueryBuilder idNotEqualTo(Id id) { - return QueryBuilder.apply(this, (query) { - if (query.whereSort == Sort.asc) { - return query - .addWhereClause( - IdWhereClause.lessThan(upper: id, includeUpper: false), - ) - .addWhereClause( - IdWhereClause.greaterThan(lower: id, includeLower: false), - ); - } else { - return query - .addWhereClause( - IdWhereClause.greaterThan(lower: id, includeLower: false), - ) - .addWhereClause( - IdWhereClause.lessThan(upper: id, includeUpper: false), - ); - } - }); - } - - QueryBuilder idGreaterThan(Id id, - {bool include = false}) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause( - IdWhereClause.greaterThan(lower: id, includeLower: include), - ); - }); - } - - QueryBuilder idLessThan(Id id, - {bool include = false}) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause( - IdWhereClause.lessThan(upper: id, includeUpper: include), - ); - }); - } - - QueryBuilder idBetween( - Id lowerId, - Id upperId, { - bool includeLower = true, - bool includeUpper = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IdWhereClause.between( - lower: lowerId, - includeLower: includeLower, - upper: upperId, - includeUpper: includeUpper, - )); - }); - } - - QueryBuilder walletIdEqualTo( - String walletId) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IndexWhereClause.equalTo( - indexName: r'walletId', - value: [walletId], - )); - }); - } - - QueryBuilder walletIdNotEqualTo( - String walletId) { - return QueryBuilder.apply(this, (query) { - if (query.whereSort == Sort.asc) { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [], - upper: [walletId], - includeUpper: false, - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [walletId], - includeLower: false, - upper: [], - )); - } else { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [walletId], - includeLower: false, - upper: [], - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [], - upper: [walletId], - includeUpper: false, - )); - } - }); - } -} - extension InputQueryFilter on QueryBuilder { - QueryBuilder idEqualTo(Id value) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'id', - value: value, - )); - }); - } - - QueryBuilder idGreaterThan( - Id value, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - include: include, - property: r'id', - value: value, - )); - }); - } - - QueryBuilder idLessThan( - Id value, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.lessThan( - include: include, - property: r'id', - value: value, - )); - }); - } - - QueryBuilder idBetween( - Id lower, - Id upper, { - bool includeLower = true, - bool includeUpper = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.between( - property: r'id', - lower: lower, - includeLower: includeLower, - upper: upper, - includeUpper: includeUpper, - )); - }); - } - QueryBuilder innerRedeemScriptAsmIsNull() { return QueryBuilder.apply(this, (query) { @@ -1101,59 +878,75 @@ extension InputQueryFilter on QueryBuilder { }); } - QueryBuilder walletIdEqualTo( - String value, { + QueryBuilder witnessIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'witness', + )); + }); + } + + QueryBuilder witnessIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'witness', + )); + }); + } + + QueryBuilder witnessEqualTo( + String? value, { bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( - property: r'walletId', + property: r'witness', value: value, caseSensitive: caseSensitive, )); }); } - QueryBuilder walletIdGreaterThan( - String value, { + QueryBuilder witnessGreaterThan( + String? value, { bool include = false, bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, - property: r'walletId', + property: r'witness', value: value, caseSensitive: caseSensitive, )); }); } - QueryBuilder walletIdLessThan( - String value, { + QueryBuilder witnessLessThan( + String? value, { bool include = false, bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, - property: r'walletId', + property: r'witness', value: value, caseSensitive: caseSensitive, )); }); } - QueryBuilder walletIdBetween( - String lower, - String upper, { + QueryBuilder witnessBetween( + String? lower, + String? upper, { bool includeLower = true, bool includeUpper = true, bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( - property: r'walletId', + property: r'witness', lower: lower, includeLower: includeLower, upper: upper, @@ -1163,69 +956,69 @@ extension InputQueryFilter on QueryBuilder { }); } - QueryBuilder walletIdStartsWith( + QueryBuilder witnessStartsWith( String value, { bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.startsWith( - property: r'walletId', + property: r'witness', value: value, caseSensitive: caseSensitive, )); }); } - QueryBuilder walletIdEndsWith( + QueryBuilder witnessEndsWith( String value, { bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.endsWith( - property: r'walletId', + property: r'witness', value: value, caseSensitive: caseSensitive, )); }); } - QueryBuilder walletIdContains( + QueryBuilder witnessContains( String value, {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.contains( - property: r'walletId', + property: r'witness', value: value, caseSensitive: caseSensitive, )); }); } - QueryBuilder walletIdMatches( + QueryBuilder witnessMatches( String pattern, {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.matches( - property: r'walletId', + property: r'witness', wildcard: pattern, caseSensitive: caseSensitive, )); }); } - QueryBuilder walletIdIsEmpty() { + QueryBuilder witnessIsEmpty() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( - property: r'walletId', + property: r'witness', value: '', )); }); } - QueryBuilder walletIdIsNotEmpty() { + QueryBuilder witnessIsNotEmpty() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( - property: r'walletId', + property: r'witness', value: '', )); }); @@ -1233,352 +1026,3 @@ extension InputQueryFilter on QueryBuilder { } extension InputQueryObject on QueryBuilder {} - -extension InputQueryLinks on QueryBuilder { - QueryBuilder prevOut( - FilterQuery q) { - return QueryBuilder.apply(this, (query) { - return query.link(q, r'prevOut'); - }); - } - - QueryBuilder prevOutIsNull() { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'prevOut', 0, true, 0, true); - }); - } - - QueryBuilder transaction( - FilterQuery q) { - return QueryBuilder.apply(this, (query) { - return query.link(q, r'transaction'); - }); - } - - QueryBuilder transactionIsNull() { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'transaction', 0, true, 0, true); - }); - } -} - -extension InputQuerySortBy on QueryBuilder { - QueryBuilder sortByInnerRedeemScriptAsm() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'innerRedeemScriptAsm', Sort.asc); - }); - } - - QueryBuilder sortByInnerRedeemScriptAsmDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'innerRedeemScriptAsm', Sort.desc); - }); - } - - QueryBuilder sortByIsCoinbase() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'isCoinbase', Sort.asc); - }); - } - - QueryBuilder sortByIsCoinbaseDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'isCoinbase', Sort.desc); - }); - } - - QueryBuilder sortByScriptSig() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSig', Sort.asc); - }); - } - - QueryBuilder sortByScriptSigDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSig', Sort.desc); - }); - } - - QueryBuilder sortByScriptSigAsm() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSigAsm', Sort.asc); - }); - } - - QueryBuilder sortByScriptSigAsmDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSigAsm', Sort.desc); - }); - } - - QueryBuilder sortBySequence() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'sequence', Sort.asc); - }); - } - - QueryBuilder sortBySequenceDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'sequence', Sort.desc); - }); - } - - QueryBuilder sortByTxid() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'txid', Sort.asc); - }); - } - - QueryBuilder sortByTxidDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'txid', Sort.desc); - }); - } - - QueryBuilder sortByVout() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'vout', Sort.asc); - }); - } - - QueryBuilder sortByVoutDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'vout', Sort.desc); - }); - } - - QueryBuilder sortByWalletId() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.asc); - }); - } - - QueryBuilder sortByWalletIdDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.desc); - }); - } -} - -extension InputQuerySortThenBy on QueryBuilder { - QueryBuilder thenById() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'id', Sort.asc); - }); - } - - QueryBuilder thenByIdDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'id', Sort.desc); - }); - } - - QueryBuilder thenByInnerRedeemScriptAsm() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'innerRedeemScriptAsm', Sort.asc); - }); - } - - QueryBuilder thenByInnerRedeemScriptAsmDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'innerRedeemScriptAsm', Sort.desc); - }); - } - - QueryBuilder thenByIsCoinbase() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'isCoinbase', Sort.asc); - }); - } - - QueryBuilder thenByIsCoinbaseDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'isCoinbase', Sort.desc); - }); - } - - QueryBuilder thenByScriptSig() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSig', Sort.asc); - }); - } - - QueryBuilder thenByScriptSigDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSig', Sort.desc); - }); - } - - QueryBuilder thenByScriptSigAsm() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSigAsm', Sort.asc); - }); - } - - QueryBuilder thenByScriptSigAsmDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptSigAsm', Sort.desc); - }); - } - - QueryBuilder thenBySequence() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'sequence', Sort.asc); - }); - } - - QueryBuilder thenBySequenceDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'sequence', Sort.desc); - }); - } - - QueryBuilder thenByTxid() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'txid', Sort.asc); - }); - } - - QueryBuilder thenByTxidDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'txid', Sort.desc); - }); - } - - QueryBuilder thenByVout() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'vout', Sort.asc); - }); - } - - QueryBuilder thenByVoutDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'vout', Sort.desc); - }); - } - - QueryBuilder thenByWalletId() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.asc); - }); - } - - QueryBuilder thenByWalletIdDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.desc); - }); - } -} - -extension InputQueryWhereDistinct on QueryBuilder { - QueryBuilder distinctByInnerRedeemScriptAsm( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'innerRedeemScriptAsm', - caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctByIsCoinbase() { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'isCoinbase'); - }); - } - - QueryBuilder distinctByScriptSig( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'scriptSig', caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctByScriptSigAsm( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'scriptSigAsm', caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctBySequence() { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'sequence'); - }); - } - - QueryBuilder distinctByTxid( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'txid', caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctByVout() { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'vout'); - }); - } - - QueryBuilder distinctByWalletId( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'walletId', caseSensitive: caseSensitive); - }); - } -} - -extension InputQueryProperty on QueryBuilder { - QueryBuilder idProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'id'); - }); - } - - QueryBuilder - innerRedeemScriptAsmProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'innerRedeemScriptAsm'); - }); - } - - QueryBuilder isCoinbaseProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'isCoinbase'); - }); - } - - QueryBuilder scriptSigProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'scriptSig'); - }); - } - - QueryBuilder scriptSigAsmProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'scriptSigAsm'); - }); - } - - QueryBuilder sequenceProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'sequence'); - }); - } - - QueryBuilder txidProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'txid'); - }); - } - - QueryBuilder voutProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'vout'); - }); - } - - QueryBuilder walletIdProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'walletId'); - }); - } -} diff --git a/lib/models/isar/models/blockchain_data/output.dart b/lib/models/isar/models/blockchain_data/output.dart index d5e934511..375905ad8 100644 --- a/lib/models/isar/models/blockchain_data/output.dart +++ b/lib/models/isar/models/blockchain_data/output.dart @@ -1,24 +1,17 @@ import 'package:isar/isar.dart'; -import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; part 'output.g.dart'; -@Collection() +@embedded class Output { Output({ - required this.walletId, - required this.scriptPubKey, - required this.scriptPubKeyAsm, - required this.scriptPubKeyType, - required this.scriptPubKeyAddress, - required this.value, + this.scriptPubKey, + this.scriptPubKeyAsm, + this.scriptPubKeyType, + this.scriptPubKeyAddress = "", + this.value = 0, }); - Id id = Isar.autoIncrement; - - @Index() - late final String walletId; - late final String? scriptPubKey; late final String? scriptPubKeyAsm; @@ -28,7 +21,4 @@ class Output { late final String scriptPubKeyAddress; late final int value; - - @Backlink(to: 'outputs') - final transaction = IsarLink(); } diff --git a/lib/models/isar/models/blockchain_data/output.g.dart b/lib/models/isar/models/blockchain_data/output.g.dart index 619ae04b8..5e3bbf02d 100644 --- a/lib/models/isar/models/blockchain_data/output.g.dart +++ b/lib/models/isar/models/blockchain_data/output.g.dart @@ -3,17 +3,13 @@ part of 'output.dart'; // ************************************************************************** -// IsarCollectionGenerator +// IsarEmbeddedGenerator // ************************************************************************** // coverage:ignore-file // ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters -extension GetOutputCollection on Isar { - IsarCollection get outputs => this.collection(); -} - -const OutputSchema = CollectionSchema( +const OutputSchema = Schema( name: r'Output', id: 3359341097909611106, properties: { @@ -41,47 +37,12 @@ const OutputSchema = CollectionSchema( id: 4, name: r'value', type: IsarType.long, - ), - r'walletId': PropertySchema( - id: 5, - name: r'walletId', - type: IsarType.string, ) }, estimateSize: _outputEstimateSize, serialize: _outputSerialize, deserialize: _outputDeserialize, deserializeProp: _outputDeserializeProp, - idName: r'id', - indexes: { - r'walletId': IndexSchema( - id: -1783113319798776304, - name: r'walletId', - unique: false, - replace: false, - properties: [ - IndexPropertySchema( - name: r'walletId', - type: IndexType.hash, - caseSensitive: true, - ) - ], - ) - }, - links: { - r'transaction': LinkSchema( - id: -2089310750171432135, - name: r'transaction', - target: r'Transaction', - single: true, - linkName: r'outputs', - ) - }, - embeddedSchemas: {}, - getId: _outputGetId, - getLinks: _outputGetLinks, - attach: _outputAttach, - version: '3.0.5', ); int _outputEstimateSize( @@ -109,7 +70,6 @@ int _outputEstimateSize( bytesCount += 3 + value.length * 3; } } - bytesCount += 3 + object.walletId.length * 3; return bytesCount; } @@ -124,7 +84,6 @@ void _outputSerialize( writer.writeString(offsets[2], object.scriptPubKeyAsm); writer.writeString(offsets[3], object.scriptPubKeyType); writer.writeLong(offsets[4], object.value); - writer.writeString(offsets[5], object.walletId); } Output _outputDeserialize( @@ -135,13 +94,11 @@ Output _outputDeserialize( ) { final object = Output( scriptPubKey: reader.readStringOrNull(offsets[0]), - scriptPubKeyAddress: reader.readString(offsets[1]), + scriptPubKeyAddress: reader.readStringOrNull(offsets[1]) ?? "", scriptPubKeyAsm: reader.readStringOrNull(offsets[2]), scriptPubKeyType: reader.readStringOrNull(offsets[3]), - value: reader.readLong(offsets[4]), - walletId: reader.readString(offsets[5]), + value: reader.readLongOrNull(offsets[4]) ?? 0, ); - object.id = id; return object; } @@ -155,207 +112,19 @@ P _outputDeserializeProp

( case 0: return (reader.readStringOrNull(offset)) as P; case 1: - return (reader.readString(offset)) as P; + return (reader.readStringOrNull(offset) ?? "") as P; case 2: return (reader.readStringOrNull(offset)) as P; case 3: return (reader.readStringOrNull(offset)) as P; case 4: - return (reader.readLong(offset)) as P; - case 5: - return (reader.readString(offset)) as P; + return (reader.readLongOrNull(offset) ?? 0) as P; default: throw IsarError('Unknown property with id $propertyId'); } } -Id _outputGetId(Output object) { - return object.id; -} - -List> _outputGetLinks(Output object) { - return [object.transaction]; -} - -void _outputAttach(IsarCollection col, Id id, Output object) { - object.id = id; - object.transaction - .attach(col, col.isar.collection(), r'transaction', id); -} - -extension OutputQueryWhereSort on QueryBuilder { - QueryBuilder anyId() { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(const IdWhereClause.any()); - }); - } -} - -extension OutputQueryWhere on QueryBuilder { - QueryBuilder idEqualTo(Id id) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IdWhereClause.between( - lower: id, - upper: id, - )); - }); - } - - QueryBuilder idNotEqualTo(Id id) { - return QueryBuilder.apply(this, (query) { - if (query.whereSort == Sort.asc) { - return query - .addWhereClause( - IdWhereClause.lessThan(upper: id, includeUpper: false), - ) - .addWhereClause( - IdWhereClause.greaterThan(lower: id, includeLower: false), - ); - } else { - return query - .addWhereClause( - IdWhereClause.greaterThan(lower: id, includeLower: false), - ) - .addWhereClause( - IdWhereClause.lessThan(upper: id, includeUpper: false), - ); - } - }); - } - - QueryBuilder idGreaterThan(Id id, - {bool include = false}) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause( - IdWhereClause.greaterThan(lower: id, includeLower: include), - ); - }); - } - - QueryBuilder idLessThan(Id id, - {bool include = false}) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause( - IdWhereClause.lessThan(upper: id, includeUpper: include), - ); - }); - } - - QueryBuilder idBetween( - Id lowerId, - Id upperId, { - bool includeLower = true, - bool includeUpper = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IdWhereClause.between( - lower: lowerId, - includeLower: includeLower, - upper: upperId, - includeUpper: includeUpper, - )); - }); - } - - QueryBuilder walletIdEqualTo( - String walletId) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IndexWhereClause.equalTo( - indexName: r'walletId', - value: [walletId], - )); - }); - } - - QueryBuilder walletIdNotEqualTo( - String walletId) { - return QueryBuilder.apply(this, (query) { - if (query.whereSort == Sort.asc) { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [], - upper: [walletId], - includeUpper: false, - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [walletId], - includeLower: false, - upper: [], - )); - } else { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [walletId], - includeLower: false, - upper: [], - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'walletId', - lower: [], - upper: [walletId], - includeUpper: false, - )); - } - }); - } -} - extension OutputQueryFilter on QueryBuilder { - QueryBuilder idEqualTo(Id value) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'id', - value: value, - )); - }); - } - - QueryBuilder idGreaterThan( - Id value, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - include: include, - property: r'id', - value: value, - )); - }); - } - - QueryBuilder idLessThan( - Id value, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.lessThan( - include: include, - property: r'id', - value: value, - )); - }); - } - - QueryBuilder idBetween( - Id lower, - Id upper, { - bool includeLower = true, - bool includeUpper = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.between( - property: r'id', - lower: lower, - includeLower: includeLower, - upper: upper, - includeUpper: includeUpper, - )); - }); - } - QueryBuilder scriptPubKeyIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( @@ -989,401 +758,6 @@ extension OutputQueryFilter on QueryBuilder { )); }); } - - QueryBuilder walletIdEqualTo( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'walletId', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdGreaterThan( - String value, { - bool include = false, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - include: include, - property: r'walletId', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdLessThan( - String value, { - bool include = false, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.lessThan( - include: include, - property: r'walletId', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdBetween( - String lower, - String upper, { - bool includeLower = true, - bool includeUpper = true, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.between( - property: r'walletId', - lower: lower, - includeLower: includeLower, - upper: upper, - includeUpper: includeUpper, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdStartsWith( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.startsWith( - property: r'walletId', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdEndsWith( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.endsWith( - property: r'walletId', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdContains( - String value, - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.contains( - property: r'walletId', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdMatches( - String pattern, - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.matches( - property: r'walletId', - wildcard: pattern, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder walletIdIsEmpty() { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'walletId', - value: '', - )); - }); - } - - QueryBuilder walletIdIsNotEmpty() { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - property: r'walletId', - value: '', - )); - }); - } } extension OutputQueryObject on QueryBuilder {} - -extension OutputQueryLinks on QueryBuilder { - QueryBuilder transaction( - FilterQuery q) { - return QueryBuilder.apply(this, (query) { - return query.link(q, r'transaction'); - }); - } - - QueryBuilder transactionIsNull() { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'transaction', 0, true, 0, true); - }); - } -} - -extension OutputQuerySortBy on QueryBuilder { - QueryBuilder sortByScriptPubKey() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKey', Sort.asc); - }); - } - - QueryBuilder sortByScriptPubKeyDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKey', Sort.desc); - }); - } - - QueryBuilder sortByScriptPubKeyAddress() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAddress', Sort.asc); - }); - } - - QueryBuilder sortByScriptPubKeyAddressDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAddress', Sort.desc); - }); - } - - QueryBuilder sortByScriptPubKeyAsm() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAsm', Sort.asc); - }); - } - - QueryBuilder sortByScriptPubKeyAsmDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAsm', Sort.desc); - }); - } - - QueryBuilder sortByScriptPubKeyType() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyType', Sort.asc); - }); - } - - QueryBuilder sortByScriptPubKeyTypeDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyType', Sort.desc); - }); - } - - QueryBuilder sortByValue() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'value', Sort.asc); - }); - } - - QueryBuilder sortByValueDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'value', Sort.desc); - }); - } - - QueryBuilder sortByWalletId() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.asc); - }); - } - - QueryBuilder sortByWalletIdDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.desc); - }); - } -} - -extension OutputQuerySortThenBy on QueryBuilder { - QueryBuilder thenById() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'id', Sort.asc); - }); - } - - QueryBuilder thenByIdDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'id', Sort.desc); - }); - } - - QueryBuilder thenByScriptPubKey() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKey', Sort.asc); - }); - } - - QueryBuilder thenByScriptPubKeyDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKey', Sort.desc); - }); - } - - QueryBuilder thenByScriptPubKeyAddress() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAddress', Sort.asc); - }); - } - - QueryBuilder thenByScriptPubKeyAddressDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAddress', Sort.desc); - }); - } - - QueryBuilder thenByScriptPubKeyAsm() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAsm', Sort.asc); - }); - } - - QueryBuilder thenByScriptPubKeyAsmDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyAsm', Sort.desc); - }); - } - - QueryBuilder thenByScriptPubKeyType() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyType', Sort.asc); - }); - } - - QueryBuilder thenByScriptPubKeyTypeDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'scriptPubKeyType', Sort.desc); - }); - } - - QueryBuilder thenByValue() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'value', Sort.asc); - }); - } - - QueryBuilder thenByValueDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'value', Sort.desc); - }); - } - - QueryBuilder thenByWalletId() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.asc); - }); - } - - QueryBuilder thenByWalletIdDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'walletId', Sort.desc); - }); - } -} - -extension OutputQueryWhereDistinct on QueryBuilder { - QueryBuilder distinctByScriptPubKey( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'scriptPubKey', caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctByScriptPubKeyAddress( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'scriptPubKeyAddress', - caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctByScriptPubKeyAsm( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'scriptPubKeyAsm', - caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctByScriptPubKeyType( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'scriptPubKeyType', - caseSensitive: caseSensitive); - }); - } - - QueryBuilder distinctByValue() { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'value'); - }); - } - - QueryBuilder distinctByWalletId( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'walletId', caseSensitive: caseSensitive); - }); - } -} - -extension OutputQueryProperty on QueryBuilder { - QueryBuilder idProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'id'); - }); - } - - QueryBuilder scriptPubKeyProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'scriptPubKey'); - }); - } - - QueryBuilder scriptPubKeyAddressProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'scriptPubKeyAddress'); - }); - } - - QueryBuilder scriptPubKeyAsmProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'scriptPubKeyAsm'); - }); - } - - QueryBuilder scriptPubKeyTypeProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'scriptPubKeyType'); - }); - } - - QueryBuilder valueProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'value'); - }); - } - - QueryBuilder walletIdProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'walletId'); - }); - } -} diff --git a/lib/models/isar/models/blockchain_data/transaction.dart b/lib/models/isar/models/blockchain_data/transaction.dart index 644f8aa70..a3496d715 100644 --- a/lib/models/isar/models/blockchain_data/transaction.dart +++ b/lib/models/isar/models/blockchain_data/transaction.dart @@ -1,9 +1,10 @@ import 'dart:math'; import 'package:isar/isar.dart'; -import 'package:stackwallet/models/isar/models/address/address.dart'; +import 'package:stackwallet/models/isar/models/blockchain_data/address.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/input.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/output.dart'; +import 'package:tuple/tuple.dart'; part 'transaction.g.dart'; @@ -22,8 +23,49 @@ class Transaction { required this.isLelantus, required this.slateId, required this.otherData, + required this.inputs, + required this.outputs, }); + Tuple2 copyWith({ + String? walletId, + String? txid, + int? timestamp, + TransactionType? type, + TransactionSubType? subType, + int? amount, + int? fee, + int? height, + bool? isCancelled, + bool? isLelantus, + String? slateId, + String? otherData, + List? inputs, + List? outputs, + Id? id, + Address? address, + }) { + return Tuple2( + Transaction( + walletId: walletId ?? this.walletId, + txid: txid ?? this.txid, + timestamp: timestamp ?? this.timestamp, + type: type ?? this.type, + subType: subType ?? this.subType, + amount: amount ?? this.amount, + fee: fee ?? this.fee, + height: height ?? this.height, + isCancelled: isCancelled ?? this.isCancelled, + isLelantus: isLelantus ?? this.isLelantus, + slateId: slateId ?? this.slateId, + otherData: otherData ?? this.otherData, + inputs: inputs ?? this.inputs, + outputs: outputs ?? this.outputs) + ..id = id ?? this.id, + address ?? this.address.value, + ); + } + Id id = Isar.autoIncrement; @Index() @@ -55,13 +97,13 @@ class Transaction { late final String? otherData; + late final List inputs; + + late final List outputs; + @Backlink(to: "transactions") final address = IsarLink

(); - final inputs = IsarLinks(); - - final outputs = IsarLinks(); - int getConfirmations(int currentChainHeight) { if (height == null || height! <= 0) return 0; return max(0, currentChainHeight - (height! - 1)); diff --git a/lib/models/isar/models/blockchain_data/transaction.g.dart b/lib/models/isar/models/blockchain_data/transaction.g.dart index a15f38215..53acce84f 100644 --- a/lib/models/isar/models/blockchain_data/transaction.g.dart +++ b/lib/models/isar/models/blockchain_data/transaction.g.dart @@ -32,50 +32,62 @@ const TransactionSchema = CollectionSchema( name: r'height', type: IsarType.long, ), - r'isCancelled': PropertySchema( + r'inputs': PropertySchema( id: 3, + name: r'inputs', + type: IsarType.objectList, + target: r'Input', + ), + r'isCancelled': PropertySchema( + id: 4, name: r'isCancelled', type: IsarType.bool, ), r'isLelantus': PropertySchema( - id: 4, + id: 5, name: r'isLelantus', type: IsarType.bool, ), r'otherData': PropertySchema( - id: 5, + id: 6, name: r'otherData', type: IsarType.string, ), + r'outputs': PropertySchema( + id: 7, + name: r'outputs', + type: IsarType.objectList, + target: r'Output', + ), r'slateId': PropertySchema( - id: 6, + id: 8, name: r'slateId', type: IsarType.string, ), r'subType': PropertySchema( - id: 7, + id: 9, name: r'subType', type: IsarType.byte, enumMap: _TransactionsubTypeEnumValueMap, ), r'timestamp': PropertySchema( - id: 8, + id: 10, name: r'timestamp', type: IsarType.long, ), r'txid': PropertySchema( - id: 9, + id: 11, name: r'txid', type: IsarType.string, ), r'type': PropertySchema( - id: 10, + id: 12, name: r'type', type: IsarType.byte, enumMap: _TransactiontypeEnumValueMap, ), r'walletId': PropertySchema( - id: 11, + id: 13, name: r'walletId', type: IsarType.string, ) @@ -138,21 +150,9 @@ const TransactionSchema = CollectionSchema( target: r'Address', single: true, linkName: r'transactions', - ), - r'inputs': LinkSchema( - id: 4634425919890543640, - name: r'inputs', - target: r'Input', - single: false, - ), - r'outputs': LinkSchema( - id: 1341997944984495532, - name: r'outputs', - target: r'Output', - single: false, ) }, - embeddedSchemas: {}, + embeddedSchemas: {r'Input': InputSchema, r'Output': OutputSchema}, getId: _transactionGetId, getLinks: _transactionGetLinks, attach: _transactionAttach, @@ -165,12 +165,28 @@ int _transactionEstimateSize( Map> allOffsets, ) { var bytesCount = offsets.last; + bytesCount += 3 + object.inputs.length * 3; + { + final offsets = allOffsets[Input]!; + for (var i = 0; i < object.inputs.length; i++) { + final value = object.inputs[i]; + bytesCount += InputSchema.estimateSize(value, offsets, allOffsets); + } + } { final value = object.otherData; if (value != null) { bytesCount += 3 + value.length * 3; } } + bytesCount += 3 + object.outputs.length * 3; + { + final offsets = allOffsets[Output]!; + for (var i = 0; i < object.outputs.length; i++) { + final value = object.outputs[i]; + bytesCount += OutputSchema.estimateSize(value, offsets, allOffsets); + } + } { final value = object.slateId; if (value != null) { @@ -191,15 +207,27 @@ void _transactionSerialize( writer.writeLong(offsets[0], object.amount); writer.writeLong(offsets[1], object.fee); writer.writeLong(offsets[2], object.height); - writer.writeBool(offsets[3], object.isCancelled); - writer.writeBool(offsets[4], object.isLelantus); - writer.writeString(offsets[5], object.otherData); - writer.writeString(offsets[6], object.slateId); - writer.writeByte(offsets[7], object.subType.index); - writer.writeLong(offsets[8], object.timestamp); - writer.writeString(offsets[9], object.txid); - writer.writeByte(offsets[10], object.type.index); - writer.writeString(offsets[11], object.walletId); + writer.writeObjectList( + offsets[3], + allOffsets, + InputSchema.serialize, + object.inputs, + ); + writer.writeBool(offsets[4], object.isCancelled); + writer.writeBool(offsets[5], object.isLelantus); + writer.writeString(offsets[6], object.otherData); + writer.writeObjectList( + offsets[7], + allOffsets, + OutputSchema.serialize, + object.outputs, + ); + writer.writeString(offsets[8], object.slateId); + writer.writeByte(offsets[9], object.subType.index); + writer.writeLong(offsets[10], object.timestamp); + writer.writeString(offsets[11], object.txid); + writer.writeByte(offsets[12], object.type.index); + writer.writeString(offsets[13], object.walletId); } Transaction _transactionDeserialize( @@ -212,18 +240,32 @@ Transaction _transactionDeserialize( amount: reader.readLong(offsets[0]), fee: reader.readLong(offsets[1]), height: reader.readLongOrNull(offsets[2]), - isCancelled: reader.readBool(offsets[3]), - isLelantus: reader.readBoolOrNull(offsets[4]), - otherData: reader.readStringOrNull(offsets[5]), - slateId: reader.readStringOrNull(offsets[6]), + inputs: reader.readObjectList( + offsets[3], + InputSchema.deserialize, + allOffsets, + Input(), + ) ?? + [], + isCancelled: reader.readBool(offsets[4]), + isLelantus: reader.readBoolOrNull(offsets[5]), + otherData: reader.readStringOrNull(offsets[6]), + outputs: reader.readObjectList( + offsets[7], + OutputSchema.deserialize, + allOffsets, + Output(), + ) ?? + [], + slateId: reader.readStringOrNull(offsets[8]), subType: - _TransactionsubTypeValueEnumMap[reader.readByteOrNull(offsets[7])] ?? + _TransactionsubTypeValueEnumMap[reader.readByteOrNull(offsets[9])] ?? TransactionSubType.none, - timestamp: reader.readLong(offsets[8]), - txid: reader.readString(offsets[9]), - type: _TransactiontypeValueEnumMap[reader.readByteOrNull(offsets[10])] ?? + timestamp: reader.readLong(offsets[10]), + txid: reader.readString(offsets[11]), + type: _TransactiontypeValueEnumMap[reader.readByteOrNull(offsets[12])] ?? TransactionType.outgoing, - walletId: reader.readString(offsets[11]), + walletId: reader.readString(offsets[13]), ); object.id = id; return object; @@ -243,24 +285,40 @@ P _transactionDeserializeProp

( case 2: return (reader.readLongOrNull(offset)) as P; case 3: - return (reader.readBool(offset)) as P; + return (reader.readObjectList( + offset, + InputSchema.deserialize, + allOffsets, + Input(), + ) ?? + []) as P; case 4: - return (reader.readBoolOrNull(offset)) as P; + return (reader.readBool(offset)) as P; case 5: - return (reader.readStringOrNull(offset)) as P; + return (reader.readBoolOrNull(offset)) as P; case 6: return (reader.readStringOrNull(offset)) as P; case 7: + return (reader.readObjectList( + offset, + OutputSchema.deserialize, + allOffsets, + Output(), + ) ?? + []) as P; + case 8: + return (reader.readStringOrNull(offset)) as P; + case 9: return (_TransactionsubTypeValueEnumMap[reader.readByteOrNull(offset)] ?? TransactionSubType.none) as P; - case 8: - return (reader.readLong(offset)) as P; - case 9: - return (reader.readString(offset)) as P; case 10: + return (reader.readLong(offset)) as P; + case 11: + return (reader.readString(offset)) as P; + case 12: return (_TransactiontypeValueEnumMap[reader.readByteOrNull(offset)] ?? TransactionType.outgoing) as P; - case 11: + case 13: return (reader.readString(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); @@ -297,15 +355,13 @@ Id _transactionGetId(Transaction object) { } List> _transactionGetLinks(Transaction object) { - return [object.address, object.inputs, object.outputs]; + return [object.address]; } void _transactionAttach( IsarCollection col, Id id, Transaction object) { object.id = id; object.address.attach(col, col.isar.collection

(), r'address', id); - object.inputs.attach(col, col.isar.collection(), r'inputs', id); - object.outputs.attach(col, col.isar.collection(), r'outputs', id); } extension TransactionByIndex on IsarCollection { @@ -940,6 +996,95 @@ extension TransactionQueryFilter }); } + QueryBuilder + inputsLengthEqualTo(int length) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'inputs', + length, + true, + length, + true, + ); + }); + } + + QueryBuilder + inputsIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'inputs', + 0, + true, + 0, + true, + ); + }); + } + + QueryBuilder + inputsIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'inputs', + 0, + false, + 999999, + true, + ); + }); + } + + QueryBuilder + inputsLengthLessThan( + int length, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'inputs', + 0, + true, + length, + include, + ); + }); + } + + QueryBuilder + inputsLengthGreaterThan( + int length, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'inputs', + length, + include, + 999999, + true, + ); + }); + } + + QueryBuilder + inputsLengthBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'inputs', + lower, + includeLower, + upper, + includeUpper, + ); + }); + } + QueryBuilder isCancelledEqualTo(bool value) { return QueryBuilder.apply(this, (query) { @@ -1132,6 +1277,95 @@ extension TransactionQueryFilter }); } + QueryBuilder + outputsLengthEqualTo(int length) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'outputs', + length, + true, + length, + true, + ); + }); + } + + QueryBuilder + outputsIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'outputs', + 0, + true, + 0, + true, + ); + }); + } + + QueryBuilder + outputsIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'outputs', + 0, + false, + 999999, + true, + ); + }); + } + + QueryBuilder + outputsLengthLessThan( + int length, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'outputs', + 0, + true, + length, + include, + ); + }); + } + + QueryBuilder + outputsLengthGreaterThan( + int length, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'outputs', + length, + include, + 999999, + true, + ); + }); + } + + QueryBuilder + outputsLengthBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.listLength( + r'outputs', + lower, + includeLower, + upper, + includeUpper, + ); + }); + } + QueryBuilder slateIdIsNull() { return QueryBuilder.apply(this, (query) { @@ -1715,7 +1949,21 @@ extension TransactionQueryFilter } extension TransactionQueryObject - on QueryBuilder {} + on QueryBuilder { + QueryBuilder inputsElement( + FilterQuery q) { + return QueryBuilder.apply(this, (query) { + return query.object(q, r'inputs'); + }); + } + + QueryBuilder outputsElement( + FilterQuery q) { + return QueryBuilder.apply(this, (query) { + return query.object(q, r'outputs'); + }); + } +} extension TransactionQueryLinks on QueryBuilder { @@ -1732,128 +1980,6 @@ extension TransactionQueryLinks return query.linkLength(r'address', 0, true, 0, true); }); } - - QueryBuilder inputs( - FilterQuery q) { - return QueryBuilder.apply(this, (query) { - return query.link(q, r'inputs'); - }); - } - - QueryBuilder - inputsLengthEqualTo(int length) { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'inputs', length, true, length, true); - }); - } - - QueryBuilder - inputsIsEmpty() { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'inputs', 0, true, 0, true); - }); - } - - QueryBuilder - inputsIsNotEmpty() { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'inputs', 0, false, 999999, true); - }); - } - - QueryBuilder - inputsLengthLessThan( - int length, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'inputs', 0, true, length, include); - }); - } - - QueryBuilder - inputsLengthGreaterThan( - int length, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'inputs', length, include, 999999, true); - }); - } - - QueryBuilder - inputsLengthBetween( - int lower, - int upper, { - bool includeLower = true, - bool includeUpper = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.linkLength( - r'inputs', lower, includeLower, upper, includeUpper); - }); - } - - QueryBuilder outputs( - FilterQuery q) { - return QueryBuilder.apply(this, (query) { - return query.link(q, r'outputs'); - }); - } - - QueryBuilder - outputsLengthEqualTo(int length) { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'outputs', length, true, length, true); - }); - } - - QueryBuilder - outputsIsEmpty() { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'outputs', 0, true, 0, true); - }); - } - - QueryBuilder - outputsIsNotEmpty() { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'outputs', 0, false, 999999, true); - }); - } - - QueryBuilder - outputsLengthLessThan( - int length, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'outputs', 0, true, length, include); - }); - } - - QueryBuilder - outputsLengthGreaterThan( - int length, { - bool include = false, - }) { - return QueryBuilder.apply(this, (query) { - return query.linkLength(r'outputs', length, include, 999999, true); - }); - } - - QueryBuilder - outputsLengthBetween( - int lower, - int upper, { - bool includeLower = true, - bool includeUpper = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.linkLength( - r'outputs', lower, includeLower, upper, includeUpper); - }); - } } extension TransactionQuerySortBy @@ -2267,6 +2393,12 @@ extension TransactionQueryProperty }); } + QueryBuilder, QQueryOperations> inputsProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'inputs'); + }); + } + QueryBuilder isCancelledProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'isCancelled'); @@ -2285,6 +2417,12 @@ extension TransactionQueryProperty }); } + QueryBuilder, QQueryOperations> outputsProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'outputs'); + }); + } + QueryBuilder slateIdProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'slateId'); diff --git a/lib/models/isar/models/blockchain_data/utxo.g.dart b/lib/models/isar/models/blockchain_data/utxo.g.dart index f58f516fa..435746474 100644 --- a/lib/models/isar/models/blockchain_data/utxo.g.dart +++ b/lib/models/isar/models/blockchain_data/utxo.g.dart @@ -52,23 +52,28 @@ const UTXOSchema = CollectionSchema( name: r'name', type: IsarType.string, ), - r'txid': PropertySchema( + r'otherData': PropertySchema( id: 7, + name: r'otherData', + type: IsarType.string, + ), + r'txid': PropertySchema( + id: 8, name: r'txid', type: IsarType.string, ), r'value': PropertySchema( - id: 8, + id: 9, name: r'value', type: IsarType.long, ), r'vout': PropertySchema( - id: 9, + id: 10, name: r'vout', type: IsarType.long, ), r'walletId': PropertySchema( - id: 10, + id: 11, name: r'walletId', type: IsarType.string, ) @@ -151,6 +156,12 @@ int _uTXOEstimateSize( } } bytesCount += 3 + object.name.length * 3; + { + final value = object.otherData; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } bytesCount += 3 + object.txid.length * 3; bytesCount += 3 + object.walletId.length * 3; return bytesCount; @@ -169,10 +180,11 @@ void _uTXOSerialize( writer.writeBool(offsets[4], object.isBlocked); writer.writeBool(offsets[5], object.isCoinbase); writer.writeString(offsets[6], object.name); - writer.writeString(offsets[7], object.txid); - writer.writeLong(offsets[8], object.value); - writer.writeLong(offsets[9], object.vout); - writer.writeString(offsets[10], object.walletId); + writer.writeString(offsets[7], object.otherData); + writer.writeString(offsets[8], object.txid); + writer.writeLong(offsets[9], object.value); + writer.writeLong(offsets[10], object.vout); + writer.writeString(offsets[11], object.walletId); } UTXO _uTXODeserialize( @@ -189,10 +201,11 @@ UTXO _uTXODeserialize( isBlocked: reader.readBool(offsets[4]), isCoinbase: reader.readBool(offsets[5]), name: reader.readString(offsets[6]), - txid: reader.readString(offsets[7]), - value: reader.readLong(offsets[8]), - vout: reader.readLong(offsets[9]), - walletId: reader.readString(offsets[10]), + otherData: reader.readStringOrNull(offsets[7]), + txid: reader.readString(offsets[8]), + value: reader.readLong(offsets[9]), + vout: reader.readLong(offsets[10]), + walletId: reader.readString(offsets[11]), ); object.id = id; return object; @@ -220,12 +233,14 @@ P _uTXODeserializeProp

( case 6: return (reader.readString(offset)) as P; case 7: - return (reader.readString(offset)) as P; + return (reader.readStringOrNull(offset)) as P; case 8: - return (reader.readLong(offset)) as P; + return (reader.readString(offset)) as P; case 9: return (reader.readLong(offset)) as P; case 10: + return (reader.readLong(offset)) as P; + case 11: return (reader.readString(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); @@ -1221,6 +1236,152 @@ extension UTXOQueryFilter on QueryBuilder { }); } + QueryBuilder otherDataIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'otherData', + )); + }); + } + + QueryBuilder otherDataIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'otherData', + )); + }); + } + + QueryBuilder otherDataEqualTo( + String? value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataGreaterThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataLessThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataBetween( + String? lower, + String? upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'otherData', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'otherData', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'otherData', + value: '', + )); + }); + } + + QueryBuilder otherDataIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'otherData', + value: '', + )); + }); + } + QueryBuilder txidEqualTo( String value, { bool caseSensitive = true, @@ -1672,6 +1833,18 @@ extension UTXOQuerySortBy on QueryBuilder { }); } + QueryBuilder sortByOtherData() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.asc); + }); + } + + QueryBuilder sortByOtherDataDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.desc); + }); + } + QueryBuilder sortByTxid() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'txid', Sort.asc); @@ -1818,6 +1991,18 @@ extension UTXOQuerySortThenBy on QueryBuilder { }); } + QueryBuilder thenByOtherData() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.asc); + }); + } + + QueryBuilder thenByOtherDataDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.desc); + }); + } + QueryBuilder thenByTxid() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'txid', Sort.asc); @@ -1914,6 +2099,13 @@ extension UTXOQueryWhereDistinct on QueryBuilder { }); } + QueryBuilder distinctByOtherData( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'otherData', caseSensitive: caseSensitive); + }); + } + QueryBuilder distinctByTxid( {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { @@ -1990,6 +2182,12 @@ extension UTXOQueryProperty on QueryBuilder { }); } + QueryBuilder otherDataProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'otherData'); + }); + } + QueryBuilder txidProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'txid'); diff --git a/lib/models/isar/models/isar_models.dart b/lib/models/isar/models/isar_models.dart index 1d947db32..4fb7c8b24 100644 --- a/lib/models/isar/models/isar_models.dart +++ b/lib/models/isar/models/isar_models.dart @@ -1,4 +1,5 @@ -export 'address/address.dart'; +export 'address_label.dart'; +export 'blockchain_data/address.dart'; export 'blockchain_data/input.dart'; export 'blockchain_data/output.dart'; export 'blockchain_data/transaction.dart'; diff --git a/lib/pages/receive_view/addresses/address_card.dart b/lib/pages/receive_view/addresses/address_card.dart index 1a47c256c..c297060d2 100644 --- a/lib/pages/receive_view/addresses/address_card.dart +++ b/lib/pages/receive_view/addresses/address_card.dart @@ -2,6 +2,8 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:isar/isar.dart'; +import 'package:stackwallet/db/main_db.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/receive_view/addresses/address_qr_popup.dart'; @@ -15,9 +17,8 @@ import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/icon_widgets/copy_icon.dart'; import 'package:stackwallet/widgets/icon_widgets/qrcode_icon.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; -import 'package:tuple/tuple.dart'; -class AddressCard extends StatelessWidget { +class AddressCard extends StatefulWidget { const AddressCard({ Key? key, required this.address, @@ -31,102 +32,134 @@ class AddressCard extends StatelessWidget { final Coin coin; final ClipboardInterface clipboard; + @override + State createState() => _AddressCardState(); +} + +class _AddressCardState extends State { + late Stream stream; + + AddressLabel? label; + + @override + void initState() { + label = MainDB.instance + .getAddressLabelSync(widget.walletId, widget.address.value); + Id? id = label?.id; + if (id == null) { + label = AddressLabel( + walletId: widget.walletId, + addressString: widget.address.value, + value: "", + ); + id = MainDB.instance.putAddressLabelSync(label!); + } + stream = MainDB.instance.watchAddressLabel(id: id); + + super.initState(); + } + @override Widget build(BuildContext context) { return RoundedWhiteContainer( - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "TODO: label", - style: STextStyles.itemSubtitle(context), - ), - CustomTextButton( - text: "Edit label", - textSize: 14, - onTap: () { - Navigator.of(context).pushNamed( - EditAddressLabelView.routeName, - arguments: Tuple2( - address, - walletId, + child: StreamBuilder( + stream: stream, + builder: (context, snapshot) { + if (snapshot.hasData) { + label = snapshot.data!; + } + + return Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + label!.value, + style: STextStyles.itemSubtitle(context), ), - ); - }, - ), - ], - ), - const SizedBox( - height: 8, - ), - Row( - children: [ - Expanded( - child: SelectableText( - address.value, - style: STextStyles.itemSubtitle12(context), + CustomTextButton( + text: "Edit label", + textSize: 14, + onTap: () { + Navigator.of(context).pushNamed( + EditAddressLabelView.routeName, + arguments: label!, + ); + }, + ), + ], ), - ) - ], - ), - const SizedBox( - height: 10, - ), - Row( - children: [ - Expanded( - child: SecondaryButton( - label: "Copy address", - icon: CopyIcon( - color: Theme.of(context) - .extension()! - .buttonTextSecondary, - ), - onPressed: () async { - await clipboard.setData( - ClipboardData( - text: address.value, - ), - ); - unawaited( - showFloatingFlushBar( - type: FlushBarType.info, - message: "Copied to clipboard", - context: context, - ), - ); - }, + const SizedBox( + height: 8, ), - ), - const SizedBox( - width: 12, - ), - Expanded( - child: SecondaryButton( - label: "Show QR Code", - icon: QrCodeIcon( - color: Theme.of(context) - .extension()! - .buttonTextSecondary, - ), - onPressed: () { - showDialog( - context: context, - builder: (context) => AddressQrPopup( - address: address, - coin: coin, - clipboard: clipboard, + Row( + children: [ + Expanded( + child: SelectableText( + widget.address.value, + style: STextStyles.itemSubtitle12(context), ), - ); - }, + ) + ], ), - ), - ], - ) - ], - ), + const SizedBox( + height: 10, + ), + Row( + children: [ + Expanded( + child: SecondaryButton( + label: "Copy address", + icon: CopyIcon( + color: Theme.of(context) + .extension()! + .buttonTextSecondary, + ), + onPressed: () async { + await widget.clipboard.setData( + ClipboardData( + text: widget.address.value, + ), + ); + unawaited( + showFloatingFlushBar( + type: FlushBarType.info, + message: "Copied to clipboard", + context: context, + ), + ); + }, + ), + ), + const SizedBox( + width: 12, + ), + Expanded( + child: SecondaryButton( + label: "Show QR Code", + icon: QrCodeIcon( + color: Theme.of(context) + .extension()! + .buttonTextSecondary, + ), + onPressed: () { + showDialog( + context: context, + builder: (context) => AddressQrPopup( + addressString: widget.address.value, + coin: widget.coin, + clipboard: widget.clipboard, + ), + ); + }, + ), + ), + ], + ) + ], + ); + }), ); } } diff --git a/lib/pages/receive_view/addresses/address_qr_popup.dart b/lib/pages/receive_view/addresses/address_qr_popup.dart index 75b3509de..cd41a1e99 100644 --- a/lib/pages/receive_view/addresses/address_qr_popup.dart +++ b/lib/pages/receive_view/addresses/address_qr_popup.dart @@ -10,7 +10,6 @@ import 'package:flutter_svg/svg.dart'; import 'package:path_provider/path_provider.dart'; import 'package:qr_flutter/qr_flutter.dart'; import 'package:share_plus/share_plus.dart'; -import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -26,12 +25,12 @@ import 'package:stackwallet/widgets/stack_dialog.dart'; class AddressQrPopup extends StatefulWidget { const AddressQrPopup({ Key? key, - required this.address, + required this.addressString, required this.coin, this.clipboard = const ClipboardWrapper(), }) : super(key: key); - final Address address; + final String addressString; final Coin coin; final ClipboardInterface clipboard; @@ -118,7 +117,7 @@ class _AddressQrPopupState extends State { height: 8, ), Text( - widget.address.value, + widget.addressString, style: STextStyles.itemSubtitle(context), ), const SizedBox( @@ -130,7 +129,7 @@ class _AddressQrPopupState extends State { child: QrImage( data: AddressUtils.buildUriString( widget.coin, - widget.address.value, + widget.addressString, {}, ), size: 220, diff --git a/lib/pages/receive_view/addresses/edit_address_label_view.dart b/lib/pages/receive_view/addresses/edit_address_label_view.dart index d44b61686..5230e2295 100644 --- a/lib/pages/receive_view/addresses/edit_address_label_view.dart +++ b/lib/pages/receive_view/addresses/edit_address_label_view.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/models/isar/models/address/address.dart'; +import 'package:stackwallet/db/main_db.dart'; +import 'package:stackwallet/models/isar/models/address_label.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; @@ -17,14 +18,12 @@ import 'package:stackwallet/widgets/textfield_icon_button.dart'; class EditAddressLabelView extends ConsumerStatefulWidget { const EditAddressLabelView({ Key? key, - required this.address, - required this.walletId, + required this.addressLabel, }) : super(key: key); static const String routeName = "/editAddressLabel"; - final Address address; - final String walletId; + final AddressLabel addressLabel; @override ConsumerState createState() => @@ -41,7 +40,7 @@ class _EditAddressLabelViewState extends ConsumerState { void initState() { isDesktop = Util.isDesktop; _labelFieldController = TextEditingController(); - _labelFieldController.text = "todo: address.label"; + _labelFieldController.text = widget.addressLabel.value; super.initState(); } @@ -195,34 +194,28 @@ class _EditAddressLabelViewState extends ConsumerState { child: PrimaryButton( label: "Save", onPressed: () async { - // todo: update address - // await ref - // .read(notesServiceChangeNotifierProvider( - // widget.walletId)) - // .editOrAddNote( - // txid: widget.txid, - // note: _labelFieldController.text, - // ); - // if (mounted) { - // Navigator.of(context).pop(); - // } + await MainDB.instance.updateAddressLabel( + widget.addressLabel.copyWith( + label: _labelFieldController.text, + ), + ); + if (mounted) { + Navigator.of(context).pop(); + } }, ), ), if (!isDesktop) TextButton( onPressed: () async { - // todo: update address - // await ref - // .read( - // notesServiceChangeNotifierProvider(widget.walletId)) - // .editOrAddNote( - // txid: widget.txid, - // note: _labelFieldController.text, - // ); - // if (mounted) { - // Navigator.of(context).pop(); - // } + await MainDB.instance.updateAddressLabel( + widget.addressLabel.copyWith( + label: _labelFieldController.text, + ), + ); + if (mounted) { + Navigator.of(context).pop(); + } }, style: Theme.of(context) .extension()! diff --git a/lib/route_generator.dart b/lib/route_generator.dart index d1ed6a4bd..cffa22c41 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -6,7 +6,7 @@ import 'package:stackwallet/models/buy/response_objects/quote.dart'; import 'package:stackwallet/models/contact_address_entry.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; -import 'package:stackwallet/models/isar/models/address/address.dart'; +import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/models/paynym/paynym_account_lite.dart'; import 'package:stackwallet/models/send_view_auto_fill_data.dart'; import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart'; @@ -477,12 +477,11 @@ class RouteGenerator { return _routeError("${settings.name} invalid args: ${args.toString()}"); case EditAddressLabelView.routeName: - if (args is Tuple2) { + if (args is AddressLabel) { return getRoute( shouldUseMaterialRoute: useMaterialPageRoute, builder: (_) => EditAddressLabelView( - address: args.item1, - walletId: args.item2, + addressLabel: args, ), settings: RouteSettings( name: settings.name, diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 60ba85895..06a590168 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -1280,6 +1280,8 @@ class BitcoinWallet extends CoinServiceAPI isLelantus: false, otherData: null, slateId: null, + inputs: [], + outputs: [], ); final address = txData["address"] is String @@ -1288,7 +1290,7 @@ class BitcoinWallet extends CoinServiceAPI await db.addNewTransactionData( [ - Tuple4(transaction, [], [], address), + Tuple2(transaction, address), ], walletId, ); @@ -2214,9 +2216,8 @@ class BitcoinWallet extends CoinServiceAPI // } // await fastFetch(vHashes.toList()); - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; for (final txObject in allTransactions) { final data = await parseTransaction( diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 1963c89bc..addc5dd68 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -15,7 +15,7 @@ import 'package:stackwallet/db/main_db.dart'; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart'; import 'package:stackwallet/electrumx_rpc/electrumx.dart'; import 'package:stackwallet/models/balance.dart'; -import 'package:stackwallet/models/isar/models/address/address.dart'; +import 'package:stackwallet/models/isar/models/blockchain_data/address.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart' as isar_models; import 'package:stackwallet/models/paymint/fee_object_model.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; @@ -1213,6 +1213,8 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { isLelantus: false, otherData: null, slateId: null, + inputs: [], + outputs: [], ); final address = txData["address"] is String @@ -1221,7 +1223,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { await db.addNewTransactionData( [ - Tuple4(transaction, [], [], address), + Tuple2(transaction, address), ], walletId, ); @@ -2110,9 +2112,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { // Logging.instance.log("allTransactions length: ${allTransactions.length}", // level: LogLevel.Info); - final List< - Tuple4, - List, isar_models.Address?>> txns = []; + final List> txns = []; for (final txData in allTransactions) { Set inputAddresses = {}; @@ -2237,29 +2237,12 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { amount = amountReceivedInWallet; } - final tx = isar_models.Transaction( - walletId: walletId, - txid: txData["txid"] as String, - timestamp: txData["blocktime"] as int? ?? - (DateTime.now().millisecondsSinceEpoch ~/ 1000), - type: type, - subType: isar_models.TransactionSubType.none, - amount: amount, - fee: fee, - height: txData["height"] as int?, - isCancelled: false, - isLelantus: false, - slateId: null, - otherData: null, - ); - List inputs = []; List outputs = []; for (final json in txData["vin"] as List) { bool isCoinBase = json['coinbase'] != null; final input = isar_models.Input( - walletId: walletId, txid: json['txid'] as String, vout: json['vout'] as int? ?? -1, scriptSig: json['scriptSig']?['hex'] as String?, @@ -2273,7 +2256,6 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { for (final json in txData["vout"] as List) { final output = isar_models.Output( - walletId: walletId, scriptPubKey: json['scriptPubKey']?['hex'] as String?, scriptPubKeyAsm: json['scriptPubKey']?['asm'] as String?, scriptPubKeyType: json['scriptPubKey']?['type'] as String?, @@ -2288,7 +2270,25 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { outputs.add(output); } - txns.add(Tuple4(tx, outputs, inputs, transactionAddress)); + final tx = isar_models.Transaction( + walletId: walletId, + txid: txData["txid"] as String, + timestamp: txData["blocktime"] as int? ?? + (DateTime.now().millisecondsSinceEpoch ~/ 1000), + type: type, + subType: isar_models.TransactionSubType.none, + amount: amount, + fee: fee, + height: txData["height"] as int?, + isCancelled: false, + isLelantus: false, + slateId: null, + otherData: null, + inputs: inputs, + outputs: outputs, + ); + + txns.add(Tuple2(tx, transactionAddress)); } await db.addNewTransactionData(txns, walletId); diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index b67054b4c..405f4652a 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -1072,6 +1072,8 @@ class DogecoinWallet extends CoinServiceAPI isLelantus: false, otherData: null, slateId: null, + inputs: [], + outputs: [], ); final address = txData["address"] is String @@ -1080,7 +1082,7 @@ class DogecoinWallet extends CoinServiceAPI await db.addNewTransactionData( [ - Tuple4(transaction, [], [], address), + Tuple2(transaction, address), ], walletId, ); @@ -1990,9 +1992,7 @@ class DogecoinWallet extends CoinServiceAPI } await fastFetch(vHashes.toList()); - final List< - Tuple4, - List, isar_models.Address?>> txns = []; + final List> txns = []; for (final txObject in allTransactions) { final txn = await parseTransaction( diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index 42198104c..f5ef0f4b5 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -2034,9 +2034,8 @@ class EpicCashWallet extends CoinServiceAPI final String transactions = message['result'] as String; final jsonTransactions = json.decode(transactions) as List; - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; // int latestTxnBlockHeight = // DB.instance.get(boxName: walletId, key: "storedTxnDataHeight") @@ -2102,6 +2101,8 @@ class EpicCashWallet extends CoinServiceAPI isLelantus: false, slateId: slateId, otherData: tx["id"].toString(), + inputs: [], + outputs: [], ); // txn.address = @@ -2125,7 +2126,7 @@ class EpicCashWallet extends CoinServiceAPI // latestTxnBlockHeight = txHeight; // } - txnsData.add(Tuple4(txn, [], [], transactionAddress)); + txnsData.add(Tuple2(txn, transactionAddress)); // cachedMap?.remove(tx["id"].toString()); // cachedMap?.remove(commitId); // Logging.instance.log("cmap: $cachedMap", level: LogLevel.Info); diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index 9f767dbba..da8c2e1d0 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -427,10 +427,9 @@ Future> staticProcessRestore( isLelantus: true, slateId: null, otherData: txid, - ) - ..inputs.addAll(element.inputs) - ..outputs.addAll(element.outputs) - ..address.value = element.address.value; + inputs: element.inputs, + outputs: element.outputs, + )..address.value = element.address.value; } }); } @@ -831,6 +830,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { isLelantus: false, otherData: null, slateId: null, + inputs: [], + outputs: [], ); final address = txData["address"] is String @@ -839,7 +840,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { await db.addNewTransactionData( [ - Tuple4(transaction, [], [], address), + Tuple2(transaction, address), ], walletId, ); @@ -2852,9 +2853,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { // TODO: optimize this whole lelantus process - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; for (final value in data.values) { // allow possible null address on mints as we don't display address @@ -2869,7 +2869,9 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { value.item2.outputs.where((_) => true).toList(growable: false); final ins = value.item2.inputs.where((_) => true).toList(growable: false); - txnsData.add(Tuple4(value.item2, outs, ins, transactionAddress)); + txnsData.add(Tuple2( + value.item2.copyWith(inputs: ins, outputs: outs).item1, + transactionAddress)); } await db.addNewTransactionData(txnsData, walletId); @@ -2992,6 +2994,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { isLelantus: true, slateId: null, otherData: transactionInfo["otherData"] as String?, + inputs: [], + outputs: [], ); final transactionAddress = await db @@ -3008,11 +3012,10 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { publicKey: [], ); - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> + txnsData = []; - txnsData.add(Tuple4(transaction, [], [], transactionAddress)); + txnsData.add(Tuple2(transaction, transactionAddress)); await db.addNewTransactionData(txnsData, walletId); @@ -3344,9 +3347,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { } } - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; Set changeAddresses = allAddresses .where((e) => e.subType == isar_models.AddressSubType.change) @@ -3499,29 +3501,12 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { publicKey: [], )); - final tx = isar_models.Transaction( - walletId: walletId, - txid: txObject["txid"] as String, - timestamp: txObject["blocktime"] as int? ?? - (DateTime.now().millisecondsSinceEpoch ~/ 1000), - type: type, - subType: subType, - amount: amount, - fee: fees, - height: txObject["height"] as int? ?? 0, - isCancelled: false, - isLelantus: false, - slateId: null, - otherData: null, - ); - List outs = []; List ins = []; for (final json in txObject["vin"] as List) { bool isCoinBase = json['coinbase'] != null; final input = isar_models.Input( - walletId: walletId, txid: json['txid'] as String? ?? "", vout: json['vout'] as int? ?? -1, scriptSig: json['scriptSig']?['hex'] as String?, @@ -3535,7 +3520,6 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { for (final json in txObject["vout"] as List) { final output = isar_models.Output( - walletId: walletId, scriptPubKey: json['scriptPubKey']?['hex'] as String?, scriptPubKeyAsm: json['scriptPubKey']?['asm'] as String?, scriptPubKeyType: json['scriptPubKey']?['type'] as String?, @@ -3550,7 +3534,25 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { outs.add(output); } - txnsData.add(Tuple4(tx, outs, ins, transactionAddress)); + final tx = isar_models.Transaction( + walletId: walletId, + txid: txObject["txid"] as String, + timestamp: txObject["blocktime"] as int? ?? + (DateTime.now().millisecondsSinceEpoch ~/ 1000), + type: type, + subType: subType, + amount: amount, + fee: fees, + height: txObject["height"] as int? ?? 0, + isCancelled: false, + isLelantus: false, + slateId: null, + otherData: null, + inputs: ins, + outputs: outs, + ); + + txnsData.add(Tuple2(tx, transactionAddress)); } await db.addNewTransactionData(txnsData, walletId); @@ -4373,9 +4375,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { data[element.value.txid] = Tuple2(address, element.value); } - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; for (final value in data.values) { final transactionAddress = value.item1!; @@ -4383,7 +4384,9 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { value.item2.outputs.where((_) => true).toList(growable: false); final ins = value.item2.inputs.where((_) => true).toList(growable: false); - txnsData.add(Tuple4(value.item2, outs, ins, transactionAddress)); + txnsData.add(Tuple2( + value.item2.copyWith(inputs: ins, outputs: outs).item1, + transactionAddress)); } await db.addNewTransactionData(txnsData, walletId); @@ -4813,6 +4816,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { isLelantus: true, slateId: null, otherData: null, + inputs: [], + outputs: [], ); final address = await db diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index 03b569511..54de6e053 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -1227,6 +1227,8 @@ class LitecoinWallet extends CoinServiceAPI isLelantus: false, otherData: null, slateId: null, + inputs: [], + outputs: [], ); final address = txData["address"] is String @@ -1235,7 +1237,7 @@ class LitecoinWallet extends CoinServiceAPI await db.addNewTransactionData( [ - Tuple4(transaction, [], [], address), + Tuple2(transaction, address), ], walletId, ); @@ -2188,9 +2190,8 @@ class LitecoinWallet extends CoinServiceAPI } await fastFetch(vHashes.toList()); - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; for (final txObject in allTransactions) { final data = await parseTransaction( diff --git a/lib/services/coins/monero/monero_wallet.dart b/lib/services/coins/monero/monero_wallet.dart index d46595ec4..63c1e431d 100644 --- a/lib/services/coins/monero/monero_wallet.dart +++ b/lib/services/coins/monero/monero_wallet.dart @@ -875,9 +875,8 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { // // final Set cachedTxids = Set.from(txidsList); - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; if (transactions != null) { for (var tx in transactions.entries) { @@ -926,9 +925,11 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { isLelantus: false, slateId: null, otherData: null, + inputs: [], + outputs: [], ); - txnsData.add(Tuple4(txn, [], [], address)); + txnsData.add(Tuple2(txn, address)); } } diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 10852044b..23323b7fa 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -1216,6 +1216,8 @@ class NamecoinWallet extends CoinServiceAPI isLelantus: false, otherData: null, slateId: null, + inputs: [], + outputs: [], ); final address = txData["address"] is String @@ -1224,7 +1226,7 @@ class NamecoinWallet extends CoinServiceAPI await db.addNewTransactionData( [ - Tuple4(transaction, [], [], address), + Tuple2(transaction, address), ], walletId, ); @@ -2180,9 +2182,8 @@ class NamecoinWallet extends CoinServiceAPI } await fastFetch(vHashes.toList()); - final List< - Tuple4, - List, isar_models.Address>> txnsData = []; + final List> txnsData = + []; for (final txObject in allTransactions) { final data = await parseTransaction( diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 1f6c7a2ea..4aafc916f 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -1144,6 +1144,8 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { isLelantus: false, otherData: null, slateId: null, + inputs: [], + outputs: [], ); final address = txData["address"] is String @@ -1152,7 +1154,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { await db.addNewTransactionData( [ - Tuple4(transaction, [], [], address), + Tuple2(transaction, address), ], walletId, ); @@ -2070,9 +2072,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { } await fastFetch(vHashes.toList()); - final List< - Tuple4, - List, isar_models.Address?>> txns = []; + final List> txns = []; for (final txObject in allTransactions) { List sendersArray = []; @@ -2300,21 +2300,6 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { amount = outputAmtAddressedToWallet; } - final tx = isar_models.Transaction( - walletId: walletId, - txid: midSortedTx["txid"] as String, - timestamp: midSortedTx["timestamp"] as int, - type: type, - subType: isar_models.TransactionSubType.none, - amount: amount, - fee: fee, - height: txObject["height"] as int, - isCancelled: false, - isLelantus: false, - slateId: null, - otherData: null, - ); - isar_models.Address transactionAddress = midSortedTx["address"] as isar_models.Address; @@ -2324,7 +2309,6 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { for (final json in txObject["vin"] as List) { bool isCoinBase = json['coinbase'] != null; final input = isar_models.Input( - walletId: walletId, txid: json['txid'] as String, vout: json['vout'] as int? ?? -1, scriptSig: json['scriptSig']?['hex'] as String?, @@ -2338,7 +2322,6 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { for (final json in txObject["vout"] as List) { final output = isar_models.Output( - walletId: walletId, scriptPubKey: json['scriptPubKey']?['hex'] as String?, scriptPubKeyAsm: json['scriptPubKey']?['asm'] as String?, scriptPubKeyType: json['scriptPubKey']?['type'] as String?, @@ -2354,7 +2337,24 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { outputs.add(output); } - txns.add(Tuple4(tx, outputs, inputs, transactionAddress)); + final tx = isar_models.Transaction( + walletId: walletId, + txid: midSortedTx["txid"] as String, + timestamp: midSortedTx["timestamp"] as int, + type: type, + subType: isar_models.TransactionSubType.none, + amount: amount, + fee: fee, + height: txObject["height"] as int, + inputs: inputs, + outputs: outputs, + isCancelled: false, + isLelantus: false, + slateId: null, + otherData: null, + ); + + txns.add(Tuple2(tx, transactionAddress)); } await db.addNewTransactionData(txns, walletId); diff --git a/lib/services/coins/wownero/wownero_wallet.dart b/lib/services/coins/wownero/wownero_wallet.dart index b1afa561d..004e22534 100644 --- a/lib/services/coins/wownero/wownero_wallet.dart +++ b/lib/services/coins/wownero/wownero_wallet.dart @@ -901,9 +901,8 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { // } // } - final List< - Tuple4, - List, isar_models.Address?>> txnsData = []; + final List> txnsData = + []; if (transactions != null) { for (var tx in transactions.entries) { @@ -994,9 +993,11 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { isLelantus: false, slateId: null, otherData: null, + inputs: [], + outputs: [], ); - txnsData.add(Tuple4(txn, [], [], address)); + txnsData.add(Tuple2(txn, address)); } } diff --git a/lib/services/mixins/electrum_x_parsing.dart b/lib/services/mixins/electrum_x_parsing.dart index c0b572b20..f50c38e44 100644 --- a/lib/services/mixins/electrum_x_parsing.dart +++ b/lib/services/mixins/electrum_x_parsing.dart @@ -7,8 +7,7 @@ import 'package:stackwallet/utilities/format.dart'; import 'package:tuple/tuple.dart'; mixin ElectrumXParsing { - Future, List, Address>> - parseTransaction( + Future> parseTransaction( Map txData, dynamic electrumxClient, List

myAddresses, @@ -157,7 +156,6 @@ mixin ElectrumXParsing { for (final json in txData["vin"] as List) { bool isCoinBase = json['coinbase'] != null; final input = Input( - walletId: walletId, txid: json['txid'] as String, vout: json['vout'] as int? ?? -1, scriptSig: json['scriptSig']?['hex'] as String?, @@ -171,7 +169,6 @@ mixin ElectrumXParsing { for (final json in txData["vout"] as List) { final output = Output( - walletId: walletId, scriptPubKey: json['scriptPubKey']?['hex'] as String?, scriptPubKeyAsm: json['scriptPubKey']?['asm'] as String?, scriptPubKeyType: json['scriptPubKey']?['type'] as String?, @@ -217,8 +214,10 @@ mixin ElectrumXParsing { isLelantus: false, slateId: null, otherData: null, + inputs: ins, + outputs: outs, ); - return Tuple4(tx, outs, ins, transactionAddress); + return Tuple2(tx, transactionAddress); } } diff --git a/lib/utilities/db_version_migration.dart b/lib/utilities/db_version_migration.dart index 21378c8b5..75b20a42e 100644 --- a/lib/utilities/db_version_migration.dart +++ b/lib/utilities/db_version_migration.dart @@ -391,12 +391,8 @@ class DbVersionMigrator with WalletDB { walletBox.get("latest_lelantus_tx_model") as TransactionData?; final txnsLelantus = txnDataLelantus?.getAllTransactions().values ?? []; - final List< - Tuple4< - isar_models.Transaction, - List, - List, - isar_models.Address?>> newTransactions = []; + final List> + newTransactions = []; newTransactions .addAll(_parseTransactions(txns, walletId, false, newAddresses)); @@ -425,17 +421,15 @@ class DbVersionMigrator with WalletDB { } } - List< - Tuple4, - List, isar_models.Address?>> _parseTransactions( + List> + _parseTransactions( Iterable txns, String walletId, bool isLelantus, List parsedAddresses, ) { - List< - Tuple4, - List, isar_models.Address?>> transactions = []; + List> transactions = + []; for (final tx in txns) { final type = tx.txType.toLowerCase() == "received" ? isar_models.TransactionType.incoming @@ -446,6 +440,32 @@ class DbVersionMigrator with WalletDB { ? isar_models.TransactionSubType.join : isar_models.TransactionSubType.none; + final List inputs = []; + final List outputs = []; + + for (final inp in tx.inputs) { + final input = isar_models.Input( + txid: inp.txid, + vout: inp.vout, + scriptSig: inp.scriptsig, + scriptSigAsm: inp.scriptsigAsm, + isCoinbase: inp.isCoinbase, + sequence: inp.sequence, + innerRedeemScriptAsm: inp.innerRedeemscriptAsm, + ); + inputs.add(input); + } + for (final out in tx.outputs) { + final output = isar_models.Output( + scriptPubKey: out.scriptpubkey, + scriptPubKeyAsm: out.scriptpubkeyAsm, + scriptPubKeyType: out.scriptpubkeyType, + scriptPubKeyAddress: out.scriptpubkeyAddress, + value: out.value, + ); + outputs.add(output); + } + final transaction = isar_models.Transaction( walletId: walletId, txid: tx.txid, @@ -459,36 +479,10 @@ class DbVersionMigrator with WalletDB { isLelantus: false, slateId: tx.slateId, otherData: tx.otherData, + inputs: inputs, + outputs: outputs, ); - final List inputs = []; - final List outputs = []; - - for (final inp in tx.inputs) { - final input = isar_models.Input( - walletId: walletId, - txid: inp.txid, - vout: inp.vout, - scriptSig: inp.scriptsig, - scriptSigAsm: inp.scriptsigAsm, - isCoinbase: inp.isCoinbase, - sequence: inp.sequence, - innerRedeemScriptAsm: inp.innerRedeemscriptAsm, - ); - inputs.add(input); - } - for (final out in tx.outputs) { - final output = isar_models.Output( - walletId: walletId, - scriptPubKey: out.scriptpubkey, - scriptPubKeyAsm: out.scriptpubkeyAsm, - scriptPubKeyType: out.scriptpubkeyType, - scriptPubKeyAddress: out.scriptpubkeyAddress, - value: out.value, - ); - outputs.add(output); - } - isar_models.Address? address; if (tx.address.isNotEmpty) { final addresses = parsedAddresses.where((e) => e.value == tx.address); @@ -508,7 +502,7 @@ class DbVersionMigrator with WalletDB { } } - transactions.add(Tuple4(transaction, outputs, inputs, address)); + transactions.add(Tuple2(transaction, address)); } return transactions; } diff --git a/pubspec.lock b/pubspec.lock index 5949543b2..6e1ec7b83 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -452,6 +452,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "5.0.1" + equatable: + dependency: "direct main" + description: + name: equatable + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" event_bus: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 61c22e7aa..cea00c204 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -139,6 +139,7 @@ dependencies: isar_flutter_libs: 3.0.5 # contains the binaries dropdown_button2: 1.7.2 string_validator: ^0.3.0 + equatable: ^2.0.5 dev_dependencies: flutter_test: diff --git a/test/cached_electrumx_test.mocks.dart b/test/cached_electrumx_test.mocks.dart index 68d3b695f..191f34b67 100644 --- a/test/cached_electrumx_test.mocks.dart +++ b/test/cached_electrumx_test.mocks.dart @@ -699,6 +699,24 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValue: _i4.Future.value(false), ) as _i4.Future); @override + _i4.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); + @override + _i4.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/electrumx_test.mocks.dart b/test/electrumx_test.mocks.dart index c4a9ae9b2..5515acfb7 100644 --- a/test/electrumx_test.mocks.dart +++ b/test/electrumx_test.mocks.dart @@ -420,6 +420,24 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValue: _i3.Future.value(false), ) as _i3.Future); @override + _i3.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i3.Future.value(), + returnValueForMissingStub: _i3.Future.value(), + ) as _i3.Future); + @override + _i3.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i3.Future.value(), + returnValueForMissingStub: _i3.Future.value(), + ) as _i3.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/pages/send_view/send_view_test.mocks.dart b/test/pages/send_view/send_view_test.mocks.dart index 12548c513..dbc0287c6 100644 --- a/test/pages/send_view/send_view_test.mocks.dart +++ b/test/pages/send_view/send_view_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i28; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i17; +import 'package:bip47/bip47.dart' as _i18; +import 'package:bitcoindart/bitcoindart.dart' as _i14; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,28 +17,28 @@ import 'package:stackwallet/db/main_db.dart' as _i13; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10; import 'package:stackwallet/models/balance.dart' as _i12; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i23; -import 'package:stackwallet/models/node_model.dart' as _i21; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i16; +import 'package:stackwallet/models/node_model.dart' as _i25; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i27; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i22; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; + as _i31; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i26; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i25; +import 'package:stackwallet/services/locale_service.dart' as _i29; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i8; -import 'package:stackwallet/services/wallets.dart' as _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i28; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; -import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i32; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i27; +import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i30; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' as _i7; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i14; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i15; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -162,9 +166,19 @@ class _FakeMainDB_10 extends _i1.SmartFake implements _i13.MainDB { ); } -class _FakeElectrumXNode_11 extends _i1.SmartFake +class _FakeNetworkType_11 extends _i1.SmartFake implements _i14.NetworkType { + _FakeNetworkType_11( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeElectrumXNode_12 extends _i1.SmartFake implements _i10.ElectrumXNode { - _FakeElectrumXNode_11( + _FakeElectrumXNode_12( Object parent, Invocation parentInvocation, ) : super( @@ -173,9 +187,9 @@ class _FakeElectrumXNode_11 extends _i1.SmartFake ); } -class _FakeTuple4_12 extends _i1.SmartFake - implements _i14.Tuple4 { - _FakeTuple4_12( +class _FakeTuple2_13 extends _i1.SmartFake + implements _i15.Tuple2 { + _FakeTuple2_13( Object parent, Invocation parentInvocation, ) : super( @@ -184,9 +198,39 @@ class _FakeTuple4_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_14 extends _i1.SmartFake implements _i16.Address { + _FakeAddress_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_15 extends _i1.SmartFake implements _i17.BIP32 { + _FakeBIP32_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_16 extends _i1.SmartFake implements _i18.PaymentCode { + _FakePaymentCode_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -198,7 +242,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -265,7 +309,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -275,18 +319,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -350,17 +394,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -371,11 +415,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -383,7 +427,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -409,19 +453,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -436,13 +480,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -456,13 +500,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -475,46 +519,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -527,48 +571,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -580,20 +624,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -601,7 +645,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -643,33 +687,33 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i7.SecureStorageInterface); @override - List<_i21.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i25.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override - List<_i21.NodeModel> get nodes => (super.noSuchMethod( + List<_i25.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i21.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i25.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -682,44 +726,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i21.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i25.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i21.NodeModel?); + )) as _i25.NodeModel?); @override - List<_i21.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i25.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override - _i21.NodeModel? getNodeById({required String? id}) => + _i25.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i21.NodeModel?); + )) as _i25.NodeModel?); @override - List<_i21.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i25.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override - _i18.Future add( - _i21.NodeModel? node, + _i22.Future add( + _i25.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -732,11 +776,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -748,11 +792,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -766,12 +810,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i21.NodeModel? editedNode, + _i22.Future edit( + _i25.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -784,20 +828,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -805,7 +849,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -833,13 +877,13 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -916,59 +960,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i23.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i16.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i23.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i16.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i9.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -1057,26 +1106,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ), ) as _i13.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i14.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_11( + this, + Invocation.getter(#networkType), + ), + ) as _i14.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i24.DerivePathType addressType({required String? address}) => + _i27.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i24.DerivePathType.bip44, - ) as _i24.DerivePathType); + returnValue: _i27.DerivePathType.bip44, + ) as _i27.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1093,47 +1150,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1149,26 +1206,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1186,33 +1243,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1222,36 +1279,36 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), returnValue: - _i18.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_11( + _i22.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_12( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i10.ElectrumXNode>); + ) as _i22.Future<_i10.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i24.DerivePathType? derivePathType, + required _i27.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1265,13 +1322,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i24.DerivePathType? derivePathType, + required _i27.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1284,50 +1341,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1351,7 +1408,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i23.UTXO>? utxos, + List<_i16.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1367,19 +1424,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i23.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i16.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i23.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i16.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1396,10 +1453,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1411,11 +1468,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1427,8 +1484,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1447,25 +1504,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1478,14 +1535,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1495,14 +1552,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1512,15 +1569,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i12.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1536,15 +1593,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ), ) as _i12.Balance); @override - _i18.Future updateCachedBalance(_i12.Balance? balance) => + _i22.Future updateCachedBalance(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i12.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1560,15 +1617,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ), ) as _i12.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i12.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i13.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1579,13 +1636,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i14.Tuple4<_i23.Transaction, List<_i23.Output>, List<_i23.Input>, - _i23.Address>> parseTransaction( + _i22.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i23.Address>? myAddresses, - _i17.Coin? coin, + List<_i16.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1601,10 +1656,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i14.Tuple4<_i23.Transaction, List<_i23.Output>, List<_i23.Input>, - _i23.Address>>.value(_FakeTuple4_12<_i23.Transaction, - List<_i23.Output>, List<_i23.Input>, _i23.Address>( + returnValue: + _i22.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>.value( + _FakeTuple2_13<_i16.Transaction, _i16.Address>( this, Invocation.method( #parseTransaction, @@ -1618,15 +1672,473 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i14.Tuple4<_i23.Transaction, List<_i23.Output>, List<_i23.Input>, - _i23.Address>>); + ) as _i22.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i14.NetworkType? network, + required _i21.Coin? coin, + required _i13.MainDB? db, + required _i10.ElectrumX? electrumXClient, + required _i7.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i16.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i27.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i27.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i16.Address> currentReceivingPaynymAddress( + _i18.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i18.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i17.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i17.BIP32>.value(_FakeBIP32_15( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i17.BIP32>); + @override + _i22.Future<_i28.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i22.Future<_i28.Uint8List>); + @override + _i22.Future<_i28.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i22.Future<_i28.Uint8List>); + @override + _i22.Future<_i18.PaymentCode> getPaymentCode( + _i27.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i18.PaymentCode>.value(_FakePaymentCode_16( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i18.PaymentCode>); + @override + _i22.Future<_i28.Uint8List> signWithNotificationKey(_i28.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i22.Future<_i28.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i18.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i16.Address> nextUnusedSendAddressFrom({ + required _i18.PaymentCode? pCode, + required _i28.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i16.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i18.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i16.Transaction? transaction, + required _i16.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i18.PaymentCode?>.value(), + ) as _i22.Future<_i18.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i18.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i18.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.Address> generatePaynymSendAddressFromKeyPair({ + required _i14.ECPair? pair, + required int? derivationIndex, + required _i27.DerivePathType? derivePathType, + required _i18.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future<_i16.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i14.ECPair? pair, + required int? derivationIndex, + required _i27.DerivePathType? derivePathType, + required _i18.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future<_i16.Address> getMyNotificationAddress( + _i27.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i25.LocaleService { +class MockLocaleService extends _i1.Mock implements _i29.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1642,17 +2154,17 @@ class MockLocaleService extends _i1.Mock implements _i25.LocaleService { returnValue: false, ) as bool); @override - _i18.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1660,7 +2172,7 @@ class MockLocaleService extends _i1.Mock implements _i25.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1688,7 +2200,7 @@ class MockLocaleService extends _i1.Mock implements _i25.LocaleService { /// A class which mocks [Prefs]. /// /// See the documentation for Mockito's code generation for more information. -class MockPrefs extends _i1.Mock implements _i19.Prefs { +class MockPrefs extends _i1.Mock implements _i23.Prefs { MockPrefs() { _i1.throwOnMissingStub(this); } @@ -1744,12 +2256,12 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i26.SyncingType get syncType => (super.noSuchMethod( + _i30.SyncingType get syncType => (super.noSuchMethod( Invocation.getter(#syncType), - returnValue: _i26.SyncingType.currentWalletOnly, - ) as _i26.SyncingType); + returnValue: _i30.SyncingType.currentWalletOnly, + ) as _i30.SyncingType); @override - set syncType(_i26.SyncingType? syncType) => super.noSuchMethod( + set syncType(_i30.SyncingType? syncType) => super.noSuchMethod( Invocation.setter( #syncType, syncType, @@ -1809,12 +2321,12 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i27.ExchangeRateType get exchangeRateType => (super.noSuchMethod( + _i31.ExchangeRateType get exchangeRateType => (super.noSuchMethod( Invocation.getter(#exchangeRateType), - returnValue: _i27.ExchangeRateType.estimated, - ) as _i27.ExchangeRateType); + returnValue: _i31.ExchangeRateType.estimated, + ) as _i31.ExchangeRateType); @override - set exchangeRateType(_i27.ExchangeRateType? exchangeRateType) => + set exchangeRateType(_i31.ExchangeRateType? exchangeRateType) => super.noSuchMethod( Invocation.setter( #exchangeRateType, @@ -1896,12 +2408,12 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i28.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i32.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i28.BackupFrequencyType.everyTenMinutes, - ) as _i28.BackupFrequencyType); + returnValue: _i32.BackupFrequencyType.everyTenMinutes, + ) as _i32.BackupFrequencyType); @override - set backupFrequencyType(_i28.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i32.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -1971,33 +2483,51 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValue: false, ) as bool); @override - _i18.Future init() => (super.noSuchMethod( + _i22.Future init() => (super.noSuchMethod( Invocation.method( #init, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( + _i22.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( Invocation.method( #incrementCurrentNotificationIndex, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isExternalCallsSet() => (super.noSuchMethod( + _i22.Future isExternalCallsSet() => (super.noSuchMethod( Invocation.method( #isExternalCallsSet, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + _i22.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2005,7 +2535,7 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2048,23 +2578,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2097,23 +2627,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i9.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2123,16 +2653,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i12.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i23.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i16.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i23.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i16.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2152,10 +2682,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2177,14 +2707,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2194,7 +2724,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2210,27 +2740,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2240,33 +2770,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2283,20 +2813,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2308,11 +2838,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2324,18 +2854,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2343,7 +2873,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2363,7 +2893,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2374,10 +2904,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2410,23 +2940,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i9.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2436,16 +2966,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i12.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i23.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i16.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i23.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i16.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2465,10 +2995,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2485,7 +3015,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2501,36 +3031,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2540,15 +3070,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2565,38 +3095,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2608,11 +3138,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2624,24 +3154,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } diff --git a/test/screen_tests/exchange/exchange_view_test.mocks.dart b/test/screen_tests/exchange/exchange_view_test.mocks.dart index 1133911a9..114ea066b 100644 --- a/test/screen_tests/exchange/exchange_view_test.mocks.dart +++ b/test/screen_tests/exchange/exchange_view_test.mocks.dart @@ -371,6 +371,24 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override + _i7.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart b/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart index 1a01906ea..12ae0ae62 100644 --- a/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart +++ b/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart b/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart index 4f0016262..699278ce1 100644 --- a/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart +++ b/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart b/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart index ae555da22..3c78f6dc6 100644 --- a/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart +++ b/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/firo/firo_wallet_test.dart b/test/services/coins/firo/firo_wallet_test.dart index d6d6fe2e4..f16cf03a0 100644 --- a/test/services/coins/firo/firo_wallet_test.dart +++ b/test/services/coins/firo/firo_wallet_test.dart @@ -102,6 +102,8 @@ void main() { isLelantus: null, slateId: t.slateId, otherData: t.otherData, + inputs: [], + outputs: [], ), ) .toList(); diff --git a/test/services/coins/firo/firo_wallet_test.mocks.dart b/test/services/coins/firo/firo_wallet_test.mocks.dart index ac107eaa2..0e3549d87 100644 --- a/test/services/coins/firo/firo_wallet_test.mocks.dart +++ b/test/services/coins/firo/firo_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/manager_test.dart b/test/services/coins/manager_test.dart index e3cd7b917..2a5661ab2 100644 --- a/test/services/coins/manager_test.dart +++ b/test/services/coins/manager_test.dart @@ -109,6 +109,8 @@ void main() { isLelantus: true, slateId: null, otherData: null, + inputs: [], + outputs: [], ); when(wallet.transactions).thenAnswer((_) async => [ tx, diff --git a/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart b/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart index 47870a622..28500d8af 100644 --- a/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart +++ b/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/particl/particl_wallet_test.mocks.dart b/test/services/coins/particl/particl_wallet_test.mocks.dart index ab2e8f310..43a1473ce 100644 --- a/test/services/coins/particl/particl_wallet_test.mocks.dart +++ b/test/services/coins/particl/particl_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/wallets_service_test.mocks.dart b/test/services/wallets_service_test.mocks.dart index bb3f74934..c4085b7c3 100644 --- a/test/services/wallets_service_test.mocks.dart +++ b/test/services/wallets_service_test.mocks.dart @@ -30,6 +30,11 @@ class MockSecureStorageWrapper extends _i1.Mock _i1.throwOnMissingStub(this); } + @override + _i3.Future> get keys => (super.noSuchMethod( + Invocation.getter(#keys), + returnValue: _i3.Future>.value([]), + ) as _i3.Future>); @override _i3.Future read({ required String? key, diff --git a/test/widget_tests/managed_favorite_test.mocks.dart b/test/widget_tests/managed_favorite_test.mocks.dart index a51988ce0..da30d6016 100644 --- a/test/widget_tests/managed_favorite_test.mocks.dart +++ b/test/widget_tests/managed_favorite_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,24 +17,24 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i22; -import 'package:stackwallet/models/node_model.dart' as _i25; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; +import 'package:stackwallet/models/node_model.dart' as _i29; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i21; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i24; +import 'package:stackwallet/services/locale_service.dart' as _i28; 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 _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i14; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i13; + as _i18; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -147,8 +151,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -157,9 +161,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -168,9 +171,9 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeSecureStorageInterface_12 extends _i1.SmartFake - implements _i14.SecureStorageInterface { - _FakeSecureStorageInterface_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -179,9 +182,50 @@ class _FakeSecureStorageInterface_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSecureStorageInterface_16 extends _i1.SmartFake + implements _i18.SecureStorageInterface { + _FakeSecureStorageInterface_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -193,7 +237,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -260,7 +304,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -270,18 +314,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -345,17 +389,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -366,11 +410,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -378,7 +422,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -404,19 +448,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -431,13 +475,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -451,13 +495,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -470,46 +514,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -522,48 +566,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -575,20 +619,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -596,7 +640,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -624,13 +668,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -707,59 +751,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -848,26 +897,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i12.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i23.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i23.DerivePathType.bip44, - ) as _i23.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -884,47 +941,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -940,26 +997,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -977,33 +1034,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1013,35 +1070,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i18.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i9.ElectrumXNode>); + ) as _i22.Future<_i9.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1055,13 +1112,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1074,50 +1131,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1141,7 +1198,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i22.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1157,19 +1214,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i22.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i22.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1186,10 +1243,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1201,11 +1258,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1217,8 +1274,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1237,25 +1294,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1268,14 +1325,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1285,14 +1342,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1302,15 +1359,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1326,15 +1383,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalance(_i11.Balance? balance) => + _i22.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1350,15 +1407,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1369,13 +1426,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>> parseTransaction( + _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i22.Address>? myAddresses, - _i17.Coin? coin, + List<_i15.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1391,10 +1446,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>.value(_FakeTuple4_11<_i22.Transaction, - List<_i22.Output>, List<_i22.Input>, _i22.Address>( + returnValue: + _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1408,15 +1462,473 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>); + ) as _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i21.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i18.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i26.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i26.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i16.BIP32>); + @override + _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i17.PaymentCode>); + @override + _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i17.PaymentCode?>.value(), + ) as _i22.Future<_i17.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i17.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i24.LocaleService { +class MockLocaleService extends _i1.Mock implements _i28.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1432,17 +1944,17 @@ class MockLocaleService extends _i1.Mock implements _i24.LocaleService { returnValue: false, ) as bool); @override - _i18.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1450,7 +1962,7 @@ class MockLocaleService extends _i1.Mock implements _i24.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1480,41 +1992,41 @@ class MockLocaleService extends _i1.Mock implements _i24.LocaleService { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i14.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_12( + returnValue: _FakeSecureStorageInterface_16( this, Invocation.getter(#secureStorageInterface), ), - ) as _i14.SecureStorageInterface); + ) as _i18.SecureStorageInterface); @override - List<_i25.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i29.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override - List<_i25.NodeModel> get nodes => (super.noSuchMethod( + List<_i29.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i25.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i29.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1527,44 +2039,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i25.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i29.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i25.NodeModel?); + )) as _i29.NodeModel?); @override - List<_i25.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i29.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override - _i25.NodeModel? getNodeById({required String? id}) => + _i29.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i25.NodeModel?); + )) as _i29.NodeModel?); @override - List<_i25.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i29.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override - _i18.Future add( - _i25.NodeModel? node, + _i22.Future add( + _i29.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -1577,11 +2089,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -1593,11 +2105,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -1611,12 +2123,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i25.NodeModel? editedNode, + _i22.Future edit( + _i29.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -1629,20 +2141,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1650,7 +2162,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1693,23 +2205,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1742,23 +2254,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1768,16 +2280,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1797,10 +2309,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1822,14 +2334,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1839,7 +2351,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1855,27 +2367,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1885,33 +2397,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1928,20 +2440,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1953,11 +2465,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1969,18 +2481,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1988,7 +2500,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2008,7 +2520,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2019,10 +2531,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2055,23 +2567,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2081,16 +2593,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2110,10 +2622,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2130,7 +2642,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2146,36 +2658,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2185,15 +2697,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2210,38 +2722,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2253,11 +2765,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2269,24 +2781,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } diff --git a/test/widget_tests/node_options_sheet_test.mocks.dart b/test/widget_tests/node_options_sheet_test.mocks.dart index 23810fd96..d18c5165e 100644 --- a/test/widget_tests/node_options_sheet_test.mocks.dart +++ b/test/widget_tests/node_options_sheet_test.mocks.dart @@ -604,6 +604,24 @@ class MockPrefs extends _i1.Mock implements _i11.Prefs { returnValue: _i10.Future.value(false), ) as _i10.Future); @override + _i10.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i10.Future.value(), + returnValueForMissingStub: _i10.Future.value(), + ) as _i10.Future); + @override + _i10.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i10.Future.value(), + returnValueForMissingStub: _i10.Future.value(), + ) as _i10.Future); + @override void addListener(_i12.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/widget_tests/table_view/table_view_row_test.mocks.dart b/test/widget_tests/table_view/table_view_row_test.mocks.dart index aeefa1a27..b6f043a78 100644 --- a/test/widget_tests/table_view/table_view_row_test.mocks.dart +++ b/test/widget_tests/table_view/table_view_row_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i17; -import 'dart:ui' as _i19; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i23; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,20 +17,22 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i21; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i20; -import 'package:stackwallet/services/coins/coin_service.dart' as _i14; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; 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 _i15; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i16; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i22; -import 'package:stackwallet/utilities/prefs.dart' as _i18; -import 'package:tuple/tuple.dart' as _i13; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; +import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' + as _i26; +import 'package:stackwallet/utilities/prefs.dart' as _i22; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -143,8 +149,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -153,9 +159,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -164,9 +169,50 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_12 extends _i1.SmartFake - implements _i14.CoinServiceAPI { - _FakeCoinServiceAPI_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -178,7 +224,7 @@ class _FakeCoinServiceAPI_12 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i15.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -245,7 +291,7 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i16.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -255,18 +301,18 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValue: [], ) as List); @override - Map<_i16.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i16.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i16.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i16.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -330,17 +376,17 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValueForMissingStub: null, ); @override - _i17.Future load(_i18.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future loadAfterStackRestore( - _i18.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -351,11 +397,11 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { managers, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -363,7 +409,7 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -389,19 +435,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i17.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i17.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i17.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i17.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -416,13 +462,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i16.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -436,13 +482,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i16.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -455,46 +501,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i17.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -507,48 +553,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -560,20 +606,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -581,7 +627,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -609,13 +655,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i17.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -692,59 +738,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: false, ) as bool); @override - _i16.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i16.Coin.bitcoin, - ) as _i16.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i17.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i17.Future>.value(<_i21.UTXO>[]), - ) as _i17.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i17.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i17.Future>.value(<_i21.Transaction>[]), - ) as _i17.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i17.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); + @override + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i17.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i17.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i17.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i17.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i17.Future get chainHeight => (super.noSuchMethod( + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -833,26 +884,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ), ) as _i12.MainDB); @override - _i17.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i22.DerivePathType.bip44, - ) as _i22.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i17.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -869,47 +928,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { #height: height, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -925,26 +984,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -962,33 +1021,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i17.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -998,35 +1057,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i17.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i17.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i17.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i22.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1040,13 +1099,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i22.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1059,50 +1118,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i17.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i17.Future>>); + ) as _i21.Future>>); @override - _i17.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1126,7 +1185,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i21.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1142,19 +1201,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { }, )); @override - _i17.Future> fetchBuildTxData( - List<_i21.UTXO>? utxosToUse) => + _i21.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future> buildTransaction({ - required List<_i21.UTXO>? utxosToUse, + _i21.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1171,10 +1230,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1186,11 +1245,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1202,8 +1261,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { feeRate, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1222,25 +1281,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: 0, ) as int); @override - _i17.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i16.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1253,14 +1312,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i17.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1270,14 +1329,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: 0, ) as int); @override - _i17.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1287,15 +1346,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1311,15 +1370,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ), ) as _i11.Balance); @override - _i17.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1335,15 +1394,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ), ) as _i11.Balance); @override - _i17.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1354,13 +1413,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i17.Future< - _i13.Tuple4<_i21.Transaction, List<_i21.Output>, List<_i21.Input>, - _i21.Address>> parseTransaction( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i21.Address>? myAddresses, - _i16.Coin? coin, + List<_i15.Address>? myAddresses, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1376,10 +1433,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { walletId, ], ), - returnValue: _i17.Future< - _i13.Tuple4<_i21.Transaction, List<_i21.Output>, List<_i21.Input>, - _i21.Address>>.value(_FakeTuple4_11<_i21.Transaction, - List<_i21.Output>, List<_i21.Input>, _i21.Address>( + returnValue: + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1393,9 +1449,467 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ], ), )), - ) as _i17.Future< - _i13.Tuple4<_i21.Transaction, List<_i21.Output>, List<_i21.Input>, - _i21.Address>>); + ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i20.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i26.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i21.Future> Function()? getMnemonic, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i21.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ + required String address, + required int chain, + required _i25.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i21.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i25.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i21.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i21.Future<_i16.BIP32>); + @override + _i21.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); + @override + _i21.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); + @override + _i21.Future<_i17.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i21.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i21.Future<_i17.PaymentCode>); + @override + _i21.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); + @override + _i21.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i21.Future.value(''), + ) as _i21.Future); + @override + _i21.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i21.Future>.value({}), + ) as _i21.Future>); + @override + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i21.Future>.value({}), + ) as _i21.Future>); + @override + _i21.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i21.Future.value(''), + ) as _i21.Future); + @override + _i21.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i21.Future.value(false), + ) as _i21.Future); + @override + _i21.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i21.Future<_i17.PaymentCode?>.value(), + ) as _i21.Future<_i17.PaymentCode?>); + @override + _i21.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i21.Future>.value(<_i17.PaymentCode>[]), + ) as _i21.Future>); + @override + _i21.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i25.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i25.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [Manager]. @@ -1416,23 +1930,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i14.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_12( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i14.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i16.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i16.Coin.bitcoin, - ) as _i16.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1465,23 +1979,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i17.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i17.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i17.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i17.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1491,16 +2005,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i17.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i17.Future>.value(<_i21.Transaction>[]), - ) as _i17.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i17.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i17.Future>.value(<_i21.UTXO>[]), - ) as _i17.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1520,10 +2034,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i17.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1545,14 +2059,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i17.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1562,7 +2076,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i17.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1578,27 +2092,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1608,33 +2122,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i17.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1651,20 +2165,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1676,11 +2190,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1692,18 +2206,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1711,7 +2225,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1731,7 +2245,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -1742,10 +2256,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i16.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i16.Coin.bitcoin, - ) as _i16.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1778,23 +2292,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i17.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i17.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i17.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1804,16 +2318,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { ), ) as _i11.Balance); @override - _i17.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i17.Future>.value(<_i21.Transaction>[]), - ) as _i17.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i17.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i17.Future>.value(<_i21.UTXO>[]), - ) as _i17.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1833,10 +2347,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValue: '', ) as String); @override - _i17.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -1853,7 +2367,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValue: 0, ) as int); @override - _i17.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1869,36 +2383,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1908,15 +2422,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValue: false, ) as bool); @override - _i17.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1933,38 +2447,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { #height: height, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1976,11 +2490,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1992,24 +2506,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { feeRate, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } diff --git a/test/widget_tests/transaction_card_test.dart b/test/widget_tests/transaction_card_test.dart index 84b6372d5..ed5e226e1 100644 --- a/test/widget_tests/transaction_card_test.dart +++ b/test/widget_tests/transaction_card_test.dart @@ -6,7 +6,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockingjay/mockingjay.dart' as mockingjay; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; -import 'package:stackwallet/models/isar/models/address/address.dart'; +import 'package:stackwallet/models/isar/models/blockchain_data/address.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart'; import 'package:stackwallet/providers/providers.dart'; @@ -47,25 +47,27 @@ void main() { final mockPriceService = MockPriceService(); final tx = Transaction( - txid: "some txid", - timestamp: 1648595998, - type: TransactionType.outgoing, - amount: 100000000, - fee: 3794, - height: 450123, - subType: TransactionSubType.none, - isCancelled: false, - walletId: '', - isLelantus: null, - slateId: '', - otherData: '') - ..address.value = Address( - walletId: "walletId", - value: "", - publicKey: [], - derivationIndex: 0, - type: AddressType.p2pkh, - subType: AddressSubType.receiving); + txid: "some txid", + timestamp: 1648595998, + type: TransactionType.outgoing, + amount: 100000000, + fee: 3794, + height: 450123, + subType: TransactionSubType.none, + isCancelled: false, + walletId: '', + isLelantus: null, + slateId: '', + otherData: '', + inputs: [], + outputs: [], + )..address.value = Address( + walletId: "walletId", + value: "", + publicKey: [], + derivationIndex: 0, + type: AddressType.p2pkh, + subType: AddressSubType.receiving); final CoinServiceAPI wallet = MockFiroWallet(); @@ -145,25 +147,27 @@ void main() { final mockPriceService = MockPriceService(); final tx = Transaction( - txid: "some txid", - timestamp: 1648595998, - type: TransactionType.outgoing, - amount: 9659, - fee: 3794, - height: 450123, - subType: TransactionSubType.mint, - isCancelled: false, - walletId: '', - isLelantus: null, - slateId: '', - otherData: '') - ..address.value = Address( - walletId: "walletId", - value: "", - publicKey: [], - derivationIndex: 0, - type: AddressType.p2pkh, - subType: AddressSubType.receiving); + txid: "some txid", + timestamp: 1648595998, + type: TransactionType.outgoing, + amount: 9659, + fee: 3794, + height: 450123, + subType: TransactionSubType.mint, + isCancelled: false, + walletId: '', + isLelantus: null, + slateId: '', + otherData: '', + inputs: [], + outputs: [], + )..address.value = Address( + walletId: "walletId", + value: "", + publicKey: [], + derivationIndex: 0, + type: AddressType.p2pkh, + subType: AddressSubType.receiving); final CoinServiceAPI wallet = MockFiroWallet(); @@ -240,25 +244,27 @@ void main() { final mockPriceService = MockPriceService(); final tx = Transaction( - txid: "some txid", - timestamp: 1648595998, - type: TransactionType.incoming, - amount: 100000000, - fee: 3794, - height: 450123, - subType: TransactionSubType.none, - isCancelled: false, - walletId: '', - isLelantus: null, - slateId: '', - otherData: '') - ..address.value = Address( - walletId: "walletId", - value: "", - publicKey: [], - derivationIndex: 0, - type: AddressType.p2pkh, - subType: AddressSubType.receiving); + txid: "some txid", + timestamp: 1648595998, + type: TransactionType.incoming, + amount: 100000000, + fee: 3794, + height: 450123, + subType: TransactionSubType.none, + isCancelled: false, + walletId: '', + isLelantus: null, + slateId: '', + otherData: '', + inputs: [], + outputs: [], + )..address.value = Address( + walletId: "walletId", + value: "", + publicKey: [], + derivationIndex: 0, + type: AddressType.p2pkh, + subType: AddressSubType.receiving); final CoinServiceAPI wallet = MockFiroWallet(); @@ -329,25 +335,27 @@ void main() { final navigator = mockingjay.MockNavigator(); final tx = Transaction( - txid: "some txid", - timestamp: 1648595998, - type: TransactionType.outgoing, - amount: 100000000, - fee: 3794, - height: 450123, - subType: TransactionSubType.none, - isCancelled: false, - walletId: '', - isLelantus: null, - slateId: '', - otherData: '') - ..address.value = Address( - walletId: "walletId", - value: "", - publicKey: [], - derivationIndex: 0, - type: AddressType.p2pkh, - subType: AddressSubType.receiving); + txid: "some txid", + timestamp: 1648595998, + type: TransactionType.outgoing, + amount: 100000000, + fee: 3794, + height: 450123, + subType: TransactionSubType.none, + isCancelled: false, + walletId: '', + isLelantus: null, + slateId: '', + otherData: '', + inputs: [], + outputs: [], + )..address.value = Address( + walletId: "walletId", + value: "", + publicKey: [], + derivationIndex: 0, + type: AddressType.p2pkh, + subType: AddressSubType.receiving); final CoinServiceAPI wallet = MockFiroWallet(); diff --git a/test/widget_tests/transaction_card_test.mocks.dart b/test/widget_tests/transaction_card_test.mocks.dart index 1ef218b2d..8101e32b7 100644 --- a/test/widget_tests/transaction_card_test.mocks.dart +++ b/test/widget_tests/transaction_card_test.mocks.dart @@ -2317,6 +2317,24 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValue: _i18.Future.value(false), ) as _i18.Future); @override + _i18.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i18.Future.value(), + returnValueForMissingStub: _i18.Future.value(), + ) as _i18.Future); + @override + _i18.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i18.Future.value(), + returnValueForMissingStub: _i18.Future.value(), + ) as _i18.Future); + @override void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/widget_tests/wallet_card_test.mocks.dart b/test/widget_tests/wallet_card_test.mocks.dart index 2bffe7a06..9f94bfdc4 100644 --- a/test/widget_tests/wallet_card_test.mocks.dart +++ b/test/widget_tests/wallet_card_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i16; -import 'dart:ui' as _i18; +import 'dart:async' as _i20; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i22; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,20 +17,22 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i20; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i23; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i22; +import 'package:stackwallet/services/locale_service.dart' as _i27; 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.dart' as _i18; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i15; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i21; -import 'package:stackwallet/utilities/prefs.dart' as _i17; -import 'package:tuple/tuple.dart' as _i13; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i19; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; +import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' + as _i25; +import 'package:stackwallet/utilities/prefs.dart' as _i21; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -143,8 +149,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -153,9 +159,49 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( Object parent, Invocation parentInvocation, ) : super( @@ -167,7 +213,7 @@ class _FakeTuple4_11 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i14.Wallets { +class MockWallets extends _i1.Mock implements _i18.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -234,7 +280,7 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i15.Coin? coin}) => + List getWalletIdsFor({required _i19.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -244,18 +290,18 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValue: [], ) as List); @override - Map<_i15.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i15.Coin, + returnValue: <_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i15.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i15.Coin? coin) => + _i19.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -319,17 +365,17 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValueForMissingStub: null, ); @override - _i16.Future load(_i17.Prefs? prefs) => (super.noSuchMethod( + _i20.Future load(_i21.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future loadAfterStackRestore( - _i17.Prefs? prefs, + _i20.Future loadAfterStackRestore( + _i21.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -340,11 +386,11 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { managers, ], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -352,7 +398,7 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -372,13 +418,13 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i16.Timer? _timer) => super.noSuchMethod( + set timer(_i20.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -455,59 +501,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: false, ) as bool); @override - _i15.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i15.Coin.bitcoin, - ) as _i15.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override - _i16.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i16.Future>.value(<_i20.UTXO>[]), - ) as _i16.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override - _i16.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i16.Future>.value(<_i20.Transaction>[]), - ) as _i16.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i16.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i16.Future.value(''), - ) as _i16.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i16.Future get currentChangeAddress => (super.noSuchMethod( + _i20.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i16.Future.value(''), - ) as _i16.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); + @override + _i20.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i16.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i16.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i16.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i16.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i16.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i16.Future>.value([]), - ) as _i16.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i16.Future get chainHeight => (super.noSuchMethod( + _i20.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -596,26 +647,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ), ) as _i12.MainDB); @override - _i16.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i20.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.DerivePathType addressType({required String? address}) => + _i24.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i21.DerivePathType.bip44, - ) as _i21.DerivePathType); + returnValue: _i24.DerivePathType.bip44, + ) as _i24.DerivePathType); @override - _i16.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -632,47 +691,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { #height: height, }, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future getTransactionCacheEarly(List? allAddresses) => + _i20.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i20.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i16.Future.value(false), - ) as _i16.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i16.Future getAllTxsToWatch() => (super.noSuchMethod( + _i20.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -688,26 +747,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { }, ), returnValue: - _i16.Future>.value({}), - ) as _i16.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i16.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i16.Future.value(''), - ) as _i16.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i16.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i16.Future.value(false), - ) as _i16.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -725,33 +784,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i16.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future updateSentCachedTxData(Map? txData) => + _i20.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -761,35 +820,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: false, ) as bool); @override - _i16.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i20.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i16.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i20.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i16.Future<_i9.ElectrumXNode>); + ) as _i20.Future<_i9.ElectrumXNode>); @override - _i16.Future addDerivation({ + _i20.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i21.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -803,13 +862,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future addDerivations({ + _i20.Future addDerivations({ required int? chain, - required _i21.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -822,50 +881,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future>> fastFetch( + _i20.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i16.Future>>.value( + returnValue: _i20.Future>>.value( >[]), - ) as _i16.Future>>); + ) as _i20.Future>>); @override - _i16.Future getTxCount({required String? address}) => + _i20.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i16.Future checkCurrentReceivingAddressesForTransactions() => + _i20.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future checkCurrentChangeAddressesForTransactions() => + _i20.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int estimateTxFee({ required int? vSize, @@ -889,7 +948,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i20.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -905,19 +964,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { }, )); @override - _i16.Future> fetchBuildTxData( - List<_i20.UTXO>? utxosToUse) => + _i20.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i16.Future>.value({}), - ) as _i16.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i16.Future> buildTransaction({ - required List<_i20.UTXO>? utxosToUse, + _i20.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -934,10 +993,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { }, ), returnValue: - _i16.Future>.value({}), - ) as _i16.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i16.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -949,11 +1008,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -965,8 +1024,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { feeRate, ], ), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int roughFeeEstimate( int? inputCount, @@ -985,25 +1044,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: 0, ) as int); @override - _i16.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i20.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i16.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i16.Future.value(false), - ) as _i16.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void initCache( String? walletId, - _i15.Coin? coin, + _i19.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1016,14 +1075,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i16.Future updateCachedId(String? id) => (super.noSuchMethod( + _i20.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1033,14 +1092,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: 0, ) as int); @override - _i16.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i20.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1050,15 +1109,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: false, ) as bool); @override - _i16.Future updateCachedIsFavorite(bool? isFavorite) => + _i20.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1074,15 +1133,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ), ) as _i11.Balance); @override - _i16.Future updateCachedBalance(_i11.Balance? balance) => + _i20.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1098,15 +1157,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ), ) as _i11.Balance); @override - _i16.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i20.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1117,13 +1176,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i16.Future< - _i13.Tuple4<_i20.Transaction, List<_i20.Output>, List<_i20.Input>, - _i20.Address>> parseTransaction( + _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i20.Address>? myAddresses, - _i15.Coin? coin, + List<_i15.Address>? myAddresses, + _i19.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1139,10 +1196,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { walletId, ], ), - returnValue: _i16.Future< - _i13.Tuple4<_i20.Transaction, List<_i20.Output>, List<_i20.Input>, - _i20.Address>>.value(_FakeTuple4_11<_i20.Transaction, - List<_i20.Output>, List<_i20.Input>, _i20.Address>( + returnValue: + _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1156,15 +1212,473 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ], ), )), - ) as _i16.Future< - _i13.Tuple4<_i20.Transaction, List<_i20.Output>, List<_i20.Input>, - _i20.Address>>); + ) as _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i19.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i25.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i20.Future> Function()? getMnemonic, + required _i20.Future Function()? getChainHeight, + required _i20.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i20.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i20.Future Function({required String address})? getTxCount, + required _i20.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i20.Future Function()? refresh, + required _i20.Future Function()? checkChangeAddressForTransactions, + required _i20.Future Function({ + required String address, + required int chain, + required _i24.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i20.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i24.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i20.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i20.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i20.Future<_i16.BIP32>); + @override + _i20.Future<_i26.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); + @override + _i20.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); + @override + _i20.Future<_i17.PaymentCode> getPaymentCode( + _i24.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i20.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i20.Future<_i17.PaymentCode>); + @override + _i20.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); + @override + _i20.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i20.Future.value(''), + ) as _i20.Future); + @override + _i20.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i20.Future>.value({}), + ) as _i20.Future>); + @override + _i20.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i26.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i20.Future>.value({}), + ) as _i20.Future>); + @override + _i20.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i20.Future.value(''), + ) as _i20.Future); + @override + _i20.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i20.Future.value(false), + ) as _i20.Future); + @override + _i20.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i20.Future<_i17.PaymentCode?>.value(), + ) as _i20.Future<_i17.PaymentCode?>); + @override + _i20.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i20.Future>.value(<_i17.PaymentCode>[]), + ) as _i20.Future>); + @override + _i20.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i24.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i24.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future<_i15.Address> getMyNotificationAddress( + _i24.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); + @override + _i20.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i20.Future.value(''), + ) as _i20.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i22.LocaleService { +class MockLocaleService extends _i1.Mock implements _i27.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1180,17 +1694,17 @@ class MockLocaleService extends _i1.Mock implements _i22.LocaleService { returnValue: false, ) as bool); @override - _i16.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i20.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1198,7 +1712,7 @@ class MockLocaleService extends _i1.Mock implements _i22.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart index 5f2b9b7f5..9c8a9941a 100644 --- a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart +++ b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,23 +17,23 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i22; -import 'package:stackwallet/models/node_model.dart' as _i24; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; +import 'package:stackwallet/models/node_model.dart' as _i28; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i21; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; 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 _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i14; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i13; + as _i18; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -146,8 +150,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -156,9 +160,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -167,9 +170,9 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeSecureStorageInterface_12 extends _i1.SmartFake - implements _i14.SecureStorageInterface { - _FakeSecureStorageInterface_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -178,9 +181,50 @@ class _FakeSecureStorageInterface_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSecureStorageInterface_16 extends _i1.SmartFake + implements _i18.SecureStorageInterface { + _FakeSecureStorageInterface_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -192,7 +236,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -259,7 +303,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -269,18 +313,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -344,17 +388,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -365,11 +409,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -377,7 +421,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -403,19 +447,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -430,13 +474,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -450,13 +494,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -469,46 +513,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -521,48 +565,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -574,20 +618,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -595,7 +639,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -623,13 +667,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -706,59 +750,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -847,26 +896,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i12.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i23.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i23.DerivePathType.bip44, - ) as _i23.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -883,47 +940,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -939,26 +996,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -976,33 +1033,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1012,35 +1069,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i18.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i9.ElectrumXNode>); + ) as _i22.Future<_i9.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1054,13 +1111,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1073,50 +1130,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1140,7 +1197,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i22.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1156,19 +1213,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i22.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i22.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1185,10 +1242,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1200,11 +1257,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1216,8 +1273,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1236,25 +1293,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1267,14 +1324,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1284,14 +1341,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1301,15 +1358,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1325,15 +1382,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalance(_i11.Balance? balance) => + _i22.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1349,15 +1406,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1368,13 +1425,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>> parseTransaction( + _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i22.Address>? myAddresses, - _i17.Coin? coin, + List<_i15.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1390,10 +1445,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>.value(_FakeTuple4_11<_i22.Transaction, - List<_i22.Output>, List<_i22.Input>, _i22.Address>( + returnValue: + _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1407,9 +1461,467 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>); + ) as _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i21.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i18.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i26.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i26.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i16.BIP32>); + @override + _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i17.PaymentCode>); + @override + _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i17.PaymentCode?>.value(), + ) as _i22.Future<_i17.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i17.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [NodeService]. @@ -1417,41 +1929,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i14.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_12( + returnValue: _FakeSecureStorageInterface_16( this, Invocation.getter(#secureStorageInterface), ), - ) as _i14.SecureStorageInterface); + ) as _i18.SecureStorageInterface); @override - List<_i24.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - List<_i24.NodeModel> get nodes => (super.noSuchMethod( + List<_i28.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i24.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i28.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1464,44 +1976,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i24.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i24.NodeModel? getNodeById({required String? id}) => + _i28.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i18.Future add( - _i24.NodeModel? node, + _i22.Future add( + _i28.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -1514,11 +2026,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -1530,11 +2042,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -1548,12 +2060,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i24.NodeModel? editedNode, + _i22.Future edit( + _i28.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -1566,20 +2078,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1587,7 +2099,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1630,23 +2142,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1679,23 +2191,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1705,16 +2217,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1734,10 +2246,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1759,14 +2271,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1776,7 +2288,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1792,27 +2304,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1822,33 +2334,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1865,20 +2377,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1890,11 +2402,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1906,18 +2418,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1925,7 +2437,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1945,7 +2457,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -1956,10 +2468,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1992,23 +2504,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2018,16 +2530,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2047,10 +2559,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2067,7 +2579,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2083,36 +2595,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2122,15 +2634,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2147,38 +2659,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2190,11 +2702,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2206,24 +2718,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } 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 index f510bde29..bfb71d028 100644 --- 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 @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,23 +17,23 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i22; -import 'package:stackwallet/models/node_model.dart' as _i24; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; +import 'package:stackwallet/models/node_model.dart' as _i28; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i21; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; 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 _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i14; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i13; + as _i18; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -146,8 +150,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -156,9 +160,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -167,9 +170,9 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeSecureStorageInterface_12 extends _i1.SmartFake - implements _i14.SecureStorageInterface { - _FakeSecureStorageInterface_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -178,9 +181,50 @@ class _FakeSecureStorageInterface_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSecureStorageInterface_16 extends _i1.SmartFake + implements _i18.SecureStorageInterface { + _FakeSecureStorageInterface_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -192,7 +236,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -259,7 +303,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -269,18 +313,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -344,17 +388,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -365,11 +409,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -377,7 +421,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -403,19 +447,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -430,13 +474,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -450,13 +494,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -469,46 +513,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -521,48 +565,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -574,20 +618,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -595,7 +639,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -623,13 +667,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -706,59 +750,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -847,26 +896,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i12.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i23.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i23.DerivePathType.bip44, - ) as _i23.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -883,47 +940,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -939,26 +996,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -976,33 +1033,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1012,35 +1069,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i18.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i9.ElectrumXNode>); + ) as _i22.Future<_i9.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1054,13 +1111,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1073,50 +1130,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1140,7 +1197,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i22.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1156,19 +1213,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i22.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i22.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1185,10 +1242,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1200,11 +1257,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1216,8 +1273,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1236,25 +1293,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1267,14 +1324,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1284,14 +1341,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1301,15 +1358,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1325,15 +1382,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalance(_i11.Balance? balance) => + _i22.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1349,15 +1406,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1368,13 +1425,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>> parseTransaction( + _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i22.Address>? myAddresses, - _i17.Coin? coin, + List<_i15.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1390,10 +1445,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>.value(_FakeTuple4_11<_i22.Transaction, - List<_i22.Output>, List<_i22.Input>, _i22.Address>( + returnValue: + _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1407,9 +1461,467 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>); + ) as _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i21.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i18.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i26.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i26.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i16.BIP32>); + @override + _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i17.PaymentCode>); + @override + _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i17.PaymentCode?>.value(), + ) as _i22.Future<_i17.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i17.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [NodeService]. @@ -1417,41 +1929,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i14.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_12( + returnValue: _FakeSecureStorageInterface_16( this, Invocation.getter(#secureStorageInterface), ), - ) as _i14.SecureStorageInterface); + ) as _i18.SecureStorageInterface); @override - List<_i24.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - List<_i24.NodeModel> get nodes => (super.noSuchMethod( + List<_i28.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i24.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i28.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1464,44 +1976,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i24.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i24.NodeModel? getNodeById({required String? id}) => + _i28.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i18.Future add( - _i24.NodeModel? node, + _i22.Future add( + _i28.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -1514,11 +2026,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -1530,11 +2042,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -1548,12 +2060,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i24.NodeModel? editedNode, + _i22.Future edit( + _i28.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -1566,20 +2078,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1587,7 +2099,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1630,23 +2142,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1679,23 +2191,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1705,16 +2217,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1734,10 +2246,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1759,14 +2271,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1776,7 +2288,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1792,27 +2304,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1822,33 +2334,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1865,20 +2377,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1890,11 +2402,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1906,18 +2418,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1925,7 +2437,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1945,7 +2457,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -1956,10 +2468,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1992,23 +2504,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2018,16 +2530,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2047,10 +2559,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2067,7 +2579,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2083,36 +2595,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2122,15 +2634,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2147,38 +2659,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2190,11 +2702,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2206,24 +2718,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } From 5b5ee30e41651e655038fb84683f8e2013f987ca Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 16:34:06 -0600 Subject: [PATCH 077/191] centralized and cleaned up bip32 utils, and added mnemonic password functionality --- lib/models/stack_restoring_ui_state.dart | 3 + lib/models/wallet_restore_state.dart | 3 + .../restore_wallet_view.dart | 1 + .../helpers/restore_create_backup.dart | 5 +- .../sub_widgets/restoring_wallet_card.dart | 4 + .../coins/bitcoin/bitcoin_wallet.dart | 173 +-- .../coins/bitcoincash/bitcoincash_wallet.dart | 167 ++- lib/services/coins/coin_service.dart | 3 + .../coins/dogecoin/dogecoin_wallet.dart | 159 +-- .../coins/epiccash/epiccash_wallet.dart | 37 +- lib/services/coins/firo/firo_wallet.dart | 340 +++-- .../coins/litecoin/litecoin_wallet.dart | 173 ++- lib/services/coins/manager.dart | 3 + lib/services/coins/monero/monero_wallet.dart | 30 +- .../coins/namecoin/namecoin_wallet.dart | 175 ++- .../coins/particl/particl_wallet.dart | 169 +-- .../coins/wownero/wownero_wallet.dart | 30 +- .../mixins/paynym_wallet_interface.dart | 90 +- lib/utilities/bip32_utils.dart | 118 +- .../pages/send_view/send_view_test.mocks.dart | 1235 +++++++++-------- ...d_address_book_view_screen_test.mocks.dart | 7 + ..._entry_details_view_screen_test.mocks.dart | 7 + ...ess_book_entry_view_screen_test.mocks.dart | 7 + .../lockscreen_view_screen_test.mocks.dart | 7 + .../main_view_screen_testA_test.mocks.dart | 7 + .../main_view_screen_testB_test.mocks.dart | 7 + .../main_view_screen_testC_test.mocks.dart | 7 + .../backup_key_view_screen_test.mocks.dart | 7 + ...up_key_warning_view_screen_test.mocks.dart | 7 + .../create_pin_view_screen_test.mocks.dart | 7 + ...restore_wallet_view_screen_test.mocks.dart | 7 + ...ify_backup_key_view_screen_test.mocks.dart | 7 + .../currency_view_screen_test.mocks.dart | 7 + ...dd_custom_node_view_screen_test.mocks.dart | 7 + .../node_details_view_screen_test.mocks.dart | 7 + .../wallet_backup_view_screen_test.mocks.dart | 7 + ...rescan_warning_view_screen_test.mocks.dart | 7 + ...elete_mnemonic_view_screen_test.mocks.dart | 7 + ...allet_settings_view_screen_test.mocks.dart | 7 + .../settings_view_screen_test.mocks.dart | 7 + ...search_results_view_screen_test.mocks.dart | 7 + .../confirm_send_view_screen_test.mocks.dart | 7 + .../receive_view_screen_test.mocks.dart | 7 + .../send_view_screen_test.mocks.dart | 7 + .../wallet_view_screen_test.mocks.dart | 7 + test/services/coins/manager_test.mocks.dart | 20 +- .../managed_favorite_test.mocks.dart | 1177 ++++++++-------- .../table_view/table_view_row_test.mocks.dart | 1047 +++++++------- .../transaction_card_test.mocks.dart | 39 +- test/widget_tests/wallet_card_test.mocks.dart | 648 +++++---- ...et_info_row_balance_future_test.mocks.dart | 1161 ++++++++-------- .../wallet_info_row_test.mocks.dart | 1161 ++++++++-------- 52 files changed, 4388 insertions(+), 3958 deletions(-) diff --git a/lib/models/stack_restoring_ui_state.dart b/lib/models/stack_restoring_ui_state.dart index 21760b95a..312b0989f 100644 --- a/lib/models/stack_restoring_ui_state.dart +++ b/lib/models/stack_restoring_ui_state.dart @@ -125,6 +125,7 @@ class StackRestoringUIState extends ChangeNotifier { Manager? manager, String? address, String? mnemonic, + String? mnemonicPassphrase, int? height, }) { _walletStates[walletId]!.restoringState = restoringStatus; @@ -134,6 +135,8 @@ class StackRestoringUIState extends ChangeNotifier { address ?? _walletStates[walletId]!.address; _walletStates[walletId]!.mnemonic = mnemonic ?? _walletStates[walletId]!.mnemonic; + _walletStates[walletId]!.mnemonicPassphrase = + mnemonicPassphrase ?? _walletStates[walletId]!.mnemonicPassphrase; _walletStates[walletId]!.height = height ?? _walletStates[walletId]!.height; notifyListeners(); } diff --git a/lib/models/wallet_restore_state.dart b/lib/models/wallet_restore_state.dart index c8b96e1c3..a92753617 100644 --- a/lib/models/wallet_restore_state.dart +++ b/lib/models/wallet_restore_state.dart @@ -11,6 +11,7 @@ class WalletRestoreState extends ChangeNotifier { Manager? manager; String? address; String? mnemonic; + String? mnemonicPassphrase; int? height; StackRestoringStatus get restoringState => _restoringStatus; @@ -27,6 +28,7 @@ class WalletRestoreState extends ChangeNotifier { this.manager, this.address, this.mnemonic, + this.mnemonicPassphrase, this.height, }) { _restoringStatus = restoringStatus; @@ -45,6 +47,7 @@ class WalletRestoreState extends ChangeNotifier { manager: manager, address: this.address, mnemonic: mnemonic, + mnemonicPassphrase: mnemonicPassphrase, height: this.height, ); } diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart index 44a00083f..883af77e6 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart @@ -290,6 +290,7 @@ class _RestoreWalletViewState extends ConsumerState { // without using them await manager.recoverFromMnemonic( mnemonic: mnemonic, + mnemonicPassphrase: "", // TODO add ui for certain coins maxUnusedAddressGap: widget.coin == Coin.firo ? 50 : 20, maxNumberOfIndexesToCheck: 1000, height: height, diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart index 39bd4ac94..c517e5851 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart @@ -357,7 +357,9 @@ abstract class SWB { List mnemonicList = (walletbackup['mnemonic'] as List) .map((e) => e as String) .toList(); - String mnemonic = mnemonicList.join(" ").trim(); + final String mnemonic = mnemonicList.join(" ").trim(); + final String mnemonicPassphrase = + walletbackup['mnemonicPassphrase'] as String? ?? ""; uiState?.update( walletId: manager.walletId, @@ -403,6 +405,7 @@ abstract class SWB { // without using them await manager.recoverFromMnemonic( mnemonic: mnemonic, + mnemonicPassphrase: mnemonicPassphrase, maxUnusedAddressGap: manager.coin == Coin.firo ? 50 : 20, maxNumberOfIndexesToCheck: 1000, height: restoreHeight, diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart index 2239eee71..fc1b92d6c 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart @@ -109,6 +109,8 @@ class _RestoringWalletCardState extends ConsumerState { if (mnemonicList.isEmpty) { await manager.recoverFromMnemonic( mnemonic: ref.read(provider).mnemonic!, + mnemonicPassphrase: + ref.read(provider).mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, height: ref.read(provider).height ?? 0, @@ -250,6 +252,8 @@ class _RestoringWalletCardState extends ConsumerState { if (mnemonicList.isEmpty) { await manager.recoverFromMnemonic( mnemonic: ref.read(provider).mnemonic!, + mnemonicPassphrase: + ref.read(provider).mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index 06a590168..a9b6620b0 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -33,6 +33,7 @@ import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -55,40 +56,15 @@ const String GENESIS_HASH_MAINNET = const String GENESIS_HASH_TESTNET = "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943"; -bip32.BIP32 getBip32Node( - int chain, - int index, - String mnemonic, - NetworkType network, - DerivePathType derivePathType, -) { - final root = getBip32Root(mnemonic, network); - - final node = getBip32NodeFromRoot(chain, index, root, derivePathType); - return node; -} - -/// wrapper for compute() -bip32.BIP32 getBip32NodeWrapper( - Tuple5 args, -) { - return getBip32Node( - args.item1, - args.item2, - args.item3, - args.item4, - args.item5, - ); -} - -bip32.BIP32 getBip32NodeFromRoot( - int chain, - int index, - bip32.BIP32 root, - DerivePathType derivePathType, -) { +String constructDerivePath({ + required DerivePathType derivePathType, + required int networkWIF, + int account = 0, + required int chain, + required int index, +}) { String coinType; - switch (root.network.wif) { + switch (networkWIF) { case 0x80: // btc mainnet wif coinType = "0"; // btc mainnet break; @@ -96,49 +72,25 @@ bip32.BIP32 getBip32NodeFromRoot( coinType = "1"; // btc testnet break; default: - throw Exception("Invalid Bitcoin network type used!"); + throw Exception("Invalid Bitcoin network wif used!"); } + + int purpose; switch (derivePathType) { case DerivePathType.bip44: - return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); + purpose = 44; + break; case DerivePathType.bip49: - return root.derivePath("m/49'/$coinType'/0'/$chain/$index"); + purpose = 49; + break; case DerivePathType.bip84: - return root.derivePath("m/84'/$coinType'/0'/$chain/$index"); + purpose = 84; + break; default: throw Exception("DerivePathType $derivePathType not supported"); } -} -/// wrapper for compute() -bip32.BIP32 getBip32NodeFromRootWrapper( - Tuple4 args, -) { - return getBip32NodeFromRoot( - args.item1, - args.item2, - args.item3, - args.item4, - ); -} - -bip32.BIP32 getBip32Root(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final networkType = bip32.NetworkType( - wif: network.wif, - bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, - ), - ); - - final root = bip32.BIP32.fromSeed(seed, networkType); - return root; -} - -/// wrapper for compute() -bip32.BIP32 getBip32RootWrapper(Tuple2 args) { - return getBip32Root(args.item1, args.item2); + return "m/$purpose'/$coinType'/$account'/$chain/$index"; } class BitcoinWallet extends CoinServiceAPI @@ -261,6 +213,15 @@ class BitcoinWallet extends CoinServiceAPI @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + Future get chainHeight async { try { final result = await _electrumXClient.getBlockHeadTip(); @@ -325,6 +286,7 @@ class BitcoinWallet extends CoinServiceAPI @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -355,14 +317,21 @@ class BitcoinWallet extends CoinServiceAPI } // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); + await _recoverWalletFromBIP32SeedPhrase( mnemonic: mnemonic.trim(), + mnemonicPassphrase: mnemonicPassphrase ?? "", maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, ); @@ -405,15 +374,14 @@ class BitcoinWallet extends CoinServiceAPI final Map receivingNodes = {}; for (int j = 0; j < txCountBatchSize; j++) { - final node = await compute( - getBip32NodeFromRootWrapper, - Tuple4( - chain, - index + j, - root, - type, - ), + final derivePath = constructDerivePath( + derivePathType: type, + networkWIF: root.network.wif, + chain: chain, + index: index + j, ); + final node = await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + String addressString; final data = PaymentData(pubkey: node.publicKey); isar_models.AddressType addrType; @@ -522,6 +490,7 @@ class BitcoinWallet extends CoinServiceAPI Future _recoverWalletFromBIP32SeedPhrase({ required String mnemonic, + required String mnemonicPassphrase, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, bool isRescan = false, @@ -535,7 +504,11 @@ class BitcoinWallet extends CoinServiceAPI Map> p2shChangeDerivations = {}; Map> p2wpkhChangeDerivations = {}; - final root = await compute(getBip32RootWrapper, Tuple2(mnemonic, _network)); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + _network, + ); List p2pkhReceiveAddressArray = []; List p2shReceiveAddressArray = []; @@ -1350,7 +1323,8 @@ class BitcoinWallet extends CoinServiceAPI db: db, electrumXClient: electrumXClient, secureStorage: secureStore, - getMnemonic: () => mnemonic, + getMnemonicString: () => mnemonicString, + getMnemonicPassphrase: () => mnemonicPassphrase, getChainHeight: () => chainHeight, getCurrentChangeAddress: () => currentChangeAddressP2PKH, estimateTxFee: estimateTxFee, @@ -1361,7 +1335,6 @@ class BitcoinWallet extends CoinServiceAPI checkChangeAddressForTransactions: _checkP2PKHChangeAddressForTransactions, addDerivation: addDerivation, - addDerivations: addDerivations, dustLimitP2PKH: DUST_LIMIT_P2PKH, minConfirms: MINIMUM_CONFIRMATIONS, ); @@ -1397,12 +1370,11 @@ class BitcoinWallet extends CoinServiceAPI } Future> _getMnemonicList() async { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } @@ -1490,13 +1462,14 @@ class BitcoinWallet extends CoinServiceAPI } // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: bip39.generateMnemonic(strength: 256)); + await _secureStore.write(key: '${_walletId}_mnemonicPassphrase', value: ""); // Generate and add addresses to relevant arrays final initialAddresses = await Future.wait([ @@ -1526,17 +1499,22 @@ class BitcoinWallet extends CoinServiceAPI int index, DerivePathType derivePathType, ) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - final node = await compute( - getBip32NodeWrapper, - Tuple5( - chain, - index, - mnemonic!, - _network, - derivePathType, - ), + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + + final derivePath = constructDerivePath( + derivePathType: derivePathType, + networkWIF: _network.wif, + chain: chain, + index: index, ); + final node = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + _network, + derivePath, + ); + final data = PaymentData(pubkey: node.publicKey); String address; isar_models.AddressType addrType; @@ -2925,9 +2903,12 @@ class BitcoinWallet extends CoinServiceAPI await _deleteDerivations(); try { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + await _recoverWalletFromBIP32SeedPhrase( - mnemonic: mnemonic!, + mnemonic: _mnemonic!, + mnemonicPassphrase: _mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, isRescan: true, diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index addc5dd68..e56511732 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -31,6 +31,7 @@ import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -51,31 +52,15 @@ const String GENESIS_HASH_MAINNET = const String GENESIS_HASH_TESTNET = "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943"; -bip32.BIP32 getBip32Node(int chain, int index, String mnemonic, - NetworkType network, DerivePathType derivePathType) { - final root = getBip32Root(mnemonic, network); - - final node = getBip32NodeFromRoot(chain, index, root, derivePathType); - return node; -} - -/// wrapper for compute() -bip32.BIP32 getBip32NodeWrapper( - Tuple5 args, -) { - return getBip32Node( - args.item1, - args.item2, - args.item3, - args.item4, - args.item5, - ); -} - -bip32.BIP32 getBip32NodeFromRoot( - int chain, int index, bip32.BIP32 root, DerivePathType derivePathType) { +String constructDerivePath({ + required DerivePathType derivePathType, + required int networkWIF, + int account = 0, + required int chain, + required int index, +}) { String coinType; - switch (root.network.wif) { + switch (networkWIF) { case 0x80: // bch mainnet wif coinType = derivePathType == DerivePathType.bch44 ? "145" : "0"; // bch mainnet @@ -84,48 +69,23 @@ bip32.BIP32 getBip32NodeFromRoot( coinType = "1"; // bch testnet break; default: - throw Exception("Invalid Bitcoincash network type used!"); + throw Exception("Invalid Bitcoincash network wif used!"); } + + int purpose; switch (derivePathType) { case DerivePathType.bip44: case DerivePathType.bch44: - return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); - case DerivePathType.bip49: - return root.derivePath("m/49'/$coinType'/0'/$chain/$index"); + purpose = 44; + break; + case DerivePathType.bip84: + purpose = 84; + break; default: - throw Exception("DerivePathType must not be null."); + throw Exception("DerivePathType $derivePathType not supported"); } -} -/// wrapper for compute() -bip32.BIP32 getBip32NodeFromRootWrapper( - Tuple4 args, -) { - return getBip32NodeFromRoot( - args.item1, - args.item2, - args.item3, - args.item4, - ); -} - -bip32.BIP32 getBip32Root(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final networkType = bip32.NetworkType( - wif: network.wif, - bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, - ), - ); - - final root = bip32.BIP32.fromSeed(seed, networkType); - return root; -} - -/// wrapper for compute() -bip32.BIP32 getBip32RootWrapper(Tuple2 args) { - return getBip32Root(args.item1, args.item2); + return "m/$purpose'/$coinType'/$account'/$chain/$index"; } class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { @@ -214,6 +174,15 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + Future get chainHeight async { try { final result = await _electrumXClient.getBlockHeadTip(); @@ -250,7 +219,9 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { throw ArgumentError('$address is not currently supported'); } } - } catch (e, s) {} + } catch (_) { + // invalid cash addr format + } try { decodeBase58 = bs58check.decode(address); } catch (err) { @@ -291,6 +262,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -321,14 +293,21 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { } // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); + await _recoverWalletFromBIP32SeedPhrase( mnemonic: mnemonic.trim(), + mnemonicPassphrase: mnemonicPassphrase ?? "", maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, coin: coin, @@ -372,15 +351,14 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { final Map receivingNodes = {}; for (int j = 0; j < txCountBatchSize; j++) { - final node = await compute( - getBip32NodeFromRootWrapper, - Tuple4( - chain, - index + j, - root, - type, - ), + final derivePath = constructDerivePath( + derivePathType: type, + networkWIF: root.network.wif, + chain: chain, + index: index + j, ); + final node = await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + String addressString; final data = PaymentData(pubkey: node.publicKey); isar_models.AddressType addrType; @@ -493,6 +471,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { Future _recoverWalletFromBIP32SeedPhrase({ required String mnemonic, + required String mnemonicPassphrase, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, bool isRescan = false, @@ -507,7 +486,11 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { Map> bch44P2pkhChangeDerivations = {}; Map> p2shChangeDerivations = {}; - final root = await compute(getBip32RootWrapper, Tuple2(mnemonic, _network)); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + _network, + ); List bip44P2pkhReceiveAddressArray = []; List bch44P2pkhReceiveAddressArray = []; @@ -531,7 +514,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { const txCountBatchSize = 12; try { - bool testnet = ((coin ?? null) == Coin.bitcoincashTestnet) ? true : false; + bool testnet = ((coin) == Coin.bitcoincashTestnet) ? true : false; // receiving addresses Logging.instance .log("checking receiving addresses...", level: LogLevel.Info); @@ -1334,12 +1317,11 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { } Future> _getMnemonicList() async { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } @@ -1440,13 +1422,14 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { } // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: bip39.generateMnemonic(strength: 256)); + await _secureStore.write(key: '${_walletId}_mnemonicPassphrase', value: ""); // Generate and add addresses to relevant arrays final initialAddresses = await Future.wait([ @@ -1472,17 +1455,22 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { int index, DerivePathType derivePathType, ) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - final node = await compute( - getBip32NodeWrapper, - Tuple5( - chain, - index, - mnemonic!, - _network, - derivePathType, - ), + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + + final derivePath = constructDerivePath( + derivePathType: derivePathType, + networkWIF: _network.wif, + chain: chain, + index: index, ); + final node = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + _network, + derivePath, + ); + final data = PaymentData(pubkey: node.publicKey); String address; @@ -2970,9 +2958,12 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { await _deleteDerivations(); try { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + await _recoverWalletFromBIP32SeedPhrase( - mnemonic: mnemonic!, + mnemonic: _mnemonic!, + mnemonicPassphrase: _mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, isRescan: true, diff --git a/lib/services/coins/coin_service.dart b/lib/services/coins/coin_service.dart index 87169609e..556245b3f 100644 --- a/lib/services/coins/coin_service.dart +++ b/lib/services/coins/coin_service.dart @@ -263,11 +263,14 @@ abstract class CoinServiceAPI { bool validateAddress(String address); Future> get mnemonic; + Future get mnemonicString; + Future get mnemonicPassphrase; Future testNetworkConnection(); Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 405f4652a..a262efc4d 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -32,6 +32,7 @@ import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -52,31 +53,15 @@ const String GENESIS_HASH_MAINNET = const String GENESIS_HASH_TESTNET = "bb0a78264637406b6360aad926284d544d7049f45189db5664f3c4d07350559e"; -bip32.BIP32 getBip32Node(int chain, int index, String mnemonic, - NetworkType network, DerivePathType derivePathType) { - final root = getBip32Root(mnemonic, network); - - final node = getBip32NodeFromRoot(chain, index, root, derivePathType); - return node; -} - -/// wrapper for compute() -bip32.BIP32 getBip32NodeWrapper( - Tuple5 args, -) { - return getBip32Node( - args.item1, - args.item2, - args.item3, - args.item4, - args.item5, - ); -} - -bip32.BIP32 getBip32NodeFromRoot( - int chain, int index, bip32.BIP32 root, DerivePathType derivePathType) { +String constructDerivePath({ + required DerivePathType derivePathType, + required int networkWIF, + int account = 0, + required int chain, + required int index, +}) { String coinType; - switch (root.network.wif) { + switch (networkWIF) { case 0x9e: // doge mainnet wif coinType = "3"; // doge mainnet break; @@ -84,46 +69,19 @@ bip32.BIP32 getBip32NodeFromRoot( coinType = "1"; // doge testnet break; default: - throw Exception("Invalid Dogecoin network type used!"); + throw Exception("Invalid Dogecoin network wif used!"); } + + int purpose; switch (derivePathType) { case DerivePathType.bip44: - return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); + purpose = 44; + break; default: - throw Exception( - "DerivePathType null or unsupported (${DerivePathType.bip44})"); + throw Exception("DerivePathType $derivePathType not supported"); } -} -/// wrapper for compute() -bip32.BIP32 getBip32NodeFromRootWrapper( - Tuple4 args, -) { - return getBip32NodeFromRoot( - args.item1, - args.item2, - args.item3, - args.item4, - ); -} - -bip32.BIP32 getBip32Root(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final networkType = bip32.NetworkType( - wif: network.wif, - bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, - ), - ); - - final root = bip32.BIP32.fromSeed(seed, networkType); - return root; -} - -/// wrapper for compute() -bip32.BIP32 getBip32RootWrapper(Tuple2 args) { - return getBip32Root(args.item1, args.item2); + return "m/$purpose'/$coinType'/$account'/$chain/$index"; } class DogecoinWallet extends CoinServiceAPI @@ -222,6 +180,15 @@ class DogecoinWallet extends CoinServiceAPI @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + Future get chainHeight async { try { final result = await _electrumXClient.getBlockHeadTip(); @@ -281,6 +248,7 @@ class DogecoinWallet extends CoinServiceAPI @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -311,14 +279,20 @@ class DogecoinWallet extends CoinServiceAPI } // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); await _recoverWalletFromBIP32SeedPhrase( mnemonic: mnemonic.trim(), + mnemonicPassphrase: mnemonicPassphrase ?? "", maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, ); @@ -361,15 +335,14 @@ class DogecoinWallet extends CoinServiceAPI final Map receivingNodes = {}; for (int j = 0; j < txCountBatchSize; j++) { - final node = await compute( - getBip32NodeFromRootWrapper, - Tuple4( - chain, - index + j, - root, - type, - ), + final derivePath = constructDerivePath( + derivePathType: type, + networkWIF: root.network.wif, + chain: chain, + index: index + j, ); + final node = await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + isar_models.Address address; switch (type) { case DerivePathType.bip44: @@ -463,6 +436,7 @@ class DogecoinWallet extends CoinServiceAPI Future _recoverWalletFromBIP32SeedPhrase({ required String mnemonic, + required String mnemonicPassphrase, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, bool isRescan = false, @@ -472,7 +446,11 @@ class DogecoinWallet extends CoinServiceAPI Map> p2pkhReceiveDerivations = {}; Map> p2pkhChangeDerivations = {}; - final root = await compute(getBip32RootWrapper, Tuple2(mnemonic, network)); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + network, + ); List p2pkhReceiveAddressArray = []; int p2pkhReceiveIndex = -1; @@ -1187,12 +1165,11 @@ class DogecoinWallet extends CoinServiceAPI } Future> _getMnemonicList() async { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } @@ -1280,13 +1257,17 @@ class DogecoinWallet extends CoinServiceAPI } // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: bip39.generateMnemonic(strength: 256)); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: "", + ); // Generate and add addresses final initialReceivingAddressP2PKH = @@ -1310,17 +1291,22 @@ class DogecoinWallet extends CoinServiceAPI int index, DerivePathType derivePathType, ) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - final node = await compute( - getBip32NodeWrapper, - Tuple5( - chain, - index, - mnemonic!, - network, - derivePathType, - ), + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + + final derivePath = constructDerivePath( + derivePathType: derivePathType, + networkWIF: network.wif, + chain: chain, + index: index, ); + final node = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + network, + derivePath, + ); + final data = PaymentData(pubkey: node.publicKey); String address; @@ -2561,9 +2547,12 @@ class DogecoinWallet extends CoinServiceAPI await _deleteDerivations(); try { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + await _recoverWalletFromBIP32SeedPhrase( - mnemonic: mnemonic!, + mnemonic: _mnemonic!, + mnemonicPassphrase: _mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, isRescan: true, diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index f5ef0f4b5..c788bc597 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -1103,26 +1103,24 @@ class EpicCashWallet extends CoinServiceAPI bool get isRefreshing => refreshMutex; @override - // TODO: implement maxFee + // unused for epic Future get maxFee => throw UnimplementedError(); Future> _getMnemonicList() async { - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - final List data = mnemonicString!.split(' '); + String? _mnemonicString = await mnemonicString; + if (_mnemonicString != null) { + final List data = _mnemonicString.split(' '); return data; } else { - String? mnemonicString; await m.protect(() async { - mnemonicString = await compute( + _mnemonicString = await compute( _walletMnemonicWrapper, 0, ); }); await _secureStore.write( - key: '${_walletId}_mnemonic', value: mnemonicString); - final List data = mnemonicString!.split(' '); + key: '${_walletId}_mnemonic', value: _mnemonicString); + final List data = _mnemonicString!.split(' '); return data; } } @@ -1130,6 +1128,15 @@ class EpicCashWallet extends CoinServiceAPI @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + @override Future> prepareSend( {required String address, @@ -1359,11 +1366,13 @@ class EpicCashWallet extends CoinServiceAPI double highestPercent = 0; @override - Future recoverFromMnemonic( - {required String mnemonic, - required int maxUnusedAddressGap, - required int maxNumberOfIndexesToCheck, - required int height}) async { + Future recoverFromMnemonic({ + required String mnemonic, + required String mnemonicPassphrase, // unused in epic + required int maxUnusedAddressGap, + required int maxNumberOfIndexesToCheck, + required int height, + }) async { try { await _prefs.init(); await updateNode(false); diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index da8c2e1d0..d2a01b27f 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -4,7 +4,6 @@ import 'dart:io'; import 'dart:isolate'; import 'dart:math'; -import 'package:bip32/bip32.dart' as bip32; import 'package:bip39/bip39.dart' as bip39; import 'package:bitcoindart/bitcoindart.dart'; import 'package:decimal/decimal.dart'; @@ -25,6 +24,7 @@ import 'package:stackwallet/services/event_bus/events/global/refresh_percent_cha import 'package:stackwallet/services/event_bus/events/global/updated_in_background_event.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; +import 'package:stackwallet/services/mixins/firo_hive.dart'; import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/node_service.dart'; @@ -32,6 +32,7 @@ import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -43,8 +44,6 @@ import 'package:stackwallet/utilities/prefs.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; -import '../../mixins/firo_hive.dart'; - const DUST_LIMIT = 1000; const MINIMUM_CONFIRMATIONS = 1; const MINT_LIMIT = 100100000000; @@ -102,6 +101,7 @@ Future executeNative(Map arguments) async { final address = arguments['address'] as String; final subtractFeeFromAmount = arguments['subtractFeeFromAmount'] as bool; final mnemonic = arguments['mnemonic'] as String; + final mnemonicPassphrase = arguments['mnemonicPassphrase'] as String; final index = arguments['index'] as int; final lelantusEntries = arguments['lelantusEntries'] as List; @@ -115,6 +115,7 @@ Future executeNative(Map arguments) async { address, subtractFeeFromAmount, mnemonic, + mnemonicPassphrase, index, lelantusEntries, locktime, @@ -143,11 +144,13 @@ Future executeNative(Map arguments) async { final setDataMap = arguments['setDataMap'] as Map; final usedSerialNumbers = arguments['usedSerialNumbers'] as List?; final mnemonic = arguments['mnemonic'] as String; + final mnemonicPassphrase = arguments['mnemonicPassphrase'] as String; final coin = arguments['coin'] as Coin; final network = arguments['network'] as NetworkType?; if (!(usedSerialNumbers == null || network == null)) { var restoreData = await isolateRestore( mnemonic, + mnemonicPassphrase, coin, latestSetId, setDataMap, @@ -159,11 +162,13 @@ Future executeNative(Map arguments) async { } } else if (function == "isolateDerive") { final mnemonic = arguments['mnemonic'] as String; + final mnemonicPassphrase = arguments['mnemonicPassphrase'] as String; final from = arguments['from'] as int; final to = arguments['to'] as int; final network = arguments['network'] as NetworkType?; if (!(network == null)) { - var derived = await isolateDerive(mnemonic, from, to, network); + var derived = await isolateDerive( + mnemonic, mnemonicPassphrase, from, to, network); sendPort.send(derived); return; } @@ -192,13 +197,31 @@ void stop(ReceivePort port) { } Future> isolateDerive( - String mnemonic, int from, int to, NetworkType _network) async { + String mnemonic, + String mnemonicPassphrase, + int from, + int to, + NetworkType _network, +) async { Map result = {}; Map allReceive = {}; Map allChange = {}; - final root = getBip32Root(mnemonic, _network); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + _network, + ); + for (int i = from; i < to; i++) { - var currentNode = getBip32NodeFromRoot(0, i, root); + final derivePathReceiving = constructDerivePath( + networkWIF: _network.wif, + chain: 0, + index: i, + ); + var currentNode = await Bip32Utils.getBip32NodeFromRoot( + root, + derivePathReceiving, + ); var address = P2PKH( network: _network, data: PaymentData(pubkey: currentNode.publicKey)) .data @@ -209,7 +232,15 @@ Future> isolateDerive( "address": address, }; - currentNode = getBip32NodeFromRoot(1, i, root); + final derivePathChange = constructDerivePath( + networkWIF: _network.wif, + chain: 0, + index: i, + ); + currentNode = await Bip32Utils.getBip32NodeFromRoot( + root, + derivePathChange, + ); address = P2PKH( network: _network, data: PaymentData(pubkey: currentNode.publicKey)) .data @@ -230,6 +261,7 @@ Future> isolateDerive( Future> isolateRestore( String mnemonic, + String mnemonicPassphrase, Coin coin, int _latestSetId, Map _setDataMap, @@ -250,9 +282,19 @@ Future> isolateRestore( usedSerialNumbersSet.add(usedSerialNumbers[ind]); } - final root = getBip32Root(mnemonic, network); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + network, + ); while (currentIndex < lastFoundIndex + 50) { - final mintKeyPair = getBip32NodeFromRoot(MINT_INDEX, currentIndex, root); + final _derivePath = constructDerivePath( + networkWIF: network.wif, + chain: MINT_INDEX, + index: currentIndex, + ); + final mintKeyPair = + await Bip32Utils.getBip32NodeFromRoot(root, _derivePath); final mintTag = CreateTag( Format.uint8listToString(mintKeyPair.privateKey!), currentIndex, @@ -300,7 +342,14 @@ Future> isolateRestore( .log("amount $amount used $isUsed", level: LogLevel.Info); } else { final keyPath = GetAesKeyPath(foundCoin[0] as String); - final aesKeyPair = getBip32NodeFromRoot(JMINT_INDEX, keyPath, root); + final derivePath = constructDerivePath( + networkWIF: network.wif, + chain: JMINT_INDEX, + index: keyPath, + ); + final aesKeyPair = + await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + if (aesKeyPair.privateKey != null) { final aesPrivateKey = Format.uint8listToString(aesKeyPair.privateKey!); @@ -491,6 +540,7 @@ Future isolateCreateJoinSplitTransaction( String address, bool subtractFeeFromAmount, String mnemonic, + String mnemonicPassphrase, int index, List lelantusEntries, int locktime, @@ -521,8 +571,17 @@ Future isolateCreateJoinSplitTransaction( 4294967295, Uint8List(0), ); - - final jmintKeyPair = getBip32Node(MINT_INDEX, index, mnemonic, _network); + final derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: MINT_INDEX, + index: index, + ); + final jmintKeyPair = await Bip32Utils.getBip32Node( + mnemonic, + mnemonicPassphrase, + _network, + derivePath, + ); final String jmintprivatekey = Format.uint8listToString(jmintKeyPair.privateKey!); @@ -530,7 +589,17 @@ Future isolateCreateJoinSplitTransaction( final keyPath = getMintKeyPath(changeToMint, jmintprivatekey, index, isTestnet: coin == Coin.firoTestNet); - final aesKeyPair = getBip32Node(JMINT_INDEX, keyPath, mnemonic, _network); + final _derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: JMINT_INDEX, + index: keyPath, + ); + final aesKeyPair = await Bip32Utils.getBip32Node( + mnemonic, + mnemonicPassphrase, + _network, + _derivePath, + ); final aesPrivateKey = Format.uint8listToString(aesKeyPair.privateKey!); final jmintData = createJMintScript( @@ -659,29 +728,15 @@ Future getBlockHead(ElectrumX client) async { } // end of isolates -bip32.BIP32 getBip32Node( - int chain, int index, String mnemonic, NetworkType network) { - final root = getBip32Root(mnemonic, network); - - final node = getBip32NodeFromRoot(chain, index, root); - return node; -} - -/// wrapper for compute() -bip32.BIP32 getBip32NodeWrapper( - Tuple4 args, -) { - return getBip32Node( - args.item1, - args.item2, - args.item3, - args.item4, - ); -} - -bip32.BIP32 getBip32NodeFromRoot(int chain, int index, bip32.BIP32 root) { +String constructDerivePath({ + // required DerivePathType derivePathType, + required int networkWIF, + int account = 0, + required int chain, + required int index, +}) { String coinType; - switch (root.network.wif) { + switch (networkWIF) { case 0xd2: // firo mainnet wif coinType = "136"; // firo mainnet break; @@ -689,41 +744,19 @@ bip32.BIP32 getBip32NodeFromRoot(int chain, int index, bip32.BIP32 root) { coinType = "1"; // firo testnet break; default: - throw Exception("Invalid Bitcoin network type used!"); + throw Exception("Invalid Firo network wif used!"); } - final node = root.derivePath("m/44'/$coinType'/0'/$chain/$index"); - return node; -} + int purpose; + // switch (derivePathType) { + // case DerivePathType.bip44: + purpose = 44; + // break; + // default: + // throw Exception("DerivePathType $derivePathType not supported"); + // } -/// wrapper for compute() -bip32.BIP32 getBip32NodeFromRootWrapper( - Tuple3 args, -) { - return getBip32NodeFromRoot( - args.item1, - args.item2, - args.item3, - ); -} - -bip32.BIP32 getBip32Root(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final firoNetworkType = bip32.NetworkType( - wif: network.wif, - bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, - ), - ); - - final root = bip32.BIP32.fromSeed(seed, firoNetworkType); - return root; -} - -/// wrapper for compute() -bip32.BIP32 getBip32RootWrapper(Tuple2 args) { - return getBip32Root(args.item1, args.item2); + return "m/$purpose'/$coinType'/$account'/$chain/$index"; } Future _getMintScriptWrapper( @@ -795,6 +828,15 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + @override bool validateAddress(String address) { return Address.validateAddress(address, _network); @@ -1178,12 +1220,11 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { // } Future> _getMnemonicList() async { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } @@ -2085,10 +2126,17 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { } // this should never fail as overwriting a mnemonic is big bad - assert((await _secureStore.read(key: '${_walletId}_mnemonic')) == null); + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { + longMutex = false; + throw Exception("Attempted to overwrite mnemonic on initialize new!"); + } await _secureStore.write( key: '${_walletId}_mnemonic', value: bip39.generateMnemonic(strength: 256)); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: "", + ); await firoUpdateJIndex([]); // Generate and add addresses to relevant arrays @@ -2134,9 +2182,14 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { receiveDerivationsString == "{}") { GlobalEventBus.instance .fire(RefreshPercentChangedEvent(0.05, walletId)); - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - await fillAddresses(mnemonic!, - numberOfThreads: Platform.numberOfProcessors - isolates.length - 1); + final mnemonic = await mnemonicString; + final mnemonicPassphrase = + await _secureStore.read(key: '${_walletId}_mnemonicPassphrase'); + await fillAddresses( + mnemonic!, + mnemonicPassphrase!, + numberOfThreads: Platform.numberOfProcessors - isolates.length - 1, + ); } await checkReceivingAddressForTransactions(); @@ -2226,24 +2279,25 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { } Future> _getLelantusEntry() async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + final List lelantusCoins = await _getUnspentCoins(); - final root = await compute( - getBip32RootWrapper, - Tuple2( - mnemonic!, - _network, - ), + + final root = await Bip32Utils.getBip32Root( + _mnemonic!, + _mnemonicPassphrase!, + _network, ); + final waitLelantusEntries = lelantusCoins.map((coin) async { - final keyPair = await compute( - getBip32NodeFromRootWrapper, - Tuple3( - MINT_INDEX, - coin.index, - root, - ), + final derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: MINT_INDEX, + index: coin.index, ); + final keyPair = await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + if (keyPair.privateKey == null) { Logging.instance.log("error bad key", level: LogLevel.Error); return DartLelantusEntry(1, 0, 0, 0, 0, ''); @@ -2887,16 +2941,21 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { } Future _getMintHex(int amount, int index) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - final mintKeyPair = await compute( - getBip32NodeWrapper, - Tuple4( - MINT_INDEX, - index, - mnemonic!, - _network, - ), + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + + final derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: MINT_INDEX, + index: index, ); + final mintKeyPair = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + _network, + derivePath, + ); + String keydata = Format.uint8listToString(mintKeyPair.privateKey!); String seedID = Format.uint8listToString(mintKeyPair.identifier); @@ -3691,8 +3750,12 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { return address!.value; } - Future fillAddresses(String suppliedMnemonic, - {int perBatch = 50, int numberOfThreads = 4}) async { + Future fillAddresses( + String suppliedMnemonic, + String mnemonicPassphrase, { + int perBatch = 50, + int numberOfThreads = 4, + }) async { if (numberOfThreads <= 0) { numberOfThreads = 1; } @@ -3718,6 +3781,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { ReceivePort receivePort = await getIsolate({ "function": "isolateDerive", "mnemonic": suppliedMnemonic, + "mnemonicPassphrase": mnemonicPassphrase, "from": start + i * perBatch, "to": start + (i + 1) * perBatch, "network": _network, @@ -3757,8 +3821,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { /// [index] - This can be any integer >= 0 Future _generateAddressForChain( int chain, int index) async { - // final wallet = await Hive.openBox(this._walletId); - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; Map? derivations; if (chain == 0) { final receiveDerivationsString = @@ -3774,8 +3838,11 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { if (derivations!.isNotEmpty) { if (derivations["$index"] == null) { - await fillAddresses(mnemonic!, - numberOfThreads: Platform.numberOfProcessors - isolates.length - 1); + await fillAddresses( + _mnemonic!, + _mnemonicPassphrase!, + numberOfThreads: Platform.numberOfProcessors - isolates.length - 1, + ); Logging.instance.log("calling _generateAddressForChain recursively", level: LogLevel.Info); return _generateAddressForChain(chain, index); @@ -3792,8 +3859,18 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { : isar_models.AddressSubType.change, ); } else { - final node = await compute( - getBip32NodeWrapper, Tuple4(chain, index, mnemonic!, _network)); + final derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: chain, + index: index, + ); + final node = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + _network, + derivePath, + ); + final address = P2PKH(network: _network, data: PaymentData(pubkey: node.publicKey)) .data @@ -3882,8 +3959,13 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { await _deleteDerivations(); try { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - await _recoverWalletFromBIP32SeedPhrase(mnemonic!, maxUnusedAddressGap); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + await _recoverWalletFromBIP32SeedPhrase( + _mnemonic!, + _mnemonicPassphrase!, + maxUnusedAddressGap, + ); longMutex = false; await refresh(); @@ -4069,6 +4151,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -4109,13 +4192,22 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { // } } // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { + longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); await _recoverWalletFromBIP32SeedPhrase( - mnemonic.trim(), maxUnusedAddressGap); + mnemonic.trim(), + mnemonicPassphrase ?? "", + maxUnusedAddressGap, + ); await compute( _setTestnetWrapper, @@ -4151,6 +4243,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { Future _makeDerivations( String suppliedMnemonic, + String mnemonicPassphrase, int maxUnusedAddressGap, ) async { List receivingAddressArray = []; @@ -4163,7 +4256,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { int receivingGapCounter = 0; int changeGapCounter = 0; - await fillAddresses(suppliedMnemonic, + await fillAddresses(suppliedMnemonic, mnemonicPassphrase, numberOfThreads: Platform.numberOfProcessors - isolates.length - 1); final receiveDerivationsString = @@ -4276,7 +4369,10 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { /// Recovers wallet from [suppliedMnemonic]. Expects a valid mnemonic. Future _recoverWalletFromBIP32SeedPhrase( - String suppliedMnemonic, int maxUnusedAddressGap) async { + String suppliedMnemonic, + String mnemonicPassphrase, + int maxUnusedAddressGap, + ) async { longMutex = true; Logging.instance .log("PROCESSORS ${Platform.numberOfProcessors}", level: LogLevel.Info); @@ -4284,8 +4380,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { final latestSetId = await getLatestSetId(); final setDataMap = getSetDataMap(latestSetId); final usedSerialNumbers = getUsedCoinSerials(); - final makeDerivations = - _makeDerivations(suppliedMnemonic, maxUnusedAddressGap); + final makeDerivations = _makeDerivations( + suppliedMnemonic, mnemonicPassphrase, maxUnusedAddressGap); await Future.wait([ updateCachedId(walletId), @@ -4307,12 +4403,15 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { Future _restore(int latestSetId, Map setDataMap, dynamic usedSerialNumbers) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + final dataFuture = _refreshTransactions(); ReceivePort receivePort = await getIsolate({ "function": "restore", - "mnemonic": mnemonic, + "mnemonic": _mnemonic, + "mnemonicPassphrase": _mnemonicPassphrase, "coin": coin, "latestSetId": latestSetId, "setDataMap": setDataMap, @@ -4422,8 +4521,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { Future _createJoinSplitTransaction( int spendAmount, String address, bool subtractFeeFromAmount) async { - // final price = await firoPrice; - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; final index = firoGetMintIndex(); final lelantusEntry = await _getLelantusEntry(); final anonymitySets = await fetchAnonymitySets(); @@ -4436,7 +4535,8 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { "spendAmount": spendAmount, "address": address, "subtractFeeFromAmount": subtractFeeFromAmount, - "mnemonic": mnemonic, + "mnemonic": _mnemonic, + "mnemonicPassphrase": _mnemonicPassphrase, "index": index, // "price": price, "lelantusEntries": lelantusEntry, diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index 54de6e053..3e8d90879 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -30,6 +30,7 @@ import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -51,40 +52,15 @@ const String GENESIS_HASH_MAINNET = const String GENESIS_HASH_TESTNET = "4966625a4b2851d9fdee139e56211a0d88575f59ed816ff5e6a63deb4e3e29a0"; -bip32.BIP32 getBip32Node( - int chain, - int index, - String mnemonic, - NetworkType network, - DerivePathType derivePathType, -) { - final root = getBip32Root(mnemonic, network); - - final node = getBip32NodeFromRoot(chain, index, root, derivePathType); - return node; -} - -/// wrapper for compute() -bip32.BIP32 getBip32NodeWrapper( - Tuple5 args, -) { - return getBip32Node( - args.item1, - args.item2, - args.item3, - args.item4, - args.item5, - ); -} - -bip32.BIP32 getBip32NodeFromRoot( - int chain, - int index, - bip32.BIP32 root, - DerivePathType derivePathType, -) { +String constructDerivePath({ + required DerivePathType derivePathType, + required int networkWIF, + int account = 0, + required int chain, + required int index, +}) { String coinType; - switch (root.network.wif) { + switch (networkWIF) { case 0xb0: // ltc mainnet wif coinType = "2"; // ltc mainnet break; @@ -92,49 +68,25 @@ bip32.BIP32 getBip32NodeFromRoot( coinType = "1"; // ltc testnet break; default: - throw Exception("Invalid Litecoin network type used!"); + throw Exception("Invalid Litecoin network wif used!"); } + + int purpose; switch (derivePathType) { case DerivePathType.bip44: - return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); + purpose = 44; + break; case DerivePathType.bip49: - return root.derivePath("m/49'/$coinType'/0'/$chain/$index"); + purpose = 49; + break; case DerivePathType.bip84: - return root.derivePath("m/84'/$coinType'/0'/$chain/$index"); + purpose = 84; + break; default: - throw Exception("DerivePathType unsupported"); + throw Exception("DerivePathType $derivePathType not supported"); } -} -/// wrapper for compute() -bip32.BIP32 getBip32NodeFromRootWrapper( - Tuple4 args, -) { - return getBip32NodeFromRoot( - args.item1, - args.item2, - args.item3, - args.item4, - ); -} - -bip32.BIP32 getBip32Root(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final networkType = bip32.NetworkType( - wif: network.wif, - bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, - ), - ); - - final root = bip32.BIP32.fromSeed(seed, networkType); - return root; -} - -/// wrapper for compute() -bip32.BIP32 getBip32RootWrapper(Tuple2 args) { - return getBip32Root(args.item1, args.item2); + return "m/$purpose'/$coinType'/$account'/$chain/$index"; } class LitecoinWallet extends CoinServiceAPI @@ -236,6 +188,15 @@ class LitecoinWallet extends CoinServiceAPI @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + Future get chainHeight async { try { final result = await _electrumXClient.getBlockHeadTip(); @@ -300,6 +261,7 @@ class LitecoinWallet extends CoinServiceAPI @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -339,14 +301,20 @@ class LitecoinWallet extends CoinServiceAPI } // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); await _recoverWalletFromBIP32SeedPhrase( mnemonic: mnemonic.trim(), + mnemonicPassphrase: mnemonicPassphrase ?? "", maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, ); @@ -389,15 +357,14 @@ class LitecoinWallet extends CoinServiceAPI final Map receivingNodes = {}; for (int j = 0; j < txCountBatchSize; j++) { - final node = await compute( - getBip32NodeFromRootWrapper, - Tuple4( - chain, - index + j, - root, - type, - ), + final derivePath = constructDerivePath( + derivePathType: type, + networkWIF: root.network.wif, + chain: chain, + index: index + j, ); + final node = await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + String addressString; final data = PaymentData(pubkey: node.publicKey); isar_models.AddressType addrType; @@ -515,6 +482,7 @@ class LitecoinWallet extends CoinServiceAPI Future _recoverWalletFromBIP32SeedPhrase({ required String mnemonic, + required String mnemonicPassphrase, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, bool isRescan = false, @@ -528,7 +496,11 @@ class LitecoinWallet extends CoinServiceAPI Map> p2shChangeDerivations = {}; Map> p2wpkhChangeDerivations = {}; - final root = await compute(getBip32RootWrapper, Tuple2(mnemonic, _network)); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + _network, + ); List p2pkhReceiveAddressArray = []; List p2shReceiveAddressArray = []; @@ -1321,12 +1293,11 @@ class LitecoinWallet extends CoinServiceAPI } Future> _getMnemonicList() async { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } @@ -1463,13 +1434,17 @@ class LitecoinWallet extends CoinServiceAPI } // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: bip39.generateMnemonic(strength: 256)); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: "", + ); // Generate and add addresses to relevant arrays final initialAddresses = await Future.wait([ @@ -1499,17 +1474,22 @@ class LitecoinWallet extends CoinServiceAPI int index, DerivePathType derivePathType, ) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - final node = await compute( - getBip32NodeWrapper, - Tuple5( - chain, - index, - mnemonic!, - _network, - derivePathType, - ), + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + + final derivePath = constructDerivePath( + derivePathType: derivePathType, + networkWIF: _network.wif, + chain: chain, + index: index, ); + final node = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + _network, + derivePath, + ); + final data = PaymentData(pubkey: node.publicKey); String address; isar_models.AddressType addrType; @@ -2888,9 +2868,12 @@ class LitecoinWallet extends CoinServiceAPI await _deleteDerivations(); try { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + await _recoverWalletFromBIP32SeedPhrase( - mnemonic: mnemonic!, + mnemonic: _mnemonic!, + mnemonicPassphrase: _mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, isRescan: true, diff --git a/lib/services/coins/manager.dart b/lib/services/coins/manager.dart index 203c2d05f..1ddf4499d 100644 --- a/lib/services/coins/manager.dart +++ b/lib/services/coins/manager.dart @@ -160,6 +160,7 @@ class Manager with ChangeNotifier { _currentWallet.validateAddress(address); Future> get mnemonic => _currentWallet.mnemonic; + Future get mnemonicPassphrase => _currentWallet.mnemonicPassphrase; Future testNetworkConnection() => _currentWallet.testNetworkConnection(); @@ -168,6 +169,7 @@ class Manager with ChangeNotifier { Future initializeExisting() => _currentWallet.initializeExisting(); Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -175,6 +177,7 @@ class Manager with ChangeNotifier { try { await _currentWallet.recoverFromMnemonic( mnemonic: mnemonic, + mnemonicPassphrase: mnemonicPassphrase, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, height: height, diff --git a/lib/services/coins/monero/monero_wallet.dart b/lib/services/coins/monero/monero_wallet.dart index 63c1e431d..29e456b62 100644 --- a/lib/services/coins/monero/monero_wallet.dart +++ b/lib/services/coins/monero/monero_wallet.dart @@ -314,7 +314,7 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { await _prefs.init(); // this should never fail - if ((await _secureStorage.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } @@ -365,6 +365,10 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { await _secureStorage.write( key: '${_walletId}_mnemonic', value: wallet?.seed.trim()); + await _secureStorage.write( + key: '${_walletId}_mnemonicPassphrase', + value: "", + ); walletInfo.address = wallet?.walletAddresses.address; await DB.instance .add(boxName: WalletInfo.boxName, value: walletInfo); @@ -419,15 +423,23 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future> get mnemonic async { - final mnemonicString = - await _secureStorage.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } + @override + Future get mnemonicString => + _secureStorage.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStorage.read( + key: '${_walletId}_mnemonicPassphrase', + ); + @override Future> prepareSend({ required String address, @@ -519,6 +531,7 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, // not used at the moment required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -543,12 +556,17 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { // } // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStorage.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStorage.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStorage.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); await DB.instance .put(boxName: walletId, key: "restoreHeight", value: height); diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 23323b7fa..91862e165 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -30,6 +30,7 @@ import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -51,87 +52,38 @@ const String GENESIS_HASH_MAINNET = const String GENESIS_HASH_TESTNET = "00000007199508e34a9ff81e6ec0c477a4cccff2a4767a8eee39c11db367b008"; -bip32.BIP32 getBip32Node( - int chain, - int index, - String mnemonic, - NetworkType network, - DerivePathType derivePathType, -) { - final root = getBip32Root(mnemonic, network); - - final node = getBip32NodeFromRoot(chain, index, root, derivePathType); - return node; -} - -/// wrapper for compute() -bip32.BIP32 getBip32NodeWrapper( - Tuple5 args, -) { - return getBip32Node( - args.item1, - args.item2, - args.item3, - args.item4, - args.item5, - ); -} - -bip32.BIP32 getBip32NodeFromRoot( - int chain, - int index, - bip32.BIP32 root, - DerivePathType derivePathType, -) { +String constructDerivePath({ + required DerivePathType derivePathType, + required int networkWIF, + int account = 0, + required int chain, + required int index, +}) { String coinType; - switch (root.network.wif) { + switch (networkWIF) { case 0xb4: // nmc mainnet wif coinType = "7"; // nmc mainnet break; default: - throw Exception("Invalid Namecoin network type used!"); + throw Exception("Invalid Namecoin network wif used!"); } + + int purpose; switch (derivePathType) { case DerivePathType.bip44: - return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); + purpose = 44; + break; case DerivePathType.bip49: - return root.derivePath("m/49'/$coinType'/0'/$chain/$index"); + purpose = 49; + break; case DerivePathType.bip84: - return root.derivePath("m/84'/$coinType'/0'/$chain/$index"); + purpose = 84; + break; default: - throw Exception("DerivePathType must not be null."); + throw Exception("DerivePathType $derivePathType not supported"); } -} -/// wrapper for compute() -bip32.BIP32 getBip32NodeFromRootWrapper( - Tuple4 args, -) { - return getBip32NodeFromRoot( - args.item1, - args.item2, - args.item3, - args.item4, - ); -} - -bip32.BIP32 getBip32Root(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final networkType = bip32.NetworkType( - wif: network.wif, - bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, - ), - ); - - final root = bip32.BIP32.fromSeed(seed, networkType); - return root; -} - -/// wrapper for compute() -bip32.BIP32 getBip32RootWrapper(Tuple2 args) { - return getBip32Root(args.item1, args.item2); + return "m/$purpose'/$coinType'/$account'/$chain/$index"; } class NamecoinWallet extends CoinServiceAPI @@ -231,6 +183,15 @@ class NamecoinWallet extends CoinServiceAPI @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + Future get chainHeight async { try { final result = await _electrumXClient.getBlockHeadTip(); @@ -295,6 +256,7 @@ class NamecoinWallet extends CoinServiceAPI @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -326,14 +288,21 @@ class NamecoinWallet extends CoinServiceAPI } // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); + await _recoverWalletFromBIP32SeedPhrase( mnemonic: mnemonic.trim(), + mnemonicPassphrase: mnemonicPassphrase ?? "", maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, ); @@ -376,15 +345,14 @@ class NamecoinWallet extends CoinServiceAPI final Map receivingNodes = {}; for (int j = 0; j < txCountBatchSize; j++) { - final node = await compute( - getBip32NodeFromRootWrapper, - Tuple4( - chain, - index + j, - root, - type, - ), + final derivePath = constructDerivePath( + derivePathType: type, + networkWIF: root.network.wif, + chain: chain, + index: index + j, ); + final node = await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + String addressString; isar_models.AddressType addrType; switch (type) { @@ -505,6 +473,7 @@ class NamecoinWallet extends CoinServiceAPI Future _recoverWalletFromBIP32SeedPhrase({ required String mnemonic, + required String mnemonicPassphrase, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, bool isRescan = false, @@ -518,7 +487,11 @@ class NamecoinWallet extends CoinServiceAPI Map> p2shChangeDerivations = {}; Map> p2wpkhChangeDerivations = {}; - final root = await compute(getBip32RootWrapper, Tuple2(mnemonic, _network)); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + _network, + ); List p2pkhReceiveAddressArray = []; List p2shReceiveAddressArray = []; @@ -1310,12 +1283,11 @@ class NamecoinWallet extends CoinServiceAPI } Future> _getMnemonicList() async { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } @@ -1444,13 +1416,17 @@ class NamecoinWallet extends CoinServiceAPI } // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: bip39.generateMnemonic(strength: 256)); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: "", + ); // Generate and add addresses to relevant arrays final initialAddresses = await Future.wait([ @@ -1480,17 +1456,22 @@ class NamecoinWallet extends CoinServiceAPI int index, DerivePathType derivePathType, ) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - final node = await compute( - getBip32NodeWrapper, - Tuple5( - chain, - index, - mnemonic!, - _network, - derivePathType, - ), + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + + final derivePath = constructDerivePath( + derivePathType: derivePathType, + networkWIF: _network.wif, + chain: chain, + index: index, ); + final node = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + _network, + derivePath, + ); + final data = PaymentData(pubkey: node.publicKey); String address; isar_models.AddressType addrType; @@ -2602,6 +2583,8 @@ class NamecoinWallet extends CoinServiceAPI case DerivePathType.bip84: addressesP2WPKH.add(address); break; + default: + throw Exception("DerivePathType unsupported"); } } } @@ -2881,9 +2864,11 @@ class NamecoinWallet extends CoinServiceAPI await _deleteDerivations(); try { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; await _recoverWalletFromBIP32SeedPhrase( - mnemonic: mnemonic!, + mnemonic: _mnemonic!, + mnemonicPassphrase: _mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, isRescan: true, diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 4aafc916f..75e029ea4 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -29,6 +29,7 @@ import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -49,85 +50,35 @@ const String GENESIS_HASH_MAINNET = const String GENESIS_HASH_TESTNET = "0000594ada5310b367443ee0afd4fa3d0bbd5850ea4e33cdc7d6a904a7ec7c90"; -bip32.BIP32 getBip32Node( - int chain, - int index, - String mnemonic, - NetworkType network, - DerivePathType derivePathType, -) { - final root = getBip32Root(mnemonic, network); - - final node = getBip32NodeFromRoot(chain, index, root, derivePathType); - return node; -} - -/// wrapper for compute() -bip32.BIP32 getBip32NodeWrapper( - Tuple5 args, -) { - return getBip32Node( - args.item1, - args.item2, - args.item3, - args.item4, - args.item5, - ); -} - -bip32.BIP32 getBip32NodeFromRoot( - int chain, - int index, - bip32.BIP32 root, - DerivePathType derivePathType, -) { +String constructDerivePath({ + required DerivePathType derivePathType, + required int networkWIF, + int account = 0, + required int chain, + required int index, +}) { String coinType; - switch (root.network.wif) { + switch (networkWIF) { case 0x6c: // PART mainnet wif coinType = "44"; // PART mainnet break; default: - throw Exception("Invalid Particl network type used!"); + throw Exception("Invalid Particl network wif used!"); } + + int purpose; switch (derivePathType) { case DerivePathType.bip44: - return root.derivePath("m/44'/$coinType'/0'/$chain/$index"); + purpose = 44; + break; case DerivePathType.bip84: - return root.derivePath("m/84'/$coinType'/0'/$chain/$index"); + purpose = 84; + break; default: throw Exception("DerivePathType $derivePathType not supported"); } -} -/// wrapper for compute() -bip32.BIP32 getBip32NodeFromRootWrapper( - Tuple4 args, -) { - return getBip32NodeFromRoot( - args.item1, - args.item2, - args.item3, - args.item4, - ); -} - -bip32.BIP32 getBip32Root(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final networkType = bip32.NetworkType( - wif: network.wif, - bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, - ), - ); - - final root = bip32.BIP32.fromSeed(seed, networkType); - return root; -} - -/// wrapper for compute() -bip32.BIP32 getBip32RootWrapper(Tuple2 args) { - return getBip32Root(args.item1, args.item2); + return "m/$purpose'/$coinType'/$account'/$chain/$index"; } class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { @@ -226,6 +177,15 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future> get mnemonic => _getMnemonicList(); + @override + Future get mnemonicString => + _secureStore.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStore.read( + key: '${_walletId}_mnemonicPassphrase', + ); + Future get chainHeight async { try { final result = await _electrumXClient.getBlockHeadTip(); @@ -288,6 +248,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -322,14 +283,21 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { } // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); + await _recoverWalletFromBIP32SeedPhrase( mnemonic: mnemonic.trim(), + mnemonicPassphrase: mnemonicPassphrase ?? "", maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, ); @@ -372,15 +340,14 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { final Map receivingNodes = {}; for (int j = 0; j < txCountBatchSize; j++) { - final node = await compute( - getBip32NodeFromRootWrapper, - Tuple4( - chain, - index + j, - root, - type, - ), + final derivePath = constructDerivePath( + derivePathType: type, + networkWIF: root.network.wif, + chain: chain, + index: index + j, ); + final node = await Bip32Utils.getBip32NodeFromRoot(root, derivePath); + String addressString; isar_models.AddressType addrType; switch (type) { @@ -487,6 +454,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { Future _recoverWalletFromBIP32SeedPhrase({ required String mnemonic, + required String mnemonicPassphrase, int maxUnusedAddressGap = 20, int maxNumberOfIndexesToCheck = 1000, bool isRescan = false, @@ -498,7 +466,11 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { Map> p2pkhChangeDerivations = {}; Map> p2wpkhChangeDerivations = {}; - final root = await compute(getBip32RootWrapper, Tuple2(mnemonic, _network)); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + _network, + ); List p2pkhReceiveAddressArray = []; List p2wpkhReceiveAddressArray = []; @@ -1238,12 +1210,11 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { } Future> _getMnemonicList() async { - final mnemonicString = - await _secureStore.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } @@ -1359,13 +1330,17 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { } // this should never fail - if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } await _secureStore.write( key: '${_walletId}_mnemonic', value: bip39.generateMnemonic(strength: 256)); + await _secureStore.write( + key: '${_walletId}_mnemonicPassphrase', + value: "", + ); // Generate and add addresses to relevant arrays final initialAddresses = await Future.wait([ @@ -1391,17 +1366,22 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { int index, DerivePathType derivePathType, ) async { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); - final node = await compute( - getBip32NodeWrapper, - Tuple5( - chain, - index, - mnemonic!, - _network, - derivePathType, - ), + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + + final derivePath = constructDerivePath( + derivePathType: derivePathType, + networkWIF: _network.wif, + chain: chain, + index: index, ); + final node = await Bip32Utils.getBip32Node( + _mnemonic!, + _mnemonicPassphrase!, + _network, + derivePath, + ); + final data = PaymentData(pubkey: node.publicKey); String address; isar_models.AddressType addrType; @@ -2976,9 +2956,12 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { await _deleteDerivations(); try { - final mnemonic = await _secureStore.read(key: '${_walletId}_mnemonic'); + final _mnemonic = await mnemonicString; + final _mnemonicPassphrase = await mnemonicPassphrase; + await _recoverWalletFromBIP32SeedPhrase( - mnemonic: mnemonic!, + mnemonic: _mnemonic!, + mnemonicPassphrase: _mnemonicPassphrase!, maxUnusedAddressGap: maxUnusedAddressGap, maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, isRescan: true, diff --git a/lib/services/coins/wownero/wownero_wallet.dart b/lib/services/coins/wownero/wownero_wallet.dart index 004e22534..9a326c881 100644 --- a/lib/services/coins/wownero/wownero_wallet.dart +++ b/lib/services/coins/wownero/wownero_wallet.dart @@ -319,7 +319,7 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { await _prefs.init(); // this should never fail - if ((await _secureStorage.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || (await mnemonicPassphrase) != null) { throw Exception( "Attempted to overwrite mnemonic on generate new wallet!"); } @@ -377,6 +377,10 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { await _secureStorage.write( key: '${_walletId}_mnemonic', value: wallet?.seed.trim()); + await _secureStorage.write( + key: '${_walletId}_mnemonicPassphrase', + value: "", + ); walletInfo.address = wallet?.walletAddresses.address; await DB.instance @@ -427,15 +431,23 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future> get mnemonic async { - final mnemonicString = - await _secureStorage.read(key: '${_walletId}_mnemonic'); - if (mnemonicString == null) { + final _mnemonicString = await mnemonicString; + if (_mnemonicString == null) { return []; } - final List data = mnemonicString.split(' '); + final List data = _mnemonicString.split(' '); return data; } + @override + Future get mnemonicString => + _secureStorage.read(key: '${_walletId}_mnemonic'); + + @override + Future get mnemonicPassphrase => _secureStorage.read( + key: '${_walletId}_mnemonicPassphrase', + ); + @override Future> prepareSend({ required String address, @@ -528,6 +540,7 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future recoverFromMnemonic({ required String mnemonic, + String? mnemonicPassphrase, // not used at the moment required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, @@ -543,12 +556,17 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { try { // check to make sure we aren't overwriting a mnemonic // this should never fail - if ((await _secureStorage.read(key: '${_walletId}_mnemonic')) != null) { + if ((await mnemonicString) != null || + (await this.mnemonicPassphrase) != null) { longMutex = false; throw Exception("Attempted to overwrite mnemonic on restore!"); } await _secureStorage.write( key: '${_walletId}_mnemonic', value: mnemonic.trim()); + await _secureStorage.write( + key: '${_walletId}_mnemonicPassphrase', + value: mnemonicPassphrase ?? "", + ); // extract seed height from 14 word seed if (seedLength == 14) { diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 87ef97df5..5944f69cf 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -39,7 +39,8 @@ mixin PaynymWalletInterface { late final int _minConfirms; // passed in wallet functions - late final Future> Function() _getMnemonic; + late final Future Function() _getMnemonicString; + late final Future Function() _getMnemonicPassphrase; late final Future Function() _getChainHeight; late final Future Function() _getCurrentChangeAddress; late final int Function({ @@ -66,11 +67,6 @@ mixin PaynymWalletInterface { required String wif, required DerivePathType derivePathType, }) _addDerivation; - late final Future Function({ - required int chain, - required DerivePathType derivePathType, - required Map derivationsToAdd, - }) _addDerivations; // initializer void initPaynymWalletInterface({ @@ -83,7 +79,8 @@ mixin PaynymWalletInterface { required SecureStorageInterface secureStorage, required int dustLimitP2PKH, required int minConfirms, - required Future> Function() getMnemonic, + required Future Function() getMnemonicString, + required Future Function() getMnemonicPassphrase, required Future Function() getChainHeight, required Future Function() getCurrentChangeAddress, required int Function({ @@ -115,12 +112,6 @@ mixin PaynymWalletInterface { required DerivePathType derivePathType, }) addDerivation, - required Future Function({ - required int chain, - required DerivePathType derivePathType, - required Map derivationsToAdd, - }) - addDerivations, }) { _walletId = walletId; _walletName = walletName; @@ -131,7 +122,8 @@ mixin PaynymWalletInterface { _secureStorage = secureStorage; _dustLimitP2PKH = dustLimitP2PKH; _minConfirms = minConfirms; - _getMnemonic = getMnemonic; + _getMnemonicString = getMnemonicString; + _getMnemonicPassphrase = getMnemonicPassphrase; _getChainHeight = getChainHeight; _getCurrentChangeAddress = getCurrentChangeAddress; _estimateTxFee = estimateTxFee; @@ -141,7 +133,6 @@ mixin PaynymWalletInterface { _refresh = refresh; _checkChangeAddressForTransactions = checkChangeAddressForTransactions; _addDerivation = addDerivation; - _addDerivations = addDerivations; } // convenience getter @@ -186,7 +177,8 @@ mixin PaynymWalletInterface { int index, ) async { final myPrivateKey = await deriveReceivingPrivateKey( - mnemonic: await _getMnemonic(), + mnemonic: (await _getMnemonicString())!, + mnemonicPassphrase: (await _getMnemonicPassphrase())!, index: index, ); @@ -244,26 +236,39 @@ mixin PaynymWalletInterface { } // generate bip32 payment code root - Future getRootNode({ - required List mnemonic, + Future _getRootNode({ + required String mnemonic, + required String mnemonicPassphrase, }) async { - final root = await Bip32Utils.getBip32Root(mnemonic.join(" "), _network); + final root = await Bip32Utils.getBip32Root( + mnemonic, + mnemonicPassphrase, + _network, + ); return root; } Future deriveNotificationPrivateKey({ - required List mnemonic, + required String mnemonic, + required String mnemonicPassphrase, }) async { - final root = await getRootNode(mnemonic: mnemonic); + final root = await _getRootNode( + mnemonic: mnemonic, + mnemonicPassphrase: mnemonicPassphrase, + ); final node = root.derivePath(kPaynymDerivePath).derive(0); return node.privateKey!; } Future deriveReceivingPrivateKey({ - required List mnemonic, + required String mnemonic, + required String mnemonicPassphrase, required int index, }) async { - final root = await getRootNode(mnemonic: mnemonic); + final root = await _getRootNode( + mnemonic: mnemonic, + mnemonicPassphrase: mnemonicPassphrase, + ); final node = root.derivePath(kPaynymDerivePath).derive(index); return node.privateKey!; } @@ -282,8 +287,10 @@ mixin PaynymWalletInterface { } Future signWithNotificationKey(Uint8List data) async { - final privateKey = - await deriveNotificationPrivateKey(mnemonic: await _getMnemonic()); + final privateKey = await deriveNotificationPrivateKey( + mnemonic: (await _getMnemonicString())!, + mnemonicPassphrase: (await _getMnemonicPassphrase())!, + ); final pair = btc_dart.ECPair.fromPrivateKey(privateKey, network: _network); final signed = pair.sign(SHA256Digest().process(data)); return signed; @@ -303,8 +310,10 @@ mixin PaynymWalletInterface { throw PaynymSendException( "No notification transaction sent to $paymentCode"); } else { - final myPrivateKey = - await deriveNotificationPrivateKey(mnemonic: await _getMnemonic()); + final myPrivateKey = await deriveNotificationPrivateKey( + mnemonic: (await _getMnemonicString())!, + mnemonicPassphrase: (await _getMnemonicPassphrase())!, + ); final sendToAddress = await nextUnusedSendAddressFrom( pCode: paymentCode, privateKey: myPrivateKey, @@ -749,8 +758,10 @@ mixin PaynymWalletInterface { final pubKey = designatedInput.scriptSigAsm!.split(" ")[1].fromHex; - final myPrivateKey = - await deriveNotificationPrivateKey(mnemonic: await _getMnemonic()); + final myPrivateKey = await deriveNotificationPrivateKey( + mnemonic: (await _getMnemonicString())!, + mnemonicPassphrase: (await _getMnemonicPassphrase())!, + ); final S = SecretPoint(myPrivateKey, pubKey); @@ -888,12 +899,18 @@ mixin PaynymWalletInterface { const maxCount = 2147483647; assert(maxNumberOfIndexesToCheck < maxCount); - final mnemonic = await _getMnemonic(); + final mnemonic = (await _getMnemonicString())!; + final mnemonicPassphrase = (await _getMnemonicPassphrase())!; - final mySendPrivateKey = - await deriveNotificationPrivateKey(mnemonic: mnemonic); - final receivingNode = - (await getRootNode(mnemonic: mnemonic)).derivePath(kPaynymDerivePath); + final mySendPrivateKey = await deriveNotificationPrivateKey( + mnemonic: mnemonic, + mnemonicPassphrase: mnemonicPassphrase, + ); + final receivingNode = (await _getRootNode( + mnemonic: mnemonic, + mnemonicPassphrase: mnemonicPassphrase, + )) + .derivePath(kPaynymDerivePath); List
addresses = []; int receivingGapCounter = 0; @@ -1140,7 +1157,10 @@ mixin PaynymWalletInterface { if (storedAddress != null) { return storedAddress; } else { - final root = await getRootNode(mnemonic: await _getMnemonic()); + final root = await _getRootNode( + mnemonic: (await _getMnemonicString())!, + mnemonicPassphrase: (await _getMnemonicPassphrase())!, + ); final node = root.derivePath(kPaynymDerivePath); final paymentCode = PaymentCode.initFromPubKey( node.publicKey, diff --git a/lib/utilities/bip32_utils.dart b/lib/utilities/bip32_utils.dart index 50549938f..71dcf7fcb 100644 --- a/lib/utilities/bip32_utils.dart +++ b/lib/utilities/bip32_utils.dart @@ -5,28 +5,124 @@ import 'package:flutter/foundation.dart'; import 'package:tuple/tuple.dart'; abstract class Bip32Utils { - static bip32.BIP32 getBip32RootSync(String mnemonic, NetworkType network) { - final seed = bip39.mnemonicToSeed(mnemonic); - final networkType = bip32.NetworkType( - wif: network.wif, + // =============================== get root ================================== + static bip32.BIP32 getBip32RootSync( + String mnemonic, + String mnemonicPassphrase, + NetworkType networkType, + ) { + final seed = bip39.mnemonicToSeed(mnemonic, passphrase: mnemonicPassphrase); + final _networkType = bip32.NetworkType( + wif: networkType.wif, bip32: bip32.Bip32Type( - public: network.bip32.public, - private: network.bip32.private, + public: networkType.bip32.public, + private: networkType.bip32.private, ), ); - final root = bip32.BIP32.fromSeed(seed, networkType); + final root = bip32.BIP32.fromSeed(seed, _networkType); return root; } static Future getBip32Root( - String mnemonic, NetworkType network) async { - final root = await compute(_getBip32RootWrapper, Tuple2(mnemonic, network)); + String mnemonic, + String mnemonicPassphrase, + NetworkType networkType, + ) async { + final root = await compute( + _getBip32RootWrapper, + Tuple3( + mnemonic, + mnemonicPassphrase, + networkType, + ), + ); return root; } /// wrapper for compute() - static bip32.BIP32 _getBip32RootWrapper(Tuple2 args) { - return getBip32RootSync(args.item1, args.item2); + static bip32.BIP32 _getBip32RootWrapper( + Tuple3 args, + ) { + return getBip32RootSync( + args.item1, + args.item2, + args.item3, + ); + } + + // =========================== get node from root ============================ + static bip32.BIP32 getBip32NodeFromRootSync( + bip32.BIP32 root, + String derivePath, + ) { + return root.derivePath(derivePath); + } + + static Future getBip32NodeFromRoot( + bip32.BIP32 root, + String derivePath, + ) async { + final node = await compute( + _getBip32NodeFromRootWrapper, + Tuple2( + root, + derivePath, + ), + ); + return node; + } + + /// wrapper for compute() + static bip32.BIP32 _getBip32NodeFromRootWrapper( + Tuple2 args, + ) { + return getBip32NodeFromRootSync( + args.item1, + args.item2, + ); + } + + // =============================== get node ================================== + static bip32.BIP32 getBip32NodeSync( + String mnemonic, + String mnemonicPassphrase, + NetworkType network, + String derivePath, + ) { + final root = getBip32RootSync(mnemonic, mnemonicPassphrase, network); + + final node = getBip32NodeFromRootSync(root, derivePath); + return node; + } + + static Future getBip32Node( + String mnemonic, + String mnemonicPassphrase, + NetworkType networkType, + String derivePath, + ) async { + final node = await compute( + _getBip32NodeWrapper, + Tuple4( + mnemonic, + mnemonicPassphrase, + networkType, + derivePath, + ), + ); + return node; + } + + /// wrapper for compute() + static bip32.BIP32 _getBip32NodeWrapper( + Tuple4 args, + ) { + return getBip32NodeSync( + args.item1, + args.item2, + args.item3, + args.item4, + ); } } diff --git a/test/pages/send_view/send_view_test.mocks.dart b/test/pages/send_view/send_view_test.mocks.dart index dbc0287c6..032983189 100644 --- a/test/pages/send_view/send_view_test.mocks.dart +++ b/test/pages/send_view/send_view_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i28; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i17; -import 'package:bip47/bip47.dart' as _i18; +import 'package:bip47/bip47.dart' as _i17; import 'package:bitcoindart/bitcoindart.dart' as _i14; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,26 +17,26 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10; import 'package:stackwallet/models/balance.dart' as _i12; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i16; -import 'package:stackwallet/models/node_model.dart' as _i25; +import 'package:stackwallet/models/node_model.dart' as _i24; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i31; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i26; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; + as _i30; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i29; +import 'package:stackwallet/services/locale_service.dart' as _i28; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i8; -import 'package:stackwallet/services/wallets.dart' as _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i32; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i27; -import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i30; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i31; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i29; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' as _i7; -import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i15; // ignore_for_file: type=lint @@ -208,8 +207,8 @@ class _FakeAddress_14 extends _i1.SmartFake implements _i16.Address { ); } -class _FakeBIP32_15 extends _i1.SmartFake implements _i17.BIP32 { - _FakeBIP32_15( +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( Object parent, Invocation parentInvocation, ) : super( @@ -218,19 +217,9 @@ class _FakeBIP32_15 extends _i1.SmartFake implements _i17.BIP32 { ); } -class _FakePaymentCode_16 extends _i1.SmartFake implements _i18.PaymentCode { - _FakePaymentCode_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -242,7 +231,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -309,7 +298,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -319,18 +308,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -394,17 +383,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -415,11 +404,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -427,7 +416,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -453,19 +442,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -480,13 +469,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -500,13 +489,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -519,46 +508,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -571,48 +560,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -624,20 +613,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -645,7 +634,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -687,33 +676,33 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i7.SecureStorageInterface); @override - List<_i25.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i24.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override - List<_i25.NodeModel> get nodes => (super.noSuchMethod( + List<_i24.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i25.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i24.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -726,44 +715,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i25.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i24.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i25.NodeModel?); + )) as _i24.NodeModel?); @override - List<_i25.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i24.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override - _i25.NodeModel? getNodeById({required String? id}) => + _i24.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i25.NodeModel?); + )) as _i24.NodeModel?); @override - List<_i25.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i24.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override - _i22.Future add( - _i25.NodeModel? node, + _i21.Future add( + _i24.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -776,11 +765,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -792,11 +781,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -810,12 +799,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i25.NodeModel? editedNode, + _i21.Future edit( + _i24.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -828,20 +817,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -849,7 +838,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -877,13 +866,13 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -960,64 +949,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i16.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i16.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i16.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i21.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i9.FeeObject>); + ) as _i21.Future<_i9.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -1114,27 +1113,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ), ) as _i14.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i27.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i27.DerivePathType.bip44, - ) as _i27.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -1145,52 +1145,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1206,26 +1207,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1243,33 +1244,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1279,36 +1280,36 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), returnValue: - _i22.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_12( + _i21.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_12( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i10.ElectrumXNode>); + ) as _i21.Future<_i10.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i27.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1322,13 +1323,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i27.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1341,50 +1342,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1424,7 +1425,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i16.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1432,10 +1433,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i16.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1453,10 +1454,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1468,11 +1469,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1484,8 +1485,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1504,25 +1505,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1535,14 +1536,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1552,14 +1553,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1569,15 +1570,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i12.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1593,15 +1594,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ), ) as _i12.Balance); @override - _i22.Future updateCachedBalance(_i12.Balance? balance) => + _i21.Future updateCachedBalance(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i12.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1617,15 +1618,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ), ) as _i12.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i12.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i13.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1636,11 +1637,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>> parseTransaction( + _i21.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i16.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1657,7 +1658,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ], ), returnValue: - _i22.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>.value( + _i21.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>.value( _FakeTuple2_13<_i16.Transaction, _i16.Address>( this, Invocation.method( @@ -1672,51 +1673,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ], ), )), - ) as _i22.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>); + ) as _i21.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i14.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i13.MainDB? db, required _i10.ElectrumX? electrumXClient, required _i7.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i16.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i16.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i27.DerivePathType derivePathType, + required _i26.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i27.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1732,7 +1728,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1743,79 +1740,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i16.Address> currentReceivingPaynymAddress( - _i18.PaymentCode? sender) => + _i21.Future<_i16.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i18.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i17.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i17.BIP32>.value(_FakeBIP32_15( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i17.BIP32>); - @override - _i22.Future<_i28.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i27.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), - ) as _i22.Future<_i28.Uint8List>); + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); @override - _i22.Future<_i28.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1824,48 +1809,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), - ) as _i22.Future<_i28.Uint8List>); + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); @override - _i22.Future<_i18.PaymentCode> getPaymentCode( - _i27.DerivePathType? derivePathType) => + _i21.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i18.PaymentCode>.value(_FakePaymentCode_16( + returnValue: _i21.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i18.PaymentCode>); + ) as _i21.Future<_i17.PaymentCode>); @override - _i22.Future<_i28.Uint8List> signWithNotificationKey(_i28.Uint8List? data) => + _i21.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), - ) as _i22.Future<_i28.Uint8List>); + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i18.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1880,12 +1866,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i16.Address> nextUnusedSendAddressFrom({ - required _i18.PaymentCode? pCode, - required _i28.Uint8List? privateKey, + _i21.Future<_i16.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1898,7 +1884,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1910,9 +1896,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1930,10 +1916,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1941,19 +1927,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i18.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i16.Transaction? transaction, required _i16.Address? myNotificationAddress, }) => @@ -1966,31 +1952,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i18.PaymentCode?>.value(), - ) as _i22.Future<_i18.PaymentCode?>); + returnValue: _i21.Future<_i17.PaymentCode?>.value(), + ) as _i21.Future<_i17.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i18.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i17.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -2005,12 +1991,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i18.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i17.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2023,15 +2009,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i16.Address> generatePaynymSendAddressFromKeyPair({ required _i14.ECPair? pair, required int? derivationIndex, - required _i27.DerivePathType? derivePathType, - required _i18.PaymentCode? toPaymentCode, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -2044,7 +2030,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -2057,13 +2043,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future<_i16.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i16.Address> generatePaynymReceivingAddressFromKeyPair({ required _i14.ECPair? pair, required int? derivationIndex, - required _i27.DerivePathType? derivePathType, - required _i18.PaymentCode? fromPaymentCode, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -2076,7 +2062,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -2089,56 +2075,56 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future<_i16.Address> getMyNotificationAddress( - _i27.DerivePathType? derivePathType) => + _i21.Future<_i16.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i29.LocaleService { +class MockLocaleService extends _i1.Mock implements _i28.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -2154,17 +2140,17 @@ class MockLocaleService extends _i1.Mock implements _i29.LocaleService { returnValue: false, ) as bool); @override - _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i21.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2172,7 +2158,7 @@ class MockLocaleService extends _i1.Mock implements _i29.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2200,7 +2186,7 @@ class MockLocaleService extends _i1.Mock implements _i29.LocaleService { /// A class which mocks [Prefs]. /// /// See the documentation for Mockito's code generation for more information. -class MockPrefs extends _i1.Mock implements _i23.Prefs { +class MockPrefs extends _i1.Mock implements _i22.Prefs { MockPrefs() { _i1.throwOnMissingStub(this); } @@ -2256,12 +2242,12 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - _i30.SyncingType get syncType => (super.noSuchMethod( + _i29.SyncingType get syncType => (super.noSuchMethod( Invocation.getter(#syncType), - returnValue: _i30.SyncingType.currentWalletOnly, - ) as _i30.SyncingType); + returnValue: _i29.SyncingType.currentWalletOnly, + ) as _i29.SyncingType); @override - set syncType(_i30.SyncingType? syncType) => super.noSuchMethod( + set syncType(_i29.SyncingType? syncType) => super.noSuchMethod( Invocation.setter( #syncType, syncType, @@ -2321,12 +2307,12 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - _i31.ExchangeRateType get exchangeRateType => (super.noSuchMethod( + _i30.ExchangeRateType get exchangeRateType => (super.noSuchMethod( Invocation.getter(#exchangeRateType), - returnValue: _i31.ExchangeRateType.estimated, - ) as _i31.ExchangeRateType); + returnValue: _i30.ExchangeRateType.estimated, + ) as _i30.ExchangeRateType); @override - set exchangeRateType(_i31.ExchangeRateType? exchangeRateType) => + set exchangeRateType(_i30.ExchangeRateType? exchangeRateType) => super.noSuchMethod( Invocation.setter( #exchangeRateType, @@ -2408,12 +2394,12 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - _i32.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i31.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i32.BackupFrequencyType.everyTenMinutes, - ) as _i32.BackupFrequencyType); + returnValue: _i31.BackupFrequencyType.everyTenMinutes, + ) as _i31.BackupFrequencyType); @override - set backupFrequencyType(_i32.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i31.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -2483,51 +2469,51 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValue: false, ) as bool); @override - _i22.Future init() => (super.noSuchMethod( + _i21.Future init() => (super.noSuchMethod( Invocation.method( #init, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( + _i21.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( Invocation.method( #incrementCurrentNotificationIndex, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isExternalCallsSet() => (super.noSuchMethod( + _i21.Future isExternalCallsSet() => (super.noSuchMethod( Invocation.method( #isExternalCallsSet, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future saveUserID(String? userId) => (super.noSuchMethod( + _i21.Future saveUserID(String? userId) => (super.noSuchMethod( Invocation.method( #saveUserID, [userId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + _i21.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( Invocation.method( #saveSignupEpoch, [signupEpoch], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2535,7 +2521,7 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2578,23 +2564,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2627,23 +2613,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i21.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i9.FeeObject>); + ) as _i21.Future<_i9.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2653,16 +2639,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i12.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i16.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i16.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i16.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2682,10 +2668,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2707,14 +2698,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2724,7 +2715,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2740,27 +2731,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2770,34 +2761,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2808,25 +2800,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2838,11 +2831,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2854,18 +2847,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2873,7 +2866,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2893,7 +2886,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2904,10 +2897,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2940,23 +2933,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i21.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i9.FeeObject>); + ) as _i21.Future<_i9.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2966,16 +2959,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i12.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i16.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i16.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i16.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2995,10 +2988,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -3015,7 +3018,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -3031,36 +3034,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -3070,16 +3073,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -3090,43 +3094,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -3138,11 +3143,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -3154,24 +3159,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } diff --git a/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart b/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart index 54ade45c2..313bff98a 100644 --- a/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart +++ b/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart @@ -353,6 +353,11 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: _i8.Future>.value([]), ) as _i8.Future>); @override + _i8.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i8.Future.value(), + ) as _i8.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -464,6 +469,7 @@ class MockManager extends _i1.Mock implements _i11.Manager { @override _i8.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -474,6 +480,7 @@ class MockManager extends _i1.Mock implements _i11.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart b/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart index 84fc1bf4e..b5178f2a0 100644 --- a/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart +++ b/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart @@ -314,6 +314,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -425,6 +430,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -435,6 +441,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart b/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart index 7d23a2dd7..cc6e3fe1e 100644 --- a/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart +++ b/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart @@ -312,6 +312,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -423,6 +428,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -433,6 +439,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/lockscreen_view_screen_test.mocks.dart b/test/screen_tests/lockscreen_view_screen_test.mocks.dart index 92518048b..a7f124337 100644 --- a/test/screen_tests/lockscreen_view_screen_test.mocks.dart +++ b/test/screen_tests/lockscreen_view_screen_test.mocks.dart @@ -621,6 +621,11 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -732,6 +737,7 @@ class MockManager extends _i1.Mock implements _i12.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -742,6 +748,7 @@ class MockManager extends _i1.Mock implements _i12.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart b/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart index 01f47579b..e7c4658a6 100644 --- a/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart +++ b/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart @@ -408,6 +408,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future>.value([]), ) as _i6.Future>); @override + _i6.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i6.Future.value(), + ) as _i6.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -519,6 +524,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i6.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -529,6 +535,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart b/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart index 106485fdb..920ebc0f7 100644 --- a/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart +++ b/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart @@ -408,6 +408,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future>.value([]), ) as _i6.Future>); @override + _i6.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i6.Future.value(), + ) as _i6.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -519,6 +524,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i6.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -529,6 +535,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart b/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart index 419b72e3f..4b4f63225 100644 --- a/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart +++ b/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart @@ -408,6 +408,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future>.value([]), ) as _i6.Future>); @override + _i6.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i6.Future.value(), + ) as _i6.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -519,6 +524,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i6.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -529,6 +535,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart b/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart index 50cd7afd8..ceb07514a 100644 --- a/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart @@ -183,6 +183,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -294,6 +299,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -304,6 +310,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart b/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart index ba5f52688..9c75c178d 100644 --- a/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart @@ -406,6 +406,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future>.value([]), ) as _i6.Future>); @override + _i6.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i6.Future.value(), + ) as _i6.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -517,6 +522,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i6.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -527,6 +533,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart b/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart index 7a1afa588..fed2fe069 100644 --- a/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart @@ -621,6 +621,11 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -732,6 +737,7 @@ class MockManager extends _i1.Mock implements _i12.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -742,6 +748,7 @@ class MockManager extends _i1.Mock implements _i12.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart b/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart index 31fb8546c..9b169bad2 100644 --- a/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart @@ -462,6 +462,11 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: _i8.Future>.value([]), ) as _i8.Future>); @override + _i8.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i8.Future.value(), + ) as _i8.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -573,6 +578,7 @@ class MockManager extends _i1.Mock implements _i12.Manager { @override _i8.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -583,6 +589,7 @@ class MockManager extends _i1.Mock implements _i12.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart b/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart index 742498415..924a72df8 100644 --- a/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart @@ -183,6 +183,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -294,6 +299,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -304,6 +310,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart index b4c96f70c..db22ecacc 100644 --- a/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart @@ -183,6 +183,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -294,6 +299,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -304,6 +310,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart index 9fe30a1cb..8a9fd0935 100644 --- a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart @@ -398,6 +398,11 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: _i8.Future>.value([]), ) as _i8.Future>); @override + _i8.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i8.Future.value(), + ) as _i8.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -509,6 +514,7 @@ class MockManager extends _i1.Mock implements _i11.Manager { @override _i8.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -519,6 +525,7 @@ class MockManager extends _i1.Mock implements _i11.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart index f0b37d032..db88f6067 100644 --- a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart @@ -398,6 +398,11 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: _i8.Future>.value([]), ) as _i8.Future>); @override + _i8.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i8.Future.value(), + ) as _i8.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -509,6 +514,7 @@ class MockManager extends _i1.Mock implements _i11.Manager { @override _i8.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -519,6 +525,7 @@ class MockManager extends _i1.Mock implements _i11.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart index 3711513b4..3d6b30b2d 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart @@ -183,6 +183,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -294,6 +299,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -304,6 +310,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart index fc733ad66..ce44e5fd8 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart @@ -183,6 +183,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -294,6 +299,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -304,6 +310,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart index b36f289d8..94633d738 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart @@ -406,6 +406,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future>.value([]), ) as _i6.Future>); @override + _i6.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i6.Future.value(), + ) as _i6.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -517,6 +522,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i6.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -527,6 +533,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart index dc382ee73..824ffe3af 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart @@ -663,6 +663,11 @@ class MockManager extends _i1.Mock implements _i15.Manager { returnValue: _i8.Future>.value([]), ) as _i8.Future>); @override + _i8.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i8.Future.value(), + ) as _i8.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -774,6 +779,7 @@ class MockManager extends _i1.Mock implements _i15.Manager { @override _i8.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -784,6 +790,7 @@ class MockManager extends _i1.Mock implements _i15.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart index e469b8be4..c4ffca6b5 100644 --- a/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart @@ -406,6 +406,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future>.value([]), ) as _i6.Future>); @override + _i6.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i6.Future.value(), + ) as _i6.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -517,6 +522,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { @override _i6.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -527,6 +533,7 @@ class MockManager extends _i1.Mock implements _i9.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart b/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart index bd3520e44..5c7a23188 100644 --- a/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart +++ b/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart @@ -185,6 +185,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -296,6 +301,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -306,6 +312,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart index cbfc6644f..9a9c1aabf 100644 --- a/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart @@ -184,6 +184,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -295,6 +300,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -305,6 +311,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart index a4936c793..dd59e74bf 100644 --- a/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart @@ -183,6 +183,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -294,6 +299,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -304,6 +310,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart index 3126e4580..cbd3c0795 100644 --- a/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart @@ -225,6 +225,11 @@ class MockManager extends _i1.Mock implements _i8.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -336,6 +341,7 @@ class MockManager extends _i1.Mock implements _i8.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -346,6 +352,7 @@ class MockManager extends _i1.Mock implements _i8.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart index 135802891..892ec66ec 100644 --- a/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart @@ -185,6 +185,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future>.value([]), ) as _i7.Future>); @override + _i7.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i7.Future.value(), + ) as _i7.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -296,6 +301,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { @override _i7.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -306,6 +312,7 @@ class MockManager extends _i1.Mock implements _i5.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/services/coins/manager_test.mocks.dart b/test/services/coins/manager_test.mocks.dart index af988ae76..273b4a01c 100644 --- a/test/services/coins/manager_test.mocks.dart +++ b/test/services/coins/manager_test.mocks.dart @@ -211,6 +211,16 @@ class MockFiroWallet extends _i1.Mock implements _i9.FiroWallet { returnValue: _i10.Future>.value([]), ) as _i10.Future>); @override + _i10.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i10.Future.value(), + ) as _i10.Future); + @override + _i10.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i10.Future.value(), + ) as _i10.Future); + @override _i10.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), returnValue: _i10.Future.value(0), @@ -634,14 +644,18 @@ class MockFiroWallet extends _i1.Mock implements _i9.FiroWallet { ) as _i10.Future); @override _i10.Future fillAddresses( - String? suppliedMnemonic, { + String? suppliedMnemonic, + String? mnemonicPassphrase, { int? perBatch = 50, int? numberOfThreads = 4, }) => (super.noSuchMethod( Invocation.method( #fillAddresses, - [suppliedMnemonic], + [ + suppliedMnemonic, + mnemonicPassphrase, + ], { #perBatch: perBatch, #numberOfThreads: numberOfThreads, @@ -669,6 +683,7 @@ class MockFiroWallet extends _i1.Mock implements _i9.FiroWallet { @override _i10.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -679,6 +694,7 @@ class MockFiroWallet extends _i1.Mock implements _i9.FiroWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/widget_tests/managed_favorite_test.mocks.dart b/test/widget_tests/managed_favorite_test.mocks.dart index da30d6016..89d6ae344 100644 --- a/test/widget_tests/managed_favorite_test.mocks.dart +++ b/test/widget_tests/managed_favorite_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,22 +17,22 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; -import 'package:stackwallet/models/node_model.dart' as _i29; +import 'package:stackwallet/models/node_model.dart' as _i28; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i28; +import 'package:stackwallet/services/locale_service.dart' as _i27; 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 _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i18; -import 'package:stackwallet/utilities/prefs.dart' as _i23; + as _i17; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -192,8 +191,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -202,8 +201,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakeSecureStorageInterface_15 extends _i1.SmartFake + implements _i17.SecureStorageInterface { + _FakeSecureStorageInterface_15( Object parent, Invocation parentInvocation, ) : super( @@ -212,20 +212,9 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { ); } -class _FakeSecureStorageInterface_16 extends _i1.SmartFake - implements _i18.SecureStorageInterface { - _FakeSecureStorageInterface_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -237,7 +226,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -304,7 +293,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -314,18 +303,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -389,17 +378,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -410,11 +399,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -422,7 +411,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -448,19 +437,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -475,13 +464,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -495,13 +484,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -514,46 +503,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -566,48 +555,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -619,20 +608,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -640,7 +629,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -668,13 +657,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -751,64 +740,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -905,27 +904,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i26.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i26.DerivePathType.bip44, - ) as _i26.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -936,52 +936,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -997,26 +998,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1034,33 +1035,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1070,35 +1071,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1112,13 +1113,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1131,50 +1132,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1214,7 +1215,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1222,10 +1223,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1243,10 +1244,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1258,11 +1259,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1274,8 +1275,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1294,25 +1295,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1325,14 +1326,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1342,14 +1343,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1359,15 +1360,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1383,15 +1384,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1407,15 +1408,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1426,11 +1427,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1447,7 +1448,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), returnValue: - _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( @@ -1462,51 +1463,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), )), - ) as _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i18.SecureStorageInterface? secureStorage, + required _i17.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i15.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i26.DerivePathType derivePathType, + required _i25.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i26.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1522,7 +1518,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1533,79 +1530,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i16.BIP32>); - @override - _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1614,48 +1599,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i17.PaymentCode> getPaymentCode( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i16.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i21.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i17.PaymentCode>); + ) as _i21.Future<_i16.PaymentCode>); @override - _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i21.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1670,12 +1656,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1688,7 +1674,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1700,9 +1686,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1720,10 +1706,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1731,19 +1717,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1756,31 +1742,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i17.PaymentCode?>.value(), - ) as _i22.Future<_i17.PaymentCode?>); + returnValue: _i21.Future<_i16.PaymentCode?>.value(), + ) as _i21.Future<_i16.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i17.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1795,12 +1781,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1813,15 +1799,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1834,7 +1820,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1847,13 +1833,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1866,7 +1852,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1879,56 +1865,56 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> getMyNotificationAddress( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i28.LocaleService { +class MockLocaleService extends _i1.Mock implements _i27.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1944,17 +1930,17 @@ class MockLocaleService extends _i1.Mock implements _i28.LocaleService { returnValue: false, ) as bool); @override - _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i21.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1962,7 +1948,7 @@ class MockLocaleService extends _i1.Mock implements _i28.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1992,41 +1978,41 @@ class MockLocaleService extends _i1.Mock implements _i28.LocaleService { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i17.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_16( + returnValue: _FakeSecureStorageInterface_15( this, Invocation.getter(#secureStorageInterface), ), - ) as _i18.SecureStorageInterface); + ) as _i17.SecureStorageInterface); @override - List<_i29.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - List<_i29.NodeModel> get nodes => (super.noSuchMethod( + List<_i28.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i29.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i28.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -2039,44 +2025,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i29.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i28.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i29.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i29.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i28.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i29.NodeModel? getNodeById({required String? id}) => + _i28.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i29.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i29.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i28.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i22.Future add( - _i29.NodeModel? node, + _i21.Future add( + _i28.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2089,11 +2075,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -2105,11 +2091,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -2123,12 +2109,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i29.NodeModel? editedNode, + _i21.Future edit( + _i28.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -2141,20 +2127,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2162,7 +2148,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2205,23 +2191,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2254,23 +2240,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2280,16 +2266,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2309,10 +2295,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2334,14 +2325,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2351,7 +2342,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2367,27 +2358,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2397,34 +2388,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2435,25 +2427,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2465,11 +2458,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2481,18 +2474,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2500,7 +2493,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2520,7 +2513,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2531,10 +2524,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2567,23 +2560,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2593,16 +2586,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2622,10 +2615,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2642,7 +2645,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2658,36 +2661,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2697,16 +2700,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2717,43 +2721,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2765,11 +2770,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2781,24 +2786,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } diff --git a/test/widget_tests/table_view/table_view_row_test.mocks.dart b/test/widget_tests/table_view/table_view_row_test.mocks.dart index b6f043a78..829d3a81b 100644 --- a/test/widget_tests/table_view/table_view_row_test.mocks.dart +++ b/test/widget_tests/table_view/table_view_row_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i21; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i23; +import 'dart:async' as _i20; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i22; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -19,19 +18,19 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; -import 'package:stackwallet/services/coins/coin_service.dart' as _i18; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i23; +import 'package:stackwallet/services/coins/coin_service.dart' as _i17; 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 _i19; +import 'package:stackwallet/services/wallets.dart' as _i18; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i19; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i26; -import 'package:stackwallet/utilities/prefs.dart' as _i22; + as _i25; +import 'package:stackwallet/utilities/prefs.dart' as _i21; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -190,8 +189,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -200,19 +199,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_16 extends _i1.SmartFake - implements _i18.CoinServiceAPI { - _FakeCoinServiceAPI_16( +class _FakeCoinServiceAPI_15 extends _i1.SmartFake + implements _i17.CoinServiceAPI { + _FakeCoinServiceAPI_15( Object parent, Invocation parentInvocation, ) : super( @@ -224,7 +213,7 @@ class _FakeCoinServiceAPI_16 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i19.Wallets { +class MockWallets extends _i1.Mock implements _i18.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -291,7 +280,7 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i20.Coin? coin}) => + List getWalletIdsFor({required _i19.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -301,18 +290,18 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValue: [], ) as List); @override - Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i20.Coin, + returnValue: <_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i20.Coin? coin) => + _i19.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -376,17 +365,17 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValueForMissingStub: null, ); @override - _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( + _i20.Future load(_i21.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future loadAfterStackRestore( - _i22.Prefs? prefs, + _i20.Future loadAfterStackRestore( + _i21.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -397,11 +386,11 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { managers, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -409,7 +398,7 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -435,19 +424,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i21.Future> get walletNames => + _i20.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i21.Future>.value( + returnValue: _i20.Future>.value( {}), - ) as _i21.Future>); + ) as _i20.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i21.Future renameWallet({ + _i20.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -462,13 +451,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future addExistingStackWallet({ + _i20.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i20.Coin? coin, + required _i19.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -482,13 +471,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future addNewWallet({ + _i20.Future addNewWallet({ required String? name, - required _i20.Coin? coin, + required _i19.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -501,46 +490,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i20.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i21.Future saveFavoriteWalletIds(List? walletIds) => + _i20.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i20.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i20.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future moveFavorite({ + _i20.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -553,48 +542,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i20.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i20.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future isMnemonicVerified({required String? walletId}) => + _i20.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future setMnemonicVerified({required String? walletId}) => + _i20.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future deleteWallet( + _i20.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -606,20 +595,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future refreshWallets(bool? shouldNotifyListeners) => + _i20.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -627,7 +616,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -655,13 +644,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i21.Timer? _timer) => super.noSuchMethod( + set timer(_i20.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -738,64 +727,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: false, ) as bool); @override - _i20.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i20.Coin.bitcoin, - ) as _i20.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override - _i21.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i21.Future>.value(<_i15.UTXO>[]), - ) as _i21.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override - _i21.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i21.Future>.value(<_i15.Transaction>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i21.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future get currentChangeAddress => (super.noSuchMethod( + _i20.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i20.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i21.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i21.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i21.Future get chainHeight => (super.noSuchMethod( + _i20.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -892,27 +891,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i21.Future exit() => (super.noSuchMethod( + _i20.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i25.DerivePathType addressType({required String? address}) => + _i24.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i25.DerivePathType.bip44, - ) as _i25.DerivePathType); + returnValue: _i24.DerivePathType.bip44, + ) as _i24.DerivePathType); @override - _i21.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -923,52 +923,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future getTransactionCacheEarly(List? allAddresses) => + _i20.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i20.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future getAllTxsToWatch() => (super.noSuchMethod( + _i20.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -984,26 +985,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1021,33 +1022,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i21.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future updateSentCachedTxData(Map? txData) => + _i20.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1057,35 +1058,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i20.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i20.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i21.Future<_i9.ElectrumXNode>); + ) as _i20.Future<_i9.ElectrumXNode>); @override - _i21.Future addDerivation({ + _i20.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i25.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1099,13 +1100,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future addDerivations({ + _i20.Future addDerivations({ required int? chain, - required _i25.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1118,50 +1119,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future>> fastFetch( + _i20.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i21.Future>>.value( + returnValue: _i20.Future>>.value( >[]), - ) as _i21.Future>>); + ) as _i20.Future>>); @override - _i21.Future getTxCount({required String? address}) => + _i20.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future checkCurrentReceivingAddressesForTransactions() => + _i20.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future checkCurrentChangeAddressesForTransactions() => + _i20.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int estimateTxFee({ required int? vSize, @@ -1201,7 +1202,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, )); @override - _i21.Future> fetchBuildTxData( + _i20.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1209,10 +1210,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [utxosToUse], ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future> buildTransaction({ + _i20.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1230,10 +1231,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1245,11 +1246,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1261,8 +1262,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { feeRate, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int roughFeeEstimate( int? inputCount, @@ -1281,25 +1282,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: 0, ) as int); @override - _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i20.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void initCache( String? walletId, - _i20.Coin? coin, + _i19.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1312,14 +1313,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i21.Future updateCachedId(String? id) => (super.noSuchMethod( + _i20.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1329,14 +1330,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: 0, ) as int); @override - _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i20.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1346,15 +1347,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Future updateCachedIsFavorite(bool? isFavorite) => + _i20.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1370,15 +1371,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ), ) as _i11.Balance); @override - _i21.Future updateCachedBalance(_i11.Balance? balance) => + _i20.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1394,15 +1395,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ), ) as _i11.Balance); @override - _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i20.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1413,11 +1414,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( + _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i20.Coin? coin, + _i19.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1434,7 +1435,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ], ), returnValue: - _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( @@ -1449,51 +1450,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ], ), )), - ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + ) as _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i20.Coin? coin, + required _i19.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i26.SecureStorageInterface? secureStorage, + required _i25.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i21.Future> Function()? getMnemonic, - required _i21.Future Function()? getChainHeight, - required _i21.Future Function()? getCurrentChangeAddress, + required _i20.Future Function()? getMnemonicString, + required _i20.Future Function()? getMnemonicPassphrase, + required _i20.Future Function()? getChainHeight, + required _i20.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i21.Future> Function({ + required _i20.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i21.Future Function({required String address})? getTxCount, - required _i21.Future> Function(List<_i15.UTXO>)? + required _i20.Future Function({required String address})? getTxCount, + required _i20.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i21.Future Function()? refresh, - required _i21.Future Function()? checkChangeAddressForTransactions, - required _i21.Future Function({ + required _i20.Future Function()? refresh, + required _i20.Future Function()? checkChangeAddressForTransactions, + required _i20.Future Function({ required String address, required int chain, - required _i25.DerivePathType derivePathType, + required _i24.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i21.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i25.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1509,7 +1505,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1520,79 +1517,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i21.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i20.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i20.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i20.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i21.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i21.Future<_i16.BIP32>); - @override - _i21.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i20.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i21.Future<_i27.Uint8List>); + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); @override - _i21.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i20.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1601,48 +1586,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i21.Future<_i27.Uint8List>); + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); @override - _i21.Future<_i17.PaymentCode> getPaymentCode( - _i25.DerivePathType? derivePathType) => + _i20.Future<_i16.PaymentCode> getPaymentCode( + _i24.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i21.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i20.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i21.Future<_i17.PaymentCode>); + ) as _i20.Future<_i16.PaymentCode>); @override - _i21.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i20.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i21.Future<_i27.Uint8List>); + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); @override - _i21.Future signStringWithNotificationKey(String? data) => + _i20.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i20.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1657,12 +1643,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i20.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1675,7 +1661,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1687,9 +1673,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future> prepareNotificationTx({ + _i20.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1707,10 +1693,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future broadcastNotificationTx( + _i20.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1718,19 +1704,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future hasConnected(String? paymentCodeString) => + _i20.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i20.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1743,31 +1729,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i21.Future<_i17.PaymentCode?>.value(), - ) as _i21.Future<_i17.PaymentCode?>); + returnValue: _i20.Future<_i16.PaymentCode?>.value(), + ) as _i20.Future<_i16.PaymentCode?>); @override - _i21.Future> + _i20.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i21.Future>.value(<_i17.PaymentCode>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i16.PaymentCode>[]), + ) as _i20.Future>); @override - _i21.Future checkForNotificationTransactionsTo( + _i20.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future restoreAllHistory({ + _i20.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1782,12 +1768,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i20.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1800,15 +1786,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i20.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i25.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i24.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1821,7 +1807,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1834,13 +1820,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i20.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i25.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i24.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1853,7 +1839,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1866,50 +1852,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future<_i15.Address> getMyNotificationAddress( - _i25.DerivePathType? derivePathType) => + _i20.Future<_i15.Address> getMyNotificationAddress( + _i24.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future> lookupKey(String? paymentCodeString) => + _i20.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i21.Future paymentCodeStringByKey(String? key) => + _i20.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future storeCode(String? paymentCodeString) => + _i20.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); } /// A class which mocks [Manager]. @@ -1930,23 +1916,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.CoinServiceAPI get wallet => (super.noSuchMethod( + _i17.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_16( + returnValue: _FakeCoinServiceAPI_15( this, Invocation.getter(#wallet), ), - ) as _i18.CoinServiceAPI); + ) as _i17.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i20.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i20.Coin.bitcoin, - ) as _i20.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1979,23 +1965,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i21.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i21.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2005,16 +1991,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i21.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i21.Future>.value(<_i15.Transaction>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i21.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i21.Future>.value(<_i15.UTXO>[]), - ) as _i21.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2034,10 +2020,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i21.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); + @override + _i20.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i20.Future.value(), + ) as _i20.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2059,14 +2050,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2076,7 +2067,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i21.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2092,27 +2083,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2122,34 +2113,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i21.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2160,25 +2152,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future exitCurrentWallet() => (super.noSuchMethod( + _i20.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2190,11 +2183,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2206,18 +2199,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2225,7 +2218,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2245,7 +2238,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i17.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2256,10 +2249,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i20.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i20.Coin.bitcoin, - ) as _i20.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2292,23 +2285,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i21.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i21.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2318,16 +2311,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { ), ) as _i11.Balance); @override - _i21.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i21.Future>.value(<_i15.Transaction>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i21.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i21.Future>.value(<_i15.UTXO>[]), - ) as _i21.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2347,10 +2340,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValue: '', ) as String); @override - _i21.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); + @override + _i20.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i20.Future.value(), + ) as _i20.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2367,7 +2370,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValue: 0, ) as int); @override - _i21.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2383,36 +2386,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2422,16 +2425,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValue: false, ) as bool); @override - _i21.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2442,43 +2446,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future exit() => (super.noSuchMethod( + _i20.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2490,11 +2495,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2506,24 +2511,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { feeRate, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future updateSentCachedTxData(Map? txData) => + _i20.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); } diff --git a/test/widget_tests/transaction_card_test.mocks.dart b/test/widget_tests/transaction_card_test.mocks.dart index 8101e32b7..a650dee57 100644 --- a/test/widget_tests/transaction_card_test.mocks.dart +++ b/test/widget_tests/transaction_card_test.mocks.dart @@ -528,6 +528,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i18.Future>.value([]), ) as _i18.Future>); @override + _i18.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i18.Future.value(), + ) as _i18.Future); + @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), returnValue: false, @@ -639,6 +644,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { @override _i18.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -649,6 +655,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, @@ -845,6 +852,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i7.CoinServiceAPI { returnValue: _i18.Future>.value([]), ) as _i18.Future>); @override + _i18.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i18.Future.value(), + ) as _i18.Future); + @override + _i18.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i18.Future.value(), + ) as _i18.Future); + @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, @@ -925,6 +942,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i7.CoinServiceAPI { @override _i18.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -935,6 +953,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i7.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, @@ -1130,6 +1149,16 @@ class MockFiroWallet extends _i1.Mock implements _i22.FiroWallet { returnValue: _i18.Future>.value([]), ) as _i18.Future>); @override + _i18.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i18.Future.value(), + ) as _i18.Future); + @override + _i18.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i18.Future.value(), + ) as _i18.Future); + @override _i18.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), returnValue: _i18.Future.value(0), @@ -1553,14 +1582,18 @@ class MockFiroWallet extends _i1.Mock implements _i22.FiroWallet { ) as _i18.Future); @override _i18.Future fillAddresses( - String? suppliedMnemonic, { + String? suppliedMnemonic, + String? mnemonicPassphrase, { int? perBatch = 50, int? numberOfThreads = 4, }) => (super.noSuchMethod( Invocation.method( #fillAddresses, - [suppliedMnemonic], + [ + suppliedMnemonic, + mnemonicPassphrase, + ], { #perBatch: perBatch, #numberOfThreads: numberOfThreads, @@ -1588,6 +1621,7 @@ class MockFiroWallet extends _i1.Mock implements _i22.FiroWallet { @override _i18.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -1598,6 +1632,7 @@ class MockFiroWallet extends _i1.Mock implements _i22.FiroWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, diff --git a/test/widget_tests/wallet_card_test.mocks.dart b/test/widget_tests/wallet_card_test.mocks.dart index 9f94bfdc4..6a48669ef 100644 --- a/test/widget_tests/wallet_card_test.mocks.dart +++ b/test/widget_tests/wallet_card_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i20; -import 'dart:typed_data' as _i26; -import 'dart:ui' as _i22; +import 'dart:async' as _i19; +import 'dart:typed_data' as _i25; +import 'dart:ui' as _i21; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -19,19 +18,19 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i23; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i22; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i27; +import 'package:stackwallet/services/locale_service.dart' as _i26; 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 _i18; +import 'package:stackwallet/services/wallets.dart' as _i17; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i19; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i18; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i25; -import 'package:stackwallet/utilities/prefs.dart' as _i21; + as _i24; +import 'package:stackwallet/utilities/prefs.dart' as _i20; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -190,18 +189,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -213,7 +202,7 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i18.Wallets { +class MockWallets extends _i1.Mock implements _i17.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -280,7 +269,7 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i19.Coin? coin}) => + List getWalletIdsFor({required _i18.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -290,18 +279,18 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValue: [], ) as List); @override - Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i18.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i19.Coin, + returnValue: <_i18.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i18.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i19.Coin? coin) => + _i18.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -365,17 +354,17 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValueForMissingStub: null, ); @override - _i20.Future load(_i21.Prefs? prefs) => (super.noSuchMethod( + _i19.Future load(_i20.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future loadAfterStackRestore( - _i21.Prefs? prefs, + _i19.Future loadAfterStackRestore( + _i20.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -386,11 +375,11 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { managers, ], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -398,7 +387,7 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -418,13 +407,13 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i20.Timer? _timer) => super.noSuchMethod( + set timer(_i19.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -501,64 +490,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: false, ) as bool); @override - _i19.Coin get coin => (super.noSuchMethod( + _i18.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i19.Coin.bitcoin, - ) as _i19.Coin); + returnValue: _i18.Coin.bitcoin, + ) as _i18.Coin); @override - _i20.Future> get utxos => (super.noSuchMethod( + _i19.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i20.Future>.value(<_i15.UTXO>[]), - ) as _i20.Future>); + returnValue: _i19.Future>.value(<_i15.UTXO>[]), + ) as _i19.Future>); @override - _i20.Future> get transactions => (super.noSuchMethod( + _i19.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i20.Future>.value(<_i15.Transaction>[]), - ) as _i20.Future>); + _i19.Future>.value(<_i15.Transaction>[]), + ) as _i19.Future>); @override - _i20.Future get currentReceivingAddress => (super.noSuchMethod( + _i19.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future get currentChangeAddress => (super.noSuchMethod( + _i19.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i19.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i19.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i19.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i20.Future<_i8.FeeObject>); + ) as _i19.Future<_i8.FeeObject>); @override - _i20.Future get maxFee => (super.noSuchMethod( + _i19.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override - _i20.Future> get mnemonic => (super.noSuchMethod( + _i19.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i20.Future>.value([]), - ) as _i20.Future>); + returnValue: _i19.Future>.value([]), + ) as _i19.Future>); @override - _i20.Future get chainHeight => (super.noSuchMethod( + _i19.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i19.Future.value(), + ) as _i19.Future); + @override + _i19.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i19.Future.value(), + ) as _i19.Future); + @override + _i19.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -655,27 +654,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i20.Future exit() => (super.noSuchMethod( + _i19.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i24.DerivePathType addressType({required String? address}) => + _i23.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i24.DerivePathType.bip44, - ) as _i24.DerivePathType); + returnValue: _i23.DerivePathType.bip44, + ) as _i23.DerivePathType); @override - _i20.Future recoverFromMnemonic({ + _i19.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -686,52 +686,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future getTransactionCacheEarly(List? allAddresses) => + _i19.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i19.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override - _i20.Future getAllTxsToWatch() => (super.noSuchMethod( + _i19.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future refresh() => (super.noSuchMethod( + _i19.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future> prepareSend({ + _i19.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -747,26 +748,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future confirmSend({required Map? txData}) => + _i19.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future testNetworkConnection() => (super.noSuchMethod( + _i19.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -784,33 +785,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i20.Future initializeNew() => (super.noSuchMethod( + _i19.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future initializeExisting() => (super.noSuchMethod( + _i19.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future updateSentCachedTxData(Map? txData) => + _i19.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -820,35 +821,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: false, ) as bool); @override - _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i19.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i19.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i20.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i19.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i20.Future<_i9.ElectrumXNode>); + ) as _i19.Future<_i9.ElectrumXNode>); @override - _i20.Future addDerivation({ + _i19.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i24.DerivePathType? derivePathType, + required _i23.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -862,13 +863,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future addDerivations({ + _i19.Future addDerivations({ required int? chain, - required _i24.DerivePathType? derivePathType, + required _i23.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -881,50 +882,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future>> fastFetch( + _i19.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i20.Future>>.value( + returnValue: _i19.Future>>.value( >[]), - ) as _i20.Future>>); + ) as _i19.Future>>); @override - _i20.Future getTxCount({required String? address}) => + _i19.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override - _i20.Future checkCurrentReceivingAddressesForTransactions() => + _i19.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future checkCurrentChangeAddressesForTransactions() => + _i19.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override int estimateTxFee({ required int? vSize, @@ -964,7 +965,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, )); @override - _i20.Future> fetchBuildTxData( + _i19.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -972,10 +973,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [utxosToUse], ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future> buildTransaction({ + _i19.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -993,10 +994,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future fullRescan( + _i19.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1008,11 +1009,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future estimateFeeFor( + _i19.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1024,8 +1025,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { feeRate, ], ), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override int roughFeeEstimate( int? inputCount, @@ -1044,25 +1045,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: 0, ) as int); @override - _i20.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i19.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override - _i20.Future generateNewAddress() => (super.noSuchMethod( + _i19.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override void initCache( String? walletId, - _i19.Coin? coin, + _i18.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1075,14 +1076,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i20.Future updateCachedId(String? id) => (super.noSuchMethod( + _i19.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1092,14 +1093,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: 0, ) as int); @override - _i20.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i19.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1109,15 +1110,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: false, ) as bool); @override - _i20.Future updateCachedIsFavorite(bool? isFavorite) => + _i19.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1133,15 +1134,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ), ) as _i11.Balance); @override - _i20.Future updateCachedBalance(_i11.Balance? balance) => + _i19.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1157,15 +1158,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ), ) as _i11.Balance); @override - _i20.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i19.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1176,11 +1177,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( + _i19.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i19.Coin? coin, + _i18.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1197,7 +1198,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ], ), returnValue: - _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _i19.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( @@ -1212,51 +1213,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ], ), )), - ) as _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + ) as _i19.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i19.Coin? coin, + required _i18.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i25.SecureStorageInterface? secureStorage, + required _i24.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i20.Future> Function()? getMnemonic, - required _i20.Future Function()? getChainHeight, - required _i20.Future Function()? getCurrentChangeAddress, + required _i19.Future Function()? getMnemonicString, + required _i19.Future Function()? getMnemonicPassphrase, + required _i19.Future Function()? getChainHeight, + required _i19.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i20.Future> Function({ + required _i19.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i20.Future Function({required String address})? getTxCount, - required _i20.Future> Function(List<_i15.UTXO>)? + required _i19.Future Function({required String address})? getTxCount, + required _i19.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i20.Future Function()? refresh, - required _i20.Future Function()? checkChangeAddressForTransactions, - required _i20.Future Function({ + required _i19.Future Function()? refresh, + required _i19.Future Function()? checkChangeAddressForTransactions, + required _i19.Future Function({ required String address, required int chain, - required _i24.DerivePathType derivePathType, + required _i23.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i20.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i24.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1272,7 +1268,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1283,79 +1280,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i20.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i19.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i19.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i19.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i20.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i20.Future<_i16.BIP32>); - @override - _i20.Future<_i26.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i19.Future<_i25.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), - ) as _i20.Future<_i26.Uint8List>); + returnValue: _i19.Future<_i25.Uint8List>.value(_i25.Uint8List(0)), + ) as _i19.Future<_i25.Uint8List>); @override - _i20.Future<_i26.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i19.Future<_i25.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1364,48 +1349,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), - ) as _i20.Future<_i26.Uint8List>); + returnValue: _i19.Future<_i25.Uint8List>.value(_i25.Uint8List(0)), + ) as _i19.Future<_i25.Uint8List>); @override - _i20.Future<_i17.PaymentCode> getPaymentCode( - _i24.DerivePathType? derivePathType) => + _i19.Future<_i16.PaymentCode> getPaymentCode( + _i23.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i20.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i19.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i20.Future<_i17.PaymentCode>); + ) as _i19.Future<_i16.PaymentCode>); @override - _i20.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => + _i19.Future<_i25.Uint8List> signWithNotificationKey(_i25.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), - ) as _i20.Future<_i26.Uint8List>); + returnValue: _i19.Future<_i25.Uint8List>.value(_i25.Uint8List(0)), + ) as _i19.Future<_i25.Uint8List>); @override - _i20.Future signStringWithNotificationKey(String? data) => + _i19.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i19.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1420,12 +1406,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i26.Uint8List? privateKey, + _i19.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i25.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1438,7 +1424,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1450,9 +1436,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future> prepareNotificationTx({ + _i19.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1470,10 +1456,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future broadcastNotificationTx( + _i19.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1481,19 +1467,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future hasConnected(String? paymentCodeString) => + _i19.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override - _i20.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i19.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1506,31 +1492,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i20.Future<_i17.PaymentCode?>.value(), - ) as _i20.Future<_i17.PaymentCode?>); + returnValue: _i19.Future<_i16.PaymentCode?>.value(), + ) as _i19.Future<_i16.PaymentCode?>); @override - _i20.Future> + _i19.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i20.Future>.value(<_i17.PaymentCode>[]), - ) as _i20.Future>); + _i19.Future>.value(<_i16.PaymentCode>[]), + ) as _i19.Future>); @override - _i20.Future checkForNotificationTransactionsTo( + _i19.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future restoreAllHistory({ + _i19.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1545,12 +1531,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i19.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1563,15 +1549,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i19.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i24.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i23.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1584,7 +1570,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1597,13 +1583,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i19.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i24.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i23.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1616,7 +1602,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1629,56 +1615,56 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future<_i15.Address> getMyNotificationAddress( - _i24.DerivePathType? derivePathType) => + _i19.Future<_i15.Address> getMyNotificationAddress( + _i23.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future> lookupKey(String? paymentCodeString) => + _i19.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i20.Future>.value([]), - ) as _i20.Future>); + returnValue: _i19.Future>.value([]), + ) as _i19.Future>); @override - _i20.Future paymentCodeStringByKey(String? key) => + _i19.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future storeCode(String? paymentCodeString) => + _i19.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i27.LocaleService { +class MockLocaleService extends _i1.Mock implements _i26.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1694,17 +1680,17 @@ class MockLocaleService extends _i1.Mock implements _i27.LocaleService { returnValue: false, ) as bool); @override - _i20.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i19.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1712,7 +1698,7 @@ class MockLocaleService extends _i1.Mock implements _i27.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart index 9c8a9941a..aaa0a2baf 100644 --- a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart +++ b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,21 +17,21 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; -import 'package:stackwallet/models/node_model.dart' as _i28; +import 'package:stackwallet/models/node_model.dart' as _i27; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; 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 _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i18; -import 'package:stackwallet/utilities/prefs.dart' as _i23; + as _i17; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -191,8 +190,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -201,8 +200,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakeSecureStorageInterface_15 extends _i1.SmartFake + implements _i17.SecureStorageInterface { + _FakeSecureStorageInterface_15( Object parent, Invocation parentInvocation, ) : super( @@ -211,20 +211,9 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { ); } -class _FakeSecureStorageInterface_16 extends _i1.SmartFake - implements _i18.SecureStorageInterface { - _FakeSecureStorageInterface_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -236,7 +225,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -303,7 +292,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -313,18 +302,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -388,17 +377,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -409,11 +398,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -421,7 +410,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -447,19 +436,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -474,13 +463,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -494,13 +483,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -513,46 +502,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -565,48 +554,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -618,20 +607,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -639,7 +628,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -667,13 +656,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -750,64 +739,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -904,27 +903,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i26.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i26.DerivePathType.bip44, - ) as _i26.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -935,52 +935,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -996,26 +997,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1033,33 +1034,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1069,35 +1070,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1111,13 +1112,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1130,50 +1131,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1213,7 +1214,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1221,10 +1222,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1242,10 +1243,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1257,11 +1258,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1273,8 +1274,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1293,25 +1294,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1324,14 +1325,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1341,14 +1342,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1358,15 +1359,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1382,15 +1383,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1406,15 +1407,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1425,11 +1426,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1446,7 +1447,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), returnValue: - _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( @@ -1461,51 +1462,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), )), - ) as _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i18.SecureStorageInterface? secureStorage, + required _i17.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i15.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i26.DerivePathType derivePathType, + required _i25.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i26.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1521,7 +1517,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1532,79 +1529,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i16.BIP32>); - @override - _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1613,48 +1598,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i17.PaymentCode> getPaymentCode( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i16.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i21.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i17.PaymentCode>); + ) as _i21.Future<_i16.PaymentCode>); @override - _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i21.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1669,12 +1655,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1687,7 +1673,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1699,9 +1685,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1719,10 +1705,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1730,19 +1716,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1755,31 +1741,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i17.PaymentCode?>.value(), - ) as _i22.Future<_i17.PaymentCode?>); + returnValue: _i21.Future<_i16.PaymentCode?>.value(), + ) as _i21.Future<_i16.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i17.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1794,12 +1780,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1812,15 +1798,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1833,7 +1819,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1846,13 +1832,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1865,7 +1851,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1878,50 +1864,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> getMyNotificationAddress( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [NodeService]. @@ -1929,41 +1915,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i17.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_16( + returnValue: _FakeSecureStorageInterface_15( this, Invocation.getter(#secureStorageInterface), ), - ) as _i18.SecureStorageInterface); + ) as _i17.SecureStorageInterface); @override - List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i27.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - List<_i28.NodeModel> get nodes => (super.noSuchMethod( + List<_i27.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i28.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i27.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1976,44 +1962,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i27.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i27.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i28.NodeModel? getNodeById({required String? id}) => + _i27.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i27.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i22.Future add( - _i28.NodeModel? node, + _i21.Future add( + _i27.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2026,11 +2012,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -2042,11 +2028,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -2060,12 +2046,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i28.NodeModel? editedNode, + _i21.Future edit( + _i27.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -2078,20 +2064,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2099,7 +2085,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2142,23 +2128,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2191,23 +2177,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2217,16 +2203,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2246,10 +2232,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2271,14 +2262,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2288,7 +2279,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2304,27 +2295,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2334,34 +2325,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2372,25 +2364,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2402,11 +2395,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2418,18 +2411,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2437,7 +2430,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2457,7 +2450,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2468,10 +2461,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2504,23 +2497,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2530,16 +2523,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2559,10 +2552,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2579,7 +2582,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2595,36 +2598,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2634,16 +2637,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2654,43 +2658,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2702,11 +2707,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2718,24 +2723,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } 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 index bfb71d028..2f252b0a8 100644 --- 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 @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,21 +17,21 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; -import 'package:stackwallet/models/node_model.dart' as _i28; +import 'package:stackwallet/models/node_model.dart' as _i27; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; 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 _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i18; -import 'package:stackwallet/utilities/prefs.dart' as _i23; + as _i17; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -191,8 +190,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -201,8 +200,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakeSecureStorageInterface_15 extends _i1.SmartFake + implements _i17.SecureStorageInterface { + _FakeSecureStorageInterface_15( Object parent, Invocation parentInvocation, ) : super( @@ -211,20 +211,9 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { ); } -class _FakeSecureStorageInterface_16 extends _i1.SmartFake - implements _i18.SecureStorageInterface { - _FakeSecureStorageInterface_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -236,7 +225,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -303,7 +292,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -313,18 +302,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -388,17 +377,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -409,11 +398,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -421,7 +410,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -447,19 +436,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -474,13 +463,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -494,13 +483,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -513,46 +502,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -565,48 +554,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -618,20 +607,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -639,7 +628,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -667,13 +656,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -750,64 +739,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -904,27 +903,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i26.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i26.DerivePathType.bip44, - ) as _i26.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -935,52 +935,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -996,26 +997,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1033,33 +1034,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1069,35 +1070,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1111,13 +1112,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1130,50 +1131,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1213,7 +1214,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1221,10 +1222,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1242,10 +1243,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1257,11 +1258,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1273,8 +1274,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1293,25 +1294,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1324,14 +1325,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1341,14 +1342,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1358,15 +1359,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1382,15 +1383,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1406,15 +1407,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1425,11 +1426,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1446,7 +1447,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), returnValue: - _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( @@ -1461,51 +1462,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), )), - ) as _i22.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); + ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i18.SecureStorageInterface? secureStorage, + required _i17.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i15.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i26.DerivePathType derivePathType, + required _i25.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i26.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1521,7 +1517,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1532,79 +1529,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i16.BIP32>); - @override - _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1613,48 +1598,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i17.PaymentCode> getPaymentCode( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i16.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i21.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i17.PaymentCode>); + ) as _i21.Future<_i16.PaymentCode>); @override - _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i21.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1669,12 +1655,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1687,7 +1673,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1699,9 +1685,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1719,10 +1705,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1730,19 +1716,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1755,31 +1741,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i17.PaymentCode?>.value(), - ) as _i22.Future<_i17.PaymentCode?>); + returnValue: _i21.Future<_i16.PaymentCode?>.value(), + ) as _i21.Future<_i16.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i17.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1794,12 +1780,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1812,15 +1798,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1833,7 +1819,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1846,13 +1832,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1865,7 +1851,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1878,50 +1864,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> getMyNotificationAddress( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [NodeService]. @@ -1929,41 +1915,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i17.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_16( + returnValue: _FakeSecureStorageInterface_15( this, Invocation.getter(#secureStorageInterface), ), - ) as _i18.SecureStorageInterface); + ) as _i17.SecureStorageInterface); @override - List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i27.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - List<_i28.NodeModel> get nodes => (super.noSuchMethod( + List<_i27.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i28.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i27.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1976,44 +1962,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i27.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i27.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i28.NodeModel? getNodeById({required String? id}) => + _i27.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i27.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i22.Future add( - _i28.NodeModel? node, + _i21.Future add( + _i27.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2026,11 +2012,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -2042,11 +2028,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -2060,12 +2046,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i28.NodeModel? editedNode, + _i21.Future edit( + _i27.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -2078,20 +2064,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2099,7 +2085,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2142,23 +2128,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2191,23 +2177,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2217,16 +2203,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2246,10 +2232,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2271,14 +2262,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2288,7 +2279,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2304,27 +2295,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2334,34 +2325,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2372,25 +2364,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2402,11 +2395,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2418,18 +2411,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2437,7 +2430,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2457,7 +2450,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2468,10 +2461,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2504,23 +2497,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2530,16 +2523,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2559,10 +2552,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2579,7 +2582,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2595,36 +2598,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2634,16 +2637,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2654,43 +2658,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2702,11 +2707,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2718,24 +2723,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } From 4d891e0f310dd4ed4f6ded4df29459219141e01e Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 16:42:27 -0600 Subject: [PATCH 078/191] clean up --- .../coins/epiccash/epiccash_wallet.dart | 2 +- .../coins/bitcoin/bitcoin_wallet_test.dart | 51 ------------------- .../coins/dogecoin/dogecoin_wallet_test.dart | 44 ---------------- .../services/coins/fake_coin_service_api.dart | 20 ++++++-- .../services/coins/firo/firo_wallet_test.dart | 29 +++++------ .../coins/namecoin/namecoin_wallet_test.dart | 50 ------------------ .../coins/particl/particl_wallet_test.dart | 50 ------------------ 7 files changed, 29 insertions(+), 217 deletions(-) diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index c788bc597..e6c9deab9 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -1368,7 +1368,7 @@ class EpicCashWallet extends CoinServiceAPI @override Future recoverFromMnemonic({ required String mnemonic, - required String mnemonicPassphrase, // unused in epic + String? mnemonicPassphrase, // unused in epic required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height, diff --git a/test/services/coins/bitcoin/bitcoin_wallet_test.dart b/test/services/coins/bitcoin/bitcoin_wallet_test.dart index 2efce36f3..aa9f3bb9d 100644 --- a/test/services/coins/bitcoin/bitcoin_wallet_test.dart +++ b/test/services/coins/bitcoin/bitcoin_wallet_test.dart @@ -1,4 +1,3 @@ -import 'package:bitcoindart/bitcoindart.dart'; import 'package:decimal/decimal.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:hive/hive.dart'; @@ -40,56 +39,6 @@ void main() async { }); }); - group("bip32 node/root", () { - test("getBip32Root", () { - final root = getBip32Root(TEST_MNEMONIC, bitcoin); - expect(root.toWIF(), ROOT_WIF); - }); - - // test("getBip32NodeFromRoot", () { - // final root = getBip32Root(TEST_MNEMONIC, bitcoin); - // // two mainnet - // final node44 = getBip32NodeFromRoot(0, 0, root, DerivePathType.bip44); - // expect(node44.toWIF(), NODE_WIF_44); - // final node49 = getBip32NodeFromRoot(0, 0, root, DerivePathType.bip49); - // expect(node49.toWIF(), NODE_WIF_49); - // // and one on testnet - // final node84 = getBip32NodeFromRoot( - // 0, 0, getBip32Root(TEST_MNEMONIC, testnet), DerivePathType.bip84); - // expect(node84.toWIF(), NODE_WIF_84); - // // a bad derive path - // bool didThrow = false; - // try { - // getBip32NodeFromRoot(0, 0, root, null); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // // finally an invalid network - // didThrow = false; - // final invalidNetwork = NetworkType( - // messagePrefix: '\x18hello world\n', - // bech32: 'gg', - // bip32: Bip32Type(public: 0x055521e, private: 0x055555), - // pubKeyHash: 0x55, - // scriptHash: 0x55, - // wif: 0x00); - // try { - // getBip32NodeFromRoot(0, 0, getBip32Root(TEST_MNEMONIC, invalidNetwork), - // DerivePathType.bip44); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // }); - - test("basic getBip32Node", () { - final node = - getBip32Node(0, 0, TEST_MNEMONIC, testnet, DerivePathType.bip84); - expect(node.toWIF(), NODE_WIF_84); - }); - }); - group("validate testnet bitcoin addresses", () { MockElectrumX? client; MockCachedElectrumX? cachedClient; diff --git a/test/services/coins/dogecoin/dogecoin_wallet_test.dart b/test/services/coins/dogecoin/dogecoin_wallet_test.dart index 7a025e760..697d1c98c 100644 --- a/test/services/coins/dogecoin/dogecoin_wallet_test.dart +++ b/test/services/coins/dogecoin/dogecoin_wallet_test.dart @@ -40,50 +40,6 @@ void main() { }); }); - group("bip32 node/root", () { - test("getBip32Root", () { - final root = getBip32Root(TEST_MNEMONIC, dogecoin); - expect(root.toWIF(), ROOT_WIF); - }); - - // test("getBip32NodeFromRoot", () { - // final root = getBip32Root(TEST_MNEMONIC, dogecoin); - // // two mainnet - // final node44 = getBip32NodeFromRoot(0, 0, root, DerivePathType.bip44); - // expect(node44.toWIF(), NODE_WIF_44); - // - // // a bad derive path - // bool didThrow = false; - // try { - // getBip32NodeFromRoot(0, 0, root, null); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // // finally an invalid network - // didThrow = false; - // final invalidNetwork = NetworkType( - // messagePrefix: '\x18hello world\n', - // bech32: 'gg', - // bip32: Bip32Type(public: 0x055521e, private: 0x055555), - // pubKeyHash: 0x55, - // scriptHash: 0x55, - // wif: 0x00); - // try { - // getBip32NodeFromRoot(0, 0, getBip32Root(TEST_MNEMONIC, invalidNetwork), - // DerivePathType.bip44); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // }); - - test("basic getBip32Node", () { - final node = getBip32Node( - 0, 0, TEST_MNEMONIC, dogecointestnet, DerivePathType.bip44); - expect(node.toWIF(), NODE_WIF_44); - }); - }); group("validate mainnet dogecoin addresses", () { MockElectrumX? client; diff --git a/test/services/coins/fake_coin_service_api.dart b/test/services/coins/fake_coin_service_api.dart index 37f47fa8e..834d676a2 100644 --- a/test/services/coins/fake_coin_service_api.dart +++ b/test/services/coins/fake_coin_service_api.dart @@ -125,11 +125,13 @@ class FakeCoinServiceAPI extends CoinServiceAPI { Future get fees => throw UnimplementedError(); @override - Future recoverFromMnemonic( - {required String mnemonic, - required int maxUnusedAddressGap, - required int maxNumberOfIndexesToCheck, - required int height}) { + Future recoverFromMnemonic({ + required String mnemonic, + String? mnemonicPassphrase, + required int maxUnusedAddressGap, + required int maxNumberOfIndexesToCheck, + required int height, + }) { // TODO: implement recoverFromMnemonic throw UnimplementedError(); } @@ -167,4 +169,12 @@ class FakeCoinServiceAPI extends CoinServiceAPI { @override // TODO: implement utxos Future> get utxos => throw UnimplementedError(); + + @override + // TODO: implement mnemonicPassphrase + Future get mnemonicPassphrase => throw UnimplementedError(); + + @override + // TODO: implement mnemonicString + Future get mnemonicString => throw UnimplementedError(); } diff --git a/test/services/coins/firo/firo_wallet_test.dart b/test/services/coins/firo/firo_wallet_test.dart index f16cf03a0..277a6cbd5 100644 --- a/test/services/coins/firo/firo_wallet_test.dart +++ b/test/services/coins/firo/firo_wallet_test.dart @@ -37,8 +37,8 @@ import 'sample_data/transaction_data_samples.dart'; void main() { group("isolate functions", () { test("isolateDerive", () async { - final result = - await isolateDerive(IsolateDeriveParams.mnemonic, 0, 2, firoNetwork); + final result = await isolateDerive( + IsolateDeriveParams.mnemonic, "", 0, 2, firoNetwork); expect(result, isA>()); expect(result.toString(), IsolateDeriveParams.expected); }); @@ -71,6 +71,7 @@ void main() { final message = await isolateRestore( TEST_MNEMONIC, + "", Coin.firo, 1, setData, @@ -125,6 +126,7 @@ void main() { expect( () => isolateRestore( TEST_MNEMONIC, + "", Coin.firo, 1, setData, @@ -140,6 +142,7 @@ void main() { "aNmsUtzPzQ3SKWNjEH48GacMQJXWN5Rotm", false, TEST_MNEMONIC, + "", 2, [], 459185, @@ -221,18 +224,6 @@ void main() { expect(firoTestNetwork.wif, 0xb9); }); - test("getBip32Node", () { - final node = getBip32Node(0, 3, Bip32TestParams.mnemonic, firoNetwork); - expect(node.index, 3); - expect(node.chainCode.toList(), Bip32TestParams.chainCodeList); - expect(node.depth, 5); - expect(node.toBase58(), Bip32TestParams.base58); - expect(node.publicKey.toList(), Bip32TestParams.publicKeyList); - expect(node.privateKey!.toList(), Bip32TestParams.privateKeyList); - expect(node.parentFingerprint, Bip32TestParams.parentFingerprint); - expect(node.fingerprint.toList(), Bip32TestParams.fingerprintList); - }); - // group("getJMintTransactions", () { // test( // "getJMintTransactions throws Error due to some invalid transactions passed to this function", @@ -1187,7 +1178,10 @@ void main() { tracker: MockTransactionNotificationTracker(), ); - await firo.fillAddresses(FillAddressesParams.mnemonic); + await firo.fillAddresses( + FillAddressesParams.mnemonic, + "", + ); final rcv = await secureStore.read( key: "${testWalletId}fillAddresses_receiveDerivations"); @@ -2898,7 +2892,10 @@ void main() { firo.timer = Timer(const Duration(), () {}); // build sending wallet - await firo.fillAddresses(TEST_MNEMONIC); + await firo.fillAddresses( + TEST_MNEMONIC, + "", + ); final wallet = await Hive.openBox("${testWalletId}send"); final rcv = diff --git a/test/services/coins/namecoin/namecoin_wallet_test.dart b/test/services/coins/namecoin/namecoin_wallet_test.dart index 22750a935..c62abf7da 100644 --- a/test/services/coins/namecoin/namecoin_wallet_test.dart +++ b/test/services/coins/namecoin/namecoin_wallet_test.dart @@ -39,56 +39,6 @@ void main() { }); }); - group("bip32 node/root", () { - test("getBip32Root", () { - final root = getBip32Root(TEST_MNEMONIC, namecoin); - expect(root.toWIF(), ROOT_WIF); - }); - - // test("getBip32NodeFromRoot", () { - // final root = getBip32Root(TEST_MNEMONIC, namecoin); - // // two mainnet - // final node44 = getBip32NodeFromRoot(0, 0, root, DerivePathType.bip44); - // expect(node44.toWIF(), NODE_WIF_44); - // final node49 = getBip32NodeFromRoot(0, 0, root, DerivePathType.bip49); - // expect(node49.toWIF(), NODE_WIF_49); - // // and one on testnet - // final node84 = getBip32NodeFromRoot( - // 0, 0, getBip32Root(TEST_MNEMONIC, testnet), DerivePathType.bip84); - // expect(node84.toWIF(), NODE_WIF_84); - // // a bad derive path - // bool didThrow = false; - // try { - // getBip32NodeFromRoot(0, 0, root, null); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // // finally an invalid network - // didThrow = false; - // final invalidNetwork = NetworkType( - // messagePrefix: '\x18hello world\n', - // bech32: 'gg', - // bip32: Bip32Type(public: 0x055521e, private: 0x055555), - // pubKeyHash: 0x55, - // scriptHash: 0x55, - // wif: 0x00); - // try { - // getBip32NodeFromRoot(0, 0, getBip32Root(TEST_MNEMONIC, invalidNetwork), - // DerivePathType.bip44); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // }); - - // test("basic getBip32Node", () { - // final node = - // getBip32Node(0, 0, TEST_MNEMONIC, testnet, DerivePathType.bip84); - // expect(node.toWIF(), NODE_WIF_84); - // }); - }); - group("validate mainnet namecoin addresses", () { MockElectrumX? client; MockCachedElectrumX? cachedClient; diff --git a/test/services/coins/particl/particl_wallet_test.dart b/test/services/coins/particl/particl_wallet_test.dart index 4f4d0e81b..4f4d0be2c 100644 --- a/test/services/coins/particl/particl_wallet_test.dart +++ b/test/services/coins/particl/particl_wallet_test.dart @@ -40,56 +40,6 @@ void main() { }); }); - group("bip32 node/root", () { - test("getBip32Root", () { - final root = getBip32Root(TEST_MNEMONIC, particl); - expect(root.toWIF(), ROOT_WIF); - }); - - // test("getBip32NodeFromRoot", () { - // final root = getBip32Root(TEST_MNEMONIC, particl); - // // two mainnet - // final node44 = getBip32NodeFromRoot(0, 0, root, DerivePathType.bip44); - // expect(node44.toWIF(), NODE_WIF_44); - // final node49 = getBip32NodeFromRoot(0, 0, root, DerivePathType.bip49); - // expect(node49.toWIF(), NODE_WIF_49); - // // and one on testnet - // final node84 = getBip32NodeFromRoot( - // 0, 0, getBip32Root(TEST_MNEMONIC, testnet), DerivePathType.bip84); - // expect(node84.toWIF(), NODE_WIF_84); - // // a bad derive path - // bool didThrow = false; - // try { - // getBip32NodeFromRoot(0, 0, root, null); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // // finally an invalid network - // didThrow = false; - // final invalidNetwork = NetworkType( - // messagePrefix: '\x18hello world\n', - // bech32: 'gg', - // bip32: Bip32Type(public: 0x055521e, private: 0x055555), - // pubKeyHash: 0x55, - // scriptHash: 0x55, - // wif: 0x00); - // try { - // getBip32NodeFromRoot(0, 0, getBip32Root(TEST_MNEMONIC, invalidNetwork), - // DerivePathType.bip44); - // } catch (_) { - // didThrow = true; - // } - // expect(didThrow, true); - // }); - //TODO Testnet not setup - // test("basic getBip32Node", () { - // final node = - // getBip32Node(0, 0, TEST_MNEMONIC, testnet, DerivePathType.bip84); - // expect(node.toWIF(), NODE_WIF_84); - // }); - }); - group("validate mainnet particl addresses", () { MockElectrumX? client; MockCachedElectrumX? cachedClient; From ad0059508c26104ea3b5f1f1889690c4b322f15a Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 16:48:16 -0600 Subject: [PATCH 079/191] move wallet constructors below class declaration --- .../coins/bitcoin/bitcoin_wallet.dart | 88 +++++++++---------- .../coins/bitcoincash/bitcoincash_wallet.dart | 42 ++++----- .../coins/dogecoin/dogecoin_wallet.dart | 84 +++++++++--------- .../coins/epiccash/epiccash_wallet.dart | 18 ++-- lib/services/coins/firo/firo_wallet.dart | 62 ++++++------- .../coins/litecoin/litecoin_wallet.dart | 42 ++++----- lib/services/coins/monero/monero_wallet.dart | 34 +++---- .../coins/namecoin/namecoin_wallet.dart | 42 ++++----- .../coins/particl/particl_wallet.dart | 42 ++++----- .../coins/wownero/wownero_wallet.dart | 34 +++---- 10 files changed, 245 insertions(+), 243 deletions(-) diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index a9b6620b0..ac42df4bb 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -95,6 +95,50 @@ String constructDerivePath({ class BitcoinWallet extends CoinServiceAPI with WalletCache, WalletDB, ElectrumXParsing, PaynymWalletInterface { + BitcoinWallet({ + required String walletId, + required String walletName, + required Coin coin, + required ElectrumX client, + required CachedElectrumX cachedClient, + required TransactionNotificationTracker tracker, + required SecureStorageInterface secureStore, + MainDB? mockableOverride, + }) { + txTracker = tracker; + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _electrumXClient = client; + _cachedElectrumXClient = cachedClient; + _secureStore = secureStore; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + initPaynymWalletInterface( + walletId: walletId, + walletName: walletName, + network: _network, + coin: coin, + db: db, + electrumXClient: electrumXClient, + secureStorage: secureStore, + getMnemonicString: () => mnemonicString, + getMnemonicPassphrase: () => mnemonicPassphrase, + getChainHeight: () => chainHeight, + getCurrentChangeAddress: () => currentChangeAddressP2PKH, + estimateTxFee: estimateTxFee, + prepareSend: prepareSend, + getTxCount: getTxCount, + fetchBuildTxData: fetchBuildTxData, + refresh: refresh, + checkChangeAddressForTransactions: + _checkP2PKHChangeAddressForTransactions, + addDerivation: addDerivation, + dustLimitP2PKH: DUST_LIMIT_P2PKH, + minConfirms: MINIMUM_CONFIRMATIONS, + ); + } + static const integrationTestFlag = bool.fromEnvironment("IS_INTEGRATION_TEST"); @@ -1296,50 +1340,6 @@ class BitcoinWallet extends CoinServiceAPI late SecureStorageInterface _secureStore; - BitcoinWallet({ - required String walletId, - required String walletName, - required Coin coin, - required ElectrumX client, - required CachedElectrumX cachedClient, - required TransactionNotificationTracker tracker, - required SecureStorageInterface secureStore, - MainDB? mockableOverride, - }) { - txTracker = tracker; - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _electrumXClient = client; - _cachedElectrumXClient = cachedClient; - _secureStore = secureStore; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - initPaynymWalletInterface( - walletId: walletId, - walletName: walletName, - network: _network, - coin: coin, - db: db, - electrumXClient: electrumXClient, - secureStorage: secureStore, - getMnemonicString: () => mnemonicString, - getMnemonicPassphrase: () => mnemonicPassphrase, - getChainHeight: () => chainHeight, - getCurrentChangeAddress: () => currentChangeAddressP2PKH, - estimateTxFee: estimateTxFee, - prepareSend: prepareSend, - getTxCount: getTxCount, - fetchBuildTxData: fetchBuildTxData, - refresh: refresh, - checkChangeAddressForTransactions: - _checkP2PKHChangeAddressForTransactions, - addDerivation: addDerivation, - dustLimitP2PKH: DUST_LIMIT_P2PKH, - minConfirms: MINIMUM_CONFIRMATIONS, - ); - } - @override Future updateNode(bool shouldRefresh) async { final failovers = NodeService(secureStorageInterface: _secureStore) diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index e56511732..098f93b3e 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -89,6 +89,27 @@ String constructDerivePath({ } class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { + BitcoinCashWallet({ + required String walletId, + required String walletName, + required Coin coin, + required ElectrumX client, + required CachedElectrumX cachedClient, + required TransactionNotificationTracker tracker, + required SecureStorageInterface secureStore, + MainDB? mockableOverride, + }) { + txTracker = tracker; + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _electrumXClient = client; + _cachedElectrumXClient = cachedClient; + _secureStore = secureStore; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + } + static const integrationTestFlag = bool.fromEnvironment("IS_INTEGRATION_TEST"); final _prefs = Prefs.instance; @@ -1266,27 +1287,6 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { late SecureStorageInterface _secureStore; - BitcoinCashWallet({ - required String walletId, - required String walletName, - required Coin coin, - required ElectrumX client, - required CachedElectrumX cachedClient, - required TransactionNotificationTracker tracker, - required SecureStorageInterface secureStore, - MainDB? mockableOverride, - }) { - txTracker = tracker; - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _electrumXClient = client; - _cachedElectrumXClient = cachedClient; - _secureStore = secureStore; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - } - @override Future updateNode(bool shouldRefresh) async { final failovers = NodeService(secureStorageInterface: _secureStore) diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index a262efc4d..4f2ca7090 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -86,6 +86,48 @@ String constructDerivePath({ class DogecoinWallet extends CoinServiceAPI with WalletCache, WalletDB, ElectrumXParsing { + DogecoinWallet({ + required String walletId, + required String walletName, + required Coin coin, + required ElectrumX client, + required CachedElectrumX cachedClient, + required TransactionNotificationTracker tracker, + required SecureStorageInterface secureStore, + MainDB? mockableOverride, + }) { + txTracker = tracker; + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _electrumXClient = client; + _cachedElectrumXClient = cachedClient; + _secureStore = secureStore; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + + // paynym stuff + // initPaynymWalletInterface( + // walletId: walletId, + // walletName: walletName, + // network: network, + // coin: coin, + // db: db, + // electrumXClient: electrumXClient, + // getMnemonic: () => mnemonic, + // getChainHeight: () => chainHeight, + // getCurrentChangeAddress: () => currentChangeAddress, + // estimateTxFee: estimateTxFee, + // prepareSend: prepareSend, + // getTxCount: getTxCount, + // fetchBuildTxData: fetchBuildTxData, + // refresh: refresh, + // checkChangeAddressForTransactions: checkChangeAddressForTransactions, + // addDerivation: addDerivation, + // addDerivations: addDerivations, + // ); + } + static const integrationTestFlag = bool.fromEnvironment("IS_INTEGRATION_TEST"); final _prefs = Prefs.instance; @@ -1093,48 +1135,6 @@ class DogecoinWallet extends CoinServiceAPI late SecureStorageInterface _secureStore; - DogecoinWallet({ - required String walletId, - required String walletName, - required Coin coin, - required ElectrumX client, - required CachedElectrumX cachedClient, - required TransactionNotificationTracker tracker, - required SecureStorageInterface secureStore, - MainDB? mockableOverride, - }) { - txTracker = tracker; - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _electrumXClient = client; - _cachedElectrumXClient = cachedClient; - _secureStore = secureStore; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - - // paynym stuff - // initPaynymWalletInterface( - // walletId: walletId, - // walletName: walletName, - // network: network, - // coin: coin, - // db: db, - // electrumXClient: electrumXClient, - // getMnemonic: () => mnemonic, - // getChainHeight: () => chainHeight, - // getCurrentChangeAddress: () => currentChangeAddress, - // estimateTxFee: estimateTxFee, - // prepareSend: prepareSend, - // getTxCount: getTxCount, - // fetchBuildTxData: fetchBuildTxData, - // refresh: refresh, - // checkChangeAddressForTransactions: checkChangeAddressForTransactions, - // addDerivation: addDerivation, - // addDerivations: addDerivations, - // ); - } - @override Future updateNode(bool shouldRefresh) async { final failovers = NodeService(secureStorageInterface: _secureStore) diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index e6c9deab9..85c5ec046 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -520,15 +520,6 @@ Future deleteSlate( class EpicCashWallet extends CoinServiceAPI with WalletCache, WalletDB, EpicCashHive { - static const integrationTestFlag = - bool.fromEnvironment("IS_INTEGRATION_TEST"); - final m = Mutex(); - final syncMutex = Mutex(); - - final _prefs = Prefs.instance; - - NodeModel? _epicNode; - EpicCashWallet({ required String walletId, required String walletName, @@ -552,6 +543,15 @@ class EpicCashWallet extends CoinServiceAPI isolates.clear(); } + static const integrationTestFlag = + bool.fromEnvironment("IS_INTEGRATION_TEST"); + final m = Mutex(); + final syncMutex = Mutex(); + + final _prefs = Prefs.instance; + + NodeModel? _epicNode; + @override Future updateNode(bool shouldRefresh) async { _epicNode = NodeService(secureStorageInterface: _secureStore) diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index d2a01b27f..2a34b6a62 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -772,6 +772,37 @@ Future _setTestnetWrapper(bool isTestnet) async { /// Handles a single instance of a firo wallet class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { + // Constructor + FiroWallet({ + required String walletId, + required String walletName, + required Coin coin, + required ElectrumX client, + required CachedElectrumX cachedClient, + required TransactionNotificationTracker tracker, + required SecureStorageInterface secureStore, + MainDB? mockableOverride, + }) { + txTracker = tracker; + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _electrumXClient = client; + _cachedElectrumXClient = cachedClient; + _secureStore = secureStore; + initCache(walletId, coin); + initFiroHive(walletId); + initWalletDB(mockableOverride: mockableOverride); + + Logging.instance.log("$walletName isolates length: ${isolates.length}", + level: LogLevel.Info); + // investigate possible issues killing shared isolates between multiple firo instances + for (final isolate in isolates.values) { + isolate.kill(priority: Isolate.immediate); + } + isolates.clear(); + } + static const integrationTestFlag = bool.fromEnvironment("IS_INTEGRATION_TEST"); @@ -1238,37 +1269,6 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { late TransactionNotificationTracker txTracker; - // Constructor - FiroWallet({ - required String walletId, - required String walletName, - required Coin coin, - required ElectrumX client, - required CachedElectrumX cachedClient, - required TransactionNotificationTracker tracker, - required SecureStorageInterface secureStore, - MainDB? mockableOverride, - }) { - txTracker = tracker; - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _electrumXClient = client; - _cachedElectrumXClient = cachedClient; - _secureStore = secureStore; - initCache(walletId, coin); - initFiroHive(walletId); - initWalletDB(mockableOverride: mockableOverride); - - Logging.instance.log("$walletName isolates length: ${isolates.length}", - level: LogLevel.Info); - // investigate possible issues killing shared isolates between multiple firo instances - for (final isolate in isolates.values) { - isolate.kill(priority: Isolate.immediate); - } - isolates.clear(); - } - int estimateTxFee({required int vSize, required int feeRatePerKB}) { return vSize * (feeRatePerKB / 1000).ceil(); } diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index 3e8d90879..5141f0a3a 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -91,6 +91,27 @@ String constructDerivePath({ class LitecoinWallet extends CoinServiceAPI with WalletCache, WalletDB, ElectrumXParsing { + LitecoinWallet({ + required String walletId, + required String walletName, + required Coin coin, + required ElectrumX client, + required CachedElectrumX cachedClient, + required TransactionNotificationTracker tracker, + required SecureStorageInterface secureStore, + MainDB? mockableOverride, + }) { + txTracker = tracker; + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _electrumXClient = client; + _cachedElectrumXClient = cachedClient; + _secureStore = secureStore; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + } + static const integrationTestFlag = bool.fromEnvironment("IS_INTEGRATION_TEST"); @@ -1242,26 +1263,7 @@ class LitecoinWallet extends CoinServiceAPI late SecureStorageInterface _secureStore; - LitecoinWallet({ - required String walletId, - required String walletName, - required Coin coin, - required ElectrumX client, - required CachedElectrumX cachedClient, - required TransactionNotificationTracker tracker, - required SecureStorageInterface secureStore, - MainDB? mockableOverride, - }) { - txTracker = tracker; - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _electrumXClient = client; - _cachedElectrumXClient = cachedClient; - _secureStore = secureStore; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - } + @override Future updateNode(bool shouldRefresh) async { diff --git a/lib/services/coins/monero/monero_wallet.dart b/lib/services/coins/monero/monero_wallet.dart index 29e456b62..886bda1b8 100644 --- a/lib/services/coins/monero/monero_wallet.dart +++ b/lib/services/coins/monero/monero_wallet.dart @@ -52,6 +52,23 @@ import 'package:tuple/tuple.dart'; const int MINIMUM_CONFIRMATIONS = 10; class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { + MoneroWallet({ + required String walletId, + required String walletName, + required Coin coin, + required SecureStorageInterface secureStorage, + Prefs? prefs, + MainDB? mockableOverride, + }) { + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _secureStorage = secureStorage; + _prefs = prefs ?? Prefs.instance; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + } + late final String _walletId; late final Coin _coin; late final SecureStorageInterface _secureStorage; @@ -78,23 +95,6 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { Mutex prepareSendMutex = Mutex(); Mutex estimateFeeMutex = Mutex(); - MoneroWallet({ - required String walletId, - required String walletName, - required Coin coin, - required SecureStorageInterface secureStorage, - Prefs? prefs, - MainDB? mockableOverride, - }) { - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _secureStorage = secureStorage; - _prefs = prefs ?? Prefs.instance; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - } - @override set isFavorite(bool markFavorite) { _isFavorite = markFavorite; diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 91862e165..43982875e 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -88,6 +88,27 @@ String constructDerivePath({ class NamecoinWallet extends CoinServiceAPI with WalletCache, WalletDB, ElectrumXParsing { + NamecoinWallet({ + required String walletId, + required String walletName, + required Coin coin, + required ElectrumX client, + required CachedElectrumX cachedClient, + required TransactionNotificationTracker tracker, + required SecureStorageInterface secureStore, + MainDB? mockableOverride, + }) { + txTracker = tracker; + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _electrumXClient = client; + _cachedElectrumXClient = cachedClient; + _secureStore = secureStore; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + } + static const integrationTestFlag = bool.fromEnvironment("IS_INTEGRATION_TEST"); @@ -1232,27 +1253,6 @@ class NamecoinWallet extends CoinServiceAPI late SecureStorageInterface _secureStore; - NamecoinWallet({ - required String walletId, - required String walletName, - required Coin coin, - required ElectrumX client, - required CachedElectrumX cachedClient, - required TransactionNotificationTracker tracker, - required SecureStorageInterface secureStore, - MainDB? mockableOverride, - }) { - txTracker = tracker; - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _electrumXClient = client; - _cachedElectrumXClient = cachedClient; - _secureStore = secureStore; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - } - @override Future updateNode(bool shouldRefresh) async { final failovers = NodeService(secureStorageInterface: _secureStore) diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 75e029ea4..6b0275fdc 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -82,6 +82,27 @@ String constructDerivePath({ } class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { + ParticlWallet({ + required String walletId, + required String walletName, + required Coin coin, + required ElectrumX client, + required CachedElectrumX cachedClient, + required TransactionNotificationTracker tracker, + required SecureStorageInterface secureStore, + MainDB? mockableOverride, + }) { + txTracker = tracker; + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _electrumXClient = client; + _cachedElectrumXClient = cachedClient; + _secureStore = secureStore; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + } + static const integrationTestFlag = bool.fromEnvironment("IS_INTEGRATION_TEST"); @@ -1159,27 +1180,6 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { late SecureStorageInterface _secureStore; - ParticlWallet({ - required String walletId, - required String walletName, - required Coin coin, - required ElectrumX client, - required CachedElectrumX cachedClient, - required TransactionNotificationTracker tracker, - required SecureStorageInterface secureStore, - MainDB? mockableOverride, - }) { - txTracker = tracker; - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _electrumXClient = client; - _cachedElectrumXClient = cachedClient; - _secureStore = secureStore; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - } - @override Future updateNode(bool shouldRefresh) async { final failovers = NodeService(secureStorageInterface: _secureStore) diff --git a/lib/services/coins/wownero/wownero_wallet.dart b/lib/services/coins/wownero/wownero_wallet.dart index 9a326c881..12343f036 100644 --- a/lib/services/coins/wownero/wownero_wallet.dart +++ b/lib/services/coins/wownero/wownero_wallet.dart @@ -54,6 +54,23 @@ import 'package:tuple/tuple.dart'; const int MINIMUM_CONFIRMATIONS = 10; class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { + WowneroWallet({ + required String walletId, + required String walletName, + required Coin coin, + required SecureStorageInterface secureStorage, + Prefs? prefs, + MainDB? mockableOverride, + }) { + _walletId = walletId; + _walletName = walletName; + _coin = coin; + _secureStorage = secureStorage; + _prefs = prefs ?? Prefs.instance; + initCache(walletId, coin); + initWalletDB(mockableOverride: mockableOverride); + } + late final String _walletId; late final Coin _coin; late final SecureStorageInterface _secureStorage; @@ -80,23 +97,6 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { Mutex prepareSendMutex = Mutex(); Mutex estimateFeeMutex = Mutex(); - WowneroWallet({ - required String walletId, - required String walletName, - required Coin coin, - required SecureStorageInterface secureStorage, - Prefs? prefs, - MainDB? mockableOverride, - }) { - _walletId = walletId; - _walletName = walletName; - _coin = coin; - _secureStorage = secureStorage; - _prefs = prefs ?? Prefs.instance; - initCache(walletId, coin); - initWalletDB(mockableOverride: mockableOverride); - } - @override set isFavorite(bool markFavorite) { _isFavorite = markFavorite; From 0c8e5619950fa433d8c6a6d752d9b36de8474697 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 17:22:34 -0600 Subject: [PATCH 080/191] bch constructDerivePath bug fix --- lib/services/coins/bitcoincash/bitcoincash_wallet.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 098f93b3e..559c3eb38 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -78,8 +78,8 @@ String constructDerivePath({ case DerivePathType.bch44: purpose = 44; break; - case DerivePathType.bip84: - purpose = 84; + case DerivePathType.bip49: + purpose = 49; break; default: throw Exception("DerivePathType $derivePathType not supported"); From 9b4dee76a519c3483f3c19ef2ed7374ec5cde617 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 17:30:32 -0600 Subject: [PATCH 081/191] add derivationPath to Address constructor as required --- .../isar/models/blockchain_data/address.dart | 11 +++++--- .../models/blockchain_data/address.g.dart | 10 +++---- .../isar/models/blockchain_data/input.dart | 1 + .../isar/models/blockchain_data/input.g.dart | 2 +- .../coins/bitcoin/bitcoin_wallet.dart | 2 ++ .../coins/bitcoincash/bitcoincash_wallet.dart | 3 ++ .../coins/dogecoin/dogecoin_wallet.dart | 2 ++ .../coins/epiccash/epiccash_wallet.dart | 1 + lib/services/coins/firo/firo_wallet.dart | 28 +++++++++++++++---- .../coins/litecoin/litecoin_wallet.dart | 4 +-- lib/services/coins/monero/monero_wallet.dart | 1 + .../coins/namecoin/namecoin_wallet.dart | 2 ++ .../coins/particl/particl_wallet.dart | 3 ++ .../coins/wownero/wownero_wallet.dart | 1 + lib/services/mixins/electrum_x_parsing.dart | 1 + .../mixins/paynym_wallet_interface.dart | 8 ++++++ lib/utilities/db_version_migration.dart | 3 ++ test/widget_tests/transaction_card_test.dart | 4 +++ 18 files changed, 69 insertions(+), 18 deletions(-) diff --git a/lib/models/isar/models/blockchain_data/address.dart b/lib/models/isar/models/blockchain_data/address.dart index b131c20f8..cbdc6b2a1 100644 --- a/lib/models/isar/models/blockchain_data/address.dart +++ b/lib/models/isar/models/blockchain_data/address.dart @@ -1,4 +1,3 @@ -import 'package:equatable/equatable.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/exceptions/address/address_exception.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/crypto_currency_address.dart'; @@ -13,7 +12,7 @@ class Address extends CryptoCurrencyAddress { required this.value, required this.publicKey, required this.derivationIndex, - // required this.derivationPath, + required this.derivationPath, required this.type, required this.subType, this.otherData, @@ -97,7 +96,7 @@ enum AddressSubType { } @Embedded(inheritance: false) -class DerivationPath extends Equatable { +class DerivationPath { late final String value; List getComponents() => value.split("/"); @@ -107,7 +106,11 @@ class DerivationPath extends Equatable { @override toString() => value; + @override + bool operator ==(Object other) => + identical(this, other) || other is DerivationPath && value == other.value; + @ignore @override - List get props => [value]; + int get hashCode => value.hashCode; } diff --git a/lib/models/isar/models/blockchain_data/address.g.dart b/lib/models/isar/models/blockchain_data/address.g.dart index 567dc993a..37186584b 100644 --- a/lib/models/isar/models/blockchain_data/address.g.dart +++ b/lib/models/isar/models/blockchain_data/address.g.dart @@ -182,6 +182,11 @@ Address _addressDeserialize( ) { final object = Address( derivationIndex: reader.readLong(offsets[0]), + derivationPath: reader.readObjectOrNull( + offsets[1], + DerivationPathSchema.deserialize, + allOffsets, + ), otherData: reader.readStringOrNull(offsets[2]), publicKey: reader.readByteList(offsets[3]) ?? [], subType: _AddresssubTypeValueEnumMap[reader.readByteOrNull(offsets[4])] ?? @@ -191,11 +196,6 @@ Address _addressDeserialize( value: reader.readString(offsets[6]), walletId: reader.readString(offsets[7]), ); - object.derivationPath = reader.readObjectOrNull( - offsets[1], - DerivationPathSchema.deserialize, - allOffsets, - ); object.id = id; return object; } diff --git a/lib/models/isar/models/blockchain_data/input.dart b/lib/models/isar/models/blockchain_data/input.dart index 9cee0db08..b530da61a 100644 --- a/lib/models/isar/models/blockchain_data/input.dart +++ b/lib/models/isar/models/blockchain_data/input.dart @@ -9,6 +9,7 @@ class Input { this.vout = -1, this.scriptSig, this.scriptSigAsm, + this.witness, this.isCoinbase, this.sequence, this.innerRedeemScriptAsm, diff --git a/lib/models/isar/models/blockchain_data/input.g.dart b/lib/models/isar/models/blockchain_data/input.g.dart index d197c2fdc..608446fea 100644 --- a/lib/models/isar/models/blockchain_data/input.g.dart +++ b/lib/models/isar/models/blockchain_data/input.g.dart @@ -124,8 +124,8 @@ Input _inputDeserialize( sequence: reader.readLongOrNull(offsets[4]), txid: reader.readStringOrNull(offsets[5]) ?? "error", vout: reader.readLongOrNull(offsets[6]) ?? -1, + witness: reader.readStringOrNull(offsets[7]), ); - object.witness = reader.readStringOrNull(offsets[7]); return object; } diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index ac42df4bb..1c93321eb 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -457,6 +457,7 @@ class BitcoinWallet extends CoinServiceAPI publicKey: node.publicKey, type: addrType, derivationIndex: index + j, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, @@ -1556,6 +1557,7 @@ class BitcoinWallet extends CoinServiceAPI publicKey: node.publicKey, type: addrType, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 559c3eb38..3a7e25545 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -413,6 +413,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { publicKey: node.publicKey, type: addrType, derivationIndex: index + j, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, @@ -1517,6 +1518,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { publicKey: node.publicKey, type: addrType, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, @@ -2216,6 +2218,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { publicKey: [], type: AddressType.nonWallet, derivationIndex: -1, + derivationPath: null, subType: AddressSubType.nonWallet, ); } diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 4f2ca7090..c5e568381 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -398,6 +398,7 @@ class DogecoinWallet extends CoinServiceAPI publicKey: node.publicKey, type: isar_models.AddressType.p2pkh, derivationIndex: index + j, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, @@ -1332,6 +1333,7 @@ class DogecoinWallet extends CoinServiceAPI publicKey: node.publicKey, type: isar_models.AddressType.p2pkh, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index 85c5ec046..b6986508d 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -865,6 +865,7 @@ class EpicCashWallet extends CoinServiceAPI walletId: walletId, value: walletAddress!, derivationIndex: index, + derivationPath: null, type: isar_models.AddressType.mimbleWimble, subType: isar_models.AddressSubType.receiving, publicKey: [], // ?? diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index 2a34b6a62..de2088a5d 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -3066,6 +3066,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { walletId: walletId, value: transactionInfo["address"] as String, derivationIndex: -1, + derivationPath: null, type: isar_models.AddressType.nonWallet, subType: isar_models.AddressSubType.nonWallet, publicKey: [], @@ -3555,6 +3556,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { walletId: walletId, value: outAddress, derivationIndex: -1, + derivationPath: null, type: isar_models.AddressType.nonWallet, subType: isar_models.AddressSubType.nonWallet, publicKey: [], @@ -3835,7 +3837,11 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { derivations = Map.from( jsonDecode(changeDerivationsString ?? "{}") as Map); } - + final derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: chain, + index: index, + ); if (derivations!.isNotEmpty) { if (derivations["$index"] == null) { await fillAddresses( @@ -3854,16 +3860,12 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { derivations["$index"]['publicKey'] as String), type: isar_models.AddressType.p2pkh, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, ); } else { - final derivePath = constructDerivePath( - networkWIF: _network.wif, - chain: chain, - index: index, - ); final node = await Bip32Utils.getBip32Node( _mnemonic!, _mnemonicPassphrase!, @@ -3882,6 +3884,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { publicKey: node.publicKey, type: isar_models.AddressType.p2pkh, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, @@ -4299,6 +4302,11 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { int numTxs = await futureNumTxs; if (numTxs >= 1) { receivingIndex = i; + final derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: 0, + index: receivingIndex, + ); final addr = isar_models.Address( walletId: walletId, value: address, @@ -4306,6 +4314,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { receiveDerivation['publicKey'] as String), type: isar_models.AddressType.p2pkh, derivationIndex: i, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: isar_models.AddressSubType.receiving, ); receivingAddressArray.add(addr); @@ -4325,6 +4334,11 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { int numTxs = await _futureNumTxs; if (numTxs >= 1) { changeIndex = i; + final derivePath = constructDerivePath( + networkWIF: _network.wif, + chain: 1, + index: changeIndex, + ); final addr = isar_models.Address( walletId: walletId, value: _address, @@ -4332,6 +4346,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { changeDerivation['publicKey'] as String), type: isar_models.AddressType.p2pkh, derivationIndex: i, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: isar_models.AddressSubType.change, ); changeAddressArray.add(addr); @@ -4929,6 +4944,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive { walletId: walletId, value: tx["address"] as String, derivationIndex: -2, + derivationPath: null, type: isar_models.AddressType.nonWallet, subType: isar_models.AddressSubType.unknown, publicKey: [], diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index 5141f0a3a..c8b69c8c8 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -426,6 +426,7 @@ class LitecoinWallet extends CoinServiceAPI publicKey: node.publicKey, type: addrType, derivationIndex: index + j, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, @@ -1263,8 +1264,6 @@ class LitecoinWallet extends CoinServiceAPI late SecureStorageInterface _secureStore; - - @override Future updateNode(bool shouldRefresh) async { final failovers = NodeService(secureStorageInterface: _secureStore) @@ -1540,6 +1539,7 @@ class LitecoinWallet extends CoinServiceAPI publicKey: node.publicKey, type: addrType, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, subType: chain == 0 ? isar_models.AddressSubType.receiving : isar_models.AddressSubType.change, diff --git a/lib/services/coins/monero/monero_wallet.dart b/lib/services/coins/monero/monero_wallet.dart index 886bda1b8..8c956bb76 100644 --- a/lib/services/coins/monero/monero_wallet.dart +++ b/lib/services/coins/monero/monero_wallet.dart @@ -854,6 +854,7 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB { return isar_models.Address( walletId: walletId, derivationIndex: index, + derivationPath: null, value: address, publicKey: [], type: isar_models.AddressType.cryptonote, diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index 43982875e..3be5ad6d7 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -420,6 +420,7 @@ class NamecoinWallet extends CoinServiceAPI publicKey: node.publicKey, value: addressString, derivationIndex: index + j, + derivationPath: isar_models.DerivationPath()..value = derivePath, ); receivingNodes.addAll({ @@ -1517,6 +1518,7 @@ class NamecoinWallet extends CoinServiceAPI return isar_models.Address( walletId: walletId, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, value: address, publicKey: node.publicKey, type: addrType, diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 6b0275fdc..577bf2def 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -401,6 +401,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { publicKey: node.publicKey, value: addressString, derivationIndex: index + j, + derivationPath: isar_models.DerivationPath()..value = derivePath, ); receivingNodes.addAll({ @@ -1411,6 +1412,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { return isar_models.Address( walletId: walletId, derivationIndex: index, + derivationPath: isar_models.DerivationPath()..value = derivePath, value: address, publicKey: node.publicKey, type: addrType, @@ -2175,6 +2177,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB { value: address, publicKey: [], derivationIndex: -1, + derivationPath: null, ); } } catch (s) { diff --git a/lib/services/coins/wownero/wownero_wallet.dart b/lib/services/coins/wownero/wownero_wallet.dart index 12343f036..044f377a3 100644 --- a/lib/services/coins/wownero/wownero_wallet.dart +++ b/lib/services/coins/wownero/wownero_wallet.dart @@ -862,6 +862,7 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB { return isar_models.Address( walletId: walletId, derivationIndex: index, + derivationPath: null, value: address, publicKey: [], type: isar_models.AddressType.cryptonote, diff --git a/lib/services/mixins/electrum_x_parsing.dart b/lib/services/mixins/electrum_x_parsing.dart index f50c38e44..6e2316185 100644 --- a/lib/services/mixins/electrum_x_parsing.dart +++ b/lib/services/mixins/electrum_x_parsing.dart @@ -139,6 +139,7 @@ mixin ElectrumXParsing { walletId: walletId, value: possible, derivationIndex: -1, + derivationPath: null, subType: AddressSubType.nonWallet, type: AddressType.nonWallet, publicKey: [], diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 5944f69cf..697e00b53 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -847,6 +847,8 @@ mixin PaynymWalletInterface { value: notificationAddress, publicKey: [], derivationIndex: 0, + derivationPath: + null, // might as well use null due to complexity of context type: oldAddress.type, subType: AddressSubType.paynymNotification, otherData: await storeCode(code.toString()), @@ -1023,6 +1025,8 @@ mixin PaynymWalletInterface { value: addressString, publicKey: pair.publicKey, derivationIndex: derivationIndex, + derivationPath: + null, // might as well use null due to complexity of context type: AddressType.nonWallet, subType: AddressSubType.paynymSend, otherData: await storeCode(toPaymentCode.toString()), @@ -1090,6 +1094,8 @@ mixin PaynymWalletInterface { value: addressString, publicKey: pair.publicKey, derivationIndex: derivationIndex, + derivationPath: + null, // might as well use null due to complexity of context type: addrType, subType: AddressSubType.paynymReceive, otherData: await storeCode(fromPaymentCode.toString()), @@ -1214,6 +1220,8 @@ mixin PaynymWalletInterface { value: addressString, publicKey: paymentCode.getPubKey(), derivationIndex: 0, + derivationPath: + null, // might as well use null due to complexity of context type: type, subType: AddressSubType.paynymNotification, otherData: await storeCode(paymentCode.toString()), diff --git a/lib/utilities/db_version_migration.dart b/lib/utilities/db_version_migration.dart index 75b20a42e..45c15ab82 100644 --- a/lib/utilities/db_version_migration.dart +++ b/lib/utilities/db_version_migration.dart @@ -494,6 +494,7 @@ class DbVersionMigrator with WalletDB { value: tx.address, publicKey: [], derivationIndex: -1, + derivationPath: null, type: isar_models.AddressType.unknown, subType: type == isar_models.TransactionType.incoming ? isar_models.AddressSubType.receiving @@ -529,6 +530,7 @@ class DbVersionMigrator with WalletDB { value: addr, publicKey: Format.stringToUint8List(pubKey), derivationIndex: index, + derivationPath: null, // we have no idea what the full path is type: type, subType: subType, ); @@ -552,6 +554,7 @@ class DbVersionMigrator with WalletDB { value: addr, publicKey: [], derivationIndex: -1, + derivationPath: null, // index unknown type: type, subType: subType, ); diff --git a/test/widget_tests/transaction_card_test.dart b/test/widget_tests/transaction_card_test.dart index ed5e226e1..d8cb9d390 100644 --- a/test/widget_tests/transaction_card_test.dart +++ b/test/widget_tests/transaction_card_test.dart @@ -66,6 +66,7 @@ void main() { value: "", publicKey: [], derivationIndex: 0, + derivationPath: null, type: AddressType.p2pkh, subType: AddressSubType.receiving); @@ -166,6 +167,7 @@ void main() { value: "", publicKey: [], derivationIndex: 0, + derivationPath: null, type: AddressType.p2pkh, subType: AddressSubType.receiving); @@ -263,6 +265,7 @@ void main() { value: "", publicKey: [], derivationIndex: 0, + derivationPath: null, type: AddressType.p2pkh, subType: AddressSubType.receiving); @@ -354,6 +357,7 @@ void main() { value: "", publicKey: [], derivationIndex: 0, + derivationPath: null, type: AddressType.p2pkh, subType: AddressSubType.receiving); From eb42493e4d45c569bde02a218997b62f09f7b71a Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 18:05:19 -0600 Subject: [PATCH 082/191] bch derivePath bug fix --- .../coins/bitcoincash/bitcoincash_wallet.dart | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 3a7e25545..ea6cdccf6 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -59,14 +59,24 @@ String constructDerivePath({ required int chain, required int index, }) { - String coinType; + int coinType; switch (networkWIF) { case 0x80: // bch mainnet wif - coinType = - derivePathType == DerivePathType.bch44 ? "145" : "0"; // bch mainnet + switch (derivePathType) { + case DerivePathType.bip44: + case DerivePathType.bip49: + coinType = 145; // bch mainnet + break; + case DerivePathType.bch44: // bitcoin.com wallet specific + coinType = 0; // bch mainnet + break; + default: + throw Exception( + "DerivePathType $derivePathType not supported for coinType"); + } break; case 0xef: // bch testnet wif - coinType = "1"; // bch testnet + coinType = 1; // bch testnet break; default: throw Exception("Invalid Bitcoincash network wif used!"); From 74ca8e1e07362a4b810fc3b530caeed66e905758 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 18:17:39 -0600 Subject: [PATCH 083/191] add delete address labels and tx notes functionality (isar notes unimplemented atm) --- lib/db/main_db.dart | 52 +++++++++++++++++++++++++------ lib/services/wallets_service.dart | 2 ++ 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/lib/db/main_db.dart b/lib/db/main_db.dart index 5e3d94a97..87885d09b 100644 --- a/lib/db/main_db.dart +++ b/lib/db/main_db.dart @@ -257,30 +257,62 @@ class MainDB { // transactions for (int i = 0; i < transactionCount; i += paginateLimit) { - final txns = await getTransactions(walletId) + final txnIds = await getTransactions(walletId) .offset(i) .limit(paginateLimit) + .idProperty() .findAll(); - await isar.transactions - .deleteAll(txns.map((e) => e.id).toList(growable: false)); + await isar.transactions.deleteAll(txnIds); } // addresses for (int i = 0; i < addressCount; i += paginateLimit) { - final addresses = await getAddresses(walletId) + final addressIds = await getAddresses(walletId) .offset(i) .limit(paginateLimit) + .idProperty() .findAll(); - await isar.addresses - .deleteAll(addresses.map((e) => e.id).toList(growable: false)); + await isar.addresses.deleteAll(addressIds); } // utxos for (int i = 0; i < utxoCount; i += paginateLimit) { - final utxos = - await getUTXOs(walletId).offset(i).limit(paginateLimit).findAll(); - await isar.utxos - .deleteAll(utxos.map((e) => e.id).toList(growable: false)); + final utxoIds = await getUTXOs(walletId) + .offset(i) + .limit(paginateLimit) + .idProperty() + .findAll(); + await isar.utxos.deleteAll(utxoIds); + } + }); + } + + Future deleteAddressLabels(String walletId) async { + final addressLabelCount = await getAddressLabels(walletId).count(); + await isar.writeTxn(() async { + const paginateLimit = 50; + for (int i = 0; i < addressLabelCount; i += paginateLimit) { + final labelIds = await getAddressLabels(walletId) + .offset(i) + .limit(paginateLimit) + .idProperty() + .findAll(); + await isar.addressLabels.deleteAll(labelIds); + } + }); + } + + Future deleteTransactionNotes(String walletId) async { + final noteCount = await getTransactionNotes(walletId).count(); + await isar.writeTxn(() async { + const paginateLimit = 50; + for (int i = 0; i < noteCount; i += paginateLimit) { + final labelIds = await getTransactionNotes(walletId) + .offset(i) + .limit(paginateLimit) + .idProperty() + .findAll(); + await isar.transactionNotes.deleteAll(labelIds); } }); } diff --git a/lib/services/wallets_service.dart b/lib/services/wallets_service.dart index 41bfd477f..3a9c99346 100644 --- a/lib/services/wallets_service.dart +++ b/lib/services/wallets_service.dart @@ -388,6 +388,8 @@ class WalletsService extends ChangeNotifier { // delete wallet data in main db await MainDB.instance.deleteWalletBlockchainData(walletId); + await MainDB.instance.deleteAddressLabels(walletId); + await MainDB.instance.deleteTransactionNotes(walletId); // box data may currently still be read/written to if wallet was refreshing // when delete was requested so instead of deleting now we mark the wallet From 5145d4fc016e7d0725023f77b09405488b1ef056 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 18:51:30 -0600 Subject: [PATCH 084/191] query/filter bch addresses using derivation path components --- .../coins/bitcoincash/bitcoincash_wallet.dart | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index ea6cdccf6..8c12af9aa 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -160,6 +160,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { .filter() .typeEqualTo(isar_models.AddressType.p2pkh) .subTypeEqualTo(isar_models.AddressSubType.receiving) + .derivationPath((q) => q.not().valueStartsWith("m/44'/0'")) .sortByDerivationIndexDesc() .findFirst()) ?? await _generateAddressForChain(0, 0, DerivePathTypeExt.primaryFor(coin)); @@ -173,6 +174,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { .filter() .typeEqualTo(isar_models.AddressType.p2pkh) .subTypeEqualTo(isar_models.AddressSubType.change) + .derivationPath((q) => q.not().valueStartsWith("m/44'/0'")) .sortByDerivationIndexDesc() .findFirst()) ?? await _generateAddressForChain(1, 0, DerivePathTypeExt.primaryFor(coin)); @@ -395,13 +397,9 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { isar_models.AddressType addrType; switch (type) { case DerivePathType.bip44: - addressString = P2PKH(data: data, network: _network).data.address!; - addrType = isar_models.AddressType.p2pkh; - addressString = bitbox.Address.toCashAddress(addressString); - break; case DerivePathType.bch44: addressString = P2PKH(data: data, network: _network).data.address!; - addrType = isar_models.AddressType.unknown; + addrType = isar_models.AddressType.p2pkh; addressString = bitbox.Address.toCashAddress(addressString); break; case DerivePathType.bip49: @@ -1489,13 +1487,9 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { switch (derivePathType) { case DerivePathType.bip44: - address = P2PKH(data: data, network: _network).data.address!; - addrType = isar_models.AddressType.p2pkh; - address = bitbox.Address.toCashAddress(address); - break; case DerivePathType.bch44: address = P2PKH(data: data, network: _network).data.address!; - addrType = isar_models.AddressType.unknown; + addrType = isar_models.AddressType.p2pkh; address = bitbox.Address.toCashAddress(address); break; case DerivePathType.bip49: @@ -1547,15 +1541,23 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { : isar_models.AddressSubType.change; isar_models.AddressType type; + String coinType; + String purpose; switch (derivePathType) { case DerivePathType.bip44: type = isar_models.AddressType.p2pkh; + coinType = coin == Coin.bitcoincash ? "145" : "1"; + purpose = "44"; break; case DerivePathType.bch44: - type = isar_models.AddressType.unknown; + type = isar_models.AddressType.p2pkh; + coinType = coin == Coin.bitcoincash ? "0" : "1"; + purpose = "44"; break; case DerivePathType.bip49: type = isar_models.AddressType.p2sh; + coinType = coin == Coin.bitcoincash ? "145" : "1"; + purpose = "49"; break; case DerivePathType.bip84: throw UnsupportedError("bip84 not supported by BCH"); @@ -1568,6 +1570,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB { .filter() .typeEqualTo(type) .subTypeEqualTo(subType) + .derivationPath((q) => q.valueStartsWith("m/$purpose'/$coinType")) .sortByDerivationIndexDesc() .findFirst(); return address!.value; From d4499ac3bc0f01cc4f80ea2b66ec272eb676b9e7 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 3 Feb 2023 19:04:43 -0600 Subject: [PATCH 085/191] firo bug fix and test update --- lib/services/coins/firo/firo_wallet.dart | 2 +- test/services/coins/firo/firo_wallet_test.dart | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index de2088a5d..7b7f5cb98 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -234,7 +234,7 @@ Future> isolateDerive( final derivePathChange = constructDerivePath( networkWIF: _network.wif, - chain: 0, + chain: 1, index: i, ); currentNode = await Bip32Utils.getBip32NodeFromRoot( diff --git a/test/services/coins/firo/firo_wallet_test.dart b/test/services/coins/firo/firo_wallet_test.dart index 277a6cbd5..5cdf9ce50 100644 --- a/test/services/coins/firo/firo_wallet_test.dart +++ b/test/services/coins/firo/firo_wallet_test.dart @@ -1228,6 +1228,9 @@ void main() { await secureStore.write( key: "${testWalletId}buildMintTransaction_mnemonic", value: BuildMintTxTestParams.mnemonic); + await secureStore.write( + key: "${testWalletId}buildMintTransaction_mnemonicPassphrase", + value: ""); when(cachedClient.getTransaction( txHash: BuildMintTxTestParams.utxoInfo["txid"] as String, From a3b5ba5b0497fcb709fc2390aadff134874a33bb Mon Sep 17 00:00:00 2001 From: julian Date: Sat, 4 Feb 2023 09:16:05 -0600 Subject: [PATCH 086/191] majestic bank dart api impl --- .../exchange/majestic_bank/mb_order.dart | 43 ++++++ .../majestic_bank/mb_order_status.dart | 32 ++++ .../majestic_bank/majestic_bank_api.dart | 140 +++++++++--------- 3 files changed, 142 insertions(+), 73 deletions(-) create mode 100644 lib/models/exchange/majestic_bank/mb_order.dart create mode 100644 lib/models/exchange/majestic_bank/mb_order_status.dart diff --git a/lib/models/exchange/majestic_bank/mb_order.dart b/lib/models/exchange/majestic_bank/mb_order.dart new file mode 100644 index 000000000..f5dde038e --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_order.dart @@ -0,0 +1,43 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_object.dart'; + +enum MBOrderType { + fixed, + floating, +} + +class MBOrder extends MBObject { + MBOrder({ + required this.orderId, + required this.fromCurrency, + required this.fromAmount, + required this.receiveCurrency, + required this.receiveAmount, + required this.address, + required this.orderType, + required this.expiration, + required this.createdAt, + }); + + final String orderId; + final String fromCurrency; + final Decimal fromAmount; + final String receiveCurrency; + final String address; + final Decimal receiveAmount; + final MBOrderType orderType; + + /// minutes + final int expiration; + + final DateTime createdAt; + + bool isExpired() => + (DateTime.now().difference(createdAt) >= Duration(minutes: expiration)); + + @override + String toString() { + // todo: full toString + return orderId; + } +} diff --git a/lib/models/exchange/majestic_bank/mb_order_status.dart b/lib/models/exchange/majestic_bank/mb_order_status.dart new file mode 100644 index 000000000..5496aa5e2 --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_order_status.dart @@ -0,0 +1,32 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_object.dart'; + +class MBOrderStatus extends MBObject { + MBOrderStatus({ + required this.orderId, + required this.status, + required this.fromCurrency, + required this.fromAmount, + required this.receiveCurrency, + required this.receiveAmount, + required this.address, + required this.received, + required this.confirmed, + }); + + final String orderId; + final String status; + final String fromCurrency; + final Decimal fromAmount; + final String receiveCurrency; + final Decimal receiveAmount; + final String address; + final Decimal received; + final Decimal confirmed; + + @override + String toString() { + // todo: full toString + return status; + } +} diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index 3b1f9218b..da68db574 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -3,19 +3,18 @@ import 'dart:convert'; import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order_calculation.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_order_status.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_rate.dart'; -import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; -import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; -import 'package:uuid/uuid.dart'; class MajesticBankAPI { static const String scheme = "https"; static const String authority = "majesticbank.sc"; static const String version = "v1"; - static const String refCode = ""; + static const String refCode = "fixme"; MajesticBankAPI._(); @@ -30,11 +29,6 @@ class MajesticBankAPI { return Uri.https(authority, "/api/$version/$endpoint", params); } - String getPrettyJSONString(jsonObject) { - var encoder = const JsonEncoder.withIndent(" "); - return encoder.convert(jsonObject); - } - Future _makeGetRequest(Uri uri) async { final client = this.client ?? http.Client(); int code = -1; @@ -132,10 +126,6 @@ class MajesticBankAPI { required String fromCurrency, required String receiveCurrency, }) async { - final uri = _buildUri( - endpoint: "calculate", - ); - final params = { "from_currency": fromCurrency, "receive_currency": receiveCurrency, @@ -147,11 +137,22 @@ class MajesticBankAPI { params["from_amount"] = amount; } + final uri = _buildUri( + endpoint: "calculate", + params: params, + ); + try { final jsonObject = await _makeGetRequest(uri); + final map = Map.from(jsonObject as Map); + final result = MBOrderCalculation( + fromCurrency: map["from_currency"] as String, + fromAmount: Decimal.parse(map["from_amount"].toString()), + receiveCurrency: map["receive_currency"] as String, + receiveAmount: Decimal.parse(map["receive_amount"].toString()), + ); - // return getPrettyJSONString(jsonObject); - return ExchangeResponse(); + return ExchangeResponse(value: result); } catch (e, s) { Logging.instance .log("calculateOrder exception: $e\n$s", level: LogLevel.Error); @@ -164,52 +165,40 @@ class MajesticBankAPI { } } - Future> createOrder({ - required String amount, + Future> createOrder({ + required String fromAmount, required String fromCurrency, required String receiveCurrency, required String receiveAddress, }) async { final params = { - "from_amount": amount, + "from_amount": fromAmount, "from_currency": fromCurrency, "receive_currency": receiveCurrency, "receive_address": receiveAddress, "referral_code": refCode, }; - final uri = _buildUri(endpoint: "create", params: params); + final uri = _buildUri(endpoint: "exchange", params: params); try { final now = DateTime.now(); final jsonObject = await _makeGetRequest(uri); final json = Map.from(jsonObject as Map); - final trade = Trade( - uuid: const Uuid().v1(), - tradeId: json["trx"] as String, - rateType: "floating-rate", - direction: "direct", - timestamp: now, - updatedAt: now, - payInCurrency: json["from_currency"] as String, - payInAmount: json["from_amount"] as String, - payInAddress: json["address"] as String, - payInNetwork: "", - payInExtraId: "", - payInTxid: "", - payOutCurrency: json["receive_currency"] as String, - payOutAmount: json["receive_amount"] as String, - payOutAddress: json["receive_address"] as String, - payOutNetwork: "", - payOutExtraId: "", - payOutTxid: "", - refundAddress: "", - refundExtraId: "", - status: "Waiting", - exchangeName: MajesticBankExchange.exchangeName, + final order = MBOrder( + orderId: json["trx"] as String, + fromCurrency: json["from_currency"] as String, + fromAmount: Decimal.parse(json["from_amount"].toString()), + receiveCurrency: json["receive_currency"] as String, + receiveAmount: Decimal.parse(json["receive_amount"].toString()), + address: json["address"] as String, + orderType: MBOrderType.floating, + expiration: json["expiration"] as int, + createdAt: now, ); - return ExchangeResponse(value: trade); + + return ExchangeResponse(value: order); } catch (e, s) { Logging.instance .log("createOrder exception: $e\n$s", level: LogLevel.Error); @@ -222,7 +211,10 @@ class MajesticBankAPI { } } - Future> createFixedRateOrder({ + /// Fixed rate for 10 minutes, useful for payments. + /// If [reversed] then the amount is the expected receive_amount, otherwise + /// the amount is assumed to be the from_amount. + Future> createFixedRateOrder({ required String amount, required String fromCurrency, required String receiveCurrency, @@ -249,31 +241,19 @@ class MajesticBankAPI { final jsonObject = await _makeGetRequest(uri); final json = Map.from(jsonObject as Map); - final trade = Trade( - uuid: const Uuid().v1(), - tradeId: json["trx"] as String, - rateType: "fixed-rate", - direction: reversed ? "reversed" : "direct", - timestamp: now, - updatedAt: now, - payInCurrency: json["from_currency"] as String, - payInAmount: json["from_amount"] as String, - payInAddress: json["address"] as String, - payInNetwork: "", - payInExtraId: "", - payInTxid: "", - payOutCurrency: json["receive_currency"] as String, - payOutAmount: json["receive_amount"] as String, - payOutAddress: json["receive_address"] as String, - payOutNetwork: "", - payOutExtraId: "", - payOutTxid: "", - refundAddress: "", - refundExtraId: "", - status: "Waiting", - exchangeName: MajesticBankExchange.exchangeName, + final order = MBOrder( + orderId: json["trx"] as String, + fromCurrency: json["from_currency"] as String, + fromAmount: Decimal.parse(json["from_amount"].toString()), + receiveCurrency: json["receive_currency"] as String, + receiveAmount: Decimal.parse(json["receive_amount"].toString()), + address: json["address"] as String, + orderType: MBOrderType.fixed, + expiration: json["expiration"] as int, + createdAt: now, ); - return ExchangeResponse(value: trade); + + return ExchangeResponse(value: order); } catch (e, s) { Logging.instance .log("createFixedRateOrder exception: $e\n$s", level: LogLevel.Error); @@ -286,15 +266,29 @@ class MajesticBankAPI { } } - Future trackOrder({required String orderId}) async { - final uri = _buildUri( - endpoint: "track", - ); + Future> trackOrder( + {required String orderId}) async { + final uri = _buildUri(endpoint: "track", params: { + "trx": orderId, + }); try { final jsonObject = await _makeGetRequest(uri); + final json = Map.from(jsonObject as Map); - return getPrettyJSONString(jsonObject); + final status = MBOrderStatus( + orderId: json["trx"] as String, + status: json["status"] as String, + fromCurrency: json["from_currency"] as String, + fromAmount: Decimal.parse(json["from_amount"].toString()), + receiveCurrency: json["receive_currency"] as String, + receiveAmount: Decimal.parse(json["receive_amount"].toString()), + address: json["address"] as String, + received: Decimal.parse(json["received"].toString()), + confirmed: Decimal.parse(json["confirmed"].toString()), + ); + + return ExchangeResponse(value: status); } catch (e, s) { Logging.instance .log("createOrder exception: $e\n$s", level: LogLevel.Error); From 4cbf8b8cd95aff24165e1c6acaebe9d3f8902ca1 Mon Sep 17 00:00:00 2001 From: julian Date: Sat, 4 Feb 2023 11:15:42 -0600 Subject: [PATCH 087/191] refactor exchange exception --- lib/exceptions/exchange/exchange_exception.dart | 13 +++++++++++++ .../exchange/majestic_bank/mb_exception.dart | 5 +++++ .../exchange/change_now/change_now_api.dart | 1 + .../exchange/exchange_data_loading_service.dart | 6 +++--- lib/services/exchange/exchange_response.dart | 13 +------------ .../exchange/majestic_bank/majestic_bank_api.dart | 1 + .../exchange/simpleswap/simpleswap_api.dart | 1 + 7 files changed, 25 insertions(+), 15 deletions(-) create mode 100644 lib/exceptions/exchange/exchange_exception.dart create mode 100644 lib/exceptions/exchange/majestic_bank/mb_exception.dart diff --git a/lib/exceptions/exchange/exchange_exception.dart b/lib/exceptions/exchange/exchange_exception.dart new file mode 100644 index 000000000..af7aa8f65 --- /dev/null +++ b/lib/exceptions/exchange/exchange_exception.dart @@ -0,0 +1,13 @@ +import 'package:stackwallet/exceptions/sw_exception.dart'; + +enum ExchangeExceptionType { generic, serializeResponseError } + +class ExchangeException extends SWException { + ExchangeExceptionType type; + ExchangeException(super.message, this.type); + + @override + String toString() { + return message; + } +} diff --git a/lib/exceptions/exchange/majestic_bank/mb_exception.dart b/lib/exceptions/exchange/majestic_bank/mb_exception.dart new file mode 100644 index 000000000..d3130d874 --- /dev/null +++ b/lib/exceptions/exchange/majestic_bank/mb_exception.dart @@ -0,0 +1,5 @@ +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; + +class MBException extends ExchangeException { + MBException(super.message, super.type); +} diff --git a/lib/services/exchange/change_now/change_now_api.dart b/lib/services/exchange/change_now/change_now_api.dart index d957eaf1a..a9920bfb8 100644 --- a/lib/services/exchange/change_now/change_now_api.dart +++ b/lib/services/exchange/change_now/change_now_api.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/external_api_keys.dart'; import 'package:stackwallet/models/exchange/change_now/cn_exchange_estimate.dart'; import 'package:stackwallet/models/exchange/change_now/estimated_exchange_amount.dart'; diff --git a/lib/services/exchange/exchange_data_loading_service.dart b/lib/services/exchange/exchange_data_loading_service.dart index d06f8b726..8d232e957 100644 --- a/lib/services/exchange/exchange_data_loading_service.dart +++ b/lib/services/exchange/exchange_data_loading_service.dart @@ -55,7 +55,7 @@ class ExchangeDataLoadingService { } } else { Logging.instance.log( - "Failed to load changeNOW fixed rate markets: ${response3.exception?.errorMessage}", + "Failed to load changeNOW fixed rate markets: ${response3.exception?.message}", level: LogLevel.Error); ref.read(changeNowFixedInitialLoadStatusStateProvider.state).state = @@ -122,7 +122,7 @@ class ExchangeDataLoadingService { } } else { Logging.instance.log( - "Failed to load changeNOW available floating rate pairs: ${response2.exception?.errorMessage}", + "Failed to load changeNOW available floating rate pairs: ${response2.exception?.message}", level: LogLevel.Error); ref.read(changeNowEstimatedInitialLoadStatusStateProvider.state).state = ChangeNowLoadStatus.failed; @@ -130,7 +130,7 @@ class ExchangeDataLoadingService { } } else { Logging.instance.log( - "Failed to load changeNOW currencies: ${response.exception?.errorMessage}", + "Failed to load changeNOW currencies: ${response.exception?.message}", level: LogLevel.Error); await Future.delayed(const Duration(seconds: 3)); ref.read(changeNowEstimatedInitialLoadStatusStateProvider.state).state = diff --git a/lib/services/exchange/exchange_response.dart b/lib/services/exchange/exchange_response.dart index 59441fb9b..79339e5f7 100644 --- a/lib/services/exchange/exchange_response.dart +++ b/lib/services/exchange/exchange_response.dart @@ -1,15 +1,4 @@ -enum ExchangeExceptionType { generic, serializeResponseError } - -class ExchangeException implements Exception { - String errorMessage; - ExchangeExceptionType type; - ExchangeException(this.errorMessage, this.type); - - @override - String toString() { - return errorMessage; - } -} +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; class ExchangeResponse { late final T? value; diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index da68db574..e140e5308 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order_calculation.dart'; diff --git a/lib/services/exchange/simpleswap/simpleswap_api.dart b/lib/services/exchange/simpleswap/simpleswap_api.dart index 3d626b2eb..bd6e933fe 100644 --- a/lib/services/exchange/simpleswap/simpleswap_api.dart +++ b/lib/services/exchange/simpleswap/simpleswap_api.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/external_api_keys.dart'; import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; import 'package:stackwallet/models/exchange/response_objects/pair.dart'; From 585a684ecc00d510fb4f5a2339c96fd765c19d28 Mon Sep 17 00:00:00 2001 From: julian Date: Sat, 4 Feb 2023 11:48:07 -0600 Subject: [PATCH 088/191] apply majestic bank api to an exchange class --- .../majestic_bank/majestic_bank_api.dart | 39 ++- .../majestic_bank/majestic_bank_exchange.dart | 247 +++++++++++++++--- 2 files changed, 251 insertions(+), 35 deletions(-) diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index e140e5308..6d7e2ffe7 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -86,6 +86,40 @@ class MajesticBankAPI { } } + Future> getLimit({ + required String fromCurrency, + }) async { + final uri = _buildUri( + endpoint: "limits", + params: { + "from_currency": fromCurrency, + }, + ); + + try { + final jsonObject = await _makeGetRequest(uri); + + final map = Map.from(jsonObject as Map); + + final limit = MBLimit( + currency: fromCurrency, + min: Decimal.parse(map["min"].toString()), + max: Decimal.parse(map["max"].toString()), + ); + + return ExchangeResponse(value: limit); + } catch (e, s) { + Logging.instance + .log("getLimits exception: $e\n$s", level: LogLevel.Error); + return ExchangeResponse( + exception: ExchangeException( + e.toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + Future>> getLimits() async { final uri = _buildUri( endpoint: @@ -267,8 +301,9 @@ class MajesticBankAPI { } } - Future> trackOrder( - {required String orderId}) async { + Future> trackOrder({ + required String orderId, + }) async { final uri = _buildUri(endpoint: "track", params: { "trx": orderId, }); diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart index 978ffb914..4610f6c3d 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -1,4 +1,7 @@ import 'package:decimal/decimal.dart'; +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; +import 'package:stackwallet/exceptions/exchange/majestic_bank/mb_exception.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; import 'package:stackwallet/models/exchange/response_objects/currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/models/exchange/response_objects/pair.dart'; @@ -6,67 +9,212 @@ import 'package:stackwallet/models/exchange/response_objects/range.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_api.dart'; +import 'package:uuid/uuid.dart'; class MajesticBankExchange extends Exchange { static const exchangeName = "MajesticBank"; @override - Future> createTrade( - {required String from, - required String to, - required bool fixedRate, - required Decimal amount, - required String addressTo, - String? extraId, - required String addressRefund, - required String refundExtraId, - String? rateId, - required bool reversed}) { - // TODO: implement createTrade - throw UnimplementedError(); + Future> createTrade({ + required String from, + required String to, + required bool fixedRate, + required Decimal amount, + required String addressTo, + String? extraId, + required String addressRefund, + required String refundExtraId, + String? rateId, + required bool reversed, + }) async { + ExchangeResponse? response; + + if (fixedRate) { + response = await MajesticBankAPI.instance.createFixedRateOrder( + amount: amount.toString(), + fromCurrency: from, + receiveCurrency: to, + receiveAddress: addressTo, + reversed: reversed, + ); + } else { + if (reversed) { + return ExchangeResponse( + exception: MBException( + "Reversed trade not available", + ExchangeExceptionType.generic, + ), + ); + } + response = await MajesticBankAPI.instance.createOrder( + fromAmount: amount.toString(), + fromCurrency: from, + receiveCurrency: to, + receiveAddress: addressTo, + ); + } + + if (response.value != null) { + final order = response.value!; + final trade = Trade( + uuid: const Uuid().v1(), + tradeId: order.orderId, + rateType: fixedRate ? "fixed" : "floating", + direction: reversed ? "reversed" : "direct", + timestamp: order.createdAt, + updatedAt: order.createdAt, + payInCurrency: order.fromCurrency, + payInAmount: order.fromAmount.toString(), + payInAddress: order.address, + payInNetwork: "", + payInExtraId: "", + payInTxid: "", + payOutCurrency: order.receiveCurrency, + payOutAmount: order.receiveAmount.toString(), + payOutAddress: addressTo, + payOutNetwork: "", + payOutExtraId: "", + payOutTxid: "", + refundAddress: addressRefund, + refundExtraId: refundExtraId, + status: "Waiting", + exchangeName: exchangeName, + ); + + return ExchangeResponse(value: trade); + } else { + return ExchangeResponse(exception: response.exception!); + } } @override - Future>> getAllCurrencies(bool fixedRate) { - // TODO: implement getAllCurrencies - throw UnimplementedError(); + Future>> getAllCurrencies( + bool fixedRate, + ) async { + final response = await MajesticBankAPI.instance.getLimits(); + if (response.value == null) { + return ExchangeResponse(exception: response.exception); + } + + final List currencies = []; + final limits = response.value!; + + for (final limit in limits) { + final currency = Currency( + ticker: limit.currency, + name: limit.currency, + network: "", + image: "", + hasExternalId: false, + isFiat: false, + featured: false, + isStable: false, + supportsFixedRate: true, + ); + currencies.add(currency); + } + + return ExchangeResponse(value: currencies); } @override - Future>> getAllPairs(bool fixedRate) { - // TODO: implement getAllPairs - throw UnimplementedError(); + Future>> getAllPairs(bool fixedRate) async { + final response = await MajesticBankAPI.instance.getRates(); + if (response.value == null) { + return ExchangeResponse(exception: response.exception); + } + + final List pairs = []; + final rates = response.value!; + + for (final rate in rates) { + final pair = Pair( + from: rate.fromCurrency, + fromNetwork: "", + to: rate.toCurrency, + toNetwork: "", + fixedRate: true, + floatingRate: true, + ); + pairs.add(pair); + } + + return ExchangeResponse(value: pairs); } @override Future> getEstimate( - String from, String to, Decimal amount, bool fixedRate, bool reversed) { - // TODO: implement getEstimate - throw UnimplementedError(); + String from, + String to, + Decimal amount, + bool fixedRate, + bool reversed, + ) async { + final response = await MajesticBankAPI.instance.calculateOrder( + amount: amount.toString(), + reversed: reversed, + fromCurrency: from, + receiveCurrency: to, + ); + if (response.value == null) { + return ExchangeResponse(exception: response.exception); + } + + final calc = response.value!; + final estimate = Estimate( + estimatedAmount: reversed ? calc.fromAmount : calc.receiveAmount, + fixedRate: fixedRate, + reversed: reversed, + ); + return ExchangeResponse(value: estimate); } @override Future>> getPairsFor( - String currency, bool fixedRate) { - // TODO: implement getPairsFor - throw UnimplementedError(); + String currency, + bool fixedRate, + ) async { + final response = await getAllPairs(fixedRate); + if (response.value == null) { + return ExchangeResponse(exception: response.exception); + } + + final pairs = response.value!.where( + (e) => + e.from.toUpperCase() == currency.toUpperCase() || + e.to.toUpperCase() == currency.toUpperCase(), + ); + + return ExchangeResponse(value: pairs.toList()); } @override Future> getRange( - String from, String to, bool fixedRate) { - // TODO: implement getRange - throw UnimplementedError(); + String from, + String to, + bool fixedRate, + ) async { + final response = + await MajesticBankAPI.instance.getLimit(fromCurrency: from); + if (response.value == null) { + return ExchangeResponse(exception: response.exception); + } + + final limit = response.value!; + final range = Range(min: limit.min, max: limit.max); + + return ExchangeResponse(value: range); } @override - Future> getTrade(String tradeId) { + Future> getTrade(String tradeId) async { // TODO: implement getTrade throw UnimplementedError(); } @override - Future>> getTrades() { + Future>> getTrades() async { // TODO: implement getTrades throw UnimplementedError(); } @@ -75,8 +223,41 @@ class MajesticBankExchange extends Exchange { String get name => exchangeName; @override - Future> updateTrade(Trade trade) { - // TODO: implement updateTrade - throw UnimplementedError(); + Future> updateTrade(Trade trade) async { + final response = await MajesticBankAPI.instance.trackOrder( + orderId: trade.tradeId, + ); + + if (response.value != null) { + final status = response.value!; + final updatedTrade = Trade( + uuid: trade.uuid, + tradeId: status.orderId, + rateType: trade.rateType, + direction: trade.direction, + timestamp: trade.timestamp, + updatedAt: DateTime.now(), + payInCurrency: status.fromCurrency, + payInAmount: status.fromAmount.toString(), + payInAddress: status.address, + payInNetwork: trade.payInNetwork, + payInExtraId: trade.payInExtraId, + payInTxid: trade.payInTxid, + payOutCurrency: status.receiveCurrency, + payOutAmount: status.receiveAmount.toString(), + payOutAddress: trade.payOutAddress, + payOutNetwork: trade.payOutNetwork, + payOutExtraId: trade.payOutExtraId, + payOutTxid: trade.payOutTxid, + refundAddress: trade.refundAddress, + refundExtraId: trade.refundExtraId, + status: status.status, + exchangeName: exchangeName, + ); + + return ExchangeResponse(value: updatedTrade); + } else { + return ExchangeResponse(exception: response.exception); + } } } From 1455808d7a1f2a84c6084ab86655e3e31ebcc64d Mon Sep 17 00:00:00 2001 From: julian Date: Sun, 5 Feb 2023 14:32:39 -0600 Subject: [PATCH 089/191] WIP refactor exchange to use isar as cache instead of in memory using riverpod --- lib/db/main_db.dart | 4 +- lib/main.dart | 9 +- .../change_now/cn_available_currencies.dart | 4 +- lib/models/exchange/exchange_form_state.dart | 1010 +++++--- .../mb_available_currencies.dart | 30 + .../simpleswap/sp_available_currencies.dart | 4 +- .../exchange_cache}/currency.dart | 93 +- .../isar/exchange_cache/currency.g.dart | 2070 +++++++++++++++++ .../exchange_cache}/pair.dart | 31 +- lib/models/isar/exchange_cache/pair.g.dart | 1565 +++++++++++++ .../isar/models/blockchain_data/utxo.g.dart | 226 +- .../sub_widgets/crypto_selection_view.dart | 7 +- ... => exchange_currency_selection_view.dart} | 128 +- .../fixed_rate_pair_coin_selection_view.dart | 384 --- lib/pages/exchange_view/exchange_form.dart | 953 +++----- .../exchange_provider_options.dart | 218 +- .../sub_widgets/rate_type_toggle.dart | 19 +- lib/pages/home_view/home_view.dart | 27 +- .../sub_widgets/home_view_button_bar.dart | 24 +- lib/pages/stack_privacy_calls.dart | 9 +- lib/pages/wallet_view/wallet_view.dart | 23 +- .../stack_privacy_dialog.dart | 4 +- ...able_majesticbank_currencies_provider.dart | 6 + .../current_exchange_name_state_provider.dart | 4 +- .../exchange_form_state_provider.dart | 28 +- lib/route_generator.dart | 9 +- lib/services/exchange/TMP.dart | 389 ++++ .../exchange/change_now/change_now_api.dart | 36 +- .../change_now/change_now_exchange.dart | 37 +- lib/services/exchange/exchange.dart | 13 +- .../exchange_data_loading_service.dart | 326 +-- lib/services/exchange/exchange_service.dart | 1 + .../majestic_bank/majestic_bank_exchange.dart | 22 +- .../exchange/simpleswap/simpleswap_api.dart | 3 +- .../simpleswap/simpleswap_exchange.dart | 37 +- lib/services/notifications_service.dart | 19 +- .../textfields/exchange_textfield.dart | 15 +- test/cached_electrumx_test.mocks.dart | 18 + test/electrumx_test.mocks.dart | 18 + .../pages/send_view/send_view_test.mocks.dart | 1493 ++++++++---- .../exchange/exchange_view_test.mocks.dart | 23 +- test/services/change_now/change_now_test.dart | 5 +- .../bitcoin/bitcoin_wallet_test.mocks.dart | 9 + .../bitcoincash_wallet_test.mocks.dart | 9 + .../dogecoin/dogecoin_wallet_test.mocks.dart | 9 + .../coins/firo/firo_wallet_test.mocks.dart | 9 + .../namecoin/namecoin_wallet_test.mocks.dart | 9 + .../particl/particl_wallet_test.mocks.dart | 9 + test/services/wallets_service_test.mocks.dart | 5 + .../managed_favorite_test.mocks.dart | 1431 ++++++++---- .../node_options_sheet_test.mocks.dart | 18 + .../table_view/table_view_row_test.mocks.dart | 1301 +++++++---- .../transaction_card_test.mocks.dart | 18 + test/widget_tests/wallet_card_test.mocks.dart | 921 ++++++-- ...et_info_row_balance_future_test.mocks.dart | 1415 +++++++---- .../wallet_info_row_test.mocks.dart | 1415 +++++++---- 56 files changed, 11786 insertions(+), 4136 deletions(-) create mode 100644 lib/models/exchange/majestic_bank/mb_available_currencies.dart rename lib/models/{exchange/response_objects => isar/exchange_cache}/currency.dart (56%) create mode 100644 lib/models/isar/exchange_cache/currency.g.dart rename lib/models/{exchange/response_objects => isar/exchange_cache}/pair.dart (72%) create mode 100644 lib/models/isar/exchange_cache/pair.g.dart rename lib/pages/exchange_view/exchange_coin_selection/{floating_rate_currency_selection_view.dart => exchange_currency_selection_view.dart} (74%) delete mode 100644 lib/pages/exchange_view/exchange_coin_selection/fixed_rate_pair_coin_selection_view.dart create mode 100644 lib/providers/exchange/available_majesticbank_currencies_provider.dart create mode 100644 lib/services/exchange/TMP.dart create mode 100644 lib/services/exchange/exchange_service.dart diff --git a/lib/db/main_db.dart b/lib/db/main_db.dart index 426e9f493..b24664c14 100644 --- a/lib/db/main_db.dart +++ b/lib/db/main_db.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/exceptions/main_db/main_db_exception.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; @@ -30,7 +29,8 @@ class MainDB { AddressSchema, ], directory: (await StackFileSystem.applicationIsarDirectory()).path, - inspector: kDebugMode, + // inspector: kDebugMode, + inspector: false, name: "wallet_data", ); return true; diff --git a/lib/main.dart b/lib/main.dart index e26d983dd..146d090ec 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -43,7 +43,6 @@ import 'package:stackwallet/providers/ui/color_theme_provider.dart'; import 'package:stackwallet/route_generator.dart'; // import 'package:stackwallet/services/buy/buy_data_loading_service.dart'; import 'package:stackwallet/services/debug_service.dart'; -import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/services/locale_service.dart'; import 'package:stackwallet/services/node_service.dart'; @@ -291,11 +290,16 @@ class _MaterialAppWithThemeState extends ConsumerState // TODO: this should probably run unawaited. Keep commented out for now as proper community nodes ui hasn't been implemented yet // unawaited(_nodeService.updateCommunityNodes()); + print("================================================"); + print("${ref.read(prefsChangeNotifierProvider).externalCalls}"); + print("${await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()}"); + print("================================================"); // run without awaiting if (ref.read(prefsChangeNotifierProvider).externalCalls && await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()) { if (Constants.enableExchange) { - unawaited(ExchangeDataLoadingService().loadAll(ref)); + await ExchangeDataLoadingService.instance.init(); + unawaited(ExchangeDataLoadingService.instance.loadAll()); } // if (Constants.enableBuy) { // unawaited(BuyDataLoadingService().loadAll(ref)); @@ -328,7 +332,6 @@ class _MaterialAppWithThemeState extends ConsumerState @override void initState() { - ref.read(exchangeFormStateProvider).exchange = ChangeNowExchange(); final colorScheme = DB.instance .get(boxName: DB.boxNameTheme, key: "colorScheme") as String?; diff --git a/lib/models/exchange/change_now/cn_available_currencies.dart b/lib/models/exchange/change_now/cn_available_currencies.dart index aaf6a5d05..b8471d33f 100644 --- a/lib/models/exchange/change_now/cn_available_currencies.dart +++ b/lib/models/exchange/change_now/cn_available_currencies.dart @@ -1,6 +1,6 @@ -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; class CNAvailableCurrencies { final List currencies = []; diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 86be9b34a..c82d5e24f 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -1,113 +1,571 @@ +// import 'package:decimal/decimal.dart'; +// import 'package:flutter/cupertino.dart'; +// import 'package:flutter/material.dart'; +// import 'package:stackwallet/models/exchange/response_objects/currency.dart'; +// import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; +// import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; +// import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; +// import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; +// import 'package:stackwallet/services/exchange/exchange.dart'; +// // import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; +// import 'package:stackwallet/utilities/logger.dart'; +// +// class ExchangeFormState extends ChangeNotifier { +// Exchange? _exchange; +// Exchange? get exchange => _exchange; +// set exchange(Exchange? value) { +// _exchange = value; +// _onExchangeTypeChanged(); +// } +// +// ExchangeRateType _exchangeType = ExchangeRateType.estimated; +// ExchangeRateType get exchangeType => _exchangeType; +// set exchangeType(ExchangeRateType value) { +// _exchangeType = value; +// _onExchangeRateTypeChanged(); +// } +// +// bool reversed = false; +// +// Decimal? fromAmount; +// Decimal? toAmount; +// +// Decimal? minAmount; +// Decimal? maxAmount; +// +// Decimal? rate; +// Estimate? estimate; +// +// FixedRateMarket? _market; +// FixedRateMarket? get market => _market; +// +// Currency? _from; +// Currency? _to; +// +// @override +// String toString() { +// return 'ExchangeFormState: {_exchange: $_exchange, _exchangeType: $_exchangeType, reversed: $reversed, fromAmount: $fromAmount, toAmount: $toAmount, minAmount: $minAmount, maxAmount: $maxAmount, rate: $rate, estimate: $estimate, _market: $_market, _from: $_from, _to: $_to, _onError: $_onError}'; +// } +// +// String? get fromTicker { +// switch (exchangeType) { +// case ExchangeRateType.estimated: +// return _from?.ticker; +// case ExchangeRateType.fixed: +// switch (exchange?.name) { +// // case SimpleSwapExchange.exchangeName: +// // return _from?.ticker; +// case ChangeNowExchange.exchangeName: +// return market?.from; +// default: +// return null; +// } +// } +// } +// +// String? get toTicker { +// switch (exchangeType) { +// case ExchangeRateType.estimated: +// return _to?.ticker; +// case ExchangeRateType.fixed: +// switch (exchange?.name) { +// // case SimpleSwapExchange.exchangeName: +// // return _to?.ticker; +// case ChangeNowExchange.exchangeName: +// return market?.to; +// default: +// return null; +// } +// } +// } +// +// void Function(String)? _onError; +// +// Currency? get from => _from; +// Currency? get to => _to; +// +// void setCurrencies(Currency from, Currency to) { +// _from = from; +// _to = to; +// } +// +// String get warning { +// if (reversed) { +// if (toTicker != null && toAmount != null) { +// if (minAmount != null && +// toAmount! < minAmount! && +// toAmount! > Decimal.zero) { +// return "Minimum amount ${minAmount!.toString()} ${toTicker!.toUpperCase()}"; +// } else if (maxAmount != null && toAmount! > maxAmount!) { +// return "Maximum amount ${maxAmount!.toString()} ${toTicker!.toUpperCase()}"; +// } +// } +// } else { +// if (fromTicker != null && fromAmount != null) { +// if (minAmount != null && +// fromAmount! < minAmount! && +// fromAmount! > Decimal.zero) { +// return "Minimum amount ${minAmount!.toString()} ${fromTicker!.toUpperCase()}"; +// } else if (maxAmount != null && fromAmount! > maxAmount!) { +// return "Maximum amount ${maxAmount!.toString()} ${fromTicker!.toUpperCase()}"; +// } +// } +// } +// +// return ""; +// } +// +// String get fromAmountString => fromAmount?.toStringAsFixed(8) ?? ""; +// String get toAmountString => toAmount?.toStringAsFixed(8) ?? ""; +// +// bool get canExchange { +// if (exchange?.name == ChangeNowExchange.exchangeName && +// exchangeType == ExchangeRateType.fixed) { +// return _market != null && +// fromAmount != null && +// toAmount != null && +// warning.isEmpty; +// } else { +// return fromAmount != null && +// fromAmount != Decimal.zero && +// toAmount != null && +// rate != null && +// warning.isEmpty; +// } +// } +// +// void clearAmounts(bool shouldNotifyListeners) { +// fromAmount = null; +// toAmount = null; +// minAmount = null; +// maxAmount = null; +// rate = null; +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future setFromAmountAndCalculateToAmount( +// Decimal newFromAmount, +// bool shouldNotifyListeners, +// ) async { +// if (newFromAmount == Decimal.zero) { +// toAmount = Decimal.zero; +// } +// +// fromAmount = newFromAmount; +// reversed = false; +// +// await updateRanges(shouldNotifyListeners: false); +// +// await updateEstimate( +// shouldNotifyListeners: false, +// reversed: reversed, +// ); +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future setToAmountAndCalculateFromAmount( +// Decimal newToAmount, +// bool shouldNotifyListeners, +// ) async { +// if (newToAmount == Decimal.zero) { +// fromAmount = Decimal.zero; +// } +// +// toAmount = newToAmount; +// reversed = true; +// +// await updateRanges(shouldNotifyListeners: false); +// +// await updateEstimate( +// shouldNotifyListeners: false, +// reversed: reversed, +// ); +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future updateTo(Currency to, bool shouldNotifyListeners) async { +// try { +// _to = to; +// if (_from == null) { +// rate = null; +// notifyListeners(); +// return; +// } +// +// await updateRanges(shouldNotifyListeners: false); +// +// await updateEstimate( +// shouldNotifyListeners: false, +// reversed: reversed, +// ); +// +// //todo: check if print needed +// // debugPrint( +// // "_updated TO: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange"); +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } catch (e, s) { +// Logging.instance.log("$e\n$s", level: LogLevel.Error); +// } +// } +// +// Future updateFrom(Currency from, bool shouldNotifyListeners) async { +// try { +// _from = from; +// +// if (_to == null) { +// rate = null; +// notifyListeners(); +// return; +// } +// +// await updateRanges(shouldNotifyListeners: false); +// +// await updateEstimate( +// shouldNotifyListeners: false, +// reversed: reversed, +// ); +// +// //todo: check if print needed +// // debugPrint( +// // "_updated FROM: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange"); +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } catch (e, s) { +// Logging.instance.log("$e\n$s", level: LogLevel.Error); +// } +// } +// +// Future updateMarket( +// FixedRateMarket? market, +// bool shouldNotifyListeners, +// ) async { +// _market = market; +// +// if (_market == null) { +// fromAmount = null; +// toAmount = null; +// } else { +// if (fromAmount != null) { +// if (fromAmount! <= Decimal.zero) { +// toAmount = Decimal.zero; +// } else { +// await updateRanges(shouldNotifyListeners: false); +// await updateEstimate( +// shouldNotifyListeners: false, +// reversed: reversed, +// ); +// } +// } +// } +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// void _onExchangeRateTypeChanged() { +// print("_onExchangeRateTypeChanged"); +// updateRanges(shouldNotifyListeners: true).then( +// (_) => updateEstimate( +// shouldNotifyListeners: true, +// reversed: reversed, +// ), +// ); +// } +// +// void _onExchangeTypeChanged() { +// updateRanges(shouldNotifyListeners: true).then( +// (_) => updateEstimate( +// shouldNotifyListeners: true, +// reversed: reversed, +// ), +// ); +// } +// +// Future updateRanges({required bool shouldNotifyListeners}) async { +// // if (exchange?.name == SimpleSwapExchange.exchangeName) { +// // reversed = false; +// // } +// final _fromTicker = reversed ? toTicker : fromTicker; +// final _toTicker = reversed ? fromTicker : toTicker; +// if (_fromTicker == null || _toTicker == null) { +// Logging.instance.log( +// "Tried to $runtimeType.updateRanges where (from: $_fromTicker || to: $_toTicker) for: $exchange", +// level: LogLevel.Info, +// ); +// return; +// } +// final response = await exchange?.getRange( +// _fromTicker, +// _toTicker, +// exchangeType == ExchangeRateType.fixed, +// ); +// +// if (response?.value == null) { +// Logging.instance.log( +// "Tried to $runtimeType.updateRanges for: $exchange where response: $response", +// level: LogLevel.Info, +// ); +// return; +// } +// +// final range = response!.value!; +// +// minAmount = range.min; +// maxAmount = range.max; +// +// //todo: check if print needed +// // debugPrint( +// // "updated range for: $exchange for $_fromTicker-$_toTicker: $range"); +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future updateEstimate({ +// required bool shouldNotifyListeners, +// required bool reversed, +// }) async { +// // if (exchange?.name == SimpleSwapExchange.exchangeName) { +// // reversed = false; +// // } +// final amount = reversed ? toAmount : fromAmount; +// if (fromTicker == null || +// toTicker == null || +// amount == null || +// amount <= Decimal.zero) { +// Logging.instance.log( +// "Tried to $runtimeType.updateEstimate for: $exchange where (from: $fromTicker || to: $toTicker || amount: $amount)", +// level: LogLevel.Info, +// ); +// return; +// } +// final response = await exchange?.getEstimate( +// fromTicker!, +// toTicker!, +// amount, +// exchangeType == ExchangeRateType.fixed, +// reversed, +// ); +// +// if (response?.value == null) { +// Logging.instance.log( +// "Tried to $runtimeType.updateEstimate for: $exchange where response: $response", +// level: LogLevel.Info, +// ); +// return; +// } +// +// estimate = response!.value!; +// +// if (reversed) { +// fromAmount = estimate!.estimatedAmount; +// } else { +// toAmount = estimate!.estimatedAmount; +// } +// +// rate = (toAmount! / fromAmount!).toDecimal(scaleOnInfinitePrecision: 12); +// +// //todo: check if print needed +// // debugPrint( +// // "updated estimate for: $exchange for $fromTicker-$toTicker: $estimate"); +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// void setOnError({ +// required void Function(String)? onError, +// bool shouldNotifyListeners = false, +// }) { +// _onError = onError; +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future swap({FixedRateMarket? market}) async { +// final Decimal? newToAmount = fromAmount; +// final Decimal? newFromAmount = toAmount; +// +// fromAmount = newFromAmount; +// toAmount = newToAmount; +// +// minAmount = null; +// maxAmount = null; +// +// if (exchangeType == ExchangeRateType.fixed && +// exchange?.name == ChangeNowExchange.exchangeName) { +// await updateMarket(market, false); +// } else { +// final Currency? newTo = from; +// final Currency? newFrom = to; +// +// _to = newTo; +// _from = newFrom; +// +// await updateRanges(shouldNotifyListeners: false); +// +// await updateEstimate( +// shouldNotifyListeners: false, +// reversed: reversed, +// ); +// } +// +// notifyListeners(); +// } +// } + import 'package:decimal/decimal.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; +import 'package:flutter/foundation.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; -import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; -// import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; class ExchangeFormState extends ChangeNotifier { + ExchangeFormState(this.exchangeRateType); + final ExchangeRateType exchangeRateType; + Exchange? _exchange; - Exchange? get exchange => _exchange; - set exchange(Exchange? value) { + Exchange get exchange => _exchange ??= Exchange.defaultExchange; + set exchange(Exchange value) { _exchange = value; - _onExchangeTypeChanged(); + _updateRangesAndEstimate( + shouldNotifyListeners: true, + ); } - ExchangeRateType _exchangeType = ExchangeRateType.estimated; - ExchangeRateType get exchangeType => _exchangeType; - set exchangeType(ExchangeRateType value) { - _exchangeType = value; - _onExchangeRateTypeChanged(); + Estimate? _estimate; + Estimate? get estimate => _estimate; + + bool _reversed = false; + bool get reversed => _reversed; + set reversed(bool reversed) { + _reversed = reversed; + // } - bool reversed = false; + Decimal? _rate; + Decimal? get rate => _rate; + // set rate(Decimal? rate) { + // _rate = rate; + // // + // } - Decimal? fromAmount; - Decimal? toAmount; + Decimal? _sendAmount; + Decimal? get sendAmount => _sendAmount; + // set sendAmount(Decimal? sendAmount) { + // _sendAmount = sendAmount; + // // + // } - Decimal? minAmount; - Decimal? maxAmount; - - Decimal? rate; - Estimate? estimate; - - FixedRateMarket? _market; - FixedRateMarket? get market => _market; - - Currency? _from; - Currency? _to; - - @override - String toString() { - return 'ExchangeFormState: {_exchange: $_exchange, _exchangeType: $_exchangeType, reversed: $reversed, fromAmount: $fromAmount, toAmount: $toAmount, minAmount: $minAmount, maxAmount: $maxAmount, rate: $rate, estimate: $estimate, _market: $_market, _from: $_from, _to: $_to, _onError: $_onError}'; + Decimal? _receiveAmount; + Decimal? get receiveAmount => _receiveAmount; + set receiveAmount(Decimal? receiveAmount) { + _receiveAmount = receiveAmount; + // } - String? get fromTicker { - switch (exchangeType) { - case ExchangeRateType.estimated: - return _from?.ticker; - case ExchangeRateType.fixed: - switch (exchange?.name) { - // case SimpleSwapExchange.exchangeName: - // return _from?.ticker; - case ChangeNowExchange.exchangeName: - return market?.from; - default: - return null; - } - } - } + Currency? _sendCurrency; + Currency? get sendCurrency => _sendCurrency; + // set sendCurrency(Currency? sendCurrency) { + // _sendCurrency = sendCurrency; + // // + // } - String? get toTicker { - switch (exchangeType) { - case ExchangeRateType.estimated: - return _to?.ticker; - case ExchangeRateType.fixed: - switch (exchange?.name) { - // case SimpleSwapExchange.exchangeName: - // return _to?.ticker; - case ChangeNowExchange.exchangeName: - return market?.to; - default: - return null; - } - } - } + Currency? _receiveCurrency; + Currency? get receiveCurrency => _receiveCurrency; + // set receiveCurrency(Currency? receiveCurrency) { + // _receiveCurrency = receiveCurrency; + // // + // } - void Function(String)? _onError; + Decimal? _minSendAmount; + Decimal? get minSendAmount => _minSendAmount; + // set minSendAmount(Decimal? minSendAmount) { + // _minSendAmount = minSendAmount; + // // + // } - Currency? get from => _from; - Currency? get to => _to; + Decimal? _minReceiveAmount; + Decimal? get minReceiveAmount => _minReceiveAmount; + // set minReceiveAmount(Decimal? minReceiveAmount) { + // _minReceiveAmount = minReceiveAmount; + // // + // } - void setCurrencies(Currency from, Currency to) { - _from = from; - _to = to; + Decimal? _maxSendAmount; + Decimal? get maxSendAmount => _maxSendAmount; + // set maxSendAmount(Decimal? maxSendAmount) { + // _maxSendAmount = maxSendAmount; + // // + // } + + Decimal? _maxReceiveAmount; + Decimal? get maxReceiveAmount => _maxReceiveAmount; + // set maxReceiveAmount(Decimal? maxReceiveAmount) { + // _maxReceiveAmount = maxReceiveAmount; + // // + // } + + //============================================================================ + // computed properties + //============================================================================ + + String? get fromTicker => _sendCurrency?.ticker; + String? get toTicker => _receiveCurrency?.ticker; + + String get fromAmountString => _sendAmount?.toStringAsFixed(8) ?? ""; + String get toAmountString => _receiveAmount?.toStringAsFixed(8) ?? ""; + + bool get canExchange { + return sendCurrency != null && + receiveCurrency != null && + sendAmount != null && + sendAmount! >= Decimal.zero && + receiveAmount != null && + rate != null && + rate! >= Decimal.zero && + warning.isEmpty; } String get warning { if (reversed) { - if (toTicker != null && toAmount != null) { - if (minAmount != null && - toAmount! < minAmount! && - toAmount! > Decimal.zero) { - return "Minimum amount ${minAmount!.toString()} ${toTicker!.toUpperCase()}"; - } else if (maxAmount != null && toAmount! > maxAmount!) { - return "Maximum amount ${maxAmount!.toString()} ${toTicker!.toUpperCase()}"; + if (_receiveCurrency != null && _receiveAmount != null) { + if (_minReceiveAmount != null && + _receiveAmount! < _minReceiveAmount! && + _receiveAmount! > Decimal.zero) { + return "Minimum amount ${_minReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; + } else if (_maxReceiveAmount != null && + _receiveAmount! > _maxReceiveAmount!) { + return "Maximum amount ${_maxReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; } } } else { - if (fromTicker != null && fromAmount != null) { - if (minAmount != null && - fromAmount! < minAmount! && - fromAmount! > Decimal.zero) { - return "Minimum amount ${minAmount!.toString()} ${fromTicker!.toUpperCase()}"; - } else if (maxAmount != null && fromAmount! > maxAmount!) { - return "Maximum amount ${maxAmount!.toString()} ${fromTicker!.toUpperCase()}"; + if (_sendCurrency != null && _sendAmount != null) { + if (_minSendAmount != null && + _sendAmount! < _minSendAmount! && + _sendAmount! > Decimal.zero) { + return "Minimum amount ${_minSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; + } else if (_maxSendAmount != null && _sendAmount! > _maxSendAmount!) { + return "Maximum amount ${_maxSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; } } } @@ -115,160 +573,80 @@ class ExchangeFormState extends ChangeNotifier { return ""; } - String get fromAmountString => fromAmount?.toStringAsFixed(8) ?? ""; - String get toAmountString => toAmount?.toStringAsFixed(8) ?? ""; + //============================================================================ + // public state updaters + //============================================================================ - bool get canExchange { - if (exchange?.name == ChangeNowExchange.exchangeName && - exchangeType == ExchangeRateType.fixed) { - return _market != null && - fromAmount != null && - toAmount != null && - warning.isEmpty; - } else { - return fromAmount != null && - fromAmount != Decimal.zero && - toAmount != null && - rate != null && - warning.isEmpty; - } + void setCurrencies(Currency from, Currency to) { + _sendCurrency = from; + _receiveCurrency = to; } - void clearAmounts(bool shouldNotifyListeners) { - fromAmount = null; - toAmount = null; - minAmount = null; - maxAmount = null; - rate = null; + void reset({ + required bool shouldNotifyListeners, + }) { + _exchange = null; + _reversed = false; + _rate = null; + _sendAmount = null; + _receiveAmount = null; + _sendCurrency = null; + _receiveCurrency = null; + _minSendAmount = null; + _minReceiveAmount = null; + _maxSendAmount = null; + _maxReceiveAmount = null; if (shouldNotifyListeners) { notifyListeners(); } } - Future setFromAmountAndCalculateToAmount( - Decimal newFromAmount, + Future setSendAmountAndCalculateReceiveAmount( + Decimal? newSendAmount, bool shouldNotifyListeners, ) async { - if (newFromAmount == Decimal.zero) { - toAmount = Decimal.zero; + if (newSendAmount == null) { + // todo: check if this breaks things and stuff + _receiveAmount = null; + _sendAmount = null; + } else { + if (newSendAmount <= Decimal.zero) { + _receiveAmount = Decimal.zero; + } + + _sendAmount = newSendAmount; + _reversed = false; + + await _updateRangesAndEstimate( + shouldNotifyListeners: false, + ); } - fromAmount = newFromAmount; - reversed = false; - - await updateRanges(shouldNotifyListeners: false); - - await updateEstimate( - shouldNotifyListeners: false, - reversed: reversed, - ); - if (shouldNotifyListeners) { notifyListeners(); } } Future setToAmountAndCalculateFromAmount( - Decimal newToAmount, + Decimal? newReceiveAmount, bool shouldNotifyListeners, ) async { - if (newToAmount == Decimal.zero) { - fromAmount = Decimal.zero; - } - - toAmount = newToAmount; - reversed = true; - - await updateRanges(shouldNotifyListeners: false); - - await updateEstimate( - shouldNotifyListeners: false, - reversed: reversed, - ); - - if (shouldNotifyListeners) { - notifyListeners(); - } - } - - Future updateTo(Currency to, bool shouldNotifyListeners) async { - try { - _to = to; - if (_from == null) { - rate = null; - notifyListeners(); - return; - } - - await updateRanges(shouldNotifyListeners: false); - - await updateEstimate( - shouldNotifyListeners: false, - reversed: reversed, - ); - - //todo: check if print needed - // debugPrint( - // "_updated TO: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange"); - - if (shouldNotifyListeners) { - notifyListeners(); - } - } catch (e, s) { - Logging.instance.log("$e\n$s", level: LogLevel.Error); - } - } - - Future updateFrom(Currency from, bool shouldNotifyListeners) async { - try { - _from = from; - - if (_to == null) { - rate = null; - notifyListeners(); - return; - } - - await updateRanges(shouldNotifyListeners: false); - - await updateEstimate( - shouldNotifyListeners: false, - reversed: reversed, - ); - - //todo: check if print needed - // debugPrint( - // "_updated FROM: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange"); - if (shouldNotifyListeners) { - notifyListeners(); - } - } catch (e, s) { - Logging.instance.log("$e\n$s", level: LogLevel.Error); - } - } - - Future updateMarket( - FixedRateMarket? market, - bool shouldNotifyListeners, - ) async { - _market = market; - - if (_market == null) { - fromAmount = null; - toAmount = null; + if (newReceiveAmount == null) { + // todo: check if this breaks things and stuff + _receiveAmount = null; + _sendAmount = null; } else { - if (fromAmount != null) { - if (fromAmount! <= Decimal.zero) { - toAmount = Decimal.zero; - } else { - await updateRanges(shouldNotifyListeners: false); - await updateEstimate( - shouldNotifyListeners: false, - reversed: reversed, - ); - } + if (newReceiveAmount <= Decimal.zero) { + _sendAmount = Decimal.zero; } + + _receiveAmount = newReceiveAmount; + _reversed = true; + + await _updateRangesAndEstimate( + shouldNotifyListeners: false, + ); } if (shouldNotifyListeners) { @@ -276,56 +654,137 @@ class ExchangeFormState extends ChangeNotifier { } } - void _onExchangeRateTypeChanged() { - print("_onExchangeRateTypeChanged"); - updateRanges(shouldNotifyListeners: true).then( - (_) => updateEstimate( - shouldNotifyListeners: true, - reversed: reversed, - ), + Future updateFrom( + Currency sendCurrency, + bool shouldNotifyListeners, + ) async { + try { + _sendCurrency = sendCurrency; + if (_receiveCurrency == null) { + _rate = null; + } else { + await _updateRangesAndEstimate( + shouldNotifyListeners: false, + ); + } + } catch (e, s) { + Logging.instance.log("$e\n$s", level: LogLevel.Error); + } + if (shouldNotifyListeners) { + notifyListeners(); + } + } + + Future updateTo( + Currency receiveCurrency, + bool shouldNotifyListeners, + ) async { + try { + _receiveCurrency = receiveCurrency; + + if (_sendCurrency == null) { + _rate = null; + } else { + await _updateRangesAndEstimate( + shouldNotifyListeners: false, + ); + } + } catch (e, s) { + Logging.instance.log("$e\n$s", level: LogLevel.Error); + } + if (shouldNotifyListeners) { + notifyListeners(); + } + } + + Future swap({ + required bool shouldNotifyListeners, + }) async { + final Decimal? temp = sendAmount; + _sendAmount = receiveAmount; + _receiveAmount = temp; + + _minSendAmount = null; + _maxSendAmount = null; + _minReceiveAmount = null; + _maxReceiveAmount = null; + + final Currency? tmp = sendCurrency; + _sendCurrency = receiveCurrency; + _receiveCurrency = tmp; + + await _updateRangesAndEstimate( + shouldNotifyListeners: false, ); } - void _onExchangeTypeChanged() { - updateRanges(shouldNotifyListeners: true).then( - (_) => updateEstimate( - shouldNotifyListeners: true, - reversed: reversed, - ), - ); + //============================================================================ + // private state updaters + //============================================================================ + + Future _updateRangesAndEstimate({ + required bool shouldNotifyListeners, + }) async { + try { + await _updateRanges(shouldNotifyListeners: false); + await _updateEstimate(shouldNotifyListeners: false); + if (shouldNotifyListeners) { + notifyListeners(); + } + } catch (_) { + // + } } - Future updateRanges({required bool shouldNotifyListeners}) async { + Future _updateRanges({ + required bool shouldNotifyListeners, + }) async { // if (exchange?.name == SimpleSwapExchange.exchangeName) { // reversed = false; // } - final _fromTicker = reversed ? toTicker : fromTicker; - final _toTicker = reversed ? fromTicker : toTicker; - if (_fromTicker == null || _toTicker == null) { + final _send = sendCurrency; + final _receive = receiveCurrency; + if (_send == null || _receive == null) { Logging.instance.log( - "Tried to $runtimeType.updateRanges where (from: $_fromTicker || to: $_toTicker) for: $exchange", + "Tried to $runtimeType.updateRanges where ( $_send || $_receive) for: $exchange", level: LogLevel.Info, ); return; } - final response = await exchange?.getRange( - _fromTicker, - _toTicker, - exchangeType == ExchangeRateType.fixed, + final response = await exchange.getRange( + _send.ticker, + _receive.ticker, + exchangeRateType == ExchangeRateType.fixed, ); - if (response?.value == null) { + if (response.value == null) { Logging.instance.log( "Tried to $runtimeType.updateRanges for: $exchange where response: $response", level: LogLevel.Info, ); return; } + final responseReversed = await exchange.getRange( + _receive.ticker, + _send.ticker, + exchangeRateType == ExchangeRateType.fixed, + ); - final range = response!.value!; + if (responseReversed.value == null) { + Logging.instance.log( + "Tried to $runtimeType.updateRanges for: $exchange where response: $responseReversed", + level: LogLevel.Info, + ); + return; + } - minAmount = range.min; - maxAmount = range.max; + final range = response.value!; + final rangeReversed = responseReversed.value!; + + _minSendAmount = range.min; + _maxSendAmount = range.max; + _minReceiveAmount = rangeReversed.min; + _maxReceiveAmount = rangeReversed.max; //todo: check if print needed // debugPrint( @@ -336,33 +795,32 @@ class ExchangeFormState extends ChangeNotifier { } } - Future updateEstimate({ + Future _updateEstimate({ required bool shouldNotifyListeners, - required bool reversed, }) async { // if (exchange?.name == SimpleSwapExchange.exchangeName) { // reversed = false; // } - final amount = reversed ? toAmount : fromAmount; - if (fromTicker == null || - toTicker == null || + final amount = reversed ? receiveAmount : sendAmount; + if (sendCurrency == null || + receiveCurrency == null || amount == null || amount <= Decimal.zero) { Logging.instance.log( - "Tried to $runtimeType.updateEstimate for: $exchange where (from: $fromTicker || to: $toTicker || amount: $amount)", + "Tried to $runtimeType.updateEstimate for: $exchange where (from: $sendCurrency || to: $receiveCurrency || amount: $amount)", level: LogLevel.Info, ); return; } - final response = await exchange?.getEstimate( - fromTicker!, - toTicker!, + final response = await exchange.getEstimate( + sendCurrency!.ticker, + receiveCurrency!.ticker, amount, - exchangeType == ExchangeRateType.fixed, + exchangeRateType == ExchangeRateType.fixed, reversed, ); - if (response?.value == null) { + if (response.value == null) { Logging.instance.log( "Tried to $runtimeType.updateEstimate for: $exchange where response: $response", level: LogLevel.Info, @@ -370,15 +828,16 @@ class ExchangeFormState extends ChangeNotifier { return; } - estimate = response!.value!; + _estimate = response.value!; if (reversed) { - fromAmount = estimate!.estimatedAmount; + _sendAmount = _estimate!.estimatedAmount; } else { - toAmount = estimate!.estimatedAmount; + _receiveAmount = _estimate!.estimatedAmount; } - rate = (toAmount! / fromAmount!).toDecimal(scaleOnInfinitePrecision: 12); + _rate = + (receiveAmount! / sendAmount!).toDecimal(scaleOnInfinitePrecision: 12); //todo: check if print needed // debugPrint( @@ -388,45 +847,4 @@ class ExchangeFormState extends ChangeNotifier { notifyListeners(); } } - - void setOnError({ - required void Function(String)? onError, - bool shouldNotifyListeners = false, - }) { - _onError = onError; - if (shouldNotifyListeners) { - notifyListeners(); - } - } - - Future swap({FixedRateMarket? market}) async { - final Decimal? newToAmount = fromAmount; - final Decimal? newFromAmount = toAmount; - - fromAmount = newFromAmount; - toAmount = newToAmount; - - minAmount = null; - maxAmount = null; - - if (exchangeType == ExchangeRateType.fixed && - exchange?.name == ChangeNowExchange.exchangeName) { - await updateMarket(market, false); - } else { - final Currency? newTo = from; - final Currency? newFrom = to; - - _to = newTo; - _from = newFrom; - - await updateRanges(shouldNotifyListeners: false); - - await updateEstimate( - shouldNotifyListeners: false, - reversed: reversed, - ); - } - - notifyListeners(); - } } diff --git a/lib/models/exchange/majestic_bank/mb_available_currencies.dart b/lib/models/exchange/majestic_bank/mb_available_currencies.dart new file mode 100644 index 000000000..83a6145e5 --- /dev/null +++ b/lib/models/exchange/majestic_bank/mb_available_currencies.dart @@ -0,0 +1,30 @@ +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; + +class MBAvailableCurrencies { + final List currencies = []; + // final List fixedRateCurrencies = []; + + final List pairs = []; + // final List fixedRatePairs = []; + + // void updateFloatingCurrencies(List newCurrencies) { + // floatingRateCurrencies.clear(); + // floatingRateCurrencies.addAll(newCurrencies); + // } + + void updateCurrencies(List newCurrencies) { + currencies.clear(); + currencies.addAll(newCurrencies); + } + + // void updateFloatingPairs(List newPairs) { + // floatingRatePairs.clear(); + // floatingRatePairs.addAll(newPairs); + // } + + void updatePairs(List newPairs) { + pairs.clear(); + pairs.addAll(newPairs); + } +} diff --git a/lib/models/exchange/simpleswap/sp_available_currencies.dart b/lib/models/exchange/simpleswap/sp_available_currencies.dart index 787ad88ab..1db9f8625 100644 --- a/lib/models/exchange/simpleswap/sp_available_currencies.dart +++ b/lib/models/exchange/simpleswap/sp_available_currencies.dart @@ -1,5 +1,5 @@ -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; class SPAvailableCurrencies { final List floatingRateCurrencies = []; diff --git a/lib/models/exchange/response_objects/currency.dart b/lib/models/isar/exchange_cache/currency.dart similarity index 56% rename from lib/models/exchange/response_objects/currency.dart rename to lib/models/isar/exchange_cache/currency.dart index 0850f9a38..5f9b2992f 100644 --- a/lib/models/exchange/response_objects/currency.dart +++ b/lib/models/isar/exchange_cache/currency.dart @@ -1,5 +1,20 @@ +import 'package:isar/isar.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; + +part 'currency.g.dart'; + +@Collection(accessor: "currencies") class Currency { + Id? id; + + @Index() + final String exchangeName; + /// Currency ticker + @Index(composite: [ + CompositeIndex("exchangeName"), + CompositeIndex("name"), + ]) final String ticker; /// Currency name @@ -11,57 +26,62 @@ class Currency { /// Currency logo url final String image; - /// Indicates if a currency has an Extra ID - final bool hasExternalId; - /// external id if it exists final String? externalId; /// Indicates if a currency is a fiat currency (EUR, USD) final bool isFiat; - /// Indicates if a currency is popular - final bool featured; - - /// Indicates if a currency is stable - final bool isStable; + /// Indicates if a currency is available on a fixed-rate flow + @Index() + final bool supportsFixedRate; /// Indicates if a currency is available on a fixed-rate flow - final bool supportsFixedRate; + @Index() + final bool supportsEstimatedRate; /// (Optional - based on api call) Indicates whether the pair is /// currently supported by change now final bool? isAvailable; + @Index() + final bool isStackCoin; + Currency({ + required this.exchangeName, required this.ticker, required this.name, required this.network, required this.image, - required this.hasExternalId, this.externalId, required this.isFiat, - required this.featured, - required this.isStable, required this.supportsFixedRate, + required this.supportsEstimatedRate, this.isAvailable, + required this.isStackCoin, }); - factory Currency.fromJson(Map json) { + factory Currency.fromJson( + Map json, { + required String exchangeName, + }) { try { + final ticker = (json["ticker"] as String).toUpperCase(); + return Currency( - ticker: json["ticker"] as String, + exchangeName: exchangeName, + ticker: ticker, name: json["name"] as String, network: json["network"] as String? ?? "", image: json["image"] as String, - hasExternalId: json["hasExternalId"] as bool, externalId: json["externalId"] as String?, isFiat: json["isFiat"] as bool, - featured: json["featured"] as bool, - isStable: json["isStable"] as bool, supportsFixedRate: json["supportsFixedRate"] as bool, + supportsEstimatedRate: json["supportsEstimatedRate"] as bool, isAvailable: json["isAvailable"] as bool?, - ); + isStackCoin: + json["isStackCoin"] as bool? ?? Currency.checkIsStackCoin(ticker), + )..id = json["id"] as int?; } catch (e) { rethrow; } @@ -69,55 +89,64 @@ class Currency { Map toJson() { final map = { + "id": id, + "exchangeName": exchangeName, "ticker": ticker, "name": name, "network": network, "image": image, - "hasExternalId": hasExternalId, "externalId": externalId, "isFiat": isFiat, - "featured": featured, - "isStable": isStable, "supportsFixedRate": supportsFixedRate, + "supportsEstimatedRate": supportsEstimatedRate, + "isAvailable": isAvailable, + "isStackCoin": isStackCoin, }; - if (isAvailable != null) { - map["isAvailable"] = isAvailable!; - } - return map; } Currency copyWith({ + Id? id, + String? exchangeName, String? ticker, String? name, String? network, String? image, - bool? hasExternalId, String? externalId, bool? isFiat, - bool? featured, - bool? isStable, bool? supportsFixedRate, + bool? supportsEstimatedRate, bool? isAvailable, + bool? isStackCoin, }) { return Currency( + exchangeName: exchangeName ?? this.exchangeName, ticker: ticker ?? this.ticker, name: name ?? this.name, network: network ?? this.network, image: image ?? this.image, - hasExternalId: hasExternalId ?? this.hasExternalId, externalId: externalId ?? this.externalId, isFiat: isFiat ?? this.isFiat, - featured: featured ?? this.featured, - isStable: isStable ?? this.isStable, supportsFixedRate: supportsFixedRate ?? this.supportsFixedRate, + supportsEstimatedRate: + supportsEstimatedRate ?? this.supportsEstimatedRate, isAvailable: isAvailable ?? this.isAvailable, - ); + isStackCoin: isStackCoin ?? this.isStackCoin, + )..id = id ?? this.id; } @override String toString() { return "Currency: ${toJson()}"; } + + static bool checkIsStackCoin(String ticker) { + try { + coinFromTickerCaseInsensitive(ticker); + return true; + } catch (_) { + return false; + } + } } diff --git a/lib/models/isar/exchange_cache/currency.g.dart b/lib/models/isar/exchange_cache/currency.g.dart new file mode 100644 index 000000000..43940dcef --- /dev/null +++ b/lib/models/isar/exchange_cache/currency.g.dart @@ -0,0 +1,2070 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'currency.dart'; + +// ************************************************************************** +// IsarCollectionGenerator +// ************************************************************************** + +// coverage:ignore-file +// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters + +extension GetCurrencyCollection on Isar { + IsarCollection get currencies => this.collection(); +} + +const CurrencySchema = CollectionSchema( + name: r'Currency', + id: 8290149502090171821, + properties: { + r'exchangeName': PropertySchema( + id: 0, + name: r'exchangeName', + type: IsarType.string, + ), + r'externalId': PropertySchema( + id: 1, + name: r'externalId', + type: IsarType.string, + ), + r'image': PropertySchema( + id: 2, + name: r'image', + type: IsarType.string, + ), + r'isAvailable': PropertySchema( + id: 3, + name: r'isAvailable', + type: IsarType.bool, + ), + r'isFiat': PropertySchema( + id: 4, + name: r'isFiat', + type: IsarType.bool, + ), + r'isStackCoin': PropertySchema( + id: 5, + name: r'isStackCoin', + type: IsarType.bool, + ), + r'name': PropertySchema( + id: 6, + name: r'name', + type: IsarType.string, + ), + r'network': PropertySchema( + id: 7, + name: r'network', + type: IsarType.string, + ), + r'supportsEstimatedRate': PropertySchema( + id: 8, + name: r'supportsEstimatedRate', + type: IsarType.bool, + ), + r'supportsFixedRate': PropertySchema( + id: 9, + name: r'supportsFixedRate', + type: IsarType.bool, + ), + r'ticker': PropertySchema( + id: 10, + name: r'ticker', + type: IsarType.string, + ) + }, + estimateSize: _currencyEstimateSize, + serialize: _currencySerialize, + deserialize: _currencyDeserialize, + deserializeProp: _currencyDeserializeProp, + idName: r'id', + indexes: { + r'exchangeName': IndexSchema( + id: 3599278165711581955, + name: r'exchangeName', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'exchangeName', + type: IndexType.hash, + caseSensitive: true, + ) + ], + ), + r'ticker_exchangeName_name': IndexSchema( + id: 6345943517929964748, + name: r'ticker_exchangeName_name', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'ticker', + type: IndexType.hash, + caseSensitive: true, + ), + IndexPropertySchema( + name: r'exchangeName', + type: IndexType.hash, + caseSensitive: true, + ), + IndexPropertySchema( + name: r'name', + type: IndexType.hash, + caseSensitive: true, + ) + ], + ), + r'supportsFixedRate': IndexSchema( + id: 444054599534256333, + name: r'supportsFixedRate', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'supportsFixedRate', + type: IndexType.value, + caseSensitive: false, + ) + ], + ), + r'supportsEstimatedRate': IndexSchema( + id: 4184033449468624530, + name: r'supportsEstimatedRate', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'supportsEstimatedRate', + type: IndexType.value, + caseSensitive: false, + ) + ], + ), + r'isStackCoin': IndexSchema( + id: 1994111521912746776, + name: r'isStackCoin', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'isStackCoin', + type: IndexType.value, + caseSensitive: false, + ) + ], + ) + }, + links: {}, + embeddedSchemas: {}, + getId: _currencyGetId, + getLinks: _currencyGetLinks, + attach: _currencyAttach, + version: '3.0.5', +); + +int _currencyEstimateSize( + Currency object, + List offsets, + Map> allOffsets, +) { + var bytesCount = offsets.last; + bytesCount += 3 + object.exchangeName.length * 3; + { + final value = object.externalId; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } + bytesCount += 3 + object.image.length * 3; + bytesCount += 3 + object.name.length * 3; + bytesCount += 3 + object.network.length * 3; + bytesCount += 3 + object.ticker.length * 3; + return bytesCount; +} + +void _currencySerialize( + Currency object, + IsarWriter writer, + List offsets, + Map> allOffsets, +) { + writer.writeString(offsets[0], object.exchangeName); + writer.writeString(offsets[1], object.externalId); + writer.writeString(offsets[2], object.image); + writer.writeBool(offsets[3], object.isAvailable); + writer.writeBool(offsets[4], object.isFiat); + writer.writeBool(offsets[5], object.isStackCoin); + writer.writeString(offsets[6], object.name); + writer.writeString(offsets[7], object.network); + writer.writeBool(offsets[8], object.supportsEstimatedRate); + writer.writeBool(offsets[9], object.supportsFixedRate); + writer.writeString(offsets[10], object.ticker); +} + +Currency _currencyDeserialize( + Id id, + IsarReader reader, + List offsets, + Map> allOffsets, +) { + final object = Currency( + exchangeName: reader.readString(offsets[0]), + externalId: reader.readStringOrNull(offsets[1]), + image: reader.readString(offsets[2]), + isAvailable: reader.readBoolOrNull(offsets[3]), + isFiat: reader.readBool(offsets[4]), + isStackCoin: reader.readBool(offsets[5]), + name: reader.readString(offsets[6]), + network: reader.readString(offsets[7]), + supportsEstimatedRate: reader.readBool(offsets[8]), + supportsFixedRate: reader.readBool(offsets[9]), + ticker: reader.readString(offsets[10]), + ); + object.id = id; + return object; +} + +P _currencyDeserializeProp

( + IsarReader reader, + int propertyId, + int offset, + Map> allOffsets, +) { + switch (propertyId) { + case 0: + return (reader.readString(offset)) as P; + case 1: + return (reader.readStringOrNull(offset)) as P; + case 2: + return (reader.readString(offset)) as P; + case 3: + return (reader.readBoolOrNull(offset)) as P; + case 4: + return (reader.readBool(offset)) as P; + case 5: + return (reader.readBool(offset)) as P; + case 6: + return (reader.readString(offset)) as P; + case 7: + return (reader.readString(offset)) as P; + case 8: + return (reader.readBool(offset)) as P; + case 9: + return (reader.readBool(offset)) as P; + case 10: + return (reader.readString(offset)) as P; + default: + throw IsarError('Unknown property with id $propertyId'); + } +} + +Id _currencyGetId(Currency object) { + return object.id ?? Isar.autoIncrement; +} + +List> _currencyGetLinks(Currency object) { + return []; +} + +void _currencyAttach(IsarCollection col, Id id, Currency object) { + object.id = id; +} + +extension CurrencyQueryWhereSort on QueryBuilder { + QueryBuilder anyId() { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(const IdWhereClause.any()); + }); + } + + QueryBuilder anySupportsFixedRate() { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + const IndexWhereClause.any(indexName: r'supportsFixedRate'), + ); + }); + } + + QueryBuilder anySupportsEstimatedRate() { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + const IndexWhereClause.any(indexName: r'supportsEstimatedRate'), + ); + }); + } + + QueryBuilder anyIsStackCoin() { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + const IndexWhereClause.any(indexName: r'isStackCoin'), + ); + }); + } +} + +extension CurrencyQueryWhere on QueryBuilder { + QueryBuilder idEqualTo(Id id) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: id, + upper: id, + )); + }); + } + + QueryBuilder idNotEqualTo(Id id) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ) + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ); + } else { + return query + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ) + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ); + } + }); + } + + QueryBuilder idGreaterThan(Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: include), + ); + }); + } + + QueryBuilder idLessThan(Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: include), + ); + }); + } + + QueryBuilder idBetween( + Id lowerId, + Id upperId, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: lowerId, + includeLower: includeLower, + upper: upperId, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder exchangeNameEqualTo( + String exchangeName) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'exchangeName', + value: [exchangeName], + )); + }); + } + + QueryBuilder exchangeNameNotEqualTo( + String exchangeName) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [], + upper: [exchangeName], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [exchangeName], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [exchangeName], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [], + upper: [exchangeName], + includeUpper: false, + )); + } + }); + } + + QueryBuilder + tickerEqualToAnyExchangeNameName(String ticker) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'ticker_exchangeName_name', + value: [ticker], + )); + }); + } + + QueryBuilder + tickerNotEqualToAnyExchangeNameName(String ticker) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [], + upper: [ticker], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [], + upper: [ticker], + includeUpper: false, + )); + } + }); + } + + QueryBuilder + tickerExchangeNameEqualToAnyName(String ticker, String exchangeName) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'ticker_exchangeName_name', + value: [ticker, exchangeName], + )); + }); + } + + QueryBuilder + tickerEqualToExchangeNameNotEqualToAnyName( + String ticker, String exchangeName) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker], + upper: [ticker, exchangeName], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker, exchangeName], + includeLower: false, + upper: [ticker], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker, exchangeName], + includeLower: false, + upper: [ticker], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker], + upper: [ticker, exchangeName], + includeUpper: false, + )); + } + }); + } + + QueryBuilder + tickerExchangeNameNameEqualTo( + String ticker, String exchangeName, String name) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'ticker_exchangeName_name', + value: [ticker, exchangeName, name], + )); + }); + } + + QueryBuilder + tickerExchangeNameEqualToNameNotEqualTo( + String ticker, String exchangeName, String name) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker, exchangeName], + upper: [ticker, exchangeName, name], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker, exchangeName, name], + includeLower: false, + upper: [ticker, exchangeName], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker, exchangeName, name], + includeLower: false, + upper: [ticker, exchangeName], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'ticker_exchangeName_name', + lower: [ticker, exchangeName], + upper: [ticker, exchangeName, name], + includeUpper: false, + )); + } + }); + } + + QueryBuilder supportsFixedRateEqualTo( + bool supportsFixedRate) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'supportsFixedRate', + value: [supportsFixedRate], + )); + }); + } + + QueryBuilder + supportsFixedRateNotEqualTo(bool supportsFixedRate) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsFixedRate', + lower: [], + upper: [supportsFixedRate], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsFixedRate', + lower: [supportsFixedRate], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsFixedRate', + lower: [supportsFixedRate], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsFixedRate', + lower: [], + upper: [supportsFixedRate], + includeUpper: false, + )); + } + }); + } + + QueryBuilder + supportsEstimatedRateEqualTo(bool supportsEstimatedRate) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'supportsEstimatedRate', + value: [supportsEstimatedRate], + )); + }); + } + + QueryBuilder + supportsEstimatedRateNotEqualTo(bool supportsEstimatedRate) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsEstimatedRate', + lower: [], + upper: [supportsEstimatedRate], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsEstimatedRate', + lower: [supportsEstimatedRate], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsEstimatedRate', + lower: [supportsEstimatedRate], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'supportsEstimatedRate', + lower: [], + upper: [supportsEstimatedRate], + includeUpper: false, + )); + } + }); + } + + QueryBuilder isStackCoinEqualTo( + bool isStackCoin) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'isStackCoin', + value: [isStackCoin], + )); + }); + } + + QueryBuilder isStackCoinNotEqualTo( + bool isStackCoin) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'isStackCoin', + lower: [], + upper: [isStackCoin], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'isStackCoin', + lower: [isStackCoin], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'isStackCoin', + lower: [isStackCoin], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'isStackCoin', + lower: [], + upper: [isStackCoin], + includeUpper: false, + )); + } + }); + } +} + +extension CurrencyQueryFilter + on QueryBuilder { + QueryBuilder exchangeNameEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeNameGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'exchangeName', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeNameStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'exchangeName', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeNameIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'exchangeName', + value: '', + )); + }); + } + + QueryBuilder + exchangeNameIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'exchangeName', + value: '', + )); + }); + } + + QueryBuilder externalIdIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'externalId', + )); + }); + } + + QueryBuilder + externalIdIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'externalId', + )); + }); + } + + QueryBuilder externalIdEqualTo( + String? value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'externalId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdGreaterThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'externalId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdLessThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'externalId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdBetween( + String? lower, + String? upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'externalId', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'externalId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'externalId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'externalId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'externalId', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder externalIdIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'externalId', + value: '', + )); + }); + } + + QueryBuilder + externalIdIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'externalId', + value: '', + )); + }); + } + + QueryBuilder idIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'id', + )); + }); + } + + QueryBuilder idIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'id', + )); + }); + } + + QueryBuilder idEqualTo(Id? value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idGreaterThan( + Id? value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idLessThan( + Id? value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idBetween( + Id? lower, + Id? upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'id', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder imageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'image', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'image', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'image', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'image', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'image', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'image', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'image', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'image', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder imageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'image', + value: '', + )); + }); + } + + QueryBuilder imageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'image', + value: '', + )); + }); + } + + QueryBuilder isAvailableIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'isAvailable', + )); + }); + } + + QueryBuilder + isAvailableIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'isAvailable', + )); + }); + } + + QueryBuilder isAvailableEqualTo( + bool? value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'isAvailable', + value: value, + )); + }); + } + + QueryBuilder isFiatEqualTo( + bool value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'isFiat', + value: value, + )); + }); + } + + QueryBuilder isStackCoinEqualTo( + bool value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'isStackCoin', + value: value, + )); + }); + } + + QueryBuilder nameEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'name', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'name', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'name', + value: '', + )); + }); + } + + QueryBuilder nameIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'name', + value: '', + )); + }); + } + + QueryBuilder networkEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'network', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'network', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'network', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'network', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'network', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'network', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'network', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'network', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder networkIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'network', + value: '', + )); + }); + } + + QueryBuilder networkIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'network', + value: '', + )); + }); + } + + QueryBuilder + supportsEstimatedRateEqualTo(bool value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'supportsEstimatedRate', + value: value, + )); + }); + } + + QueryBuilder + supportsFixedRateEqualTo(bool value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'supportsFixedRate', + value: value, + )); + }); + } + + QueryBuilder tickerEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ticker', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ticker', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ticker', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ticker', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'ticker', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'ticker', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'ticker', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'ticker', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder tickerIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ticker', + value: '', + )); + }); + } + + QueryBuilder tickerIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'ticker', + value: '', + )); + }); + } +} + +extension CurrencyQueryObject + on QueryBuilder {} + +extension CurrencyQueryLinks + on QueryBuilder {} + +extension CurrencyQuerySortBy on QueryBuilder { + QueryBuilder sortByExchangeName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.asc); + }); + } + + QueryBuilder sortByExchangeNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.desc); + }); + } + + QueryBuilder sortByExternalId() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'externalId', Sort.asc); + }); + } + + QueryBuilder sortByExternalIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'externalId', Sort.desc); + }); + } + + QueryBuilder sortByImage() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'image', Sort.asc); + }); + } + + QueryBuilder sortByImageDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'image', Sort.desc); + }); + } + + QueryBuilder sortByIsAvailable() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isAvailable', Sort.asc); + }); + } + + QueryBuilder sortByIsAvailableDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isAvailable', Sort.desc); + }); + } + + QueryBuilder sortByIsFiat() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isFiat', Sort.asc); + }); + } + + QueryBuilder sortByIsFiatDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isFiat', Sort.desc); + }); + } + + QueryBuilder sortByIsStackCoin() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isStackCoin', Sort.asc); + }); + } + + QueryBuilder sortByIsStackCoinDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isStackCoin', Sort.desc); + }); + } + + QueryBuilder sortByName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.asc); + }); + } + + QueryBuilder sortByNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.desc); + }); + } + + QueryBuilder sortByNetwork() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'network', Sort.asc); + }); + } + + QueryBuilder sortByNetworkDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'network', Sort.desc); + }); + } + + QueryBuilder sortBySupportsEstimatedRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsEstimatedRate', Sort.asc); + }); + } + + QueryBuilder + sortBySupportsEstimatedRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsEstimatedRate', Sort.desc); + }); + } + + QueryBuilder sortBySupportsFixedRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsFixedRate', Sort.asc); + }); + } + + QueryBuilder sortBySupportsFixedRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsFixedRate', Sort.desc); + }); + } + + QueryBuilder sortByTicker() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ticker', Sort.asc); + }); + } + + QueryBuilder sortByTickerDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ticker', Sort.desc); + }); + } +} + +extension CurrencyQuerySortThenBy + on QueryBuilder { + QueryBuilder thenByExchangeName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.asc); + }); + } + + QueryBuilder thenByExchangeNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.desc); + }); + } + + QueryBuilder thenByExternalId() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'externalId', Sort.asc); + }); + } + + QueryBuilder thenByExternalIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'externalId', Sort.desc); + }); + } + + QueryBuilder thenById() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.asc); + }); + } + + QueryBuilder thenByIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.desc); + }); + } + + QueryBuilder thenByImage() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'image', Sort.asc); + }); + } + + QueryBuilder thenByImageDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'image', Sort.desc); + }); + } + + QueryBuilder thenByIsAvailable() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isAvailable', Sort.asc); + }); + } + + QueryBuilder thenByIsAvailableDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isAvailable', Sort.desc); + }); + } + + QueryBuilder thenByIsFiat() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isFiat', Sort.asc); + }); + } + + QueryBuilder thenByIsFiatDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isFiat', Sort.desc); + }); + } + + QueryBuilder thenByIsStackCoin() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isStackCoin', Sort.asc); + }); + } + + QueryBuilder thenByIsStackCoinDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'isStackCoin', Sort.desc); + }); + } + + QueryBuilder thenByName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.asc); + }); + } + + QueryBuilder thenByNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.desc); + }); + } + + QueryBuilder thenByNetwork() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'network', Sort.asc); + }); + } + + QueryBuilder thenByNetworkDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'network', Sort.desc); + }); + } + + QueryBuilder thenBySupportsEstimatedRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsEstimatedRate', Sort.asc); + }); + } + + QueryBuilder + thenBySupportsEstimatedRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsEstimatedRate', Sort.desc); + }); + } + + QueryBuilder thenBySupportsFixedRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsFixedRate', Sort.asc); + }); + } + + QueryBuilder thenBySupportsFixedRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'supportsFixedRate', Sort.desc); + }); + } + + QueryBuilder thenByTicker() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ticker', Sort.asc); + }); + } + + QueryBuilder thenByTickerDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ticker', Sort.desc); + }); + } +} + +extension CurrencyQueryWhereDistinct + on QueryBuilder { + QueryBuilder distinctByExchangeName( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'exchangeName', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByExternalId( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'externalId', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByImage( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'image', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByIsAvailable() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'isAvailable'); + }); + } + + QueryBuilder distinctByIsFiat() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'isFiat'); + }); + } + + QueryBuilder distinctByIsStackCoin() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'isStackCoin'); + }); + } + + QueryBuilder distinctByName( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'name', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByNetwork( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'network', caseSensitive: caseSensitive); + }); + } + + QueryBuilder + distinctBySupportsEstimatedRate() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'supportsEstimatedRate'); + }); + } + + QueryBuilder distinctBySupportsFixedRate() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'supportsFixedRate'); + }); + } + + QueryBuilder distinctByTicker( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'ticker', caseSensitive: caseSensitive); + }); + } +} + +extension CurrencyQueryProperty + on QueryBuilder { + QueryBuilder idProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'id'); + }); + } + + QueryBuilder exchangeNameProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'exchangeName'); + }); + } + + QueryBuilder externalIdProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'externalId'); + }); + } + + QueryBuilder imageProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'image'); + }); + } + + QueryBuilder isAvailableProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'isAvailable'); + }); + } + + QueryBuilder isFiatProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'isFiat'); + }); + } + + QueryBuilder isStackCoinProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'isStackCoin'); + }); + } + + QueryBuilder nameProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'name'); + }); + } + + QueryBuilder networkProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'network'); + }); + } + + QueryBuilder + supportsEstimatedRateProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'supportsEstimatedRate'); + }); + } + + QueryBuilder supportsFixedRateProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'supportsFixedRate'); + }); + } + + QueryBuilder tickerProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'ticker'); + }); + } +} diff --git a/lib/models/exchange/response_objects/pair.dart b/lib/models/isar/exchange_cache/pair.dart similarity index 72% rename from lib/models/exchange/response_objects/pair.dart rename to lib/models/isar/exchange_cache/pair.dart index 1f12acf08..0c3f2e0bb 100644 --- a/lib/models/exchange/response_objects/pair.dart +++ b/lib/models/isar/exchange_cache/pair.dart @@ -1,8 +1,19 @@ -import 'dart:ui'; - +import 'package:isar/isar.dart'; import 'package:stackwallet/utilities/logger.dart'; +part 'pair.g.dart'; + +@collection class Pair { + Id? id; + + @Index() + final String exchangeName; + + @Index(composite: [ + CompositeIndex("exchangeName"), + CompositeIndex("to"), + ]) final String from; final String fromNetwork; @@ -13,6 +24,7 @@ class Pair { final bool floatingRate; Pair({ + required this.exchangeName, required this.from, required this.fromNetwork, required this.to, @@ -21,16 +33,20 @@ class Pair { required this.floatingRate, }); - factory Pair.fromMap(Map map) { + factory Pair.fromMap( + Map map, { + required String exchangeName, + }) { try { return Pair( + exchangeName: exchangeName, from: map["from"] as String, fromNetwork: map["fromNetwork"] as String, to: map["to"] as String, toNetwork: map["toNetwork"] as String, fixedRate: map["fixedRate"] as bool, floatingRate: map["floatingRate"] as bool, - ); + )..id = map["id"] as int?; } catch (e, s) { Logging.instance.log("Pair.fromMap(): $e\n$s", level: LogLevel.Error); rethrow; @@ -39,6 +55,8 @@ class Pair { Map toMap() { return { + "id": id, + "exchangeName": exchangeName, "from": from, "fromNetwork": fromNetwork, "to": to, @@ -51,6 +69,7 @@ class Pair { @override bool operator ==(other) => other is Pair && + exchangeName == other.exchangeName && from == other.from && fromNetwork == other.fromNetwork && to == other.to && @@ -59,7 +78,9 @@ class Pair { floatingRate == other.floatingRate; @override - int get hashCode => hashValues( + int get hashCode => Object.hash( + id, + exchangeName, from, fromNetwork, to, diff --git a/lib/models/isar/exchange_cache/pair.g.dart b/lib/models/isar/exchange_cache/pair.g.dart new file mode 100644 index 000000000..dd063fae7 --- /dev/null +++ b/lib/models/isar/exchange_cache/pair.g.dart @@ -0,0 +1,1565 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'pair.dart'; + +// ************************************************************************** +// IsarCollectionGenerator +// ************************************************************************** + +// coverage:ignore-file +// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters + +extension GetPairCollection on Isar { + IsarCollection get pairs => this.collection(); +} + +const PairSchema = CollectionSchema( + name: r'Pair', + id: -3124465371488267306, + properties: { + r'exchangeName': PropertySchema( + id: 0, + name: r'exchangeName', + type: IsarType.string, + ), + r'fixedRate': PropertySchema( + id: 1, + name: r'fixedRate', + type: IsarType.bool, + ), + r'floatingRate': PropertySchema( + id: 2, + name: r'floatingRate', + type: IsarType.bool, + ), + r'from': PropertySchema( + id: 3, + name: r'from', + type: IsarType.string, + ), + r'fromNetwork': PropertySchema( + id: 4, + name: r'fromNetwork', + type: IsarType.string, + ), + r'hashCode': PropertySchema( + id: 5, + name: r'hashCode', + type: IsarType.long, + ), + r'to': PropertySchema( + id: 6, + name: r'to', + type: IsarType.string, + ), + r'toNetwork': PropertySchema( + id: 7, + name: r'toNetwork', + type: IsarType.string, + ) + }, + estimateSize: _pairEstimateSize, + serialize: _pairSerialize, + deserialize: _pairDeserialize, + deserializeProp: _pairDeserializeProp, + idName: r'id', + indexes: { + r'exchangeName': IndexSchema( + id: 3599278165711581955, + name: r'exchangeName', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'exchangeName', + type: IndexType.hash, + caseSensitive: true, + ) + ], + ), + r'from_exchangeName_to': IndexSchema( + id: 817716734160134079, + name: r'from_exchangeName_to', + unique: false, + replace: false, + properties: [ + IndexPropertySchema( + name: r'from', + type: IndexType.hash, + caseSensitive: true, + ), + IndexPropertySchema( + name: r'exchangeName', + type: IndexType.hash, + caseSensitive: true, + ), + IndexPropertySchema( + name: r'to', + type: IndexType.hash, + caseSensitive: true, + ) + ], + ) + }, + links: {}, + embeddedSchemas: {}, + getId: _pairGetId, + getLinks: _pairGetLinks, + attach: _pairAttach, + version: '3.0.5', +); + +int _pairEstimateSize( + Pair object, + List offsets, + Map> allOffsets, +) { + var bytesCount = offsets.last; + bytesCount += 3 + object.exchangeName.length * 3; + bytesCount += 3 + object.from.length * 3; + bytesCount += 3 + object.fromNetwork.length * 3; + bytesCount += 3 + object.to.length * 3; + bytesCount += 3 + object.toNetwork.length * 3; + return bytesCount; +} + +void _pairSerialize( + Pair object, + IsarWriter writer, + List offsets, + Map> allOffsets, +) { + writer.writeString(offsets[0], object.exchangeName); + writer.writeBool(offsets[1], object.fixedRate); + writer.writeBool(offsets[2], object.floatingRate); + writer.writeString(offsets[3], object.from); + writer.writeString(offsets[4], object.fromNetwork); + writer.writeLong(offsets[5], object.hashCode); + writer.writeString(offsets[6], object.to); + writer.writeString(offsets[7], object.toNetwork); +} + +Pair _pairDeserialize( + Id id, + IsarReader reader, + List offsets, + Map> allOffsets, +) { + final object = Pair( + exchangeName: reader.readString(offsets[0]), + fixedRate: reader.readBool(offsets[1]), + floatingRate: reader.readBool(offsets[2]), + from: reader.readString(offsets[3]), + fromNetwork: reader.readString(offsets[4]), + to: reader.readString(offsets[6]), + toNetwork: reader.readString(offsets[7]), + ); + object.id = id; + return object; +} + +P _pairDeserializeProp

( + IsarReader reader, + int propertyId, + int offset, + Map> allOffsets, +) { + switch (propertyId) { + case 0: + return (reader.readString(offset)) as P; + case 1: + return (reader.readBool(offset)) as P; + case 2: + return (reader.readBool(offset)) as P; + case 3: + return (reader.readString(offset)) as P; + case 4: + return (reader.readString(offset)) as P; + case 5: + return (reader.readLong(offset)) as P; + case 6: + return (reader.readString(offset)) as P; + case 7: + return (reader.readString(offset)) as P; + default: + throw IsarError('Unknown property with id $propertyId'); + } +} + +Id _pairGetId(Pair object) { + return object.id ?? Isar.autoIncrement; +} + +List> _pairGetLinks(Pair object) { + return []; +} + +void _pairAttach(IsarCollection col, Id id, Pair object) { + object.id = id; +} + +extension PairQueryWhereSort on QueryBuilder { + QueryBuilder anyId() { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(const IdWhereClause.any()); + }); + } +} + +extension PairQueryWhere on QueryBuilder { + QueryBuilder idEqualTo(Id id) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: id, + upper: id, + )); + }); + } + + QueryBuilder idNotEqualTo(Id id) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ) + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ); + } else { + return query + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ) + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ); + } + }); + } + + QueryBuilder idGreaterThan(Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: include), + ); + }); + } + + QueryBuilder idLessThan(Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: include), + ); + }); + } + + QueryBuilder idBetween( + Id lowerId, + Id upperId, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: lowerId, + includeLower: includeLower, + upper: upperId, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder exchangeNameEqualTo( + String exchangeName) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'exchangeName', + value: [exchangeName], + )); + }); + } + + QueryBuilder exchangeNameNotEqualTo( + String exchangeName) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [], + upper: [exchangeName], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [exchangeName], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [exchangeName], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'exchangeName', + lower: [], + upper: [exchangeName], + includeUpper: false, + )); + } + }); + } + + QueryBuilder fromEqualToAnyExchangeNameTo( + String from) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'from_exchangeName_to', + value: [from], + )); + }); + } + + QueryBuilder fromNotEqualToAnyExchangeNameTo( + String from) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [], + upper: [from], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [], + upper: [from], + includeUpper: false, + )); + } + }); + } + + QueryBuilder fromExchangeNameEqualToAnyTo( + String from, String exchangeName) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'from_exchangeName_to', + value: [from, exchangeName], + )); + }); + } + + QueryBuilder + fromEqualToExchangeNameNotEqualToAnyTo(String from, String exchangeName) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from], + upper: [from, exchangeName], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from, exchangeName], + includeLower: false, + upper: [from], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from, exchangeName], + includeLower: false, + upper: [from], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from], + upper: [from, exchangeName], + includeUpper: false, + )); + } + }); + } + + QueryBuilder fromExchangeNameToEqualTo( + String from, String exchangeName, String to) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'from_exchangeName_to', + value: [from, exchangeName, to], + )); + }); + } + + QueryBuilder + fromExchangeNameEqualToToNotEqualTo( + String from, String exchangeName, String to) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from, exchangeName], + upper: [from, exchangeName, to], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from, exchangeName, to], + includeLower: false, + upper: [from, exchangeName], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from, exchangeName, to], + includeLower: false, + upper: [from, exchangeName], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'from_exchangeName_to', + lower: [from, exchangeName], + upper: [from, exchangeName, to], + includeUpper: false, + )); + } + }); + } +} + +extension PairQueryFilter on QueryBuilder { + QueryBuilder exchangeNameEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'exchangeName', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'exchangeName', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'exchangeName', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeNameIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'exchangeName', + value: '', + )); + }); + } + + QueryBuilder exchangeNameIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'exchangeName', + value: '', + )); + }); + } + + QueryBuilder fixedRateEqualTo(bool value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'fixedRate', + value: value, + )); + }); + } + + QueryBuilder floatingRateEqualTo( + bool value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'floatingRate', + value: value, + )); + }); + } + + QueryBuilder fromEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'from', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'from', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'from', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'from', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'from', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'from', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'from', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'from', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'from', + value: '', + )); + }); + } + + QueryBuilder fromIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'from', + value: '', + )); + }); + } + + QueryBuilder fromNetworkEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'fromNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'fromNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'fromNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'fromNetwork', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'fromNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'fromNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'fromNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'fromNetwork', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder fromNetworkIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'fromNetwork', + value: '', + )); + }); + } + + QueryBuilder fromNetworkIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'fromNetwork', + value: '', + )); + }); + } + + QueryBuilder hashCodeEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'hashCode', + value: value, + )); + }); + } + + QueryBuilder hashCodeGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'hashCode', + value: value, + )); + }); + } + + QueryBuilder hashCodeLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'hashCode', + value: value, + )); + }); + } + + QueryBuilder hashCodeBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'hashCode', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder idIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'id', + )); + }); + } + + QueryBuilder idIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'id', + )); + }); + } + + QueryBuilder idEqualTo(Id? value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idGreaterThan( + Id? value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idLessThan( + Id? value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idBetween( + Id? lower, + Id? upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'id', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder toEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'to', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'to', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'to', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'to', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'to', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'to', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'to', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'to', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'to', + value: '', + )); + }); + } + + QueryBuilder toIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'to', + value: '', + )); + }); + } + + QueryBuilder toNetworkEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'toNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'toNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'toNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'toNetwork', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'toNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'toNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'toNetwork', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'toNetwork', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder toNetworkIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'toNetwork', + value: '', + )); + }); + } + + QueryBuilder toNetworkIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'toNetwork', + value: '', + )); + }); + } +} + +extension PairQueryObject on QueryBuilder {} + +extension PairQueryLinks on QueryBuilder {} + +extension PairQuerySortBy on QueryBuilder { + QueryBuilder sortByExchangeName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.asc); + }); + } + + QueryBuilder sortByExchangeNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.desc); + }); + } + + QueryBuilder sortByFixedRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fixedRate', Sort.asc); + }); + } + + QueryBuilder sortByFixedRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fixedRate', Sort.desc); + }); + } + + QueryBuilder sortByFloatingRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'floatingRate', Sort.asc); + }); + } + + QueryBuilder sortByFloatingRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'floatingRate', Sort.desc); + }); + } + + QueryBuilder sortByFrom() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'from', Sort.asc); + }); + } + + QueryBuilder sortByFromDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'from', Sort.desc); + }); + } + + QueryBuilder sortByFromNetwork() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fromNetwork', Sort.asc); + }); + } + + QueryBuilder sortByFromNetworkDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fromNetwork', Sort.desc); + }); + } + + QueryBuilder sortByHashCode() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'hashCode', Sort.asc); + }); + } + + QueryBuilder sortByHashCodeDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'hashCode', Sort.desc); + }); + } + + QueryBuilder sortByTo() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'to', Sort.asc); + }); + } + + QueryBuilder sortByToDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'to', Sort.desc); + }); + } + + QueryBuilder sortByToNetwork() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'toNetwork', Sort.asc); + }); + } + + QueryBuilder sortByToNetworkDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'toNetwork', Sort.desc); + }); + } +} + +extension PairQuerySortThenBy on QueryBuilder { + QueryBuilder thenByExchangeName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.asc); + }); + } + + QueryBuilder thenByExchangeNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'exchangeName', Sort.desc); + }); + } + + QueryBuilder thenByFixedRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fixedRate', Sort.asc); + }); + } + + QueryBuilder thenByFixedRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fixedRate', Sort.desc); + }); + } + + QueryBuilder thenByFloatingRate() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'floatingRate', Sort.asc); + }); + } + + QueryBuilder thenByFloatingRateDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'floatingRate', Sort.desc); + }); + } + + QueryBuilder thenByFrom() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'from', Sort.asc); + }); + } + + QueryBuilder thenByFromDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'from', Sort.desc); + }); + } + + QueryBuilder thenByFromNetwork() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fromNetwork', Sort.asc); + }); + } + + QueryBuilder thenByFromNetworkDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'fromNetwork', Sort.desc); + }); + } + + QueryBuilder thenByHashCode() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'hashCode', Sort.asc); + }); + } + + QueryBuilder thenByHashCodeDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'hashCode', Sort.desc); + }); + } + + QueryBuilder thenById() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.asc); + }); + } + + QueryBuilder thenByIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.desc); + }); + } + + QueryBuilder thenByTo() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'to', Sort.asc); + }); + } + + QueryBuilder thenByToDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'to', Sort.desc); + }); + } + + QueryBuilder thenByToNetwork() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'toNetwork', Sort.asc); + }); + } + + QueryBuilder thenByToNetworkDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'toNetwork', Sort.desc); + }); + } +} + +extension PairQueryWhereDistinct on QueryBuilder { + QueryBuilder distinctByExchangeName( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'exchangeName', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByFixedRate() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'fixedRate'); + }); + } + + QueryBuilder distinctByFloatingRate() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'floatingRate'); + }); + } + + QueryBuilder distinctByFrom( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'from', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByFromNetwork( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'fromNetwork', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByHashCode() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'hashCode'); + }); + } + + QueryBuilder distinctByTo( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'to', caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByToNetwork( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'toNetwork', caseSensitive: caseSensitive); + }); + } +} + +extension PairQueryProperty on QueryBuilder { + QueryBuilder idProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'id'); + }); + } + + QueryBuilder exchangeNameProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'exchangeName'); + }); + } + + QueryBuilder fixedRateProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'fixedRate'); + }); + } + + QueryBuilder floatingRateProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'floatingRate'); + }); + } + + QueryBuilder fromProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'from'); + }); + } + + QueryBuilder fromNetworkProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'fromNetwork'); + }); + } + + QueryBuilder hashCodeProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'hashCode'); + }); + } + + QueryBuilder toProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'to'); + }); + } + + QueryBuilder toNetworkProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'toNetwork'); + }); + } +} diff --git a/lib/models/isar/models/blockchain_data/utxo.g.dart b/lib/models/isar/models/blockchain_data/utxo.g.dart index f58f516fa..435746474 100644 --- a/lib/models/isar/models/blockchain_data/utxo.g.dart +++ b/lib/models/isar/models/blockchain_data/utxo.g.dart @@ -52,23 +52,28 @@ const UTXOSchema = CollectionSchema( name: r'name', type: IsarType.string, ), - r'txid': PropertySchema( + r'otherData': PropertySchema( id: 7, + name: r'otherData', + type: IsarType.string, + ), + r'txid': PropertySchema( + id: 8, name: r'txid', type: IsarType.string, ), r'value': PropertySchema( - id: 8, + id: 9, name: r'value', type: IsarType.long, ), r'vout': PropertySchema( - id: 9, + id: 10, name: r'vout', type: IsarType.long, ), r'walletId': PropertySchema( - id: 10, + id: 11, name: r'walletId', type: IsarType.string, ) @@ -151,6 +156,12 @@ int _uTXOEstimateSize( } } bytesCount += 3 + object.name.length * 3; + { + final value = object.otherData; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } bytesCount += 3 + object.txid.length * 3; bytesCount += 3 + object.walletId.length * 3; return bytesCount; @@ -169,10 +180,11 @@ void _uTXOSerialize( writer.writeBool(offsets[4], object.isBlocked); writer.writeBool(offsets[5], object.isCoinbase); writer.writeString(offsets[6], object.name); - writer.writeString(offsets[7], object.txid); - writer.writeLong(offsets[8], object.value); - writer.writeLong(offsets[9], object.vout); - writer.writeString(offsets[10], object.walletId); + writer.writeString(offsets[7], object.otherData); + writer.writeString(offsets[8], object.txid); + writer.writeLong(offsets[9], object.value); + writer.writeLong(offsets[10], object.vout); + writer.writeString(offsets[11], object.walletId); } UTXO _uTXODeserialize( @@ -189,10 +201,11 @@ UTXO _uTXODeserialize( isBlocked: reader.readBool(offsets[4]), isCoinbase: reader.readBool(offsets[5]), name: reader.readString(offsets[6]), - txid: reader.readString(offsets[7]), - value: reader.readLong(offsets[8]), - vout: reader.readLong(offsets[9]), - walletId: reader.readString(offsets[10]), + otherData: reader.readStringOrNull(offsets[7]), + txid: reader.readString(offsets[8]), + value: reader.readLong(offsets[9]), + vout: reader.readLong(offsets[10]), + walletId: reader.readString(offsets[11]), ); object.id = id; return object; @@ -220,12 +233,14 @@ P _uTXODeserializeProp

( case 6: return (reader.readString(offset)) as P; case 7: - return (reader.readString(offset)) as P; + return (reader.readStringOrNull(offset)) as P; case 8: - return (reader.readLong(offset)) as P; + return (reader.readString(offset)) as P; case 9: return (reader.readLong(offset)) as P; case 10: + return (reader.readLong(offset)) as P; + case 11: return (reader.readString(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); @@ -1221,6 +1236,152 @@ extension UTXOQueryFilter on QueryBuilder { }); } + QueryBuilder otherDataIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'otherData', + )); + }); + } + + QueryBuilder otherDataIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'otherData', + )); + }); + } + + QueryBuilder otherDataEqualTo( + String? value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataGreaterThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataLessThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataBetween( + String? lower, + String? upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'otherData', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'otherData', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'otherData', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder otherDataIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'otherData', + value: '', + )); + }); + } + + QueryBuilder otherDataIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'otherData', + value: '', + )); + }); + } + QueryBuilder txidEqualTo( String value, { bool caseSensitive = true, @@ -1672,6 +1833,18 @@ extension UTXOQuerySortBy on QueryBuilder { }); } + QueryBuilder sortByOtherData() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.asc); + }); + } + + QueryBuilder sortByOtherDataDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.desc); + }); + } + QueryBuilder sortByTxid() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'txid', Sort.asc); @@ -1818,6 +1991,18 @@ extension UTXOQuerySortThenBy on QueryBuilder { }); } + QueryBuilder thenByOtherData() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.asc); + }); + } + + QueryBuilder thenByOtherDataDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'otherData', Sort.desc); + }); + } + QueryBuilder thenByTxid() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'txid', Sort.asc); @@ -1914,6 +2099,13 @@ extension UTXOQueryWhereDistinct on QueryBuilder { }); } + QueryBuilder distinctByOtherData( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'otherData', caseSensitive: caseSensitive); + }); + } + QueryBuilder distinctByTxid( {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { @@ -1990,6 +2182,12 @@ extension UTXOQueryProperty on QueryBuilder { }); } + QueryBuilder otherDataProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'otherData'); + }); + } + QueryBuilder txidProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'txid'); diff --git a/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart b/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart index 10963df18..f9d58a06b 100644 --- a/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart +++ b/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart @@ -252,12 +252,15 @@ bool isStackCoin(String? ticker) { } } -Widget? getIconForTicker(String ticker) { +Widget? getIconForTicker( + String ticker, { + double size = 20, +}) { String? iconAsset = /*isStackCoin(ticker) ?*/ Assets.svg.iconFor(coin: coinFromTickerCaseInsensitive(ticker)); // : Assets.svg.buyIconFor(ticker); return (iconAsset != null) - ? SvgPicture.asset(iconAsset, height: 20, width: 20) + ? SvgPicture.asset(iconAsset, height: size, width: size) : null; } diff --git a/lib/pages/exchange_view/exchange_coin_selection/floating_rate_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart similarity index 74% rename from lib/pages/exchange_view/exchange_coin_selection/floating_rate_currency_selection_view.dart rename to lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index 7c8ff34bd..73f9a5827 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/floating_rate_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -1,6 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; +import 'package:isar/isar.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart'; +import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -16,34 +19,57 @@ import 'package:stackwallet/widgets/rounded_white_container.dart'; import 'package:stackwallet/widgets/stack_text_field.dart'; import 'package:stackwallet/widgets/textfield_icon_button.dart'; -class FloatingRateCurrencySelectionView extends StatefulWidget { - const FloatingRateCurrencySelectionView({ +class ExchangeCurrencySelectionView extends StatefulWidget { + const ExchangeCurrencySelectionView({ Key? key, - required this.currencies, + required this.exchangeName, + required this.willChange, + required this.paired, + required this.isFixedRate, }) : super(key: key); - final List currencies; + final String exchangeName; + final Currency? willChange; + final Currency? paired; + final bool isFixedRate; @override - State createState() => - _FloatingRateCurrencySelectionViewState(); + State createState() => + _ExchangeCurrencySelectionViewState(); } -class _FloatingRateCurrencySelectionViewState - extends State { +class _ExchangeCurrencySelectionViewState + extends State { late TextEditingController _searchController; final _searchFocusNode = FocusNode(); + final isDesktop = Util.isDesktop; - late final List currencies; late List _currencies; void filter(String text) { setState(() { - _currencies = [ - ...currencies.where((e) => - e.name.toLowerCase().contains(text.toLowerCase()) || - e.ticker.toLowerCase().contains(text.toLowerCase())) - ]; + final query = ExchangeDataLoadingService.instance.isar.currencies + .where() + .exchangeNameEqualTo(widget.exchangeName) + .filter() + .supportsFixedRateEqualTo(widget.isFixedRate) + .and() + .group((q) => q + .nameContains(text, caseSensitive: false) + .or() + .tickerContains(text, caseSensitive: false)); + + if (widget.paired != null) { + _currencies = query + .and() + .not() + .tickerEqualTo(widget.paired!.ticker) + .sortByIsStackCoin() + .thenByTicker() + .findAllSync(); + } else { + _currencies = query.sortByIsStackCoin().thenByTicker().findAllSync(); + } }); } @@ -51,19 +77,23 @@ class _FloatingRateCurrencySelectionViewState void initState() { _searchController = TextEditingController(); - currencies = [...widget.currencies]; - currencies.sort( - (a, b) => a.ticker.toLowerCase().compareTo(b.ticker.toLowerCase())); - for (Coin coin in Coin.values.reversed) { - int index = currencies.indexWhere((element) => - element.ticker.toLowerCase() == coin.ticker.toLowerCase()); - if (index > 0) { - final currency = currencies.removeAt(index); - currencies.insert(0, currency); - } - } + final query = ExchangeDataLoadingService.instance.isar.currencies + .where() + .exchangeNameEqualTo(widget.exchangeName) + .filter() + .supportsFixedRateEqualTo(widget.isFixedRate); - _currencies = [...currencies]; + if (widget.paired != null) { + _currencies = query + .and() + .not() + .tickerEqualTo(widget.paired!.ticker) + .sortByIsStackCoin() + .thenByTicker() + .findAllSync(); + } else { + _currencies = query.sortByIsStackCoin().thenByTicker().findAllSync(); + } super.initState(); } @@ -77,7 +107,11 @@ class _FloatingRateCurrencySelectionViewState @override Widget build(BuildContext context) { - final isDesktop = Util.isDesktop; + print("=================================================="); + print("${widget.exchangeName}"); + print("${widget.isFixedRate}"); + print("=================================================="); + return ConditionalParent( condition: !isDesktop, builder: (child) { @@ -210,13 +244,18 @@ class _FloatingRateCurrencySelectionViewState SizedBox( width: 24, height: 24, - child: SvgPicture.network( - items[index].image, - width: 24, - height: 24, - placeholderBuilder: (_) => - const LoadingIndicator(), - ), + child: isStackCoin(items[index].ticker) + ? getIconForTicker( + items[index].ticker, + size: 24, + ) + : SvgPicture.network( + items[index].image, + width: 24, + height: 24, + placeholderBuilder: (_) => + const LoadingIndicator(), + ), ), const SizedBox( width: 10, @@ -284,13 +323,18 @@ class _FloatingRateCurrencySelectionViewState SizedBox( width: 24, height: 24, - child: SvgPicture.network( - _currencies[index].image, - width: 24, - height: 24, - placeholderBuilder: (_) => - const LoadingIndicator(), - ), + child: isStackCoin(_currencies[index].ticker) + ? getIconForTicker( + _currencies[index].ticker, + size: 24, + ) + : SvgPicture.network( + _currencies[index].image, + width: 24, + height: 24, + placeholderBuilder: (_) => + const LoadingIndicator(), + ), ), const SizedBox( width: 10, diff --git a/lib/pages/exchange_view/exchange_coin_selection/fixed_rate_pair_coin_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/fixed_rate_pair_coin_selection_view.dart deleted file mode 100644 index 57219dfd0..000000000 --- a/lib/pages/exchange_view/exchange_coin_selection/fixed_rate_pair_coin_selection_view.dart +++ /dev/null @@ -1,384 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_svg/svg.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; -import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; -import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; -import 'package:stackwallet/utilities/util.dart'; -import 'package:stackwallet/widgets/background.dart'; -import 'package:stackwallet/widgets/conditional_parent.dart'; -import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; -import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; -import 'package:stackwallet/widgets/loading_indicator.dart'; -import 'package:stackwallet/widgets/rounded_white_container.dart'; -import 'package:stackwallet/widgets/stack_text_field.dart'; -import 'package:stackwallet/widgets/textfield_icon_button.dart'; -import 'package:tuple/tuple.dart'; - -class FixedRateMarketPairCoinSelectionView extends ConsumerStatefulWidget { - const FixedRateMarketPairCoinSelectionView({ - Key? key, - required this.markets, - required this.currencies, - required this.isFrom, - }) : super(key: key); - - final List markets; - final List currencies; - final bool isFrom; - - @override - ConsumerState createState() => - _FixedRateMarketPairCoinSelectionViewState(); -} - -class _FixedRateMarketPairCoinSelectionViewState - extends ConsumerState { - late TextEditingController _searchController; - final _searchFocusNode = FocusNode(); - - late final List markets; - late List _markets; - - late final bool isFrom; - - Tuple2 _imageUrlAndNameFor(String ticker) { - final matches = widget.currencies.where( - (element) => element.ticker.toLowerCase() == ticker.toLowerCase()); - - if (matches.isNotEmpty) { - return Tuple2(matches.first.image, matches.first.name); - } - return Tuple2("", ticker); - } - - void filter(String text) { - setState(() { - _markets = [ - ...markets.where((e) { - final String ticker = isFrom ? e.from : e.to; - final __currencies = widget.currencies - .where((e) => e.ticker.toLowerCase() == ticker.toLowerCase()); - if (__currencies.isNotEmpty) { - return __currencies.first.name - .toLowerCase() - .contains(text.toLowerCase()) || - ticker.toLowerCase().contains(text.toLowerCase()); - } - return ticker.toLowerCase().contains(text.toLowerCase()); - }) - ]; - }); - } - - @override - void initState() { - _searchController = TextEditingController(); - isFrom = widget.isFrom; - - markets = [...widget.markets]; - if (isFrom) { - markets.sort( - (a, b) => a.from.toLowerCase().compareTo(b.from.toLowerCase()), - ); - for (Coin coin in Coin.values.reversed) { - int index = markets.indexWhere((element) => - element.from.toLowerCase() == coin.ticker.toLowerCase()); - if (index > 0) { - final market = markets.removeAt(index); - markets.insert(0, market); - } - } - } else { - markets.sort( - (a, b) => a.to.toLowerCase().compareTo(b.to.toLowerCase()), - ); - for (Coin coin in Coin.values.reversed) { - int index = markets.indexWhere( - (element) => element.to.toLowerCase() == coin.ticker.toLowerCase()); - if (index > 0) { - final market = markets.removeAt(index); - markets.insert(0, market); - } - } - } - - _markets = [...markets]; - - super.initState(); - } - - @override - void dispose() { - _searchController.dispose(); - _searchFocusNode.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final isDesktop = Util.isDesktop; - return ConditionalParent( - condition: !isDesktop, - builder: (child) { - return Background( - child: Scaffold( - backgroundColor: - Theme.of(context).extension()!.background, - appBar: AppBar( - leading: AppBarBackButton( - onPressed: () async { - if (FocusScope.of(context).hasFocus) { - FocusScope.of(context).unfocus(); - await Future.delayed( - const Duration(milliseconds: 50)); - } - if (mounted) { - Navigator.of(context).pop(); - } - }, - ), - title: Text( - "Choose a coin to exchange", - style: STextStyles.pageTitleH2(context), - ), - ), - body: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 16, - ), - child: child, - ), - ), - ); - }, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if (!isDesktop) - const SizedBox( - height: 16, - ), - ClipRRect( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - child: TextField( - autofocus: isDesktop, - autocorrect: !isDesktop, - enableSuggestions: !isDesktop, - controller: _searchController, - focusNode: _searchFocusNode, - onChanged: filter, - style: STextStyles.field(context), - decoration: standardInputDecoration( - "Search", - _searchFocusNode, - context, - ).copyWith( - prefixIcon: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 10, - vertical: 16, - ), - child: SvgPicture.asset( - Assets.svg.search, - width: 16, - height: 16, - ), - ), - suffixIcon: _searchController.text.isNotEmpty - ? Padding( - padding: const EdgeInsets.only(right: 0), - child: UnconstrainedBox( - child: Row( - children: [ - TextFieldIconButton( - child: const XIcon(), - onTap: () async { - setState(() { - _searchController.text = ""; - }); - }, - ), - ], - ), - ), - ) - : null, - ), - ), - ), - const SizedBox( - height: 10, - ), - Text( - "Popular coins", - style: STextStyles.smallMed12(context), - ), - const SizedBox( - height: 12, - ), - Flexible( - child: Builder(builder: (context) { - final items = _markets - .where((e) => Coin.values - .where((coin) => - coin.ticker.toLowerCase() == - (isFrom ? e.from.toLowerCase() : e.to.toLowerCase())) - .isNotEmpty) - .toList(growable: false); - - return RoundedWhiteContainer( - padding: const EdgeInsets.all(0), - child: ListView.builder( - shrinkWrap: true, - primary: isDesktop ? false : null, - itemCount: items.length, - itemBuilder: (builderContext, index) { - final String ticker = - isFrom ? items[index].from : items[index].to; - - final tuple = _imageUrlAndNameFor(ticker); - return Padding( - padding: const EdgeInsets.symmetric(vertical: 4), - child: GestureDetector( - onTap: () { - Navigator.of(context).pop(ticker); - }, - child: RoundedWhiteContainer( - child: Row( - children: [ - SizedBox( - width: 24, - height: 24, - child: SvgPicture.network( - tuple.item1, - width: 24, - height: 24, - placeholderBuilder: (_) => - const LoadingIndicator(), - ), - ), - const SizedBox( - width: 10, - ), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - tuple.item2, - style: STextStyles.largeMedium14(context), - ), - const SizedBox( - height: 2, - ), - Text( - ticker.toUpperCase(), - style: STextStyles.smallMed12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ), - ], - ), - ), - ], - ), - ), - ), - ); - }, - ), - ); - }), - ), - const SizedBox( - height: 20, - ), - Text( - "All coins", - style: STextStyles.smallMed12(context), - ), - const SizedBox( - height: 12, - ), - Flexible( - child: RoundedWhiteContainer( - padding: const EdgeInsets.all(0), - child: ListView.builder( - shrinkWrap: true, - primary: isDesktop ? false : null, - itemCount: _markets.length, - itemBuilder: (builderContext, index) { - final String ticker = - isFrom ? _markets[index].from : _markets[index].to; - - final tuple = _imageUrlAndNameFor(ticker); - return Padding( - padding: const EdgeInsets.symmetric(vertical: 4), - child: GestureDetector( - onTap: () { - Navigator.of(context).pop(ticker); - }, - child: RoundedWhiteContainer( - child: Row( - children: [ - SizedBox( - width: 24, - height: 24, - child: SvgPicture.network( - tuple.item1, - width: 24, - height: 24, - placeholderBuilder: (_) => - const LoadingIndicator(), - ), - ), - const SizedBox( - width: 10, - ), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - tuple.item2, - style: STextStyles.largeMedium14(context), - ), - const SizedBox( - height: 2, - ), - Text( - ticker.toUpperCase(), - style: STextStyles.smallMed12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ), - ], - ), - ), - ], - ), - ), - ), - ); - }, - ), - ), - ), - ], - ), - ); - } -} diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 87acb68c7..696af8069 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -5,21 +5,23 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:isar/isar.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; -import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; -import 'package:stackwallet/pages/exchange_view/exchange_coin_selection/fixed_rate_pair_coin_selection_view.dart'; -import 'package:stackwallet/pages/exchange_view/exchange_coin_selection/floating_rate_currency_selection_view.dart'; +import 'package:stackwallet/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_1_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_provider_options.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/rate_type_toggle.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; +import 'package:stackwallet/providers/exchange/available_majesticbank_currencies_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; +import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; // import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; @@ -74,268 +76,15 @@ class _ExchangeFormState extends ConsumerState { await ref .read(exchangeFormStateProvider) - .setFromAmountAndCalculateToAmount( + .setSendAmountAndCalculateReceiveAmount( newFromAmount ?? Decimal.zero, true); if (newFromAmount == null) { - _receiveController.text = - ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.estimated - ? "-" - : ""; - } - } - } - - void selectSendCurrency() async { - if (ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.estimated) { - final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? "-"; - // ref.read(estimatedRateExchangeFormProvider).from?.ticker ?? "-"; - - if (walletInitiated && - fromTicker.toLowerCase() == coin!.ticker.toLowerCase()) { - // do not allow changing away from wallet coin - return; - } - - List currencies; - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - currencies = - ref.read(availableChangeNowCurrenciesProvider).currencies; - break; - // case SimpleSwapExchange.exchangeName: - // currencies = ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRateCurrencies; - // break; - default: - currencies = []; - } - - await _showFloatingRateSelectionSheet( - currencies: currencies, - excludedTicker: ref.read(exchangeFormStateProvider).toTicker ?? "-", - fromTicker: fromTicker, - onSelected: (from) => - ref.read(exchangeFormStateProvider).updateFrom(from, true)); - - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, - ), - ), - ), - ), - ); - - await Future.delayed(const Duration(milliseconds: 300)); - - Navigator.of(context, rootNavigator: true).pop(); - } else { - final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; - final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; - - if (walletInitiated && - fromTicker.toLowerCase() == coin!.ticker.toLowerCase()) { - // do not allow changing away from wallet coin - return; - } - - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - await _showFixedRateSelectionSheet( - excludedTicker: toTicker, - fromTicker: fromTicker, - onSelected: (selectedFromTicker) async { - try { - final market = ref - .read(availableChangeNowCurrenciesProvider) - .markets - .firstWhere( - (e) => e.to == toTicker && e.from == selectedFromTicker, - ); - - await ref - .read(exchangeFormStateProvider) - .updateMarket(market, true); - } catch (e) { - unawaited( - showDialog( - context: context, - builder: (_) { - if (isDesktop) { - return const SimpleDesktopDialog( - title: "Fixed rate market error", - message: - "Could not find the specified fixed rate trade pair", - ); - } else { - return const StackDialog( - title: "Fixed rate market error", - message: - "Could not find the specified fixed rate trade pair", - ); - } - }, - ), - ); - - return; - } - }, - ); - break; - // case SimpleSwapExchange.exchangeName: - // await _showFloatingRateSelectionSheet( - // currencies: ref - // .read(availableSimpleswapCurrenciesProvider) - // .fixedRateCurrencies, - // excludedTicker: - // ref.read(exchangeFormStateProvider).toTicker ?? "-", - // fromTicker: fromTicker, - // onSelected: (from) => - // ref.read(exchangeFormStateProvider).updateFrom(from, true)); - // break; - default: - // TODO show error? - } - } - } - - void selectReceiveCurrency() async { - if (ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.estimated) { - final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; - - if (walletInitiated && - toTicker.toLowerCase() == coin!.ticker.toLowerCase()) { - // do not allow changing away from wallet coin - return; - } - - List currencies; - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - currencies = - ref.read(availableChangeNowCurrenciesProvider).currencies; - break; - // case SimpleSwapExchange.exchangeName: - // currencies = ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRateCurrencies; - // break; - default: - currencies = []; - } - - await _showFloatingRateSelectionSheet( - currencies: currencies, - excludedTicker: ref.read(exchangeFormStateProvider).fromTicker ?? "", - fromTicker: ref.read(exchangeFormStateProvider).fromTicker ?? "", - onSelected: (to) => - ref.read(exchangeFormStateProvider).updateTo(to, true)); - - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, - ), - ), - ), - ), - ); - - await Future.delayed(const Duration(milliseconds: 300)); - Navigator.of(context).pop(); - } else { - final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; - final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; - - if (walletInitiated && - toTicker.toLowerCase() == coin!.ticker.toLowerCase()) { - // do not allow changing away from wallet coin - return; - } - - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - await _showFixedRateSelectionSheet( - excludedTicker: fromTicker, - fromTicker: fromTicker, - onSelected: (selectedToTicker) async { - try { - final market = ref - .read(availableChangeNowCurrenciesProvider) - .markets - .firstWhere( - (e) => e.to == selectedToTicker && e.from == fromTicker, - ); - - await ref - .read(exchangeFormStateProvider) - .updateMarket(market, true); - } catch (e) { - unawaited( - showDialog( - context: context, - builder: (_) { - if (isDesktop) { - return const SimpleDesktopDialog( - title: "Fixed rate market error", - message: - "Could not find the specified fixed rate trade pair", - ); - } else { - return const StackDialog( - title: "Fixed rate market error", - message: - "Could not find the specified fixed rate trade pair", - ); - } - }, - ), - ); - return; - } - }, - ); - break; - // case SimpleSwapExchange.exchangeName: - // await _showFloatingRateSelectionSheet( - // currencies: ref - // .read(availableSimpleswapCurrenciesProvider) - // .fixedRateCurrencies, - // excludedTicker: - // ref.read(exchangeFormStateProvider).fromTicker ?? "", - // fromTicker: ref.read(exchangeFormStateProvider).fromTicker ?? "", - // onSelected: (to) => - // ref.read(exchangeFormStateProvider).updateTo(to, true)); - // break; - default: - // TODO show error? + _receiveController.text = "LOLOK"; + // ref.read(prefsChangeNotifierProvider).exchangeRateType == + // ExchangeRateType.estimated + // ? "-" + // : ""; } } } @@ -345,15 +94,106 @@ class _ExchangeFormState extends ConsumerState { final isEstimated = ref.read(prefsChangeNotifierProvider).exchangeRateType == ExchangeRateType.estimated; - if (!isEstimated) { - ref.read(exchangeFormStateProvider).toAmount = - newToAmount ?? Decimal.zero; + if (!(isEstimated && + ref.read(currentExchangeNameStateProvider.state).state == + ChangeNowExchange.exchangeName)) { + ref.read(exchangeFormStateProvider).receiveAmount = newToAmount; } if (newToAmount == null) { _sendController.text = ""; } } + void selectSendCurrency() async { + final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; + + if (walletInitiated && + fromTicker.toLowerCase() == coin!.ticker.toLowerCase()) { + // do not allow changing away from wallet coin + return; + } + + await _showCurrencySelectionSheet( + willChange: ref.read(exchangeFormStateProvider).sendCurrency, + paired: ref.read(exchangeFormStateProvider).receiveCurrency, + isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == + ExchangeRateType.fixed, + onSelected: (to) => + ref.read(exchangeFormStateProvider).updateTo(to, true), + ); + + unawaited( + showDialog( + context: context, + barrierDismissible: false, + builder: (_) => WillPopScope( + onWillPop: () async => false, + child: Container( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange rate", + eventBus: null, + ), + ), + ), + ), + ); + + await Future.delayed(const Duration(milliseconds: 300)); + + if (mounted) { + Navigator.of(context, rootNavigator: true).pop(); + } + } + + void selectReceiveCurrency() async { + final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; + + if (walletInitiated && + toTicker.toLowerCase() == coin!.ticker.toLowerCase()) { + // do not allow changing away from wallet coin + return; + } + + await _showCurrencySelectionSheet( + willChange: ref.read(exchangeFormStateProvider).receiveCurrency, + paired: ref.read(exchangeFormStateProvider).sendCurrency, + isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == + ExchangeRateType.fixed, + onSelected: (to) => + ref.read(exchangeFormStateProvider).updateTo(to, true), + ); + + unawaited( + showDialog( + context: context, + barrierDismissible: false, + builder: (_) => WillPopScope( + onWillPop: () async => false, + child: Container( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange rate", + eventBus: null, + ), + ), + ), + ), + ); + + await Future.delayed(const Duration(milliseconds: 300)); + + if (mounted) { + Navigator.of(context, rootNavigator: true).pop(); + } + } + Future _swap() async { _swapLock = true; _sendFocusNode.unfocus(); @@ -393,7 +233,9 @@ class _ExchangeFormState extends ConsumerState { .where((e) => e.from == to && e.to == from); if (markets.isNotEmpty) { - await ref.read(exchangeFormStateProvider).swap(market: markets.first); + await ref + .read(exchangeFormStateProvider) + .swap(shouldNotifyListeners: true); } else { Logging.instance.log( "swap to fixed rate market failed", @@ -402,7 +244,9 @@ class _ExchangeFormState extends ConsumerState { } } } else { - await ref.read(exchangeFormStateProvider).swap(); + await ref + .read(exchangeFormStateProvider) + .swap(shouldNotifyListeners: true); } if (mounted) { Navigator.of(context, rootNavigator: isDesktop).pop(); @@ -410,56 +254,15 @@ class _ExchangeFormState extends ConsumerState { _swapLock = false; } - Future _showFloatingRateSelectionSheet({ - required List currencies, - required String excludedTicker, - required String fromTicker, + Future _showCurrencySelectionSheet({ + required Currency? willChange, + required Currency? paired, + required bool isFixedRate, required void Function(Currency) onSelected, }) async { _sendFocusNode.unfocus(); _receiveFocusNode.unfocus(); - List allPairs; - - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - allPairs = ref.read(availableChangeNowCurrenciesProvider).pairs; - break; - // case SimpleSwapExchange.exchangeName: - // allPairs = ref.read(exchangeFormStateProvider).exchangeType == - // ExchangeRateType.fixed - // ? ref.read(availableSimpleswapCurrenciesProvider).fixedRatePairs - // : ref.read(availableSimpleswapCurrenciesProvider).floatingRatePairs; - // break; - default: - allPairs = []; - } - - List availablePairs; - if (fromTicker.isEmpty || - fromTicker == "-" || - excludedTicker.isEmpty || - excludedTicker == "-") { - availablePairs = allPairs; - } else if (excludedTicker == fromTicker) { - availablePairs = allPairs - .where((e) => e.from == excludedTicker) - .toList(growable: false); - } else { - availablePairs = - allPairs.where((e) => e.to == excludedTicker).toList(growable: false); - } - - final List tickers = currencies.where((e) { - if (excludedTicker == fromTicker) { - return e.ticker != excludedTicker && - availablePairs.where((e2) => e2.to == e.ticker).isNotEmpty; - } else { - return e.ticker != excludedTicker && - availablePairs.where((e2) => e2.from == e.ticker).isNotEmpty; - } - }).toList(growable: false); - final result = isDesktop ? await showDialog( context: context, @@ -499,8 +302,14 @@ class _ExchangeFormState extends ConsumerState { borderColor: Theme.of(context) .extension()! .background, - child: FloatingRateCurrencySelectionView( - currencies: tickers, + child: ExchangeCurrencySelectionView( + exchangeName: ref + .read(currentExchangeNameStateProvider + .state) + .state, + willChange: willChange, + paired: paired, + isFixedRate: isFixedRate, ), ), ), @@ -514,8 +323,12 @@ class _ExchangeFormState extends ConsumerState { }) : await Navigator.of(context).push( MaterialPageRoute( - builder: (_) => FloatingRateCurrencySelectionView( - currencies: tickers, + builder: (_) => ExchangeCurrencySelectionView( + exchangeName: + ref.read(currentExchangeNameStateProvider.state).state, + willChange: willChange, + paired: paired, + isFixedRate: isFixedRate, ), ), ); @@ -525,147 +338,7 @@ class _ExchangeFormState extends ConsumerState { } } - String? _fetchIconUrlFromTicker(String? ticker) { - if (ticker == null) return null; - - Iterable possibleCurrencies; - - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - possibleCurrencies = ref - .read(availableChangeNowCurrenciesProvider) - .currencies - .where((e) => e.ticker.toUpperCase() == ticker.toUpperCase()); - break; - // case SimpleSwapExchange.exchangeName: - // possibleCurrencies = [ - // ...ref - // .read(availableSimpleswapCurrenciesProvider) - // .fixedRateCurrencies - // .where((e) => e.ticker.toUpperCase() == ticker.toUpperCase()), - // ...ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRateCurrencies - // .where((e) => e.ticker.toUpperCase() == ticker.toUpperCase()), - // ]; - // break; - default: - possibleCurrencies = []; - } - - for (final currency in possibleCurrencies) { - if (currency.image.isNotEmpty) { - return currency.image; - } - } - - return null; - } - - Future _showFixedRateSelectionSheet({ - required String excludedTicker, - required String fromTicker, - required void Function(String) onSelected, - }) async { - _sendFocusNode.unfocus(); - _receiveFocusNode.unfocus(); - - List marketsThatPairWithExcludedTicker = []; - - if (excludedTicker == "" || - excludedTicker == "-" || - fromTicker == "" || - fromTicker == "-") { - marketsThatPairWithExcludedTicker = - ref.read(availableChangeNowCurrenciesProvider).markets; - } else if (excludedTicker == fromTicker) { - marketsThatPairWithExcludedTicker = ref - .read(availableChangeNowCurrenciesProvider) - .markets - .where((e) => e.from == excludedTicker && e.to != excludedTicker) - .toList(growable: false); - } else { - marketsThatPairWithExcludedTicker = ref - .read(availableChangeNowCurrenciesProvider) - .markets - .where((e) => e.to == excludedTicker && e.from != excludedTicker) - .toList(growable: false); - } - - final result = isDesktop - ? await showDialog( - context: context, - builder: (context) { - return DesktopDialog( - maxHeight: 700, - maxWidth: 580, - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Padding( - padding: const EdgeInsets.only( - left: 32, - ), - child: Text( - "Choose a coin to exchange", - style: STextStyles.desktopH3(context), - ), - ), - const DesktopDialogCloseButton(), - ], - ), - Expanded( - child: Padding( - padding: const EdgeInsets.only( - left: 32, - right: 32, - bottom: 32, - ), - child: Row( - children: [ - Expanded( - child: RoundedWhiteContainer( - padding: const EdgeInsets.all(16), - borderColor: Theme.of(context) - .extension()! - .background, - child: FixedRateMarketPairCoinSelectionView( - markets: marketsThatPairWithExcludedTicker, - currencies: ref - .read( - availableChangeNowCurrenciesProvider) - .currencies, - isFrom: excludedTicker != fromTicker, - ), - ), - ), - ], - ), - ), - ), - ], - ), - ); - }) - : await Navigator.of(context).push( - MaterialPageRoute( - builder: (_) => FixedRateMarketPairCoinSelectionView( - markets: marketsThatPairWithExcludedTicker, - currencies: - ref.read(availableChangeNowCurrenciesProvider).currencies, - isFrom: excludedTicker != fromTicker, - ), - ), - ); - - if (mounted && result is String) { - onSelected(result); - } - } - - void onRateTypeChanged(ExchangeRateType rateType) async { + void onRateTypeChanged() async { _receiveFocusNode.unfocus(); _sendFocusNode.unfocus(); @@ -692,193 +365,173 @@ class _ExchangeFormState extends ConsumerState { final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? "-"; final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? "-"; - ref.read(exchangeFormStateProvider).exchangeType = rateType; ref.read(exchangeFormStateProvider).reversed = false; - switch (rateType) { - case ExchangeRateType.estimated: - if (!(toTicker == "-" || fromTicker == "-")) { - late final Iterable available; + // switch (rateType) { + // case ExchangeRateType.estimated: + if (!(toTicker == "-" || fromTicker == "-")) { + final available = await ExchangeDataLoadingService.instance.isar.pairs + .where() + .exchangeNameEqualTo( + ref.read(currentExchangeNameStateProvider.state).state) + .filter() + .fromEqualTo(fromTicker) + .and() + .toEqualTo(toTicker) + .findAll(); - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - available = ref - .read(availableChangeNowCurrenciesProvider) - .pairs - .where((e) => e.to == toTicker && e.from == fromTicker); - break; - // case SimpleSwapExchange.exchangeName: - // available = ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRatePairs - // .where((e) => e.to == toTicker && e.from == fromTicker); - // break; - default: - available = []; + if (available.isNotEmpty) { + final availableCurrencies = await ExchangeDataLoadingService + .instance.isar.currencies + .where() + .exchangeNameEqualTo( + ref.read(currentExchangeNameStateProvider.state).state) + .filter() + .tickerEqualTo(fromTicker) + .or() + .tickerEqualTo(toTicker) + .findAll(); + + if (availableCurrencies.length > 1) { + final from = + availableCurrencies.firstWhere((e) => e.ticker == fromTicker); + final to = + availableCurrencies.firstWhere((e) => e.ticker == toTicker); + + final newFromAmount = Decimal.tryParse(_sendController.text); + ref.read(exchangeFormStateProvider).receiveAmount = newFromAmount; + if (newFromAmount == null) { + _receiveController.text = ""; } - if (available.isNotEmpty) { - late final Iterable availableCurrencies; - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - availableCurrencies = ref - .read(availableChangeNowCurrenciesProvider) - .currencies - .where( - (e) => e.ticker == fromTicker || e.ticker == toTicker); - break; - // case SimpleSwapExchange.exchangeName: - // availableCurrencies = ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRateCurrencies - // .where( - // (e) => e.ticker == fromTicker || e.ticker == toTicker); - // break; - default: - availableCurrencies = []; - } + await ref.read(exchangeFormStateProvider).updateTo(to, false); + await ref.read(exchangeFormStateProvider).updateFrom(from, true); - if (availableCurrencies.length > 1) { - final from = - availableCurrencies.firstWhere((e) => e.ticker == fromTicker); - final to = - availableCurrencies.firstWhere((e) => e.ticker == toTicker); - - final newFromAmount = Decimal.tryParse(_sendController.text); - ref.read(exchangeFormStateProvider).fromAmount = - newFromAmount ?? Decimal.zero; - if (newFromAmount == null) { - _receiveController.text = ""; - } - - await ref.read(exchangeFormStateProvider).updateTo(to, false); - await ref.read(exchangeFormStateProvider).updateFrom(from, true); - - _receiveController.text = - ref.read(exchangeFormStateProvider).toAmountString.isEmpty - ? "-" - : ref.read(exchangeFormStateProvider).toAmountString; - if (mounted) { - Navigator.of(context, rootNavigator: isDesktop).pop(); - } - return; - } + _receiveController.text = + ref.read(exchangeFormStateProvider).toAmountString.isEmpty + ? "-" + : ref.read(exchangeFormStateProvider).toAmountString; + if (mounted) { + Navigator.of(context, rootNavigator: isDesktop).pop(); } + return; } - if (mounted) { - Navigator.of(context, rootNavigator: isDesktop).pop(); - } - if (!(fromTicker == "-" || toTicker == "-")) { - unawaited( - showFloatingFlushBar( - type: FlushBarType.warning, - message: - "Estimated rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last estimated rate pair.", - context: context, - ), - ); - } - break; - case ExchangeRateType.fixed: - if (!(toTicker == "-" || fromTicker == "-")) { - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - FixedRateMarket? market; - try { - market = ref - .read(availableChangeNowCurrenciesProvider) - .markets - .firstWhere( - (e) => e.from == fromTicker && e.to == toTicker); - } catch (_) { - market = null; - } - - final newFromAmount = Decimal.tryParse(_sendController.text); - ref.read(exchangeFormStateProvider).fromAmount = - newFromAmount ?? Decimal.zero; - - if (newFromAmount == null) { - _receiveController.text = ""; - } - - await ref - .read(exchangeFormStateProvider) - .updateMarket(market, false); - await ref - .read(exchangeFormStateProvider) - .setFromAmountAndCalculateToAmount( - Decimal.tryParse(_sendController.text) ?? Decimal.zero, - true, - ); - if (mounted) { - Navigator.of(context, rootNavigator: isDesktop).pop(); - } - return; - // case SimpleSwapExchange.exchangeName: - // final available = ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRatePairs - // .where((e) => e.to == toTicker && e.from == fromTicker); - // if (available.isNotEmpty) { - // final availableCurrencies = ref - // .read(availableSimpleswapCurrenciesProvider) - // .fixedRateCurrencies - // .where( - // (e) => e.ticker == fromTicker || e.ticker == toTicker); - // if (availableCurrencies.length > 1) { - // final from = availableCurrencies - // .firstWhere((e) => e.ticker == fromTicker); - // final to = availableCurrencies - // .firstWhere((e) => e.ticker == toTicker); - // - // final newFromAmount = Decimal.tryParse(_sendController.text); - // ref.read(exchangeFormStateProvider).fromAmount = - // newFromAmount ?? Decimal.zero; - // if (newFromAmount == null) { - // _receiveController.text = ""; - // } - // - // await ref.read(exchangeFormStateProvider).updateTo(to, false); - // await ref - // .read(exchangeFormStateProvider) - // .updateFrom(from, true); - // - // _receiveController.text = - // ref.read(exchangeFormStateProvider).toAmountString.isEmpty - // ? "-" - // : ref.read(exchangeFormStateProvider).toAmountString; - // if (mounted) { - // Navigator.of(context, rootNavigator: isDesktop).pop(); - // } - // return; - // } - // } - // - // break; - default: - // - } - } - if (mounted) { - Navigator.of(context, rootNavigator: isDesktop).pop(); - } - unawaited( - showFloatingFlushBar( - type: FlushBarType.warning, - message: - "Fixed rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last fixed rate pair.", - context: context, - ), - ); - break; + } } + if (mounted) { + Navigator.of(context, rootNavigator: isDesktop).pop(); + } + if (!(fromTicker == "-" || toTicker == "-")) { + unawaited( + showFloatingFlushBar( + type: FlushBarType.warning, + message: + "${ref.read(exchangeFormStateProvider).exchangeRateType.name} rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last estimated rate pair.", + context: context, + ), + ); + } + // break; + // case ExchangeRateType.fixed: + // if (!(toTicker == "-" || fromTicker == "-")) { + // switch (ref.read(currentExchangeNameStateProvider.state).state) { + // case ChangeNowExchange.exchangeName: + // FixedRateMarket? market; + // try { + // market = ref + // .read(availableChangeNowCurrenciesProvider) + // .markets + // .firstWhere( + // (e) => e.from == fromTicker && e.to == toTicker); + // } catch (_) { + // market = null; + // } + // + // final newFromAmount = Decimal.tryParse(_sendController.text); + // ref.read(exchangeFormStateProvider).fromAmount = + // newFromAmount ?? Decimal.zero; + // + // if (newFromAmount == null) { + // _receiveController.text = ""; + // } + // + // await ref + // .read(exchangeFormStateProvider) + // .updateMarket(market, false); + // await ref + // .read(exchangeFormStateProvider) + // .setSendAmountAndCalculateReceiveAmount( + // Decimal.tryParse(_sendController.text) ?? Decimal.zero, + // true, + // ); + // if (mounted) { + // Navigator.of(context, rootNavigator: isDesktop).pop(); + // } + // return; + // case SimpleSwapExchange.exchangeName: + // final available = ref + // .read(availableSimpleswapCurrenciesProvider) + // .floatingRatePairs + // .where((e) => e.to == toTicker && e.from == fromTicker); + // if (available.isNotEmpty) { + // final availableCurrencies = ref + // .read(availableSimpleswapCurrenciesProvider) + // .fixedRateCurrencies + // .where( + // (e) => e.ticker == fromTicker || e.ticker == toTicker); + // if (availableCurrencies.length > 1) { + // final from = availableCurrencies + // .firstWhere((e) => e.ticker == fromTicker); + // final to = availableCurrencies + // .firstWhere((e) => e.ticker == toTicker); + // + // final newFromAmount = Decimal.tryParse(_sendController.text); + // ref.read(exchangeFormStateProvider).fromAmount = + // newFromAmount ?? Decimal.zero; + // if (newFromAmount == null) { + // _receiveController.text = ""; + // } + // + // await ref.read(exchangeFormStateProvider).updateTo(to, false); + // await ref + // .read(exchangeFormStateProvider) + // .updateFrom(from, true); + // + // _receiveController.text = + // ref.read(exchangeFormStateProvider).toAmountString.isEmpty + // ? "-" + // : ref.read(exchangeFormStateProvider).toAmountString; + // if (mounted) { + // Navigator.of(context, rootNavigator: isDesktop).pop(); + // } + // return; + // } + // } + // + // break; + // default: + // // + // } + // } + // if (mounted) { + // Navigator.of(context, rootNavigator: isDesktop).pop(); + // } + // unawaited( + // showFloatingFlushBar( + // type: FlushBarType.warning, + // message: + // "Fixed rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last fixed rate pair.", + // context: context, + // ), + // ); + // break; + // } } void onExchangePressed() async { final rateType = ref.read(prefsChangeNotifierProvider).exchangeRateType; final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; - final sendAmount = ref.read(exchangeFormStateProvider).fromAmount!; + final sendAmount = ref.read(exchangeFormStateProvider).sendAmount!; final estimate = ref.read(exchangeFormStateProvider).estimate!; String rate; @@ -895,6 +548,12 @@ class _ExchangeFormState extends ConsumerState { .pairs .where((e) => e.to == toTicker && e.from == fromTicker); break; + case MajesticBankExchange.exchangeName: + availableFloatingPairs = ref + .read(availableMajesticBankCurrenciesProvider) + .pairs + .where((e) => e.to == toTicker && e.from == fromTicker); + break; // case SimpleSwapExchange.exchangeName: // availableFloatingPairs = ref // .read(availableSimpleswapCurrenciesProvider) @@ -1059,7 +718,7 @@ class _ExchangeFormState extends ConsumerState { rateInfo: rate, sendAmount: estimate.reversed ? estimate.estimatedAmount : sendAmount, receiveAmount: estimate.reversed - ? ref.read(exchangeFormStateProvider).toAmount! + ? ref.read(exchangeFormStateProvider).receiveAmount! : estimate.estimatedAmount, rateType: rateType, rateId: estimate.rateId, @@ -1154,7 +813,7 @@ class _ExchangeFormState extends ConsumerState { if (walletInitiated) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - ref.read(exchangeFormStateProvider).clearAmounts(true); + ref.read(exchangeFormStateProvider).reset(shouldNotifyListeners: true); // ref.read(fixedRateExchangeFormProvider); }); } else { @@ -1293,8 +952,8 @@ class _ExchangeFormState extends ConsumerState { onChanged: sendFieldOnChanged, onButtonTap: selectSendCurrency, isWalletCoin: isWalletCoin(coin, true), - image: _fetchIconUrlFromTicker(ref.watch( - exchangeFormStateProvider.select((value) => value.fromTicker))), + image: ref.watch(exchangeFormStateProvider + .select((value) => value.receiveCurrency?.image)), ticker: ref.watch( exchangeFormStateProvider.select((value) => value.fromTicker)), ), @@ -1383,8 +1042,9 @@ class _ExchangeFormState extends ConsumerState { onChanged: receiveFieldOnChanged, onButtonTap: selectReceiveCurrency, isWalletCoin: isWalletCoin(coin, true), - image: _fetchIconUrlFromTicker(ref.watch( - exchangeFormStateProvider.select((value) => value.toTicker))), + image: ref.watch(exchangeFormStateProvider + .select((value) => value.receiveCurrency?.image)) ?? + "", ticker: ref.watch( exchangeFormStateProvider.select((value) => value.toTicker)), readOnly: ref.watch(prefsChangeNotifierProvider @@ -1415,19 +1075,19 @@ class _ExchangeFormState extends ConsumerState { ), ), // these reads should be watch - if (ref.watch(exchangeFormStateProvider).fromAmount != null && - ref.watch(exchangeFormStateProvider).fromAmount != Decimal.zero) + if (ref.watch(exchangeFormStateProvider).sendAmount != null && + ref.watch(exchangeFormStateProvider).sendAmount != Decimal.zero) SizedBox( height: isDesktop ? 20 : 12, ), // these reads should be watch - if (ref.watch(exchangeFormStateProvider).fromAmount != null && - ref.watch(exchangeFormStateProvider).fromAmount != Decimal.zero) + if (ref.watch(exchangeFormStateProvider).sendAmount != null && + ref.watch(exchangeFormStateProvider).sendAmount != Decimal.zero) ExchangeProviderOptions( from: ref.watch(exchangeFormStateProvider).fromTicker, to: ref.watch(exchangeFormStateProvider).toTicker, - fromAmount: ref.watch(exchangeFormStateProvider).fromAmount, - toAmount: ref.watch(exchangeFormStateProvider).toAmount, + fromAmount: ref.watch(exchangeFormStateProvider).sendAmount, + toAmount: ref.watch(exchangeFormStateProvider).receiveAmount, fixedRate: ref.watch(prefsChangeNotifierProvider .select((value) => value.exchangeRateType)) == ExchangeRateType.fixed, @@ -1441,10 +1101,7 @@ class _ExchangeFormState extends ConsumerState { buttonHeight: isDesktop ? ButtonHeight.l : null, enabled: ref.watch( exchangeFormStateProvider.select((value) => value.canExchange)), - onPressed: ref.watch(exchangeFormStateProvider - .select((value) => value.canExchange)) - ? onExchangePressed - : null, + onPressed: onExchangePressed, label: "Exchange", ) ], diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index 42ffc398a..d2d58bab5 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -7,6 +7,7 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -139,7 +140,222 @@ class ExchangeProviderOptions extends ConsumerWidget { fromAmount != null && fromAmount! > Decimal.zero) FutureBuilder( - future: ChangeNowExchange().getEstimate( + future: ChangeNowExchange.instance.getEstimate( + from!, + to!, + reversed ? toAmount! : fromAmount!, + fixedRate, + reversed, + ), + builder: (context, + AsyncSnapshot> + snapshot) { + if (snapshot.connectionState == + ConnectionState.done && + snapshot.hasData) { + final estimate = snapshot.data?.value; + if (estimate != null) { + Decimal rate; + if (estimate.reversed) { + rate = (toAmount! / + estimate.estimatedAmount) + .toDecimal( + scaleOnInfinitePrecision: 12); + } else { + rate = (estimate.estimatedAmount / + fromAmount!) + .toDecimal( + scaleOnInfinitePrecision: 12); + } + Coin coin; + try { + coin = + coinFromTickerCaseInsensitive(to!); + } catch (_) { + coin = Coin.bitcoin; + } + + return Text( + "1 ${from!.toUpperCase()} ~ ${Format.localizedStringAsFixed( + value: rate, + locale: ref.watch( + localeServiceChangeNotifierProvider + .select( + (value) => value.locale), + ), + decimalPlaces: + Constants.decimalPlacesForCoin( + coin), + )} ${to!.toUpperCase()}", + style: + STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); + } else { + Logging.instance.log( + "$runtimeType failed to fetch rate for ChangeNOW: ${snapshot.data}", + level: LogLevel.Warning, + ); + return Text( + "Failed to fetch rate", + style: + STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); + } + } else { + return AnimatedText( + stringsToLoopThrough: const [ + "Loading", + "Loading.", + "Loading..", + "Loading...", + ], + style: STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); + } + }, + ), + if (!(from != null && + to != null && + toAmount != null && + toAmount! > Decimal.zero && + fromAmount != null && + fromAmount! > Decimal.zero)) + Text( + "n/a", + style: STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + if (isDesktop) + Container( + height: 1, + color: Theme.of(context).extension()!.background, + ), + if (!isDesktop) + const SizedBox( + height: 16, + ), + ConditionalParent( + condition: isDesktop, + builder: (child) => MouseRegion( + cursor: SystemMouseCursors.click, + child: child, + ), + child: GestureDetector( + onTap: () { + if (ref.read(currentExchangeNameStateProvider.state).state != + MajesticBankExchange.exchangeName) { + ref.read(currentExchangeNameStateProvider.state).state = + MajesticBankExchange.exchangeName; + ref.read(exchangeFormStateProvider).exchange = + Exchange.fromName(ref + .read(currentExchangeNameStateProvider.state) + .state); + } + }, + child: Container( + color: Colors.transparent, + child: Padding( + padding: isDesktop + ? const EdgeInsets.all(16) + : const EdgeInsets.all(0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 20, + height: 20, + child: Padding( + padding: + EdgeInsets.only(top: isDesktop ? 20.0 : 15.0), + child: Radio( + activeColor: Theme.of(context) + .extension()! + .radioButtonIconEnabled, + value: MajesticBankExchange.exchangeName, + groupValue: ref + .watch(currentExchangeNameStateProvider.state) + .state, + onChanged: (value) { + if (value is String) { + ref + .read( + currentExchangeNameStateProvider.state) + .state = value; + ref.read(exchangeFormStateProvider).exchange = + Exchange.fromName(ref + .read(currentExchangeNameStateProvider + .state) + .state); + } + }, + ), + ), + ), + const SizedBox( + width: 14, + ), + Padding( + padding: const EdgeInsets.only(top: 5.0), + child: SvgPicture.asset( + Assets.exchange.changeNow, + width: isDesktop ? 32 : 24, + height: isDesktop ? 32 : 24, + ), + ), + const SizedBox( + width: 10, + ), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + MajesticBankExchange.exchangeName, + style: STextStyles.titleBold12(context).copyWith( + color: Theme.of(context) + .extension()! + .textDark2, + ), + ), + if (from != null && + to != null && + toAmount != null && + toAmount! > Decimal.zero && + fromAmount != null && + fromAmount! > Decimal.zero) + FutureBuilder( + future: + MajesticBankExchange.instance.getEstimate( from!, to!, reversed ? toAmount! : fromAmount!, diff --git a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart index 8c82bbbc4..0c30fc0c8 100644 --- a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart +++ b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart @@ -14,28 +14,27 @@ class RateTypeToggle extends ConsumerWidget { this.onChanged, }) : super(key: key); - final void Function(ExchangeRateType)? onChanged; + final void Function()? onChanged; @override Widget build(BuildContext context, WidgetRef ref) { debugPrint("BUILD: $runtimeType"); final isDesktop = Util.isDesktop; - final estimated = ref.watch(prefsChangeNotifierProvider - .select((value) => value.exchangeRateType)) == - ExchangeRateType.estimated; - return Toggle( onValueChanged: (value) { - if (!estimated) { + if (value) { + ref.read(prefsChangeNotifierProvider).exchangeRateType = + ExchangeRateType.fixed; + } else { ref.read(prefsChangeNotifierProvider).exchangeRateType = ExchangeRateType.estimated; - onChanged?.call(ExchangeRateType.estimated); - } else { - onChanged?.call(ExchangeRateType.fixed); } + onChanged?.call(); }, - isOn: !estimated, + isOn: ref.watch(prefsChangeNotifierProvider + .select((value) => value.exchangeRateType)) == + ExchangeRateType.fixed, onColor: isDesktop ? Theme.of(context) .extension()! diff --git a/lib/pages/home_view/home_view.dart b/lib/pages/home_view/home_view.dart index 9ba14c692..71acb919b 100644 --- a/lib/pages/home_view/home_view.dart +++ b/lib/pages/home_view/home_view.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/buy_view/buy_view.dart'; -import 'package:stackwallet/pages/exchange_view/exchange_loading_overlay.dart'; import 'package:stackwallet/pages/exchange_view/exchange_view.dart'; import 'package:stackwallet/pages/home_view/sub_widgets/home_view_button_bar.dart'; import 'package:stackwallet/pages/notification_views/notifications_view.dart'; @@ -12,13 +11,10 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/global_set import 'package:stackwallet/pages/settings_views/global_settings_view/hidden_settings.dart'; import 'package:stackwallet/pages/wallets_view/wallets_view.dart'; import 'package:stackwallet/providers/global/notifications_provider.dart'; -import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/ui/home_view_index_provider.dart'; import 'package:stackwallet/providers/ui/unread_notifications_provider.dart'; -import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; @@ -45,7 +41,6 @@ class _HomeViewState extends ConsumerState { bool _exitEnabled = false; - final _exchangeDataLoadingService = ExchangeDataLoadingService(); // final _buyDataLoadingService = BuyDataLoadingService(); Future _onWillPop() async { @@ -84,16 +79,6 @@ class _HomeViewState extends ConsumerState { return _exitEnabled; } - void _loadCNData() { - // unawaited future - if (ref.read(prefsChangeNotifierProvider).externalCalls) { - _exchangeDataLoadingService.loadAll(ref); - } else { - Logging.instance.log("User does not want to use external calls", - level: LogLevel.Info); - } - } - // void _loadSimplexData() { // // unawaited future // if (ref.read(prefsChangeNotifierProvider).externalCalls) { @@ -123,9 +108,9 @@ class _HomeViewState extends ConsumerState { Stack( children: [ const ExchangeView(), - ExchangeLoadingOverlayView( - unawaitedLoad: _loadCNData, - ), + // ExchangeLoadingOverlayView( + // unawaitedLoad: _loadCNData, + // ), ], ), if (Constants.enableBuy) @@ -331,9 +316,9 @@ class _HomeViewState extends ConsumerState { _ref.listen(homeViewPageIndexStateProvider, (previous, next) { if (next is int && next >= 0 && next <= 2) { - if (next == 1) { - _exchangeDataLoadingService.loadAll(ref); - } + // if (next == 1) { + // _exchangeDataLoadingService.loadAll(ref); + // } // if (next == 2) { // _buyDataLoadingService.loadAll(ref); // } diff --git a/lib/pages/home_view/sub_widgets/home_view_button_bar.dart b/lib/pages/home_view/sub_widgets/home_view_button_bar.dart index 2992be514..bf1caab77 100644 --- a/lib/pages/home_view/sub_widgets/home_view_button_bar.dart +++ b/lib/pages/home_view/sub_widgets/home_view_button_bar.dart @@ -1,10 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; -import 'package:stackwallet/widgets/stack_dialog.dart'; class HomeViewButtonBar extends ConsumerStatefulWidget { const HomeViewButtonBar({Key? key}) : super(key: key); @@ -19,16 +17,16 @@ class _HomeViewButtonBarState extends ConsumerState { @override void initState() { - ref.read(exchangeFormStateProvider).setOnError( - onError: (String message) => showDialog( - context: context, - barrierDismissible: true, - builder: (_) => StackDialog( - title: "Exchange API Call Failed", - message: message, - ), - ), - ); + // ref.read(exchangeFormStateProvider).setOnError( + // onError: (String message) => showDialog( + // context: context, + // barrierDismissible: true, + // builder: (_) => StackDialog( + // title: "Exchange API Call Failed", + // message: message, + // ), + // ), + // ); super.initState(); } @@ -106,7 +104,7 @@ class _HomeViewButtonBarState extends ConsumerState { // DateTime now = DateTime.now(); // if (ref.read(prefsChangeNotifierProvider).externalCalls) { // print("loading?"); - await ExchangeDataLoadingService().loadAll(ref); + // await ExchangeDataLoadingService().loadAll(ref); // } // if (now.difference(_lastRefreshed) > _refreshInterval) { // await ExchangeDataLoadingService().loadAll(ref); diff --git a/lib/pages/stack_privacy_calls.dart b/lib/pages/stack_privacy_calls.dart index e120d238b..9e1f83599 100644 --- a/lib/pages/stack_privacy_calls.dart +++ b/lib/pages/stack_privacy_calls.dart @@ -230,8 +230,13 @@ class _StackPrivacyCalls extends ConsumerState { value: isEasy) .then((_) { if (isEasy) { - unawaited(ExchangeDataLoadingService() - .loadAll(ref)); + unawaited( + ExchangeDataLoadingService.instance + .init() + .then((_) => ExchangeDataLoadingService + .instance + .loadAll()), + ); // unawaited( // BuyDataLoadingService().loadAll(ref)); ref diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index 04817a843..17fa18c8a 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -37,7 +37,6 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/wallet_balance_toggle_state.dart'; -import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; @@ -80,8 +79,6 @@ class _WalletViewState extends ConsumerState { late StreamSubscription _syncStatusSubscription; late StreamSubscription _nodeStatusSubscription; - final _cnLoadingService = ExchangeDataLoadingService(); - @override void initState() { walletId = widget.walletId; @@ -231,7 +228,8 @@ class _WalletViewState extends ConsumerState { } void _onExchangePressed(BuildContext context) async { - unawaited(_cnLoadingService.loadAll(ref)); + // too expensive + // unawaited(ExchangeDataLoadingService.instance.loadAll(ref)); final coin = ref.read(managerProvider).coin; @@ -257,8 +255,6 @@ class _WalletViewState extends ConsumerState { ExchangeRateType.estimated; ref.read(exchangeFormStateProvider).exchange = ref.read(exchangeProvider); - ref.read(exchangeFormStateProvider).exchangeType = - ExchangeRateType.estimated; final currencies = ref .read(availableChangeNowCurrenciesProvider) @@ -311,7 +307,7 @@ class _WalletViewState extends ConsumerState { ); final firoWallet = ref.read(managerProvider).wallet as FiroWallet; - final publicBalance = await firoWallet.availablePublicBalance(); + final publicBalance = firoWallet.availablePublicBalance(); if (publicBalance <= Decimal.zero) { shouldPop = true; if (mounted) { @@ -363,12 +359,13 @@ class _WalletViewState extends ConsumerState { void _loadCNData() { // unawaited future - if (ref.read(prefsChangeNotifierProvider).externalCalls) { - _cnLoadingService.loadAll(ref, coin: ref.read(managerProvider).coin); - } else { - Logging.instance.log("User does not want to use external calls", - level: LogLevel.Info); - } + // if (ref.read(prefsChangeNotifierProvider).externalCalls) { + ExchangeDataLoadingService.instance.loadAll(); + // .loadAll(ref, coin: ref.read(managerProvider).coin); + // } else { + // Logging.instance.log("User does not want to use external calls", + // level: LogLevel.Info); + // } } @override diff --git a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart index 32c20c010..e95be7bbf 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart @@ -169,7 +169,9 @@ class _StackPrivacyDialog extends ConsumerState { value: isEasy) .then((_) { if (isEasy) { - unawaited(ExchangeDataLoadingService().loadAll(ref)); + unawaited( + ExchangeDataLoadingService.instance.loadAll(), + ); ref .read(priceAnd24hChangeNotifierProvider) .start(true); diff --git a/lib/providers/exchange/available_majesticbank_currencies_provider.dart b/lib/providers/exchange/available_majesticbank_currencies_provider.dart new file mode 100644 index 000000000..3861aa4e1 --- /dev/null +++ b/lib/providers/exchange/available_majesticbank_currencies_provider.dart @@ -0,0 +1,6 @@ +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/models/exchange/majestic_bank/mb_available_currencies.dart'; + +final availableMajesticBankCurrenciesProvider = Provider( + (ref) => MBAvailableCurrencies(), +); diff --git a/lib/providers/exchange/current_exchange_name_state_provider.dart b/lib/providers/exchange/current_exchange_name_state_provider.dart index 67b630ad7..3dc481c8f 100644 --- a/lib/providers/exchange/current_exchange_name_state_provider.dart +++ b/lib/providers/exchange/current_exchange_name_state_provider.dart @@ -1,6 +1,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; +import 'package:stackwallet/services/exchange/exchange.dart'; final currentExchangeNameStateProvider = StateProvider( - (ref) => ChangeNowExchange.exchangeName, + (ref) => Exchange.defaultExchange.name, ); diff --git a/lib/providers/exchange/exchange_form_state_provider.dart b/lib/providers/exchange/exchange_form_state_provider.dart index 568660d48..a1995c496 100644 --- a/lib/providers/exchange/exchange_form_state_provider.dart +++ b/lib/providers/exchange/exchange_form_state_provider.dart @@ -1,6 +1,30 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/models/exchange/exchange_form_state.dart'; +import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; -final exchangeFormStateProvider = ChangeNotifierProvider( - (ref) => ExchangeFormState(), +final exchangeFormStateProvider = + ChangeNotifierProvider((ref) { + final type = ref.watch( + prefsChangeNotifierProvider.select( + (value) => value.exchangeRateType, + ), + ); + + switch (type) { + case ExchangeRateType.estimated: + return ref.watch(_estimatedFormState); + case ExchangeRateType.fixed: + return ref.watch(_fixedFormState); + } +}); + +final _fixedInstance = ExchangeFormState(ExchangeRateType.fixed); +final _fixedFormState = ChangeNotifierProvider( + (ref) => _fixedInstance, +); + +final _estimatedInstance = ExchangeFormState(ExchangeRateType.estimated); +final _estimatedFormState = ChangeNotifierProvider( + (ref) => _estimatedInstance, ); diff --git a/lib/route_generator.dart b/lib/route_generator.dart index 970246043..b4e24384b 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -28,7 +28,6 @@ import 'package:stackwallet/pages/buy_view/buy_quote_preview.dart'; import 'package:stackwallet/pages/buy_view/buy_view.dart'; import 'package:stackwallet/pages/exchange_view/choose_from_stack_view.dart'; import 'package:stackwallet/pages/exchange_view/edit_trade_note_view.dart'; -import 'package:stackwallet/pages/exchange_view/exchange_loading_overlay.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_1_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_3_view.dart'; @@ -891,7 +890,7 @@ class RouteGenerator { return _routeError("${settings.name} invalid args: ${args.toString()}"); case WalletInitiatedExchangeView.routeName: - if (args is Tuple3) { + if (args is Tuple2) { return getRoute( shouldUseMaterialRoute: useMaterialPageRoute, builder: (_) => Stack( @@ -900,9 +899,9 @@ class RouteGenerator { walletId: args.item1, coin: args.item2, ), - ExchangeLoadingOverlayView( - unawaitedLoad: args.item3, - ), + // ExchangeLoadingOverlayView( + // unawaitedLoad: args.item3, + // ), ], ), settings: RouteSettings( diff --git a/lib/services/exchange/TMP.dart b/lib/services/exchange/TMP.dart new file mode 100644 index 000000000..868ace14e --- /dev/null +++ b/lib/services/exchange/TMP.dart @@ -0,0 +1,389 @@ +// import 'package:decimal/decimal.dart'; +// import 'package:flutter/foundation.dart'; +// import 'package:stackwallet/models/exchange/response_objects/currency.dart'; +// import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; +// import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; +// import 'package:stackwallet/services/exchange/exchange.dart'; +// import 'package:stackwallet/utilities/logger.dart'; +// +// class ExchangeFormState extends ChangeNotifier { +// ExchangeFormState(this.exchangeRateType); +// final ExchangeRateType exchangeRateType; +// +// Exchange? _exchange; +// Exchange get exchange => +// _exchange ??= ChangeNowExchange(); // default to change now +// set exchange(Exchange value) { +// _exchange = value; +// _updateRangesAndEstimate( +// shouldNotifyListeners: true, +// ); +// } +// +// bool _reversed = false; +// bool get reversed => _reversed; +// // set reversed(bool reversed) { +// // _reversed = reversed; +// // // +// // } +// +// Decimal? _rate; +// Decimal? get rate => _rate; +// // set rate(Decimal? rate) { +// // _rate = rate; +// // // +// // } +// +// Decimal? _sendAmount; +// Decimal? get sendAmount => _sendAmount; +// // set sendAmount(Decimal? sendAmount) { +// // _sendAmount = sendAmount; +// // // +// // } +// +// Decimal? _receiveAmount; +// Decimal? get receiveAmount => _receiveAmount; +// // set receiveAmount(Decimal? receiveAmount) { +// // _receiveAmount = receiveAmount; +// // // +// // } +// +// Currency? _sendCurrency; +// Currency? get sendCurrency => _sendCurrency; +// // set sendCurrency(Currency? sendCurrency) { +// // _sendCurrency = sendCurrency; +// // // +// // } +// +// Currency? _receiveCurrency; +// Currency? get receiveCurrency => _receiveCurrency; +// // set receiveCurrency(Currency? receiveCurrency) { +// // _receiveCurrency = receiveCurrency; +// // // +// // } +// +// Decimal? _minSendAmount; +// Decimal? get minSendAmount => _minSendAmount; +// // set minSendAmount(Decimal? minSendAmount) { +// // _minSendAmount = minSendAmount; +// // // +// // } +// +// Decimal? _minReceiveAmount; +// Decimal? get minReceiveAmount => _minReceiveAmount; +// // set minReceiveAmount(Decimal? minReceiveAmount) { +// // _minReceiveAmount = minReceiveAmount; +// // // +// // } +// +// Decimal? _maxSendAmount; +// Decimal? get maxSendAmount => _maxSendAmount; +// // set maxSendAmount(Decimal? maxSendAmount) { +// // _maxSendAmount = maxSendAmount; +// // // +// // } +// +// Decimal? _maxReceiveAmount; +// Decimal? get maxReceiveAmount => _maxReceiveAmount; +// // set maxReceiveAmount(Decimal? maxReceiveAmount) { +// // _maxReceiveAmount = maxReceiveAmount; +// // // +// // } +// +// //============================================================================ +// // computed properties +// //============================================================================ +// +// String? get fromTicker => _sendCurrency?.ticker; +// +// String? get toTicker => _receiveCurrency?.ticker; +// +// String get warning { +// if (reversed) { +// if (_receiveCurrency != null && _receiveAmount != null) { +// if (_minReceiveAmount != null && +// _receiveAmount! < _minReceiveAmount! && +// _receiveAmount! > Decimal.zero) { +// return "Minimum amount ${_minReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; +// } else if (_maxReceiveAmount != null && +// _receiveAmount! > _maxReceiveAmount!) { +// return "Maximum amount ${_maxReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; +// } +// } +// } else { +// if (_sendCurrency != null && _sendAmount != null) { +// if (_minSendAmount != null && +// _sendAmount! < _minSendAmount! && +// _sendAmount! > Decimal.zero) { +// return "Minimum amount ${_minSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; +// } else if (_maxSendAmount != null && _sendAmount! > _maxSendAmount!) { +// return "Maximum amount ${_maxSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; +// } +// } +// } +// +// return ""; +// } +// +// //============================================================================ +// // public state updaters +// //============================================================================ +// +// void reset(bool shouldNotifyListeners) { +// _exchange = null; +// _reversed = false; +// _rate = null; +// _sendAmount = null; +// _receiveAmount = null; +// _sendCurrency = null; +// _receiveCurrency = null; +// _minSendAmount = null; +// _minReceiveAmount = null; +// _maxSendAmount = null; +// _maxReceiveAmount = null; +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future setFromAmountAndCalculateToAmount( +// Decimal? newSendAmount, +// bool shouldNotifyListeners, +// ) async { +// if (newSendAmount == null) { +// // todo: check if this breaks things and stuff +// _receiveAmount = null; +// _sendAmount = null; +// } else { +// if (newSendAmount <= Decimal.zero) { +// _receiveAmount = Decimal.zero; +// } +// +// _sendAmount = newSendAmount; +// _reversed = false; +// +// await _updateRangesAndEstimate( +// shouldNotifyListeners: false, +// ); +// } +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future setToAmountAndCalculateFromAmount( +// Decimal? newReceiveAmount, +// bool shouldNotifyListeners, +// ) async { +// if (newReceiveAmount == null) { +// // todo: check if this breaks things and stuff +// _receiveAmount = null; +// _sendAmount = null; +// } else { +// if (newReceiveAmount <= Decimal.zero) { +// _sendAmount = Decimal.zero; +// } +// +// _receiveAmount = newReceiveAmount; +// _reversed = true; +// +// await _updateRangesAndEstimate( +// shouldNotifyListeners: false, +// ); +// } +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future updateFrom( +// Currency sendCurrency, +// bool shouldNotifyListeners, +// ) async { +// try { +// _sendCurrency = sendCurrency; +// if (_receiveCurrency == null) { +// _rate = null; +// } else { +// await _updateRangesAndEstimate( +// shouldNotifyListeners: false, +// ); +// } +// } catch (e, s) { +// Logging.instance.log("$e\n$s", level: LogLevel.Error); +// } +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future updateTo( +// Currency receiveCurrency, +// bool shouldNotifyListeners, +// ) async { +// try { +// _receiveCurrency = receiveCurrency; +// +// if (_sendCurrency == null) { +// _rate = null; +// } else { +// await _updateRangesAndEstimate( +// shouldNotifyListeners: false, +// ); +// } +// } catch (e, s) { +// Logging.instance.log("$e\n$s", level: LogLevel.Error); +// } +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future swap( +// {required bool shouldNotifyListeners,}) async { +// final Decimal? temp = sendAmount; +// _sendAmount = receiveAmount; +// _receiveAmount = temp; +// +// _minSendAmount = null; +// _maxSendAmount = null; +// _minReceiveAmount = null; +// _maxReceiveAmount = null; +// +// final Currency? tmp = sendCurrency; +// _sendCurrency = receiveCurrency; +// _receiveCurrency = tmp; +// +// await _updateRangesAndEstimate( +// shouldNotifyListeners: false, +// ); +// } +// +// //============================================================================ +// // private state updaters +// //============================================================================ +// +// Future _updateRangesAndEstimate( +// {required bool shouldNotifyListeners,}) async { +// await _updateRanges(shouldNotifyListeners: false); +// await _updateEstimate(shouldNotifyListeners: false); +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future _updateRanges({required bool shouldNotifyListeners,}) async { +// // if (exchange?.name == SimpleSwapExchange.exchangeName) { +// // reversed = false; +// // } +// final _send = sendCurrency; +// final _receive = receiveCurrency; +// if (_send == null || _receive == null) { +// Logging.instance.log( +// "Tried to $runtimeType.updateRanges where ( $_send || $_receive) for: $exchange", +// level: LogLevel.Info, +// ); +// return; +// } +// final response = await exchange.getRange( +// _send.ticker, +// _receive.ticker, +// exchangeRateType == ExchangeRateType.fixed, +// ); +// +// if (response.value == null) { +// Logging.instance.log( +// "Tried to $runtimeType.updateRanges for: $exchange where response: $response", +// level: LogLevel.Info, +// ); +// return; +// } +// final responseReversed = await exchange.getRange( +// _receive.ticker, +// _send.ticker, +// exchangeRateType == ExchangeRateType.fixed, +// ); +// +// if (responseReversed.value == null) { +// Logging.instance.log( +// "Tried to $runtimeType.updateRanges for: $exchange where response: $responseReversed", +// level: LogLevel.Info, +// ); +// return; +// } +// +// final range = response.value!; +// final rangeReversed = responseReversed.value!; +// +// _minSendAmount = range.min; +// _maxSendAmount = range.max; +// _minReceiveAmount = rangeReversed.min; +// _maxReceiveAmount = rangeReversed.max; +// +// //todo: check if print needed +// // debugPrint( +// // "updated range for: $exchange for $_fromTicker-$_toTicker: $range"); +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// Future _updateEstimate({ +// required bool shouldNotifyListeners, +// }) async { +// // if (exchange?.name == SimpleSwapExchange.exchangeName) { +// // reversed = false; +// // } +// final amount = reversed ? receiveAmount : sendAmount; +// if (sendCurrency == null || +// receiveCurrency == null || +// amount == null || +// amount <= Decimal.zero) { +// Logging.instance.log( +// "Tried to $runtimeType.updateEstimate for: $exchange where (from: $sendCurrency || to: $receiveCurrency || amount: $amount)", +// level: LogLevel.Info, +// ); +// return; +// } +// final response = await exchange.getEstimate( +// sendCurrency!.ticker, +// receiveCurrency!.ticker, +// amount, +// exchangeRateType == ExchangeRateType.fixed, +// reversed, +// ); +// +// if (response.value == null) { +// Logging.instance.log( +// "Tried to $runtimeType.updateEstimate for: $exchange where response: $response", +// level: LogLevel.Info, +// ); +// return; +// } +// +// final estimate = response.value!; +// +// if (reversed) { +// _sendAmount = estimate.estimatedAmount; +// } else { +// _receiveAmount = estimate.estimatedAmount; +// } +// +// _rate = +// (receiveAmount! / sendAmount!).toDecimal(scaleOnInfinitePrecision: 12); +// +// //todo: check if print needed +// // debugPrint( +// // "updated estimate for: $exchange for $fromTicker-$toTicker: $estimate"); +// +// if (shouldNotifyListeners) { +// notifyListeners(); +// } +// } +// +// +// } diff --git a/lib/services/exchange/change_now/change_now_api.dart b/lib/services/exchange/change_now/change_now_api.dart index a9920bfb8..2de93cbf0 100644 --- a/lib/services/exchange/change_now/change_now_api.dart +++ b/lib/services/exchange/change_now/change_now_api.dart @@ -9,13 +9,15 @@ import 'package:stackwallet/models/exchange/change_now/cn_exchange_estimate.dart import 'package:stackwallet/models/exchange/change_now/estimated_exchange_amount.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; import 'package:stackwallet/models/exchange/response_objects/range.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; +import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/utilities/logger.dart'; +import 'package:tuple/tuple.dart'; class ChangeNowAPI { static const String scheme = "https"; @@ -127,7 +129,9 @@ class ChangeNowAPI { try { final result = await compute( - _parseAvailableCurrenciesJson, jsonArray as List); + _parseAvailableCurrenciesJson, + Tuple2(jsonArray as List, fixedRate == true), + ); return result; } catch (e, s) { Logging.instance.log("getAvailableCurrencies exception: $e\n$s", @@ -152,14 +156,21 @@ class ChangeNowAPI { } ExchangeResponse> _parseAvailableCurrenciesJson( - List jsonArray) { + Tuple2, bool> args, + ) { try { List currencies = []; - for (final json in jsonArray) { + for (final json in args.item1) { try { - currencies - .add(Currency.fromJson(Map.from(json as Map))); + final map = Map.from(json as Map); + map["supportsEstimatedRate"] = !args.item2; + currencies.add( + Currency.fromJson( + map, + exchangeName: ChangeNowExchange.exchangeName, + ), + ); } catch (_) { return ExchangeResponse( exception: ExchangeException("Failed to serialize $json", @@ -199,8 +210,14 @@ class ChangeNowAPI { try { for (final json in jsonArray) { try { - currencies - .add(Currency.fromJson(Map.from(json as Map))); + final map = Map.from(json as Map); + map["supportsEstimatedRate"] = !(fixedRate == true); + currencies.add( + Currency.fromJson( + map, + exchangeName: ChangeNowExchange.exchangeName, + ), + ); } catch (_) { return ExchangeResponse( exception: ExchangeException( @@ -823,6 +840,7 @@ class ChangeNowAPI { final List stringPair = (json as String).split("_"); pairs.add( Pair( + exchangeName: ChangeNowExchange.exchangeName, from: stringPair[0], to: stringPair[1], fromNetwork: "", diff --git a/lib/services/exchange/change_now/change_now_exchange.dart b/lib/services/exchange/change_now/change_now_exchange.dart index 4042863d1..f96b0d3c1 100644 --- a/lib/services/exchange/change_now/change_now_exchange.dart +++ b/lib/services/exchange/change_now/change_now_exchange.dart @@ -1,16 +1,21 @@ import 'package:decimal/decimal.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; import 'package:stackwallet/models/exchange/response_objects/range.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_api.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:uuid/uuid.dart'; class ChangeNowExchange extends Exchange { + ChangeNowExchange._(); + + static ChangeNowExchange? _instance; + static ChangeNowExchange get instance => _instance ??= ChangeNowExchange._(); + static const exchangeName = "ChangeNOW"; @override @@ -85,8 +90,32 @@ class ChangeNowExchange extends Exchange { @override Future>> getAllPairs(bool fixedRate) async { - // TODO: implement getAllPairs - throw UnimplementedError(); + if (fixedRate) { + final markets = + await ChangeNowAPI.instance.getAvailableFixedRateMarkets(); + + if (markets.value == null) { + return ExchangeResponse(exception: markets.exception); + } + + final List pairs = []; + for (final market in markets.value!) { + pairs.add( + Pair( + exchangeName: ChangeNowExchange.exchangeName, + from: market.from, + fromNetwork: "", + to: market.to, + toNetwork: "", + fixedRate: true, + floatingRate: false, + ), + ); + } + return ExchangeResponse(value: pairs); + } else { + return await ChangeNowAPI.instance.getAvailableFloatingRatePairs(); + } } @override diff --git a/lib/services/exchange/exchange.dart b/lib/services/exchange/exchange.dart index 6437f9065..371643145 100644 --- a/lib/services/exchange/exchange.dart +++ b/lib/services/exchange/exchange.dart @@ -1,20 +1,25 @@ import 'package:decimal/decimal.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; import 'package:stackwallet/models/exchange/response_objects/range.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; abstract class Exchange { + static Exchange get defaultExchange => ChangeNowExchange.instance; + static Exchange fromName(String name) { switch (name) { case ChangeNowExchange.exchangeName: - return ChangeNowExchange(); + return ChangeNowExchange.instance; case SimpleSwapExchange.exchangeName: - return SimpleSwapExchange(); + return SimpleSwapExchange.instance; + case MajesticBankExchange.exchangeName: + return MajesticBankExchange.instance; default: throw ArgumentError("Unknown exchange name"); } diff --git a/lib/services/exchange/exchange_data_loading_service.dart b/lib/services/exchange/exchange_data_loading_service.dart index 8d232e957..3d03bd02f 100644 --- a/lib/services/exchange/exchange_data_loading_service.dart +++ b/lib/services/exchange/exchange_data_loading_service.dart @@ -1,200 +1,230 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/services/exchange/change_now/change_now_api.dart'; -import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; -import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:flutter/foundation.dart'; +import 'package:isar/isar.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; +import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; +import 'package:stackwallet/utilities/stack_file_system.dart'; class ExchangeDataLoadingService { - Future loadAll(WidgetRef ref, {Coin? coin}) async { - try { - await Future.wait([ - _loadFixedRateMarkets(ref, coin: coin), - _loadChangeNowStandardCurrencies(ref, coin: coin), - loadSimpleswapFixedRateCurrencies(ref), - loadSimpleswapFloatingRateCurrencies(ref), - ]); - } catch (e, s) { - Logging.instance.log("ExchangeDataLoadingService.loadAll failed: $e\n$s", - level: LogLevel.Error); - } + ExchangeDataLoadingService._(); + static final ExchangeDataLoadingService _instance = + ExchangeDataLoadingService._(); + static ExchangeDataLoadingService get instance => _instance; + + Isar? _isar; + Isar get isar => _isar!; + + Future init() async { + if (_isar != null && isar.isOpen) return; + _isar = await Isar.open( + [ + CurrencySchema, + PairSchema, + ], + directory: (await StackFileSystem.applicationIsarDirectory()).path, + inspector: kDebugMode, + name: "exchange_cache", + ); } - Future _loadFixedRateMarkets(WidgetRef ref, {Coin? coin}) async { - if (ref.read(changeNowFixedInitialLoadStatusStateProvider.state).state == - ChangeNowLoadStatus.loading) { - // already in progress so just - return; - } + bool _locked = false; - ref.read(changeNowFixedInitialLoadStatusStateProvider.state).state = - ChangeNowLoadStatus.loading; + Future loadAll() async { + print("LOADINGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG: LOCKED=$_locked"); + if (!_locked) { + _locked = true; + print("LOADINGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"); + final time = DateTime.now(); + try { + await Future.wait([ + _loadFixedRateMarkets(), + _loadChangeNowStandardCurrencies(), + // loadSimpleswapFixedRateCurrencies(ref), + // loadSimpleswapFloatingRateCurrencies(ref), + loadMajesticBankCurrencies(), + ]); - final response3 = - await ChangeNowAPI.instance.getAvailableFixedRateMarkets(); - if (response3.value != null) { - ref - .read(availableChangeNowCurrenciesProvider) - .updateMarkets(response3.value!); - - if (ref.read(exchangeFormStateProvider).market == null) { - String fromTicker = "btc"; - String toTicker = "xmr"; - - if (coin != null) { - fromTicker = coin.ticker.toLowerCase(); - } - - final matchingMarkets = response3.value! - .where((e) => e.to == toTicker && e.from == fromTicker); - if (matchingMarkets.isNotEmpty) { - await ref - .read(exchangeFormStateProvider) - .updateMarket(matchingMarkets.first, true); - } + print( + "LOADINGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG done in ${DateTime.now().difference(time).inSeconds} seconds"); + } catch (e, s) { + Logging.instance.log( + "ExchangeDataLoadingService.loadAll failed: $e\n$s", + level: LogLevel.Error); } - } else { - Logging.instance.log( - "Failed to load changeNOW fixed rate markets: ${response3.exception?.message}", - level: LogLevel.Error); - - ref.read(changeNowFixedInitialLoadStatusStateProvider.state).state = - ChangeNowLoadStatus.failed; - return; + _locked = false; } - - ref.read(changeNowFixedInitialLoadStatusStateProvider.state).state = - ChangeNowLoadStatus.success; } - Future _loadChangeNowStandardCurrencies( - WidgetRef ref, { - Coin? coin, - }) async { - if (ref - .read(changeNowEstimatedInitialLoadStatusStateProvider.state) - .state == - ChangeNowLoadStatus.loading) { - // already in progress so just - return; - } + Future _loadFixedRateMarkets() async { + final exchange = ChangeNowExchange.instance; + final responseCurrencies = await exchange.getAllCurrencies(true); + if (responseCurrencies.value != null) { + final responsePairs = await exchange.getAllPairs(true); - ref.read(changeNowEstimatedInitialLoadStatusStateProvider.state).state = - ChangeNowLoadStatus.loading; + if (responsePairs.value != null) { + await isar.writeTxn(() async { + final idsToDelete = await isar.currencies + .where() + .exchangeNameEqualTo(ChangeNowExchange.exchangeName) + .idProperty() + .findAll(); + await isar.currencies.deleteAll(idsToDelete); + await isar.currencies.putAll(responseCurrencies.value!); - final response = await ChangeNowAPI.instance.getAvailableCurrencies(); - final response2 = - await ChangeNowAPI.instance.getAvailableFloatingRatePairs(); - if (response.value != null) { - ref - .read(availableChangeNowCurrenciesProvider) - .updateCurrencies(response.value!); - - if (response2.value != null) { - ref - .read(availableChangeNowCurrenciesProvider) - .updateFloatingPairs(response2.value!); - - String fromTicker = "btc"; - String toTicker = "xmr"; - - if (coin != null) { - fromTicker = coin.ticker.toLowerCase(); - } - - if (response.value!.length > 1) { - if (ref.read(exchangeFormStateProvider).from == null) { - if (response.value! - .where((e) => e.ticker == fromTicker) - .isNotEmpty) { - await ref.read(exchangeFormStateProvider).updateFrom( - response.value!.firstWhere((e) => e.ticker == fromTicker), - false); - } - } - if (ref.read(exchangeFormStateProvider).to == null) { - if (response.value!.where((e) => e.ticker == toTicker).isNotEmpty) { - await ref.read(exchangeFormStateProvider).updateTo( - response.value!.firstWhere((e) => e.ticker == toTicker), - false); - } - } - } + final idsToDelete2 = await isar.pairs + .where() + .exchangeNameEqualTo(ChangeNowExchange.exchangeName) + .idProperty() + .findAll(); + await isar.pairs.deleteAll(idsToDelete2); + await isar.pairs.putAll(responsePairs.value!); + }); } else { Logging.instance.log( - "Failed to load changeNOW available floating rate pairs: ${response2.exception?.message}", + "Failed to load changeNOW available fixed rate pairs: ${responsePairs.exception?.message}", level: LogLevel.Error); - ref.read(changeNowEstimatedInitialLoadStatusStateProvider.state).state = - ChangeNowLoadStatus.failed; return; } } else { Logging.instance.log( - "Failed to load changeNOW currencies: ${response.exception?.message}", + "Failed to load changeNOW fixed rate currencies: ${responseCurrencies.exception?.message}", level: LogLevel.Error); - await Future.delayed(const Duration(seconds: 3)); - ref.read(changeNowEstimatedInitialLoadStatusStateProvider.state).state = - ChangeNowLoadStatus.failed; return; } - - ref.read(changeNowEstimatedInitialLoadStatusStateProvider.state).state = - ChangeNowLoadStatus.success; } - Future loadSimpleswapFloatingRateCurrencies(WidgetRef ref) async { - final exchange = SimpleSwapExchange(); + Future _loadChangeNowStandardCurrencies() async { + final exchange = ChangeNowExchange.instance; final responseCurrencies = await exchange.getAllCurrencies(false); if (responseCurrencies.value != null) { - ref - .read(availableSimpleswapCurrenciesProvider) - .updateFloatingCurrencies(responseCurrencies.value!); - final responsePairs = await exchange.getAllPairs(false); if (responsePairs.value != null) { - ref - .read(availableSimpleswapCurrenciesProvider) - .updateFloatingPairs(responsePairs.value!); + await isar.writeTxn(() async { + final idsToDelete = await isar.currencies + .where() + .exchangeNameEqualTo(ChangeNowExchange.exchangeName) + .idProperty() + .findAll(); + await isar.currencies.deleteAll(idsToDelete); + await isar.currencies.putAll(responseCurrencies.value!); + + final idsToDelete2 = await isar.pairs + .where() + .exchangeNameEqualTo(ChangeNowExchange.exchangeName) + .idProperty() + .findAll(); + await isar.pairs.deleteAll(idsToDelete2); + await isar.pairs.putAll(responsePairs.value!); + }); } else { Logging.instance.log( - "loadSimpleswapFloatingRateCurrencies: $responsePairs", - level: LogLevel.Warning, - ); + "Failed to load changeNOW available floating rate pairs: ${responsePairs.exception?.message}", + level: LogLevel.Error); + return; } } else { Logging.instance.log( - "loadSimpleswapFloatingRateCurrencies: $responseCurrencies", - level: LogLevel.Warning, - ); + "Failed to load changeNOW currencies: ${responseCurrencies.exception?.message}", + level: LogLevel.Error); + return; } } + // + // Future loadSimpleswapFloatingRateCurrencies(WidgetRef ref) async { + // final exchange = SimpleSwapExchange(); + // final responseCurrencies = await exchange.getAllCurrencies(false); + // + // if (responseCurrencies.value != null) { + // ref + // .read(availableSimpleswapCurrenciesProvider) + // .updateFloatingCurrencies(responseCurrencies.value!); + // + // final responsePairs = await exchange.getAllPairs(false); + // + // if (responsePairs.value != null) { + // ref + // .read(availableSimpleswapCurrenciesProvider) + // .updateFloatingPairs(responsePairs.value!); + // } else { + // Logging.instance.log( + // "loadSimpleswapFloatingRateCurrencies: $responsePairs", + // level: LogLevel.Warning, + // ); + // } + // } else { + // Logging.instance.log( + // "loadSimpleswapFloatingRateCurrencies: $responseCurrencies", + // level: LogLevel.Warning, + // ); + // } + // } + // + // Future loadSimpleswapFixedRateCurrencies(WidgetRef ref) async { + // final exchange = SimpleSwapExchange(); + // final responseCurrencies = await exchange.getAllCurrencies(true); + // + // if (responseCurrencies.value != null) { + // ref + // .read(availableSimpleswapCurrenciesProvider) + // .updateFixedCurrencies(responseCurrencies.value!); + // + // final responsePairs = await exchange.getAllPairs(true); + // + // if (responsePairs.value != null) { + // ref + // .read(availableSimpleswapCurrenciesProvider) + // .updateFixedPairs(responsePairs.value!); + // } else { + // Logging.instance.log( + // "loadSimpleswapFixedRateCurrencies: $responsePairs", + // level: LogLevel.Warning, + // ); + // } + // } else { + // Logging.instance.log( + // "loadSimpleswapFixedRateCurrencies: $responseCurrencies", + // level: LogLevel.Warning, + // ); + // } + // } - Future loadSimpleswapFixedRateCurrencies(WidgetRef ref) async { - final exchange = SimpleSwapExchange(); - final responseCurrencies = await exchange.getAllCurrencies(true); + Future loadMajesticBankCurrencies() async { + final exchange = MajesticBankExchange.instance; + final responseCurrencies = await exchange.getAllCurrencies(false); if (responseCurrencies.value != null) { - ref - .read(availableSimpleswapCurrenciesProvider) - .updateFixedCurrencies(responseCurrencies.value!); - - final responsePairs = await exchange.getAllPairs(true); - + final responsePairs = await exchange.getAllPairs(false); if (responsePairs.value != null) { - ref - .read(availableSimpleswapCurrenciesProvider) - .updateFixedPairs(responsePairs.value!); + await isar.writeTxn(() async { + final idsToDelete = await isar.currencies + .where() + .exchangeNameEqualTo(MajesticBankExchange.exchangeName) + .idProperty() + .findAll(); + await isar.currencies.deleteAll(idsToDelete); + await isar.currencies.putAll(responseCurrencies.value!); + + final idsToDelete2 = await isar.pairs + .where() + .exchangeNameEqualTo(MajesticBankExchange.exchangeName) + .idProperty() + .findAll(); + await isar.pairs.deleteAll(idsToDelete2); + await isar.pairs.putAll(responsePairs.value!); + }); } else { Logging.instance.log( - "loadSimpleswapFixedRateCurrencies: $responsePairs", + "loadMajesticBankCurrencies: $responsePairs", level: LogLevel.Warning, ); } } else { Logging.instance.log( - "loadSimpleswapFixedRateCurrencies: $responseCurrencies", + "loadMajesticBankCurrencies: $responseCurrencies", level: LogLevel.Warning, ); } diff --git a/lib/services/exchange/exchange_service.dart b/lib/services/exchange/exchange_service.dart new file mode 100644 index 000000000..036c522de --- /dev/null +++ b/lib/services/exchange/exchange_service.dart @@ -0,0 +1 @@ +class ExchangeService {} diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart index 4610f6c3d..471cc96cc 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -2,18 +2,24 @@ import 'package:decimal/decimal.dart'; import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/exceptions/exchange/majestic_bank/mb_exception.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; import 'package:stackwallet/models/exchange/response_objects/range.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_api.dart'; import 'package:uuid/uuid.dart'; class MajesticBankExchange extends Exchange { - static const exchangeName = "MajesticBank"; + MajesticBankExchange._(); + + static MajesticBankExchange? _instance; + static MajesticBankExchange get instance => + _instance ??= MajesticBankExchange._(); + + static const exchangeName = "Majestic Bank"; @override Future> createTrade({ @@ -102,15 +108,16 @@ class MajesticBankExchange extends Exchange { for (final limit in limits) { final currency = Currency( + exchangeName: MajesticBankExchange.exchangeName, ticker: limit.currency, - name: limit.currency, + name: limit.currency, // todo: get full coin name network: "", image: "", - hasExternalId: false, isFiat: false, - featured: false, - isStable: false, supportsFixedRate: true, + supportsEstimatedRate: true, + isAvailable: true, + isStackCoin: Currency.checkIsStackCoin(limit.currency), ); currencies.add(currency); } @@ -130,6 +137,7 @@ class MajesticBankExchange extends Exchange { for (final rate in rates) { final pair = Pair( + exchangeName: MajesticBankExchange.exchangeName, from: rate.fromCurrency, fromNetwork: "", to: rate.toCurrency, diff --git a/lib/services/exchange/simpleswap/simpleswap_api.dart b/lib/services/exchange/simpleswap/simpleswap_api.dart index bd6e933fe..561177f5d 100644 --- a/lib/services/exchange/simpleswap/simpleswap_api.dart +++ b/lib/services/exchange/simpleswap/simpleswap_api.dart @@ -6,10 +6,10 @@ import 'package:http/http.dart' as http; import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/external_api_keys.dart'; import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; import 'package:stackwallet/models/exchange/response_objects/range.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/models/exchange/simpleswap/sp_currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; @@ -272,6 +272,7 @@ class SimpleSwapAPI { for (final to in entry.value as List) { pairs.add( Pair( + exchangeName: SimpleSwapExchange.exchangeName, from: from, fromNetwork: "", to: to as String, diff --git a/lib/services/exchange/simpleswap/simpleswap_exchange.dart b/lib/services/exchange/simpleswap/simpleswap_exchange.dart index 4c8d7e9aa..2e86ffabe 100644 --- a/lib/services/exchange/simpleswap/simpleswap_exchange.dart +++ b/lib/services/exchange/simpleswap/simpleswap_exchange.dart @@ -1,14 +1,20 @@ import 'package:decimal/decimal.dart'; -import 'package:stackwallet/models/exchange/response_objects/currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; import 'package:stackwallet/models/exchange/response_objects/range.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/simpleswap/simpleswap_api.dart'; class SimpleSwapExchange extends Exchange { + SimpleSwapExchange._(); + + static SimpleSwapExchange? _instance; + static SimpleSwapExchange get instance => + _instance ??= SimpleSwapExchange._(); + static const exchangeName = "SimpleSwap"; @override @@ -47,18 +53,21 @@ class SimpleSwapExchange extends Exchange { await SimpleSwapAPI.instance.getAllCurrencies(fixedRate: fixedRate); if (response.value != null) { final List currencies = response.value! - .map((e) => Currency( - ticker: e.symbol, - name: e.name, - network: e.network, - image: e.image, - hasExternalId: e.hasExtraId, - externalId: e.extraId, - isFiat: false, - featured: false, - isStable: false, - supportsFixedRate: fixedRate, - )) + .map( + (e) => Currency( + exchangeName: exchangeName, + ticker: e.symbol, + name: e.name, + network: e.network, + image: e.image, + externalId: e.extraId, + isFiat: false, + supportsFixedRate: fixedRate, + supportsEstimatedRate: true, + isAvailable: true, + isStackCoin: Currency.checkIsStackCoin(e.symbol), + ), + ) .toList(); return ExchangeResponse>( value: currencies, diff --git a/lib/services/notifications_service.dart b/lib/services/notifications_service.dart index 2bfe0e12f..51d2fc7ef 100644 --- a/lib/services/notifications_service.dart +++ b/lib/services/notifications_service.dart @@ -6,9 +6,7 @@ import 'package:stackwallet/exceptions/electrumx/no_such_transaction.dart'; import 'package:stackwallet/hive/db.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/models/notification_model.dart'; -import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; -import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/trade_service.dart'; @@ -16,6 +14,8 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'exchange/exchange.dart'; + class NotificationsService extends ChangeNotifier { late NodeService nodeService; late TradesService tradesService; @@ -196,15 +196,12 @@ class NotificationsService extends ChangeNotifier { } final oldTrade = trades.first; late final ExchangeResponse response; - switch (oldTrade.exchangeName) { - case SimpleSwapExchange.exchangeName: - response = await SimpleSwapExchange().updateTrade(oldTrade); - break; - case ChangeNowExchange.exchangeName: - response = await ChangeNowExchange().updateTrade(oldTrade); - break; - default: - return; + + try { + final exchange = Exchange.fromName(oldTrade.exchangeName); + response = await exchange.updateTrade(oldTrade); + } catch (_) { + return; } if (response.value == null) { diff --git a/lib/widgets/textfields/exchange_textfield.dart b/lib/widgets/textfields/exchange_textfield.dart index 6681e9e8e..8a094f40e 100644 --- a/lib/widgets/textfields/exchange_textfield.dart +++ b/lib/widgets/textfields/exchange_textfield.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; @@ -156,12 +157,18 @@ class _ExchangeTextFieldState extends State { ), child: Builder( builder: (context) { - final image = widget.image; - - if (image != null && image.isNotEmpty) { + if (isStackCoin(widget.ticker)) { + return Center( + child: getIconForTicker( + widget.ticker!, + size: 18, + ), + ); + } else if (widget.image != null && + widget.image!.isNotEmpty) { return Center( child: SvgPicture.network( - image, + widget.image!, height: 18, placeholderBuilder: (_) => Container( width: 18, diff --git a/test/cached_electrumx_test.mocks.dart b/test/cached_electrumx_test.mocks.dart index 68d3b695f..191f34b67 100644 --- a/test/cached_electrumx_test.mocks.dart +++ b/test/cached_electrumx_test.mocks.dart @@ -699,6 +699,24 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValue: _i4.Future.value(false), ) as _i4.Future); @override + _i4.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); + @override + _i4.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/electrumx_test.mocks.dart b/test/electrumx_test.mocks.dart index c4a9ae9b2..5515acfb7 100644 --- a/test/electrumx_test.mocks.dart +++ b/test/electrumx_test.mocks.dart @@ -420,6 +420,24 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValue: _i3.Future.value(false), ) as _i3.Future); @override + _i3.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i3.Future.value(), + returnValueForMissingStub: _i3.Future.value(), + ) as _i3.Future); + @override + _i3.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i3.Future.value(), + returnValueForMissingStub: _i3.Future.value(), + ) as _i3.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/pages/send_view/send_view_test.mocks.dart b/test/pages/send_view/send_view_test.mocks.dart index 12548c513..a8c1ca423 100644 --- a/test/pages/send_view/send_view_test.mocks.dart +++ b/test/pages/send_view/send_view_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i28; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i17; +import 'package:bip47/bip47.dart' as _i18; +import 'package:bitcoindart/bitcoindart.dart' as _i14; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,28 +17,28 @@ import 'package:stackwallet/db/main_db.dart' as _i13; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10; import 'package:stackwallet/models/balance.dart' as _i12; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i23; -import 'package:stackwallet/models/node_model.dart' as _i21; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i16; +import 'package:stackwallet/models/node_model.dart' as _i25; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i27; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i22; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; + as _i31; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i26; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i25; +import 'package:stackwallet/services/locale_service.dart' as _i29; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i8; -import 'package:stackwallet/services/wallets.dart' as _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i28; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; -import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i32; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i27; +import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i30; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' as _i7; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i14; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i15; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -162,9 +166,19 @@ class _FakeMainDB_10 extends _i1.SmartFake implements _i13.MainDB { ); } -class _FakeElectrumXNode_11 extends _i1.SmartFake +class _FakeNetworkType_11 extends _i1.SmartFake implements _i14.NetworkType { + _FakeNetworkType_11( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeElectrumXNode_12 extends _i1.SmartFake implements _i10.ElectrumXNode { - _FakeElectrumXNode_11( + _FakeElectrumXNode_12( Object parent, Invocation parentInvocation, ) : super( @@ -173,9 +187,9 @@ class _FakeElectrumXNode_11 extends _i1.SmartFake ); } -class _FakeTuple4_12 extends _i1.SmartFake - implements _i14.Tuple4 { - _FakeTuple4_12( +class _FakeTuple4_13 extends _i1.SmartFake + implements _i15.Tuple4 { + _FakeTuple4_13( Object parent, Invocation parentInvocation, ) : super( @@ -184,9 +198,39 @@ class _FakeTuple4_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_14 extends _i1.SmartFake implements _i16.Address { + _FakeAddress_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_15 extends _i1.SmartFake implements _i17.BIP32 { + _FakeBIP32_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_16 extends _i1.SmartFake implements _i18.PaymentCode { + _FakePaymentCode_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -198,7 +242,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -265,7 +309,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -275,18 +319,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -350,17 +394,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -371,11 +415,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -383,7 +427,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -409,19 +453,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -436,13 +480,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -456,13 +500,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -475,46 +519,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -527,48 +571,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -580,20 +624,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -601,7 +645,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -643,33 +687,33 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i7.SecureStorageInterface); @override - List<_i21.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i25.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override - List<_i21.NodeModel> get nodes => (super.noSuchMethod( + List<_i25.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i21.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i25.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -682,44 +726,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i21.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i25.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i21.NodeModel?); + )) as _i25.NodeModel?); @override - List<_i21.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i25.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override - _i21.NodeModel? getNodeById({required String? id}) => + _i25.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i21.NodeModel?); + )) as _i25.NodeModel?); @override - List<_i21.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i25.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i21.NodeModel>[], - ) as List<_i21.NodeModel>); + returnValue: <_i25.NodeModel>[], + ) as List<_i25.NodeModel>); @override - _i18.Future add( - _i21.NodeModel? node, + _i22.Future add( + _i25.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -732,11 +776,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -748,11 +792,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -766,12 +810,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i21.NodeModel? editedNode, + _i22.Future edit( + _i25.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -784,20 +828,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -805,7 +849,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -833,13 +877,13 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -916,59 +960,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i23.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i16.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i23.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i16.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i9.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -1057,26 +1106,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ), ) as _i13.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i14.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_11( + this, + Invocation.getter(#networkType), + ), + ) as _i14.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i24.DerivePathType addressType({required String? address}) => + _i27.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i24.DerivePathType.bip44, - ) as _i24.DerivePathType); + returnValue: _i27.DerivePathType.bip44, + ) as _i27.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1093,47 +1150,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1149,26 +1206,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1186,33 +1243,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1222,36 +1279,36 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), returnValue: - _i18.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_11( + _i22.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_12( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i10.ElectrumXNode>); + ) as _i22.Future<_i10.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i24.DerivePathType? derivePathType, + required _i27.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1265,13 +1322,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i24.DerivePathType? derivePathType, + required _i27.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1284,50 +1341,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1351,7 +1408,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i23.UTXO>? utxos, + List<_i16.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1367,19 +1424,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i23.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i16.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i23.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i16.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1396,10 +1453,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1411,11 +1468,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1427,8 +1484,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1447,25 +1504,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1478,14 +1535,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1495,14 +1552,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1512,15 +1569,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i12.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1536,15 +1593,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ), ) as _i12.Balance); @override - _i18.Future updateCachedBalance(_i12.Balance? balance) => + _i22.Future updateCachedBalance(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i12.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1560,15 +1617,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ), ) as _i12.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i12.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i13.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1579,13 +1636,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i14.Tuple4<_i23.Transaction, List<_i23.Output>, List<_i23.Input>, - _i23.Address>> parseTransaction( + _i22.Future< + _i15.Tuple4<_i16.Transaction, List<_i16.Output>, List<_i16.Input>, + _i16.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i23.Address>? myAddresses, - _i17.Coin? coin, + List<_i16.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1601,10 +1658,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i14.Tuple4<_i23.Transaction, List<_i23.Output>, List<_i23.Input>, - _i23.Address>>.value(_FakeTuple4_12<_i23.Transaction, - List<_i23.Output>, List<_i23.Input>, _i23.Address>( + returnValue: _i22.Future< + _i15.Tuple4<_i16.Transaction, List<_i16.Output>, List<_i16.Input>, + _i16.Address>>.value(_FakeTuple4_13<_i16.Transaction, + List<_i16.Output>, List<_i16.Input>, _i16.Address>( this, Invocation.method( #parseTransaction, @@ -1618,15 +1675,475 @@ class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i14.Tuple4<_i23.Transaction, List<_i23.Output>, List<_i23.Input>, - _i23.Address>>); + ) as _i22.Future< + _i15.Tuple4<_i16.Transaction, List<_i16.Output>, List<_i16.Input>, + _i16.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i14.NetworkType? network, + required _i21.Coin? coin, + required _i13.MainDB? db, + required _i10.ElectrumX? electrumXClient, + required _i7.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i16.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i27.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i27.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i16.Address> currentReceivingPaynymAddress( + _i18.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i18.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i17.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i17.BIP32>.value(_FakeBIP32_15( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i17.BIP32>); + @override + _i22.Future<_i28.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i22.Future<_i28.Uint8List>); + @override + _i22.Future<_i28.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i22.Future<_i28.Uint8List>); + @override + _i22.Future<_i18.PaymentCode> getPaymentCode( + _i27.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i18.PaymentCode>.value(_FakePaymentCode_16( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i18.PaymentCode>); + @override + _i22.Future<_i28.Uint8List> signWithNotificationKey(_i28.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i22.Future<_i28.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i18.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i16.Address> nextUnusedSendAddressFrom({ + required _i18.PaymentCode? pCode, + required _i28.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i16.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i18.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i16.Transaction? transaction, + required _i16.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i18.PaymentCode?>.value(), + ) as _i22.Future<_i18.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i18.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i18.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.Address> generatePaynymSendAddressFromKeyPair({ + required _i14.ECPair? pair, + required int? derivationIndex, + required _i27.DerivePathType? derivePathType, + required _i18.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future<_i16.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i14.ECPair? pair, + required int? derivationIndex, + required _i27.DerivePathType? derivePathType, + required _i18.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future<_i16.Address> getMyNotificationAddress( + _i27.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i16.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i25.LocaleService { +class MockLocaleService extends _i1.Mock implements _i29.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1642,17 +2159,17 @@ class MockLocaleService extends _i1.Mock implements _i25.LocaleService { returnValue: false, ) as bool); @override - _i18.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1660,7 +2177,7 @@ class MockLocaleService extends _i1.Mock implements _i25.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1688,7 +2205,7 @@ class MockLocaleService extends _i1.Mock implements _i25.LocaleService { /// A class which mocks [Prefs]. /// /// See the documentation for Mockito's code generation for more information. -class MockPrefs extends _i1.Mock implements _i19.Prefs { +class MockPrefs extends _i1.Mock implements _i23.Prefs { MockPrefs() { _i1.throwOnMissingStub(this); } @@ -1744,12 +2261,12 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i26.SyncingType get syncType => (super.noSuchMethod( + _i30.SyncingType get syncType => (super.noSuchMethod( Invocation.getter(#syncType), - returnValue: _i26.SyncingType.currentWalletOnly, - ) as _i26.SyncingType); + returnValue: _i30.SyncingType.currentWalletOnly, + ) as _i30.SyncingType); @override - set syncType(_i26.SyncingType? syncType) => super.noSuchMethod( + set syncType(_i30.SyncingType? syncType) => super.noSuchMethod( Invocation.setter( #syncType, syncType, @@ -1809,12 +2326,12 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i27.ExchangeRateType get exchangeRateType => (super.noSuchMethod( + _i31.ExchangeRateType get exchangeRateType => (super.noSuchMethod( Invocation.getter(#exchangeRateType), - returnValue: _i27.ExchangeRateType.estimated, - ) as _i27.ExchangeRateType); + returnValue: _i31.ExchangeRateType.estimated, + ) as _i31.ExchangeRateType); @override - set exchangeRateType(_i27.ExchangeRateType? exchangeRateType) => + set exchangeRateType(_i31.ExchangeRateType? exchangeRateType) => super.noSuchMethod( Invocation.setter( #exchangeRateType, @@ -1896,12 +2413,12 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i28.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i32.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i28.BackupFrequencyType.everyTenMinutes, - ) as _i28.BackupFrequencyType); + returnValue: _i32.BackupFrequencyType.everyTenMinutes, + ) as _i32.BackupFrequencyType); @override - set backupFrequencyType(_i28.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i32.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -1971,33 +2488,51 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValue: false, ) as bool); @override - _i18.Future init() => (super.noSuchMethod( + _i22.Future init() => (super.noSuchMethod( Invocation.method( #init, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( + _i22.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( Invocation.method( #incrementCurrentNotificationIndex, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isExternalCallsSet() => (super.noSuchMethod( + _i22.Future isExternalCallsSet() => (super.noSuchMethod( Invocation.method( #isExternalCallsSet, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + _i22.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2005,7 +2540,7 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2048,23 +2583,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2097,23 +2632,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i9.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2123,16 +2658,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i12.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i23.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i16.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i23.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i16.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2152,10 +2687,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2177,14 +2712,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2194,7 +2729,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2210,27 +2745,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2240,33 +2775,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2283,20 +2818,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2308,11 +2843,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2324,18 +2859,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2343,7 +2878,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2363,7 +2898,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2374,10 +2909,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2410,23 +2945,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i9.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2436,16 +2971,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i12.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i23.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i16.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i23.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i16.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2465,10 +3000,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2485,7 +3020,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2501,36 +3036,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2540,15 +3075,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2565,38 +3100,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2608,11 +3143,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2624,24 +3159,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } diff --git a/test/screen_tests/exchange/exchange_view_test.mocks.dart b/test/screen_tests/exchange/exchange_view_test.mocks.dart index 1133911a9..752d1ef0f 100644 --- a/test/screen_tests/exchange/exchange_view_test.mocks.dart +++ b/test/screen_tests/exchange/exchange_view_test.mocks.dart @@ -15,17 +15,16 @@ import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart as _i20; import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart' as _i21; -import 'package:stackwallet/models/exchange/response_objects/currency.dart' - as _i14; import 'package:stackwallet/models/exchange/response_objects/estimate.dart' as _i17; import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart' as _i19; -import 'package:stackwallet/models/exchange/response_objects/pair.dart' as _i22; import 'package:stackwallet/models/exchange/response_objects/range.dart' as _i16; import 'package:stackwallet/models/exchange/response_objects/trade.dart' as _i10; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart' as _i14; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart' as _i22; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' as _i5; import 'package:stackwallet/services/exchange/change_now/change_now_api.dart' @@ -371,6 +370,24 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override + _i7.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/services/change_now/change_now_test.dart b/test/services/change_now/change_now_test.dart index b7b504e98..9fb27e0f1 100644 --- a/test/services/change_now/change_now_test.dart +++ b/test/services/change_now/change_now_test.dart @@ -5,13 +5,12 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:http/http.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; -import 'package:stackwallet/models/exchange/change_now/estimated_exchange_amount.dart'; +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/models/exchange/response_objects/pair.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_api.dart'; -import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'change_now_sample_data.dart'; import 'change_now_test.mocks.dart'; diff --git a/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart b/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart index 1a01906ea..12ae0ae62 100644 --- a/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart +++ b/test/services/coins/bitcoin/bitcoin_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart b/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart index 4f0016262..699278ce1 100644 --- a/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart +++ b/test/services/coins/bitcoincash/bitcoincash_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart b/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart index ae555da22..3c78f6dc6 100644 --- a/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart +++ b/test/services/coins/dogecoin/dogecoin_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/firo/firo_wallet_test.mocks.dart b/test/services/coins/firo/firo_wallet_test.mocks.dart index ac107eaa2..0e3549d87 100644 --- a/test/services/coins/firo/firo_wallet_test.mocks.dart +++ b/test/services/coins/firo/firo_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart b/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart index 47870a622..28500d8af 100644 --- a/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart +++ b/test/services/coins/namecoin/namecoin_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/coins/particl/particl_wallet_test.mocks.dart b/test/services/coins/particl/particl_wallet_test.mocks.dart index ab2e8f310..43a1473ce 100644 --- a/test/services/coins/particl/particl_wallet_test.mocks.dart +++ b/test/services/coins/particl/particl_wallet_test.mocks.dart @@ -573,4 +573,13 @@ class MockTransactionNotificationTracker extends _i1.Mock returnValue: _i5.Future.value(), returnValueForMissingStub: _i5.Future.value(), ) as _i5.Future); + @override + _i5.Future deleteTransaction(String? txid) => (super.noSuchMethod( + Invocation.method( + #deleteTransaction, + [txid], + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/test/services/wallets_service_test.mocks.dart b/test/services/wallets_service_test.mocks.dart index bb3f74934..c4085b7c3 100644 --- a/test/services/wallets_service_test.mocks.dart +++ b/test/services/wallets_service_test.mocks.dart @@ -30,6 +30,11 @@ class MockSecureStorageWrapper extends _i1.Mock _i1.throwOnMissingStub(this); } + @override + _i3.Future> get keys => (super.noSuchMethod( + Invocation.getter(#keys), + returnValue: _i3.Future>.value([]), + ) as _i3.Future>); @override _i3.Future read({ required String? key, diff --git a/test/widget_tests/managed_favorite_test.mocks.dart b/test/widget_tests/managed_favorite_test.mocks.dart index a51988ce0..af879a800 100644 --- a/test/widget_tests/managed_favorite_test.mocks.dart +++ b/test/widget_tests/managed_favorite_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,24 +17,24 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i22; -import 'package:stackwallet/models/node_model.dart' as _i25; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; +import 'package:stackwallet/models/node_model.dart' as _i29; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i21; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i24; +import 'package:stackwallet/services/locale_service.dart' as _i28; 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 _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i14; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i13; + as _i18; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -147,8 +151,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -157,9 +161,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -168,9 +171,9 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeSecureStorageInterface_12 extends _i1.SmartFake - implements _i14.SecureStorageInterface { - _FakeSecureStorageInterface_12( +class _FakeTuple4_12 extends _i1.SmartFake + implements _i14.Tuple4 { + _FakeTuple4_12( Object parent, Invocation parentInvocation, ) : super( @@ -179,9 +182,50 @@ class _FakeSecureStorageInterface_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSecureStorageInterface_16 extends _i1.SmartFake + implements _i18.SecureStorageInterface { + _FakeSecureStorageInterface_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -193,7 +237,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -260,7 +304,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -270,18 +314,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -345,17 +389,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -366,11 +410,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -378,7 +422,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -404,19 +448,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -431,13 +475,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -451,13 +495,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -470,46 +514,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -522,48 +566,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -575,20 +619,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -596,7 +640,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -624,13 +668,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -707,59 +751,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -848,26 +897,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i12.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i23.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i23.DerivePathType.bip44, - ) as _i23.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -884,47 +941,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -940,26 +997,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -977,33 +1034,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1013,35 +1070,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i18.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i9.ElectrumXNode>); + ) as _i22.Future<_i9.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1055,13 +1112,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1074,50 +1131,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1141,7 +1198,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i22.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1157,19 +1214,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i22.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i22.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1186,10 +1243,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1201,11 +1258,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1217,8 +1274,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1237,25 +1294,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1268,14 +1325,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1285,14 +1342,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1302,15 +1359,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1326,15 +1383,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalance(_i11.Balance? balance) => + _i22.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1350,15 +1407,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1369,13 +1426,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>> parseTransaction( + _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i22.Address>? myAddresses, - _i17.Coin? coin, + List<_i15.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1391,10 +1448,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>.value(_FakeTuple4_11<_i22.Transaction, - List<_i22.Output>, List<_i22.Input>, _i22.Address>( + returnValue: _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, + List<_i15.Output>, List<_i15.Input>, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1408,15 +1465,475 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>); + ) as _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i21.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i18.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i26.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i26.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i16.BIP32>); + @override + _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i17.PaymentCode>); + @override + _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i17.PaymentCode?>.value(), + ) as _i22.Future<_i17.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i17.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i24.LocaleService { +class MockLocaleService extends _i1.Mock implements _i28.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1432,17 +1949,17 @@ class MockLocaleService extends _i1.Mock implements _i24.LocaleService { returnValue: false, ) as bool); @override - _i18.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1450,7 +1967,7 @@ class MockLocaleService extends _i1.Mock implements _i24.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1480,41 +1997,41 @@ class MockLocaleService extends _i1.Mock implements _i24.LocaleService { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i14.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_12( + returnValue: _FakeSecureStorageInterface_16( this, Invocation.getter(#secureStorageInterface), ), - ) as _i14.SecureStorageInterface); + ) as _i18.SecureStorageInterface); @override - List<_i25.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i29.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override - List<_i25.NodeModel> get nodes => (super.noSuchMethod( + List<_i29.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i25.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i29.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1527,44 +2044,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i25.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i29.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i25.NodeModel?); + )) as _i29.NodeModel?); @override - List<_i25.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i29.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override - _i25.NodeModel? getNodeById({required String? id}) => + _i29.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i25.NodeModel?); + )) as _i29.NodeModel?); @override - List<_i25.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i29.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i29.NodeModel>[], + ) as List<_i29.NodeModel>); @override - _i18.Future add( - _i25.NodeModel? node, + _i22.Future add( + _i29.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -1577,11 +2094,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -1593,11 +2110,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -1611,12 +2128,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i25.NodeModel? editedNode, + _i22.Future edit( + _i29.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -1629,20 +2146,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1650,7 +2167,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1693,23 +2210,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1742,23 +2259,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1768,16 +2285,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1797,10 +2314,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1822,14 +2339,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1839,7 +2356,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1855,27 +2372,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1885,33 +2402,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1928,20 +2445,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1953,11 +2470,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1969,18 +2486,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1988,7 +2505,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2008,7 +2525,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2019,10 +2536,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2055,23 +2572,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2081,16 +2598,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2110,10 +2627,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2130,7 +2647,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2146,36 +2663,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2185,15 +2702,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2210,38 +2727,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2253,11 +2770,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2269,24 +2786,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } diff --git a/test/widget_tests/node_options_sheet_test.mocks.dart b/test/widget_tests/node_options_sheet_test.mocks.dart index 23810fd96..d18c5165e 100644 --- a/test/widget_tests/node_options_sheet_test.mocks.dart +++ b/test/widget_tests/node_options_sheet_test.mocks.dart @@ -604,6 +604,24 @@ class MockPrefs extends _i1.Mock implements _i11.Prefs { returnValue: _i10.Future.value(false), ) as _i10.Future); @override + _i10.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i10.Future.value(), + returnValueForMissingStub: _i10.Future.value(), + ) as _i10.Future); + @override + _i10.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i10.Future.value(), + returnValueForMissingStub: _i10.Future.value(), + ) as _i10.Future); + @override void addListener(_i12.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/widget_tests/table_view/table_view_row_test.mocks.dart b/test/widget_tests/table_view/table_view_row_test.mocks.dart index aeefa1a27..b5b252419 100644 --- a/test/widget_tests/table_view/table_view_row_test.mocks.dart +++ b/test/widget_tests/table_view/table_view_row_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i17; -import 'dart:ui' as _i19; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i23; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,20 +17,22 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i21; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i20; -import 'package:stackwallet/services/coins/coin_service.dart' as _i14; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; 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 _i15; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i16; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i22; -import 'package:stackwallet/utilities/prefs.dart' as _i18; -import 'package:tuple/tuple.dart' as _i13; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; +import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' + as _i26; +import 'package:stackwallet/utilities/prefs.dart' as _i22; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -143,8 +149,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -153,9 +159,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -164,9 +169,50 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_12 extends _i1.SmartFake - implements _i14.CoinServiceAPI { - _FakeCoinServiceAPI_12( +class _FakeTuple4_12 extends _i1.SmartFake + implements _i14.Tuple4 { + _FakeTuple4_12( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -178,7 +224,7 @@ class _FakeCoinServiceAPI_12 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i15.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -245,7 +291,7 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i16.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -255,18 +301,18 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValue: [], ) as List); @override - Map<_i16.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i16.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i16.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i16.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -330,17 +376,17 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValueForMissingStub: null, ); @override - _i17.Future load(_i18.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future loadAfterStackRestore( - _i18.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -351,11 +397,11 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { managers, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -363,7 +409,7 @@ class MockWallets extends _i1.Mock implements _i15.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -389,19 +435,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i17.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i17.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i17.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i17.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -416,13 +462,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i16.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -436,13 +482,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i16.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -455,46 +501,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i17.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -507,48 +553,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -560,20 +606,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -581,7 +627,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -609,13 +655,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i17.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -692,59 +738,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: false, ) as bool); @override - _i16.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i16.Coin.bitcoin, - ) as _i16.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i17.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i17.Future>.value(<_i21.UTXO>[]), - ) as _i17.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i17.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i17.Future>.value(<_i21.Transaction>[]), - ) as _i17.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i17.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); + @override + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i17.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i17.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i17.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i17.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i17.Future get chainHeight => (super.noSuchMethod( + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -833,26 +884,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ), ) as _i12.MainDB); @override - _i17.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i22.DerivePathType.bip44, - ) as _i22.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i17.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -869,47 +928,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { #height: height, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -925,26 +984,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -962,33 +1021,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i17.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -998,35 +1057,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i17.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i17.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i17.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i22.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1040,13 +1099,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i22.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1059,50 +1118,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i17.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i17.Future>>); + ) as _i21.Future>>); @override - _i17.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1126,7 +1185,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i21.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1142,19 +1201,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { }, )); @override - _i17.Future> fetchBuildTxData( - List<_i21.UTXO>? utxosToUse) => + _i21.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future> buildTransaction({ - required List<_i21.UTXO>? utxosToUse, + _i21.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1171,10 +1230,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1186,11 +1245,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1202,8 +1261,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { feeRate, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1222,25 +1281,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: 0, ) as int); @override - _i17.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i16.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1253,14 +1312,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i17.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1270,14 +1329,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: 0, ) as int); @override - _i17.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1287,15 +1346,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1311,15 +1370,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ), ) as _i11.Balance); @override - _i17.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1335,15 +1394,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ), ) as _i11.Balance); @override - _i17.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1354,13 +1413,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i17.Future< - _i13.Tuple4<_i21.Transaction, List<_i21.Output>, List<_i21.Input>, - _i21.Address>> parseTransaction( + _i21.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i21.Address>? myAddresses, - _i16.Coin? coin, + List<_i15.Address>? myAddresses, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1376,10 +1435,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { walletId, ], ), - returnValue: _i17.Future< - _i13.Tuple4<_i21.Transaction, List<_i21.Output>, List<_i21.Input>, - _i21.Address>>.value(_FakeTuple4_11<_i21.Transaction, - List<_i21.Output>, List<_i21.Input>, _i21.Address>( + returnValue: _i21.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, + List<_i15.Output>, List<_i15.Input>, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1393,9 +1452,469 @@ class MockBitcoinWallet extends _i1.Mock implements _i20.BitcoinWallet { ], ), )), - ) as _i17.Future< - _i13.Tuple4<_i21.Transaction, List<_i21.Output>, List<_i21.Input>, - _i21.Address>>); + ) as _i21.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i20.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i26.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i21.Future> Function()? getMnemonic, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i21.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ + required String address, + required int chain, + required _i25.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i21.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i25.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i21.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i21.Future<_i16.BIP32>); + @override + _i21.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); + @override + _i21.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); + @override + _i21.Future<_i17.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i21.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i21.Future<_i17.PaymentCode>); + @override + _i21.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); + @override + _i21.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i21.Future.value(''), + ) as _i21.Future); + @override + _i21.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i21.Future>.value({}), + ) as _i21.Future>); + @override + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i21.Future>.value({}), + ) as _i21.Future>); + @override + _i21.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i21.Future.value(''), + ) as _i21.Future); + @override + _i21.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i21.Future.value(false), + ) as _i21.Future); + @override + _i21.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i21.Future<_i17.PaymentCode?>.value(), + ) as _i21.Future<_i17.PaymentCode?>); + @override + _i21.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i21.Future>.value(<_i17.PaymentCode>[]), + ) as _i21.Future>); + @override + _i21.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i25.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i25.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i21.Future<_i15.Address>); + @override + _i21.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [Manager]. @@ -1416,23 +1935,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i14.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_12( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i14.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i16.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i16.Coin.bitcoin, - ) as _i16.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1465,23 +1984,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i17.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i17.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i17.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i17.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1491,16 +2010,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i17.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i17.Future>.value(<_i21.Transaction>[]), - ) as _i17.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i17.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i17.Future>.value(<_i21.UTXO>[]), - ) as _i17.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1520,10 +2039,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i17.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1545,14 +2064,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i17.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1562,7 +2081,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i17.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1578,27 +2097,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1608,33 +2127,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i17.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1651,20 +2170,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1676,11 +2195,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1692,18 +2211,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1711,7 +2230,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i19.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1731,7 +2250,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -1742,10 +2261,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i16.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i16.Coin.bitcoin, - ) as _i16.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1778,23 +2297,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i17.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i17.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i17.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1804,16 +2323,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { ), ) as _i11.Balance); @override - _i17.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i17.Future>.value(<_i21.Transaction>[]), - ) as _i17.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i17.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i17.Future>.value(<_i21.UTXO>[]), - ) as _i17.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1833,10 +2352,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValue: '', ) as String); @override - _i17.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i17.Future>.value([]), - ) as _i17.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -1853,7 +2372,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValue: 0, ) as int); @override - _i17.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1869,36 +2388,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { }, ), returnValue: - _i17.Future>.value({}), - ) as _i17.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i17.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i17.Future.value(''), - ) as _i17.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i17.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1908,15 +2427,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { returnValue: false, ) as bool); @override - _i17.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1933,38 +2452,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { #height: height, }, ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1976,11 +2495,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i17.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1992,24 +2511,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i14.CoinServiceAPI { feeRate, ], ), - returnValue: _i17.Future.value(0), - ) as _i17.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i17.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i17.Future.value(false), - ) as _i17.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i17.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i17.Future.value(), - returnValueForMissingStub: _i17.Future.value(), - ) as _i17.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } diff --git a/test/widget_tests/transaction_card_test.mocks.dart b/test/widget_tests/transaction_card_test.mocks.dart index 1ef218b2d..8101e32b7 100644 --- a/test/widget_tests/transaction_card_test.mocks.dart +++ b/test/widget_tests/transaction_card_test.mocks.dart @@ -2317,6 +2317,24 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValue: _i18.Future.value(false), ) as _i18.Future); @override + _i18.Future saveUserID(String? userId) => (super.noSuchMethod( + Invocation.method( + #saveUserID, + [userId], + ), + returnValue: _i18.Future.value(), + returnValueForMissingStub: _i18.Future.value(), + ) as _i18.Future); + @override + _i18.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + Invocation.method( + #saveSignupEpoch, + [signupEpoch], + ), + returnValue: _i18.Future.value(), + returnValueForMissingStub: _i18.Future.value(), + ) as _i18.Future); + @override void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/widget_tests/wallet_card_test.mocks.dart b/test/widget_tests/wallet_card_test.mocks.dart index 2bffe7a06..6783c5f8b 100644 --- a/test/widget_tests/wallet_card_test.mocks.dart +++ b/test/widget_tests/wallet_card_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i16; -import 'dart:ui' as _i18; +import 'dart:async' as _i20; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i22; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,20 +17,22 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i20; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i23; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i22; +import 'package:stackwallet/services/locale_service.dart' as _i27; 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.dart' as _i18; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i15; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i21; -import 'package:stackwallet/utilities/prefs.dart' as _i17; -import 'package:tuple/tuple.dart' as _i13; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i19; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; +import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' + as _i25; +import 'package:stackwallet/utilities/prefs.dart' as _i21; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -143,8 +149,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -153,9 +159,49 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeTuple4_12 extends _i1.SmartFake + implements _i14.Tuple4 { + _FakeTuple4_12( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( Object parent, Invocation parentInvocation, ) : super( @@ -167,7 +213,7 @@ class _FakeTuple4_11 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i14.Wallets { +class MockWallets extends _i1.Mock implements _i18.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -234,7 +280,7 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i15.Coin? coin}) => + List getWalletIdsFor({required _i19.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -244,18 +290,18 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValue: [], ) as List); @override - Map<_i15.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i15.Coin, + returnValue: <_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i15.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i15.Coin? coin) => + _i19.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -319,17 +365,17 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValueForMissingStub: null, ); @override - _i16.Future load(_i17.Prefs? prefs) => (super.noSuchMethod( + _i20.Future load(_i21.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future loadAfterStackRestore( - _i17.Prefs? prefs, + _i20.Future loadAfterStackRestore( + _i21.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -340,11 +386,11 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { managers, ], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -352,7 +398,7 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -372,13 +418,13 @@ class MockWallets extends _i1.Mock implements _i14.Wallets { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i16.Timer? _timer) => super.noSuchMethod( + set timer(_i20.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -455,59 +501,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: false, ) as bool); @override - _i15.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i15.Coin.bitcoin, - ) as _i15.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override - _i16.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i16.Future>.value(<_i20.UTXO>[]), - ) as _i16.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override - _i16.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i16.Future>.value(<_i20.Transaction>[]), - ) as _i16.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i16.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i16.Future.value(''), - ) as _i16.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i16.Future get currentChangeAddress => (super.noSuchMethod( + _i20.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i16.Future.value(''), - ) as _i16.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); + @override + _i20.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i16.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i16.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i16.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i16.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i16.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i16.Future>.value([]), - ) as _i16.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i16.Future get chainHeight => (super.noSuchMethod( + _i20.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -596,26 +647,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ), ) as _i12.MainDB); @override - _i16.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i20.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.DerivePathType addressType({required String? address}) => + _i24.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i21.DerivePathType.bip44, - ) as _i21.DerivePathType); + returnValue: _i24.DerivePathType.bip44, + ) as _i24.DerivePathType); @override - _i16.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -632,47 +691,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { #height: height, }, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future getTransactionCacheEarly(List? allAddresses) => + _i20.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i20.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i16.Future.value(false), - ) as _i16.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i16.Future getAllTxsToWatch() => (super.noSuchMethod( + _i20.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -688,26 +747,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { }, ), returnValue: - _i16.Future>.value({}), - ) as _i16.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i16.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i16.Future.value(''), - ) as _i16.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i16.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i16.Future.value(false), - ) as _i16.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -725,33 +784,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i16.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future updateSentCachedTxData(Map? txData) => + _i20.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -761,35 +820,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: false, ) as bool); @override - _i16.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i20.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i16.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i20.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i16.Future<_i9.ElectrumXNode>); + ) as _i20.Future<_i9.ElectrumXNode>); @override - _i16.Future addDerivation({ + _i20.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i21.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -803,13 +862,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future addDerivations({ + _i20.Future addDerivations({ required int? chain, - required _i21.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -822,50 +881,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future>> fastFetch( + _i20.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i16.Future>>.value( + returnValue: _i20.Future>>.value( >[]), - ) as _i16.Future>>); + ) as _i20.Future>>); @override - _i16.Future getTxCount({required String? address}) => + _i20.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i16.Future checkCurrentReceivingAddressesForTransactions() => + _i20.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future checkCurrentChangeAddressesForTransactions() => + _i20.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int estimateTxFee({ required int? vSize, @@ -889,7 +948,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i20.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -905,19 +964,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { }, )); @override - _i16.Future> fetchBuildTxData( - List<_i20.UTXO>? utxosToUse) => + _i20.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i16.Future>.value({}), - ) as _i16.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i16.Future> buildTransaction({ - required List<_i20.UTXO>? utxosToUse, + _i20.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -934,10 +993,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { }, ), returnValue: - _i16.Future>.value({}), - ) as _i16.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i16.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -949,11 +1008,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i16.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -965,8 +1024,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { feeRate, ], ), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int roughFeeEstimate( int? inputCount, @@ -985,25 +1044,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: 0, ) as int); @override - _i16.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i20.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i16.Future.value(0), - ) as _i16.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i16.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i16.Future.value(false), - ) as _i16.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void initCache( String? walletId, - _i15.Coin? coin, + _i19.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1016,14 +1075,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i16.Future updateCachedId(String? id) => (super.noSuchMethod( + _i20.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1033,14 +1092,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: 0, ) as int); @override - _i16.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i20.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1050,15 +1109,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValue: false, ) as bool); @override - _i16.Future updateCachedIsFavorite(bool? isFavorite) => + _i20.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1074,15 +1133,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ), ) as _i11.Balance); @override - _i16.Future updateCachedBalance(_i11.Balance? balance) => + _i20.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1098,15 +1157,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ), ) as _i11.Balance); @override - _i16.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i20.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1117,13 +1176,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i16.Future< - _i13.Tuple4<_i20.Transaction, List<_i20.Output>, List<_i20.Input>, - _i20.Address>> parseTransaction( + _i20.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i20.Address>? myAddresses, - _i15.Coin? coin, + List<_i15.Address>? myAddresses, + _i19.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1139,10 +1198,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { walletId, ], ), - returnValue: _i16.Future< - _i13.Tuple4<_i20.Transaction, List<_i20.Output>, List<_i20.Input>, - _i20.Address>>.value(_FakeTuple4_11<_i20.Transaction, - List<_i20.Output>, List<_i20.Input>, _i20.Address>( + returnValue: _i20.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, + List<_i15.Output>, List<_i15.Input>, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1156,15 +1215,475 @@ class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet { ], ), )), - ) as _i16.Future< - _i13.Tuple4<_i20.Transaction, List<_i20.Output>, List<_i20.Input>, - _i20.Address>>); + ) as _i20.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i19.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i25.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i20.Future> Function()? getMnemonic, + required _i20.Future Function()? getChainHeight, + required _i20.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i20.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i20.Future Function({required String address})? getTxCount, + required _i20.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i20.Future Function()? refresh, + required _i20.Future Function()? checkChangeAddressForTransactions, + required _i20.Future Function({ + required String address, + required int chain, + required _i24.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i20.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i24.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i20.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i20.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i20.Future<_i16.BIP32>); + @override + _i20.Future<_i26.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); + @override + _i20.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); + @override + _i20.Future<_i17.PaymentCode> getPaymentCode( + _i24.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i20.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i20.Future<_i17.PaymentCode>); + @override + _i20.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); + @override + _i20.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i20.Future.value(''), + ) as _i20.Future); + @override + _i20.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i20.Future>.value({}), + ) as _i20.Future>); + @override + _i20.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i26.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i20.Future>.value({}), + ) as _i20.Future>); + @override + _i20.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i20.Future.value(''), + ) as _i20.Future); + @override + _i20.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i20.Future.value(false), + ) as _i20.Future); + @override + _i20.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i20.Future<_i17.PaymentCode?>.value(), + ) as _i20.Future<_i17.PaymentCode?>); + @override + _i20.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i20.Future>.value(<_i17.PaymentCode>[]), + ) as _i20.Future>); + @override + _i20.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i24.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i24.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future<_i15.Address> getMyNotificationAddress( + _i24.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i20.Future<_i15.Address>); + @override + _i20.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); + @override + _i20.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i20.Future.value(''), + ) as _i20.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i22.LocaleService { +class MockLocaleService extends _i1.Mock implements _i27.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1180,17 +1699,17 @@ class MockLocaleService extends _i1.Mock implements _i22.LocaleService { returnValue: false, ) as bool); @override - _i16.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i20.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i16.Future.value(), - returnValueForMissingStub: _i16.Future.value(), - ) as _i16.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1198,7 +1717,7 @@ class MockLocaleService extends _i1.Mock implements _i22.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i18.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart index 5f2b9b7f5..97c97c181 100644 --- a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart +++ b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,23 +17,23 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i22; -import 'package:stackwallet/models/node_model.dart' as _i24; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; +import 'package:stackwallet/models/node_model.dart' as _i28; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i21; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; 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 _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i14; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i13; + as _i18; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -146,8 +150,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -156,9 +160,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -167,9 +170,9 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeSecureStorageInterface_12 extends _i1.SmartFake - implements _i14.SecureStorageInterface { - _FakeSecureStorageInterface_12( +class _FakeTuple4_12 extends _i1.SmartFake + implements _i14.Tuple4 { + _FakeTuple4_12( Object parent, Invocation parentInvocation, ) : super( @@ -178,9 +181,50 @@ class _FakeSecureStorageInterface_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSecureStorageInterface_16 extends _i1.SmartFake + implements _i18.SecureStorageInterface { + _FakeSecureStorageInterface_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -192,7 +236,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -259,7 +303,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -269,18 +313,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -344,17 +388,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -365,11 +409,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -377,7 +421,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -403,19 +447,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -430,13 +474,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -450,13 +494,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -469,46 +513,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -521,48 +565,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -574,20 +618,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -595,7 +639,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -623,13 +667,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -706,59 +750,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -847,26 +896,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i12.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i23.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i23.DerivePathType.bip44, - ) as _i23.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -883,47 +940,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -939,26 +996,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -976,33 +1033,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1012,35 +1069,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i18.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i9.ElectrumXNode>); + ) as _i22.Future<_i9.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1054,13 +1111,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1073,50 +1130,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1140,7 +1197,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i22.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1156,19 +1213,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i22.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i22.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1185,10 +1242,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1200,11 +1257,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1216,8 +1273,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1236,25 +1293,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1267,14 +1324,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1284,14 +1341,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1301,15 +1358,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1325,15 +1382,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalance(_i11.Balance? balance) => + _i22.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1349,15 +1406,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1368,13 +1425,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>> parseTransaction( + _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i22.Address>? myAddresses, - _i17.Coin? coin, + List<_i15.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1390,10 +1447,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>.value(_FakeTuple4_11<_i22.Transaction, - List<_i22.Output>, List<_i22.Input>, _i22.Address>( + returnValue: _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, + List<_i15.Output>, List<_i15.Input>, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1407,9 +1464,469 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>); + ) as _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i21.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i18.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i26.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i26.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i16.BIP32>); + @override + _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i17.PaymentCode>); + @override + _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i17.PaymentCode?>.value(), + ) as _i22.Future<_i17.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i17.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [NodeService]. @@ -1417,41 +1934,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i14.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_12( + returnValue: _FakeSecureStorageInterface_16( this, Invocation.getter(#secureStorageInterface), ), - ) as _i14.SecureStorageInterface); + ) as _i18.SecureStorageInterface); @override - List<_i24.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - List<_i24.NodeModel> get nodes => (super.noSuchMethod( + List<_i28.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i24.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i28.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1464,44 +1981,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i24.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i24.NodeModel? getNodeById({required String? id}) => + _i28.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i18.Future add( - _i24.NodeModel? node, + _i22.Future add( + _i28.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -1514,11 +2031,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -1530,11 +2047,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -1548,12 +2065,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i24.NodeModel? editedNode, + _i22.Future edit( + _i28.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -1566,20 +2083,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1587,7 +2104,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1630,23 +2147,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1679,23 +2196,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1705,16 +2222,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1734,10 +2251,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1759,14 +2276,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1776,7 +2293,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1792,27 +2309,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1822,33 +2339,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1865,20 +2382,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1890,11 +2407,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1906,18 +2423,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1925,7 +2442,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1945,7 +2462,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -1956,10 +2473,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1992,23 +2509,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2018,16 +2535,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2047,10 +2564,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2067,7 +2584,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2083,36 +2600,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2122,15 +2639,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2147,38 +2664,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2190,11 +2707,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2206,24 +2723,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } 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 index f510bde29..a9ec4e231 100644 --- 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 @@ -3,9 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i18; -import 'dart:ui' as _i20; +import 'dart:async' as _i22; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i24; +import 'package:bip32/bip32.dart' as _i16; +import 'package:bip47/bip47.dart' as _i17; +import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -13,23 +17,23 @@ import 'package:stackwallet/db/main_db.dart' as _i12; import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; -import 'package:stackwallet/models/isar/models/isar_models.dart' as _i22; -import 'package:stackwallet/models/node_model.dart' as _i24; +import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; +import 'package:stackwallet/models/node_model.dart' as _i28; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i21; -import 'package:stackwallet/services/coins/coin_service.dart' as _i15; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i19; 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 _i16; +import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i14; -import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:tuple/tuple.dart' as _i13; + as _i18; +import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -146,8 +150,8 @@ class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { ); } -class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { - _FakeElectrumXNode_10( +class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { + _FakeNetworkType_10( Object parent, Invocation parentInvocation, ) : super( @@ -156,9 +160,8 @@ class _FakeElectrumXNode_10 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_11 extends _i1.SmartFake - implements _i13.Tuple4 { - _FakeTuple4_11( +class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { + _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, ) : super( @@ -167,9 +170,9 @@ class _FakeTuple4_11 extends _i1.SmartFake ); } -class _FakeSecureStorageInterface_12 extends _i1.SmartFake - implements _i14.SecureStorageInterface { - _FakeSecureStorageInterface_12( +class _FakeTuple4_12 extends _i1.SmartFake + implements _i14.Tuple4 { + _FakeTuple4_12( Object parent, Invocation parentInvocation, ) : super( @@ -178,9 +181,50 @@ class _FakeSecureStorageInterface_12 extends _i1.SmartFake ); } -class _FakeCoinServiceAPI_13 extends _i1.SmartFake - implements _i15.CoinServiceAPI { - _FakeCoinServiceAPI_13( +class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { + _FakeAddress_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { + _FakeBIP32_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSecureStorageInterface_16 extends _i1.SmartFake + implements _i18.SecureStorageInterface { + _FakeSecureStorageInterface_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeCoinServiceAPI_17 extends _i1.SmartFake + implements _i19.CoinServiceAPI { + _FakeCoinServiceAPI_17( Object parent, Invocation parentInvocation, ) : super( @@ -192,7 +236,7 @@ class _FakeCoinServiceAPI_13 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i16.Wallets { +class MockWallets extends _i1.Mock implements _i20.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -259,7 +303,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i17.Coin? coin}) => + List getWalletIdsFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -269,18 +313,18 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValue: [], ) as List); @override - Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i17.Coin, + returnValue: <_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i17.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i17.Coin? coin) => + _i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -344,17 +388,17 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - _i18.Future load(_i19.Prefs? prefs) => (super.noSuchMethod( + _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future loadAfterStackRestore( - _i19.Prefs? prefs, + _i22.Future loadAfterStackRestore( + _i23.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -365,11 +409,11 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { managers, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -377,7 +421,7 @@ class MockWallets extends _i1.Mock implements _i16.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -403,19 +447,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i18.Future> get walletNames => + _i22.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i18.Future>.value( + returnValue: _i22.Future>.value( {}), - ) as _i18.Future>); + ) as _i22.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future renameWallet({ + _i22.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -430,13 +474,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future addExistingStackWallet({ + _i22.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -450,13 +494,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addNewWallet({ + _i22.Future addNewWallet({ required String? name, - required _i17.Coin? coin, + required _i21.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -469,46 +513,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future saveFavoriteWalletIds(List? walletIds) => + _i22.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future moveFavorite({ + _i22.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -521,48 +565,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future isMnemonicVerified({required String? walletId}) => + _i22.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future setMnemonicVerified({required String? walletId}) => + _i22.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future deleteWallet( + _i22.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -574,20 +618,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future refreshWallets(bool? shouldNotifyListeners) => + _i22.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -595,7 +639,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -623,13 +667,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i18.Timer? _timer) => super.noSuchMethod( + set timer(_i22.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -706,59 +750,64 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future get currentChangeAddress => (super.noSuchMethod( + _i22.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + Invocation.getter(#currentChangeAddressP2PKH), + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override - _i18.Future get chainHeight => (super.noSuchMethod( + _i22.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -847,26 +896,34 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i12.MainDB); @override - _i18.Future exit() => (super.noSuchMethod( + _i13.NetworkType get networkType => (super.noSuchMethod( + Invocation.getter(#networkType), + returnValue: _FakeNetworkType_10( + this, + Invocation.getter(#networkType), + ), + ) as _i13.NetworkType); + @override + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i23.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i23.DerivePathType.bip44, - ) as _i23.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -883,47 +940,47 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future getTransactionCacheEarly(List? allAddresses) => + _i22.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future getAllTxsToWatch() => (super.noSuchMethod( + _i22.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -939,26 +996,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -976,33 +1033,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1012,35 +1069,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i18.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_10( + returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i18.Future<_i9.ElectrumXNode>); + ) as _i22.Future<_i9.ElectrumXNode>); @override - _i18.Future addDerivation({ + _i22.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1054,13 +1111,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future addDerivations({ + _i22.Future addDerivations({ required int? chain, - required _i23.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1073,50 +1130,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future>> fastFetch( + _i22.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i18.Future>>.value( + returnValue: _i22.Future>>.value( >[]), - ) as _i18.Future>>); + ) as _i22.Future>>); @override - _i18.Future getTxCount({required String? address}) => + _i22.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future checkCurrentReceivingAddressesForTransactions() => + _i22.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future checkCurrentChangeAddressesForTransactions() => + _i22.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int estimateTxFee({ required int? vSize, @@ -1140,7 +1197,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { String? _recipientAddress, bool? isSendAll, { int? additionalOutputs = 0, - List<_i22.UTXO>? utxos, + List<_i15.UTXO>? utxos, }) => super.noSuchMethod(Invocation.method( #coinSelection, @@ -1156,19 +1213,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, )); @override - _i18.Future> fetchBuildTxData( - List<_i22.UTXO>? utxosToUse) => + _i22.Future> fetchBuildTxData( + List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( #fetchBuildTxData, [utxosToUse], ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future> buildTransaction({ - required List<_i22.UTXO>? utxosToUse, + _i22.Future> buildTransaction({ + required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, required List? satoshiAmounts, @@ -1185,10 +1242,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1200,11 +1257,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1216,8 +1273,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override int roughFeeEstimate( int? inputCount, @@ -1236,25 +1293,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override void initCache( String? walletId, - _i17.Coin? coin, + _i21.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1267,14 +1324,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future updateCachedId(String? id) => (super.noSuchMethod( + _i22.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1284,14 +1341,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: 0, ) as int); @override - _i18.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1301,15 +1358,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValue: false, ) as bool); @override - _i18.Future updateCachedIsFavorite(bool? isFavorite) => + _i22.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1325,15 +1382,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalance(_i11.Balance? balance) => + _i22.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1349,15 +1406,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ), ) as _i11.Balance); @override - _i18.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1368,13 +1425,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>> parseTransaction( + _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, - List<_i22.Address>? myAddresses, - _i17.Coin? coin, + List<_i15.Address>? myAddresses, + _i21.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1390,10 +1447,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { walletId, ], ), - returnValue: _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>.value(_FakeTuple4_11<_i22.Transaction, - List<_i22.Output>, List<_i22.Input>, _i22.Address>( + returnValue: _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, + List<_i15.Output>, List<_i15.Input>, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1407,9 +1464,469 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { ], ), )), - ) as _i18.Future< - _i13.Tuple4<_i22.Transaction, List<_i22.Output>, List<_i22.Input>, - _i22.Address>>); + ) as _i22.Future< + _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, + _i15.Address>>); + @override + void initPaynymWalletInterface({ + required String? walletId, + required String? walletName, + required _i13.NetworkType? network, + required _i21.Coin? coin, + required _i12.MainDB? db, + required _i9.ElectrumX? electrumXClient, + required _i18.SecureStorageInterface? secureStorage, + required int? dustLimitP2PKH, + required int? minConfirms, + required _i22.Future> Function()? getMnemonic, + required _i22.Future Function()? getChainHeight, + required _i22.Future Function()? getCurrentChangeAddress, + required int Function({ + required int feeRatePerKB, + required int vSize, + })? + estimateTxFee, + required _i22.Future> Function({ + required String address, + required int satoshiAmount, + Map? args, + })? + prepareSend, + required _i22.Future Function({required String address})? getTxCount, + required _i22.Future> Function(List<_i15.UTXO>)? + fetchBuildTxData, + required _i22.Future Function()? refresh, + required _i22.Future Function()? checkChangeAddressForTransactions, + required _i22.Future Function({ + required String address, + required int chain, + required _i26.DerivePathType derivePathType, + required String pubKey, + required String wif, + })? + addDerivation, + required _i22.Future Function({ + required int chain, + required Map derivationsToAdd, + required _i26.DerivePathType derivePathType, + })? + addDerivations, + }) => + super.noSuchMethod( + Invocation.method( + #initPaynymWalletInterface, + [], + { + #walletId: walletId, + #walletName: walletName, + #network: network, + #coin: coin, + #db: db, + #electrumXClient: electrumXClient, + #secureStorage: secureStorage, + #dustLimitP2PKH: dustLimitP2PKH, + #minConfirms: minConfirms, + #getMnemonic: getMnemonic, + #getChainHeight: getChainHeight, + #getCurrentChangeAddress: getCurrentChangeAddress, + #estimateTxFee: estimateTxFee, + #prepareSend: prepareSend, + #getTxCount: getTxCount, + #fetchBuildTxData: fetchBuildTxData, + #refresh: refresh, + #checkChangeAddressForTransactions: + checkChangeAddressForTransactions, + #addDerivation: addDerivation, + #addDerivations: addDerivations, + }, + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future<_i15.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #currentReceivingPaynymAddress, + [sender], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => + (super.noSuchMethod( + Invocation.method( + #checkCurrentPaynymReceivingAddressForTransactions, + [sender], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + (super.noSuchMethod( + Invocation.method( + #checkAllCurrentReceivingPaynymAddressesForTransactions, + [], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( + this, + Invocation.method( + #getRootNode, + [], + {#mnemonic: mnemonic}, + ), + )), + ) as _i22.Future<_i16.BIP32>); + @override + _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( + {required List? mnemonic}) => + (super.noSuchMethod( + Invocation.method( + #deriveNotificationPrivateKey, + [], + {#mnemonic: mnemonic}, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required List? mnemonic, + required int? index, + }) => + (super.noSuchMethod( + Invocation.method( + #deriveReceivingPrivateKey, + [], + { + #mnemonic: mnemonic, + #index: index, + }, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + this, + Invocation.method( + #getPaymentCode, + [derivePathType], + ), + )), + ) as _i22.Future<_i17.PaymentCode>); + @override + _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + (super.noSuchMethod( + Invocation.method( + #signWithNotificationKey, + [data], + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i22.Future signStringWithNotificationKey(String? data) => + (super.noSuchMethod( + Invocation.method( + #signStringWithNotificationKey, + [data], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, + required int? satoshiAmount, + Map? args, + }) => + (super.noSuchMethod( + Invocation.method( + #preparePaymentCodeSend, + [], + { + #paymentCode: paymentCode, + #satoshiAmount: satoshiAmount, + #args: args, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, + int? startIndex = 0, + }) => + (super.noSuchMethod( + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #nextUnusedSendAddressFrom, + [], + { + #pCode: pCode, + #privateKey: privateKey, + #startIndex: startIndex, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> prepareNotificationTx({ + required int? selectedTxFeeRate, + required String? targetPaymentCodeString, + int? additionalOutputs = 0, + List<_i15.UTXO>? utxos, + }) => + (super.noSuchMethod( + Invocation.method( + #prepareNotificationTx, + [], + { + #selectedTxFeeRate: selectedTxFeeRate, + #targetPaymentCodeString: targetPaymentCodeString, + #additionalOutputs: additionalOutputs, + #utxos: utxos, + }, + ), + returnValue: + _i22.Future>.value({}), + ) as _i22.Future>); + @override + _i22.Future broadcastNotificationTx( + {required Map? preparedTx}) => + (super.noSuchMethod( + Invocation.method( + #broadcastNotificationTx, + [], + {#preparedTx: preparedTx}, + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); + @override + _i22.Future hasConnected(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #hasConnected, + [paymentCodeString], + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + required _i15.Transaction? transaction, + required _i15.Address? myNotificationAddress, + }) => + (super.noSuchMethod( + Invocation.method( + #unBlindedPaymentCodeFromTransaction, + [], + { + #transaction: transaction, + #myNotificationAddress: myNotificationAddress, + }, + ), + returnValue: _i22.Future<_i17.PaymentCode?>.value(), + ) as _i22.Future<_i17.PaymentCode?>); + @override + _i22.Future> + getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( + Invocation.method( + #getAllPaymentCodesFromNotificationTransactions, + [], + ), + returnValue: + _i22.Future>.value(<_i17.PaymentCode>[]), + ) as _i22.Future>); + @override + _i22.Future checkForNotificationTransactionsTo( + Set? otherCodeStrings) => + (super.noSuchMethod( + Invocation.method( + #checkForNotificationTransactionsTo, + [otherCodeStrings], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreAllHistory({ + required int? maxUnusedAddressGap, + required int? maxNumberOfIndexesToCheck, + required Set? paymentCodeStrings, + }) => + (super.noSuchMethod( + Invocation.method( + #restoreAllHistory, + [], + { + #maxUnusedAddressGap: maxUnusedAddressGap, + #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, + #paymentCodeStrings: paymentCodeStrings, + }, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future restoreHistoryWith( + _i17.PaymentCode? other, + int? maxUnusedAddressGap, + int? maxNumberOfIndexesToCheck, + ) => + (super.noSuchMethod( + Invocation.method( + #restoreHistoryWith, + [ + other, + maxUnusedAddressGap, + maxNumberOfIndexesToCheck, + ], + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymSendAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #toPaymentCode: toPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + required _i13.ECPair? pair, + required int? derivationIndex, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, + }) => + (super.noSuchMethod( + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #generatePaynymReceivingAddressFromKeyPair, + [], + { + #pair: pair, + #derivationIndex: derivationIndex, + #derivePathType: derivePathType, + #fromPaymentCode: fromPaymentCode, + }, + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future<_i15.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => + (super.noSuchMethod( + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + this, + Invocation.method( + #getMyNotificationAddress, + [derivePathType], + ), + )), + ) as _i22.Future<_i15.Address>); + @override + _i22.Future> lookupKey(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #lookupKey, + [paymentCodeString], + ), + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); + @override + _i22.Future paymentCodeStringByKey(String? key) => + (super.noSuchMethod( + Invocation.method( + #paymentCodeStringByKey, + [key], + ), + returnValue: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future storeCode(String? paymentCodeString) => + (super.noSuchMethod( + Invocation.method( + #storeCode, + [paymentCodeString], + ), + returnValue: _i22.Future.value(''), + ) as _i22.Future); } /// A class which mocks [NodeService]. @@ -1417,41 +1934,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i21.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i14.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_12( + returnValue: _FakeSecureStorageInterface_16( this, Invocation.getter(#secureStorageInterface), ), - ) as _i14.SecureStorageInterface); + ) as _i18.SecureStorageInterface); @override - List<_i24.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - List<_i24.NodeModel> get nodes => (super.noSuchMethod( + List<_i28.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i18.Future updateDefaults() => (super.noSuchMethod( + _i22.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setPrimaryNodeFor({ - required _i17.Coin? coin, - required _i24.NodeModel? node, + _i22.Future setPrimaryNodeFor({ + required _i21.Coin? coin, + required _i28.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1464,44 +1981,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i24.NodeModel? getPrimaryNodeFor({required _i17.Coin? coin}) => + _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> getNodesFor(_i17.Coin? coin) => (super.noSuchMethod( + List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i24.NodeModel? getNodeById({required String? id}) => + _i28.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i24.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i24.NodeModel> failoverNodesFor({required _i17.Coin? coin}) => + List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i24.NodeModel>[], - ) as List<_i24.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i18.Future add( - _i24.NodeModel? node, + _i22.Future add( + _i28.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -1514,11 +2031,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future delete( + _i22.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -1530,11 +2047,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future setEnabledState( + _i22.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -1548,12 +2065,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future edit( - _i24.NodeModel? editedNode, + _i22.Future edit( + _i28.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -1566,20 +2083,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateCommunityNodes() => (super.noSuchMethod( + _i22.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1587,7 +2104,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1630,23 +2147,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i15.CoinServiceAPI get wallet => (super.noSuchMethod( + _i19.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_13( + returnValue: _FakeCoinServiceAPI_17( this, Invocation.getter(#wallet), ), - ) as _i15.CoinServiceAPI); + ) as _i19.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1679,23 +2196,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -1705,16 +2222,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -1734,10 +2251,10 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -1759,14 +2276,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -1776,7 +2293,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1792,27 +2309,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1822,33 +2339,33 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -1865,20 +2382,20 @@ class MockManager extends _i1.Mock implements _i6.Manager { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exitCurrentWallet() => (super.noSuchMethod( + _i22.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1890,11 +2407,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1906,18 +2423,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1925,7 +2442,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i20.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1945,7 +2462,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -1956,10 +2473,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i17.Coin get coin => (super.noSuchMethod( + _i21.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i17.Coin.bitcoin, - ) as _i17.Coin); + returnValue: _i21.Coin.bitcoin, + ) as _i21.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1992,23 +2509,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i18.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i18.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i18.Future<_i8.FeeObject>); + ) as _i22.Future<_i8.FeeObject>); @override - _i18.Future get maxFee => (super.noSuchMethod( + _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future get currentReceivingAddress => (super.noSuchMethod( + _i22.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2018,16 +2535,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { ), ) as _i11.Balance); @override - _i18.Future> get transactions => (super.noSuchMethod( + _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i18.Future>.value(<_i22.Transaction>[]), - ) as _i18.Future>); + _i22.Future>.value(<_i15.Transaction>[]), + ) as _i22.Future>); @override - _i18.Future> get utxos => (super.noSuchMethod( + _i22.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i18.Future>.value(<_i22.UTXO>[]), - ) as _i18.Future>); + returnValue: _i22.Future>.value(<_i15.UTXO>[]), + ) as _i22.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2047,10 +2564,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: '', ) as String); @override - _i18.Future> get mnemonic => (super.noSuchMethod( + _i22.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i18.Future>.value([]), - ) as _i18.Future>); + returnValue: _i22.Future>.value([]), + ) as _i22.Future>); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2067,7 +2584,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: 0, ) as int); @override - _i18.Future> prepareSend({ + _i22.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2083,36 +2600,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { }, ), returnValue: - _i18.Future>.value({}), - ) as _i18.Future>); + _i22.Future>.value({}), + ) as _i22.Future>); @override - _i18.Future confirmSend({required Map? txData}) => + _i22.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i18.Future.value(''), - ) as _i18.Future); + returnValue: _i22.Future.value(''), + ) as _i22.Future); @override - _i18.Future refresh() => (super.noSuchMethod( + _i22.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2122,15 +2639,15 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { returnValue: false, ) as bool); @override - _i18.Future testNetworkConnection() => (super.noSuchMethod( + _i22.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future recoverFromMnemonic({ + _i22.Future recoverFromMnemonic({ required String? mnemonic, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, @@ -2147,38 +2664,38 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { #height: height, }, ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeNew() => (super.noSuchMethod( + _i22.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future initializeExisting() => (super.noSuchMethod( + _i22.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future exit() => (super.noSuchMethod( + _i22.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future fullRescan( + _i22.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2190,11 +2707,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); @override - _i18.Future estimateFeeFor( + _i22.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2206,24 +2723,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i15.CoinServiceAPI { feeRate, ], ), - returnValue: _i18.Future.value(0), - ) as _i18.Future); + returnValue: _i22.Future.value(0), + ) as _i22.Future); @override - _i18.Future generateNewAddress() => (super.noSuchMethod( + _i22.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i18.Future.value(false), - ) as _i18.Future); + returnValue: _i22.Future.value(false), + ) as _i22.Future); @override - _i18.Future updateSentCachedTxData(Map? txData) => + _i22.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i18.Future.value(), - returnValueForMissingStub: _i18.Future.value(), - ) as _i18.Future); + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); } From 5aab115b961810fd62d53e847b24c9c8ec80fda0 Mon Sep 17 00:00:00 2001 From: julian Date: Sun, 5 Feb 2023 15:11:58 -0600 Subject: [PATCH 090/191] form state provider fix --- lib/pages/exchange_view/exchange_form.dart | 217 +++++++++--------- .../exchange_provider_options.dart | 24 +- lib/pages/wallet_view/wallet_view.dart | 7 +- .../exchange_form_state_provider.dart | 20 +- 4 files changed, 142 insertions(+), 126 deletions(-) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 696af8069..6f5caaf05 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -26,7 +26,6 @@ import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchan import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; @@ -75,7 +74,8 @@ class _ExchangeFormState extends ConsumerState { final newFromAmount = Decimal.tryParse(value); await ref - .read(exchangeFormStateProvider) + .read(exchangeFormStateProvider( + ref.read(prefsChangeNotifierProvider).exchangeRateType)) .setSendAmountAndCalculateReceiveAmount( newFromAmount ?? Decimal.zero, true); @@ -97,7 +97,10 @@ class _ExchangeFormState extends ConsumerState { if (!(isEstimated && ref.read(currentExchangeNameStateProvider.state).state == ChangeNowExchange.exchangeName)) { - ref.read(exchangeFormStateProvider).receiveAmount = newToAmount; + ref + .read(exchangeFormStateProvider( + ref.read(prefsChangeNotifierProvider).exchangeRateType)) + .receiveAmount = newToAmount; } if (newToAmount == null) { _sendController.text = ""; @@ -105,7 +108,9 @@ class _ExchangeFormState extends ConsumerState { } void selectSendCurrency() async { - final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; + final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); + final fromTicker = + ref.read(exchangeFormStateProvider(type)).fromTicker ?? ""; if (walletInitiated && fromTicker.toLowerCase() == coin!.ticker.toLowerCase()) { @@ -114,12 +119,12 @@ class _ExchangeFormState extends ConsumerState { } await _showCurrencySelectionSheet( - willChange: ref.read(exchangeFormStateProvider).sendCurrency, - paired: ref.read(exchangeFormStateProvider).receiveCurrency, + willChange: ref.read(exchangeFormStateProvider(type)).sendCurrency, + paired: ref.read(exchangeFormStateProvider(type)).receiveCurrency, isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == ExchangeRateType.fixed, onSelected: (to) => - ref.read(exchangeFormStateProvider).updateTo(to, true), + ref.read(exchangeFormStateProvider(type)).updateTo(to, true), ); unawaited( @@ -150,7 +155,8 @@ class _ExchangeFormState extends ConsumerState { } void selectReceiveCurrency() async { - final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; + final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); + final toTicker = ref.read(exchangeFormStateProvider(type)).toTicker ?? ""; if (walletInitiated && toTicker.toLowerCase() == coin!.ticker.toLowerCase()) { @@ -159,12 +165,12 @@ class _ExchangeFormState extends ConsumerState { } await _showCurrencySelectionSheet( - willChange: ref.read(exchangeFormStateProvider).receiveCurrency, - paired: ref.read(exchangeFormStateProvider).sendCurrency, + willChange: ref.read(exchangeFormStateProvider(type)).receiveCurrency, + paired: ref.read(exchangeFormStateProvider(type)).sendCurrency, isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == ExchangeRateType.fixed, onSelected: (to) => - ref.read(exchangeFormStateProvider).updateTo(to, true), + ref.read(exchangeFormStateProvider(type)).updateTo(to, true), ); unawaited( @@ -219,35 +225,11 @@ class _ExchangeFormState extends ConsumerState { ), ); - if (ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.fixed && - ref.read(exchangeFormStateProvider).exchange?.name == - ChangeNowExchange.exchangeName) { - final from = ref.read(exchangeFormStateProvider).fromTicker; - final to = ref.read(exchangeFormStateProvider).toTicker; + await ref + .read(exchangeFormStateProvider( + ref.read(prefsChangeNotifierProvider).exchangeRateType)) + .swap(shouldNotifyListeners: true); - if (to != null && from != null) { - final markets = ref - .read(availableChangeNowCurrenciesProvider) - .markets - .where((e) => e.from == to && e.to == from); - - if (markets.isNotEmpty) { - await ref - .read(exchangeFormStateProvider) - .swap(shouldNotifyListeners: true); - } else { - Logging.instance.log( - "swap to fixed rate market failed", - level: LogLevel.Warning, - ); - } - } - } else { - await ref - .read(exchangeFormStateProvider) - .swap(shouldNotifyListeners: true); - } if (mounted) { Navigator.of(context, rootNavigator: isDesktop).pop(); } @@ -362,10 +344,13 @@ class _ExchangeFormState extends ConsumerState { ), ); - final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? "-"; - final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? "-"; + final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); - ref.read(exchangeFormStateProvider).reversed = false; + final fromTicker = + ref.read(exchangeFormStateProvider(type)).fromTicker ?? "-"; + final toTicker = ref.read(exchangeFormStateProvider(type)).toTicker ?? "-"; + + ref.read(exchangeFormStateProvider(type)).reversed = false; // switch (rateType) { // case ExchangeRateType.estimated: if (!(toTicker == "-" || fromTicker == "-")) { @@ -398,18 +383,21 @@ class _ExchangeFormState extends ConsumerState { availableCurrencies.firstWhere((e) => e.ticker == toTicker); final newFromAmount = Decimal.tryParse(_sendController.text); - ref.read(exchangeFormStateProvider).receiveAmount = newFromAmount; + ref.read(exchangeFormStateProvider(type)).receiveAmount = + newFromAmount; if (newFromAmount == null) { _receiveController.text = ""; } - await ref.read(exchangeFormStateProvider).updateTo(to, false); - await ref.read(exchangeFormStateProvider).updateFrom(from, true); + await ref.read(exchangeFormStateProvider(type)).updateTo(to, false); + await ref + .read(exchangeFormStateProvider(type)) + .updateFrom(from, true); _receiveController.text = - ref.read(exchangeFormStateProvider).toAmountString.isEmpty + ref.read(exchangeFormStateProvider(type)).toAmountString.isEmpty ? "-" - : ref.read(exchangeFormStateProvider).toAmountString; + : ref.read(exchangeFormStateProvider(type)).toAmountString; if (mounted) { Navigator.of(context, rootNavigator: isDesktop).pop(); } @@ -425,7 +413,7 @@ class _ExchangeFormState extends ConsumerState { showFloatingFlushBar( type: FlushBarType.warning, message: - "${ref.read(exchangeFormStateProvider).exchangeRateType.name} rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last estimated rate pair.", + "${ref.read(exchangeFormStateProvider(type)).exchangeRateType.name} rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last estimated rate pair.", context: context, ), ); @@ -529,10 +517,13 @@ class _ExchangeFormState extends ConsumerState { void onExchangePressed() async { final rateType = ref.read(prefsChangeNotifierProvider).exchangeRateType; - final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; - final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; - final sendAmount = ref.read(exchangeFormStateProvider).sendAmount!; - final estimate = ref.read(exchangeFormStateProvider).estimate!; + final fromTicker = + ref.read(exchangeFormStateProvider(rateType)).fromTicker ?? ""; + final toTicker = + ref.read(exchangeFormStateProvider(rateType)).toTicker ?? ""; + final sendAmount = + ref.read(exchangeFormStateProvider(rateType)).sendAmount!; + final estimate = ref.read(exchangeFormStateProvider(rateType)).estimate!; String rate; @@ -708,7 +699,7 @@ class _ExchangeFormState extends ConsumerState { return; } rate = - "1 ${fromTicker.toUpperCase()} ~${ref.read(exchangeFormStateProvider).rate!.toStringAsFixed(8)} ${toTicker.toUpperCase()}"; + "1 ${fromTicker.toUpperCase()} ~${ref.read(exchangeFormStateProvider(rateType)).rate!.toStringAsFixed(8)} ${toTicker.toUpperCase()}"; break; } @@ -718,7 +709,7 @@ class _ExchangeFormState extends ConsumerState { rateInfo: rate, sendAmount: estimate.reversed ? estimate.estimatedAmount : sendAmount, receiveAmount: estimate.reversed - ? ref.read(exchangeFormStateProvider).receiveAmount! + ? ref.read(exchangeFormStateProvider(rateType)).receiveAmount! : estimate.estimatedAmount, rateType: rateType, rateId: estimate.rateId, @@ -790,9 +781,15 @@ class _ExchangeFormState extends ConsumerState { String? ticker; if (isSend) { - ticker = ref.read(exchangeFormStateProvider).fromTicker; + ticker = ref + .read(exchangeFormStateProvider( + ref.read(prefsChangeNotifierProvider).exchangeRateType)) + .fromTicker; } else { - ticker = ref.read(exchangeFormStateProvider).toTicker; + ticker = ref + .read(exchangeFormStateProvider( + ref.read(prefsChangeNotifierProvider).exchangeRateType)) + .toTicker; } if (ticker == null) { @@ -813,18 +810,20 @@ class _ExchangeFormState extends ConsumerState { if (walletInitiated) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - ref.read(exchangeFormStateProvider).reset(shouldNotifyListeners: true); + ref + .read(exchangeFormStateProvider( + ref.read(prefsChangeNotifierProvider).exchangeRateType)) + .reset(shouldNotifyListeners: true); // ref.read(fixedRateExchangeFormProvider); }); } else { - final isEstimated = - ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.estimated; + final rateType = (ref.read(prefsChangeNotifierProvider).exchangeRateType); + final isEstimated = rateType == ExchangeRateType.estimated; _sendController.text = - ref.read(exchangeFormStateProvider).fromAmountString; + ref.read(exchangeFormStateProvider(rateType)).fromAmountString; _receiveController.text = isEstimated ? "-" //ref.read(estimatedRateExchangeFormProvider).toAmountString - : ref.read(exchangeFormStateProvider).toAmountString; + : ref.read(exchangeFormStateProvider(rateType)).toAmountString; } // _sendFocusNode.addListener(() async { @@ -879,9 +878,13 @@ class _ExchangeFormState extends ConsumerState { Widget build(BuildContext context) { debugPrint("BUILD: $runtimeType"); + final rateType = ref.watch( + prefsChangeNotifierProvider.select((value) => value.exchangeRateType)); + // provider for simpleswap; not called rn ref.listen(currentExchangeNameStateProvider, (previous, next) { - ref.read(exchangeFormStateProvider).exchange = ref.read(exchangeProvider); + ref.read(exchangeFormStateProvider(rateType)).exchange = + ref.read(exchangeProvider); }); final isEstimated = ref.watch(prefsChangeNotifierProvider @@ -889,8 +892,8 @@ class _ExchangeFormState extends ConsumerState { ExchangeRateType.estimated; ref.listen( - exchangeFormStateProvider.select((value) => value.toAmountString), - (previous, String next) { + exchangeFormStateProvider(rateType) + .select((value) => value.toAmountString), (previous, String next) { if (!_receiveFocusNode.hasFocus) { // ref.watch(exchangeProvider).name == // SimpleSwapExchange.exchangeName && @@ -899,12 +902,13 @@ class _ExchangeFormState extends ConsumerState { // debugPrint("RECEIVE AMOUNT LISTENER ACTIVATED"); if (_swapLock) { _sendController.text = - ref.read(exchangeFormStateProvider).fromAmountString; + ref.read(exchangeFormStateProvider(rateType)).fromAmountString; } } }); ref.listen( - exchangeFormStateProvider.select((value) => value.fromAmountString), + exchangeFormStateProvider(rateType) + .select((value) => value.fromAmountString), (previous, String next) { if (!_sendFocusNode.hasFocus) { _sendController.text = next; @@ -912,10 +916,13 @@ class _ExchangeFormState extends ConsumerState { // debugPrint("SEND AMOUNT LISTENER ACTIVATED"); if (_swapLock) { _receiveController.text = isEstimated - ? ref.read(exchangeFormStateProvider).toAmountString.isEmpty + ? ref + .read(exchangeFormStateProvider(rateType)) + .toAmountString + .isEmpty ? "-" - : ref.read(exchangeFormStateProvider).toAmountString - : ref.read(exchangeFormStateProvider).toAmountString; + : ref.read(exchangeFormStateProvider(rateType)).toAmountString + : ref.read(exchangeFormStateProvider(rateType)).toAmountString; } } }); @@ -952,10 +959,10 @@ class _ExchangeFormState extends ConsumerState { onChanged: sendFieldOnChanged, onButtonTap: selectSendCurrency, isWalletCoin: isWalletCoin(coin, true), - image: ref.watch(exchangeFormStateProvider - .select((value) => value.receiveCurrency?.image)), - ticker: ref.watch( - exchangeFormStateProvider.select((value) => value.fromTicker)), + image: ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.sendCurrency?.image)), + ticker: ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.fromTicker)), ), SizedBox( height: isDesktop ? 10 : 4, @@ -964,14 +971,14 @@ class _ExchangeFormState extends ConsumerState { height: isDesktop ? 10 : 4, ), if (ref - .watch( - exchangeFormStateProvider.select((value) => value.warning)) + .watch(exchangeFormStateProvider(rateType) + .select((value) => value.warning)) .isNotEmpty && - !ref.watch( - exchangeFormStateProvider.select((value) => value.reversed))) + !ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.reversed))) Text( - ref.watch( - exchangeFormStateProvider.select((value) => value.warning)), + ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.warning)), style: STextStyles.errorSmall(context), ), Row( @@ -1042,27 +1049,25 @@ class _ExchangeFormState extends ConsumerState { onChanged: receiveFieldOnChanged, onButtonTap: selectReceiveCurrency, isWalletCoin: isWalletCoin(coin, true), - image: ref.watch(exchangeFormStateProvider + image: ref.watch(exchangeFormStateProvider(rateType) .select((value) => value.receiveCurrency?.image)) ?? "", - ticker: ref.watch( - exchangeFormStateProvider.select((value) => value.toTicker)), - readOnly: ref.watch(prefsChangeNotifierProvider - .select((value) => value.exchangeRateType)) == - ExchangeRateType.estimated, + ticker: ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.toTicker)), + readOnly: (rateType) == ExchangeRateType.estimated, // || // ref.watch(exchangeProvider).name == // SimpleSwapExchange.exchangeName, ), if (ref - .watch( - exchangeFormStateProvider.select((value) => value.warning)) + .watch(exchangeFormStateProvider(rateType) + .select((value) => value.warning)) .isNotEmpty && - ref.watch( - exchangeFormStateProvider.select((value) => value.reversed))) + ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.reversed))) Text( - ref.watch( - exchangeFormStateProvider.select((value) => value.warning)), + ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.warning)), style: STextStyles.errorSmall(context), ), SizedBox( @@ -1075,32 +1080,36 @@ class _ExchangeFormState extends ConsumerState { ), ), // these reads should be watch - if (ref.watch(exchangeFormStateProvider).sendAmount != null && - ref.watch(exchangeFormStateProvider).sendAmount != Decimal.zero) + if (ref.watch(exchangeFormStateProvider(rateType)).sendAmount != null && + ref.watch(exchangeFormStateProvider(rateType)).sendAmount != + Decimal.zero) SizedBox( height: isDesktop ? 20 : 12, ), // these reads should be watch - if (ref.watch(exchangeFormStateProvider).sendAmount != null && - ref.watch(exchangeFormStateProvider).sendAmount != Decimal.zero) + if (ref.watch(exchangeFormStateProvider(rateType)).sendAmount != null && + ref.watch(exchangeFormStateProvider(rateType)).sendAmount != + Decimal.zero) ExchangeProviderOptions( - from: ref.watch(exchangeFormStateProvider).fromTicker, - to: ref.watch(exchangeFormStateProvider).toTicker, - fromAmount: ref.watch(exchangeFormStateProvider).sendAmount, - toAmount: ref.watch(exchangeFormStateProvider).receiveAmount, + from: ref.watch(exchangeFormStateProvider(rateType)).fromTicker, + to: ref.watch(exchangeFormStateProvider(rateType)).toTicker, + fromAmount: + ref.watch(exchangeFormStateProvider(rateType)).sendAmount, + toAmount: + ref.watch(exchangeFormStateProvider(rateType)).receiveAmount, fixedRate: ref.watch(prefsChangeNotifierProvider .select((value) => value.exchangeRateType)) == ExchangeRateType.fixed, - reversed: ref.watch( - exchangeFormStateProvider.select((value) => value.reversed)), + reversed: ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.reversed)), ), SizedBox( height: isDesktop ? 20 : 12, ), PrimaryButton( buttonHeight: isDesktop ? ButtonHeight.l : null, - enabled: ref.watch( - exchangeFormStateProvider.select((value) => value.canExchange)), + enabled: ref.watch(exchangeFormStateProvider(rateType) + .select((value) => value.canExchange)), onPressed: onExchangePressed, label: "Exchange", ) diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index d2d58bab5..2aefcbc65 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -60,7 +60,11 @@ class ExchangeProviderOptions extends ConsumerWidget { ChangeNowExchange.exchangeName) { ref.read(currentExchangeNameStateProvider.state).state = ChangeNowExchange.exchangeName; - ref.read(exchangeFormStateProvider).exchange = + ref + .read(exchangeFormStateProvider(ref + .read(prefsChangeNotifierProvider) + .exchangeRateType)) + .exchange = Exchange.fromName(ref .read(currentExchangeNameStateProvider.state) .state); @@ -95,7 +99,11 @@ class ExchangeProviderOptions extends ConsumerWidget { .read( currentExchangeNameStateProvider.state) .state = value; - ref.read(exchangeFormStateProvider).exchange = + ref + .read(exchangeFormStateProvider(ref + .read(prefsChangeNotifierProvider) + .exchangeRateType)) + .exchange = Exchange.fromName(ref .read(currentExchangeNameStateProvider .state) @@ -274,7 +282,11 @@ class ExchangeProviderOptions extends ConsumerWidget { MajesticBankExchange.exchangeName) { ref.read(currentExchangeNameStateProvider.state).state = MajesticBankExchange.exchangeName; - ref.read(exchangeFormStateProvider).exchange = + ref + .read(exchangeFormStateProvider(ref + .read(prefsChangeNotifierProvider) + .exchangeRateType)) + .exchange = Exchange.fromName(ref .read(currentExchangeNameStateProvider.state) .state); @@ -309,7 +321,11 @@ class ExchangeProviderOptions extends ConsumerWidget { .read( currentExchangeNameStateProvider.state) .state = value; - ref.read(exchangeFormStateProvider).exchange = + ref + .read(exchangeFormStateProvider(ref + .read(prefsChangeNotifierProvider) + .exchangeRateType)) + .exchange = Exchange.fromName(ref .read(currentExchangeNameStateProvider .state) diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index 17fa18c8a..5ed91bba1 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -254,7 +254,8 @@ class _WalletViewState extends ConsumerState { ref.read(prefsChangeNotifierProvider).exchangeRateType = ExchangeRateType.estimated; - ref.read(exchangeFormStateProvider).exchange = ref.read(exchangeProvider); + ref.read(exchangeFormStateProvider(ExchangeRateType.estimated)).exchange = + ref.read(exchangeProvider); final currencies = ref .read(availableChangeNowCurrenciesProvider) @@ -263,7 +264,9 @@ class _WalletViewState extends ConsumerState { element.ticker.toLowerCase() == coin.ticker.toLowerCase()); if (currencies.isNotEmpty) { - ref.read(exchangeFormStateProvider).setCurrencies( + ref + .read(exchangeFormStateProvider(ExchangeRateType.estimated)) + .setCurrencies( currencies.first, ref .read(availableChangeNowCurrenciesProvider) diff --git a/lib/providers/exchange/exchange_form_state_provider.dart b/lib/providers/exchange/exchange_form_state_provider.dart index a1995c496..825290d41 100644 --- a/lib/providers/exchange/exchange_form_state_provider.dart +++ b/lib/providers/exchange/exchange_form_state_provider.dart @@ -1,30 +1,18 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/models/exchange/exchange_form_state.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; -import 'package:stackwallet/providers/global/prefs_provider.dart'; final exchangeFormStateProvider = - ChangeNotifierProvider((ref) { - final type = ref.watch( - prefsChangeNotifierProvider.select( - (value) => value.exchangeRateType, - ), - ); - + ChangeNotifierProvider.family( + (ref, type) { switch (type) { case ExchangeRateType.estimated: - return ref.watch(_estimatedFormState); + return _estimatedInstance; case ExchangeRateType.fixed: - return ref.watch(_fixedFormState); + return _fixedInstance; } }); final _fixedInstance = ExchangeFormState(ExchangeRateType.fixed); -final _fixedFormState = ChangeNotifierProvider( - (ref) => _fixedInstance, -); final _estimatedInstance = ExchangeFormState(ExchangeRateType.estimated); -final _estimatedFormState = ChangeNotifierProvider( - (ref) => _estimatedInstance, -); From 4345a67d3f7c15239a2541a9cfd5a703b49f226f Mon Sep 17 00:00:00 2001 From: julian Date: Sun, 5 Feb 2023 15:25:35 -0600 Subject: [PATCH 091/191] currency select function fix --- lib/models/exchange/exchange_form_state.dart | 16 +++++++------- lib/pages/exchange_view/exchange_form.dart | 22 +++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index c82d5e24f..2131486a9 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -654,7 +654,7 @@ class ExchangeFormState extends ChangeNotifier { } } - Future updateFrom( + Future updateSendCurrency( Currency sendCurrency, bool shouldNotifyListeners, ) async { @@ -667,15 +667,15 @@ class ExchangeFormState extends ChangeNotifier { shouldNotifyListeners: false, ); } + if (shouldNotifyListeners) { + notifyListeners(); + } } catch (e, s) { Logging.instance.log("$e\n$s", level: LogLevel.Error); } - if (shouldNotifyListeners) { - notifyListeners(); - } } - Future updateTo( + Future updateReceivingCurrency( Currency receiveCurrency, bool shouldNotifyListeners, ) async { @@ -689,12 +689,12 @@ class ExchangeFormState extends ChangeNotifier { shouldNotifyListeners: false, ); } + if (shouldNotifyListeners) { + notifyListeners(); + } } catch (e, s) { Logging.instance.log("$e\n$s", level: LogLevel.Error); } - if (shouldNotifyListeners) { - notifyListeners(); - } } Future swap({ diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 6f5caaf05..f23c7349b 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -121,10 +121,10 @@ class _ExchangeFormState extends ConsumerState { await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider(type)).sendCurrency, paired: ref.read(exchangeFormStateProvider(type)).receiveCurrency, - isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.fixed, - onSelected: (to) => - ref.read(exchangeFormStateProvider(type)).updateTo(to, true), + isFixedRate: type == ExchangeRateType.fixed, + onSelected: (selectedCurrency) => ref + .read(exchangeFormStateProvider(type)) + .updateSendCurrency(selectedCurrency, true), ); unawaited( @@ -167,10 +167,10 @@ class _ExchangeFormState extends ConsumerState { await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider(type)).receiveCurrency, paired: ref.read(exchangeFormStateProvider(type)).sendCurrency, - isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.fixed, - onSelected: (to) => - ref.read(exchangeFormStateProvider(type)).updateTo(to, true), + isFixedRate: type == ExchangeRateType.fixed, + onSelected: (selectedCurrency) => ref + .read(exchangeFormStateProvider(type)) + .updateReceivingCurrency(selectedCurrency, true), ); unawaited( @@ -389,10 +389,12 @@ class _ExchangeFormState extends ConsumerState { _receiveController.text = ""; } - await ref.read(exchangeFormStateProvider(type)).updateTo(to, false); await ref .read(exchangeFormStateProvider(type)) - .updateFrom(from, true); + .updateReceivingCurrency(to, false); + await ref + .read(exchangeFormStateProvider(type)) + .updateSendCurrency(from, true); _receiveController.text = ref.read(exchangeFormStateProvider(type)).toAmountString.isEmpty From 10605d96a2bc35d9244b9e39dfbcfd81e7281e23 Mon Sep 17 00:00:00 2001 From: julian Date: Sun, 5 Feb 2023 17:50:40 -0600 Subject: [PATCH 092/191] WIP exchange refactor and clean up --- .../change_now/cn_available_currencies.dart | 24 - lib/models/exchange/exchange_form_state.dart | 461 +----------------- .../mb_available_currencies.dart | 30 -- .../simpleswap/sp_available_currencies.dart | 30 -- .../exchange_currency_selection_view.dart | 8 +- lib/pages/exchange_view/exchange_form.dart | 55 +-- .../exchange_provider_options.dart | 77 ++- .../global_settings_view/hidden_settings.dart | 7 +- lib/pages/wallet_view/wallet_view.dart | 59 +-- ...ailable_changenow_currencies_provider.dart | 6 - ...able_majesticbank_currencies_provider.dart | 6 - ...ilable_simpleswap_currencies_provider.dart | 6 - lib/providers/providers.dart | 2 - .../exchange_data_loading_service.dart | 115 +++-- .../majestic_bank/majestic_bank_api.dart | 5 +- 15 files changed, 164 insertions(+), 727 deletions(-) delete mode 100644 lib/models/exchange/change_now/cn_available_currencies.dart delete mode 100644 lib/models/exchange/majestic_bank/mb_available_currencies.dart delete mode 100644 lib/models/exchange/simpleswap/sp_available_currencies.dart delete mode 100644 lib/providers/exchange/available_changenow_currencies_provider.dart delete mode 100644 lib/providers/exchange/available_majesticbank_currencies_provider.dart delete mode 100644 lib/providers/exchange/available_simpleswap_currencies_provider.dart diff --git a/lib/models/exchange/change_now/cn_available_currencies.dart b/lib/models/exchange/change_now/cn_available_currencies.dart deleted file mode 100644 index b8471d33f..000000000 --- a/lib/models/exchange/change_now/cn_available_currencies.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; -import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; -import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; - -class CNAvailableCurrencies { - final List currencies = []; - final List pairs = []; - final List markets = []; - - void updateCurrencies(List newCurrencies) { - currencies.clear(); - currencies.addAll(newCurrencies); - } - - void updateFloatingPairs(List newPairs) { - pairs.clear(); - pairs.addAll(newPairs); - } - - void updateMarkets(List newMarkets) { - markets.clear(); - markets.addAll(newMarkets); - } -} diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 2131486a9..1009affcd 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -1,436 +1,3 @@ -// import 'package:decimal/decimal.dart'; -// import 'package:flutter/cupertino.dart'; -// import 'package:flutter/material.dart'; -// import 'package:stackwallet/models/exchange/response_objects/currency.dart'; -// import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -// import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart'; -// import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; -// import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; -// import 'package:stackwallet/services/exchange/exchange.dart'; -// // import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; -// import 'package:stackwallet/utilities/logger.dart'; -// -// class ExchangeFormState extends ChangeNotifier { -// Exchange? _exchange; -// Exchange? get exchange => _exchange; -// set exchange(Exchange? value) { -// _exchange = value; -// _onExchangeTypeChanged(); -// } -// -// ExchangeRateType _exchangeType = ExchangeRateType.estimated; -// ExchangeRateType get exchangeType => _exchangeType; -// set exchangeType(ExchangeRateType value) { -// _exchangeType = value; -// _onExchangeRateTypeChanged(); -// } -// -// bool reversed = false; -// -// Decimal? fromAmount; -// Decimal? toAmount; -// -// Decimal? minAmount; -// Decimal? maxAmount; -// -// Decimal? rate; -// Estimate? estimate; -// -// FixedRateMarket? _market; -// FixedRateMarket? get market => _market; -// -// Currency? _from; -// Currency? _to; -// -// @override -// String toString() { -// return 'ExchangeFormState: {_exchange: $_exchange, _exchangeType: $_exchangeType, reversed: $reversed, fromAmount: $fromAmount, toAmount: $toAmount, minAmount: $minAmount, maxAmount: $maxAmount, rate: $rate, estimate: $estimate, _market: $_market, _from: $_from, _to: $_to, _onError: $_onError}'; -// } -// -// String? get fromTicker { -// switch (exchangeType) { -// case ExchangeRateType.estimated: -// return _from?.ticker; -// case ExchangeRateType.fixed: -// switch (exchange?.name) { -// // case SimpleSwapExchange.exchangeName: -// // return _from?.ticker; -// case ChangeNowExchange.exchangeName: -// return market?.from; -// default: -// return null; -// } -// } -// } -// -// String? get toTicker { -// switch (exchangeType) { -// case ExchangeRateType.estimated: -// return _to?.ticker; -// case ExchangeRateType.fixed: -// switch (exchange?.name) { -// // case SimpleSwapExchange.exchangeName: -// // return _to?.ticker; -// case ChangeNowExchange.exchangeName: -// return market?.to; -// default: -// return null; -// } -// } -// } -// -// void Function(String)? _onError; -// -// Currency? get from => _from; -// Currency? get to => _to; -// -// void setCurrencies(Currency from, Currency to) { -// _from = from; -// _to = to; -// } -// -// String get warning { -// if (reversed) { -// if (toTicker != null && toAmount != null) { -// if (minAmount != null && -// toAmount! < minAmount! && -// toAmount! > Decimal.zero) { -// return "Minimum amount ${minAmount!.toString()} ${toTicker!.toUpperCase()}"; -// } else if (maxAmount != null && toAmount! > maxAmount!) { -// return "Maximum amount ${maxAmount!.toString()} ${toTicker!.toUpperCase()}"; -// } -// } -// } else { -// if (fromTicker != null && fromAmount != null) { -// if (minAmount != null && -// fromAmount! < minAmount! && -// fromAmount! > Decimal.zero) { -// return "Minimum amount ${minAmount!.toString()} ${fromTicker!.toUpperCase()}"; -// } else if (maxAmount != null && fromAmount! > maxAmount!) { -// return "Maximum amount ${maxAmount!.toString()} ${fromTicker!.toUpperCase()}"; -// } -// } -// } -// -// return ""; -// } -// -// String get fromAmountString => fromAmount?.toStringAsFixed(8) ?? ""; -// String get toAmountString => toAmount?.toStringAsFixed(8) ?? ""; -// -// bool get canExchange { -// if (exchange?.name == ChangeNowExchange.exchangeName && -// exchangeType == ExchangeRateType.fixed) { -// return _market != null && -// fromAmount != null && -// toAmount != null && -// warning.isEmpty; -// } else { -// return fromAmount != null && -// fromAmount != Decimal.zero && -// toAmount != null && -// rate != null && -// warning.isEmpty; -// } -// } -// -// void clearAmounts(bool shouldNotifyListeners) { -// fromAmount = null; -// toAmount = null; -// minAmount = null; -// maxAmount = null; -// rate = null; -// -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } -// -// Future setFromAmountAndCalculateToAmount( -// Decimal newFromAmount, -// bool shouldNotifyListeners, -// ) async { -// if (newFromAmount == Decimal.zero) { -// toAmount = Decimal.zero; -// } -// -// fromAmount = newFromAmount; -// reversed = false; -// -// await updateRanges(shouldNotifyListeners: false); -// -// await updateEstimate( -// shouldNotifyListeners: false, -// reversed: reversed, -// ); -// -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } -// -// Future setToAmountAndCalculateFromAmount( -// Decimal newToAmount, -// bool shouldNotifyListeners, -// ) async { -// if (newToAmount == Decimal.zero) { -// fromAmount = Decimal.zero; -// } -// -// toAmount = newToAmount; -// reversed = true; -// -// await updateRanges(shouldNotifyListeners: false); -// -// await updateEstimate( -// shouldNotifyListeners: false, -// reversed: reversed, -// ); -// -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } -// -// Future updateTo(Currency to, bool shouldNotifyListeners) async { -// try { -// _to = to; -// if (_from == null) { -// rate = null; -// notifyListeners(); -// return; -// } -// -// await updateRanges(shouldNotifyListeners: false); -// -// await updateEstimate( -// shouldNotifyListeners: false, -// reversed: reversed, -// ); -// -// //todo: check if print needed -// // debugPrint( -// // "_updated TO: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange"); -// -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } catch (e, s) { -// Logging.instance.log("$e\n$s", level: LogLevel.Error); -// } -// } -// -// Future updateFrom(Currency from, bool shouldNotifyListeners) async { -// try { -// _from = from; -// -// if (_to == null) { -// rate = null; -// notifyListeners(); -// return; -// } -// -// await updateRanges(shouldNotifyListeners: false); -// -// await updateEstimate( -// shouldNotifyListeners: false, -// reversed: reversed, -// ); -// -// //todo: check if print needed -// // debugPrint( -// // "_updated FROM: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange"); -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } catch (e, s) { -// Logging.instance.log("$e\n$s", level: LogLevel.Error); -// } -// } -// -// Future updateMarket( -// FixedRateMarket? market, -// bool shouldNotifyListeners, -// ) async { -// _market = market; -// -// if (_market == null) { -// fromAmount = null; -// toAmount = null; -// } else { -// if (fromAmount != null) { -// if (fromAmount! <= Decimal.zero) { -// toAmount = Decimal.zero; -// } else { -// await updateRanges(shouldNotifyListeners: false); -// await updateEstimate( -// shouldNotifyListeners: false, -// reversed: reversed, -// ); -// } -// } -// } -// -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } -// -// void _onExchangeRateTypeChanged() { -// print("_onExchangeRateTypeChanged"); -// updateRanges(shouldNotifyListeners: true).then( -// (_) => updateEstimate( -// shouldNotifyListeners: true, -// reversed: reversed, -// ), -// ); -// } -// -// void _onExchangeTypeChanged() { -// updateRanges(shouldNotifyListeners: true).then( -// (_) => updateEstimate( -// shouldNotifyListeners: true, -// reversed: reversed, -// ), -// ); -// } -// -// Future updateRanges({required bool shouldNotifyListeners}) async { -// // if (exchange?.name == SimpleSwapExchange.exchangeName) { -// // reversed = false; -// // } -// final _fromTicker = reversed ? toTicker : fromTicker; -// final _toTicker = reversed ? fromTicker : toTicker; -// if (_fromTicker == null || _toTicker == null) { -// Logging.instance.log( -// "Tried to $runtimeType.updateRanges where (from: $_fromTicker || to: $_toTicker) for: $exchange", -// level: LogLevel.Info, -// ); -// return; -// } -// final response = await exchange?.getRange( -// _fromTicker, -// _toTicker, -// exchangeType == ExchangeRateType.fixed, -// ); -// -// if (response?.value == null) { -// Logging.instance.log( -// "Tried to $runtimeType.updateRanges for: $exchange where response: $response", -// level: LogLevel.Info, -// ); -// return; -// } -// -// final range = response!.value!; -// -// minAmount = range.min; -// maxAmount = range.max; -// -// //todo: check if print needed -// // debugPrint( -// // "updated range for: $exchange for $_fromTicker-$_toTicker: $range"); -// -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } -// -// Future updateEstimate({ -// required bool shouldNotifyListeners, -// required bool reversed, -// }) async { -// // if (exchange?.name == SimpleSwapExchange.exchangeName) { -// // reversed = false; -// // } -// final amount = reversed ? toAmount : fromAmount; -// if (fromTicker == null || -// toTicker == null || -// amount == null || -// amount <= Decimal.zero) { -// Logging.instance.log( -// "Tried to $runtimeType.updateEstimate for: $exchange where (from: $fromTicker || to: $toTicker || amount: $amount)", -// level: LogLevel.Info, -// ); -// return; -// } -// final response = await exchange?.getEstimate( -// fromTicker!, -// toTicker!, -// amount, -// exchangeType == ExchangeRateType.fixed, -// reversed, -// ); -// -// if (response?.value == null) { -// Logging.instance.log( -// "Tried to $runtimeType.updateEstimate for: $exchange where response: $response", -// level: LogLevel.Info, -// ); -// return; -// } -// -// estimate = response!.value!; -// -// if (reversed) { -// fromAmount = estimate!.estimatedAmount; -// } else { -// toAmount = estimate!.estimatedAmount; -// } -// -// rate = (toAmount! / fromAmount!).toDecimal(scaleOnInfinitePrecision: 12); -// -// //todo: check if print needed -// // debugPrint( -// // "updated estimate for: $exchange for $fromTicker-$toTicker: $estimate"); -// -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } -// -// void setOnError({ -// required void Function(String)? onError, -// bool shouldNotifyListeners = false, -// }) { -// _onError = onError; -// if (shouldNotifyListeners) { -// notifyListeners(); -// } -// } -// -// Future swap({FixedRateMarket? market}) async { -// final Decimal? newToAmount = fromAmount; -// final Decimal? newFromAmount = toAmount; -// -// fromAmount = newFromAmount; -// toAmount = newToAmount; -// -// minAmount = null; -// maxAmount = null; -// -// if (exchangeType == ExchangeRateType.fixed && -// exchange?.name == ChangeNowExchange.exchangeName) { -// await updateMarket(market, false); -// } else { -// final Currency? newTo = from; -// final Currency? newFrom = to; -// -// _to = newTo; -// _from = newFrom; -// -// await updateRanges(shouldNotifyListeners: false); -// -// await updateEstimate( -// shouldNotifyListeners: false, -// reversed: reversed, -// ); -// } -// -// notifyListeners(); -// } -// } - import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; @@ -445,12 +12,6 @@ class ExchangeFormState extends ChangeNotifier { Exchange? _exchange; Exchange get exchange => _exchange ??= Exchange.defaultExchange; - set exchange(Exchange value) { - _exchange = value; - _updateRangesAndEstimate( - shouldNotifyListeners: true, - ); - } Estimate? _estimate; Estimate? get estimate => _estimate; @@ -577,6 +138,23 @@ class ExchangeFormState extends ChangeNotifier { // public state updaters //============================================================================ + Future updateExchange({ + required Exchange exchange, + required bool shouldUpdateData, + required bool shouldNotifyListeners, + }) async { + _exchange = exchange; + if (shouldUpdateData) { + await _updateRangesAndEstimate( + shouldNotifyListeners: false, + ); + } + + if (shouldNotifyListeners) { + notifyListeners(); + } + } + void setCurrencies(Currency from, Currency to) { _sendCurrency = from; _receiveCurrency = to; @@ -660,6 +238,9 @@ class ExchangeFormState extends ChangeNotifier { ) async { try { _sendCurrency = sendCurrency; + _minSendAmount = null; + _maxSendAmount = null; + if (_receiveCurrency == null) { _rate = null; } else { @@ -681,6 +262,8 @@ class ExchangeFormState extends ChangeNotifier { ) async { try { _receiveCurrency = receiveCurrency; + _minReceiveAmount = null; + _maxReceiveAmount = null; if (_sendCurrency == null) { _rate = null; diff --git a/lib/models/exchange/majestic_bank/mb_available_currencies.dart b/lib/models/exchange/majestic_bank/mb_available_currencies.dart deleted file mode 100644 index 83a6145e5..000000000 --- a/lib/models/exchange/majestic_bank/mb_available_currencies.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; -import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; - -class MBAvailableCurrencies { - final List currencies = []; - // final List fixedRateCurrencies = []; - - final List pairs = []; - // final List fixedRatePairs = []; - - // void updateFloatingCurrencies(List newCurrencies) { - // floatingRateCurrencies.clear(); - // floatingRateCurrencies.addAll(newCurrencies); - // } - - void updateCurrencies(List newCurrencies) { - currencies.clear(); - currencies.addAll(newCurrencies); - } - - // void updateFloatingPairs(List newPairs) { - // floatingRatePairs.clear(); - // floatingRatePairs.addAll(newPairs); - // } - - void updatePairs(List newPairs) { - pairs.clear(); - pairs.addAll(newPairs); - } -} diff --git a/lib/models/exchange/simpleswap/sp_available_currencies.dart b/lib/models/exchange/simpleswap/sp_available_currencies.dart deleted file mode 100644 index 1db9f8625..000000000 --- a/lib/models/exchange/simpleswap/sp_available_currencies.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; -import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; - -class SPAvailableCurrencies { - final List floatingRateCurrencies = []; - final List fixedRateCurrencies = []; - - final List floatingRatePairs = []; - final List fixedRatePairs = []; - - void updateFloatingCurrencies(List newCurrencies) { - floatingRateCurrencies.clear(); - floatingRateCurrencies.addAll(newCurrencies); - } - - void updateFixedCurrencies(List newCurrencies) { - fixedRateCurrencies.clear(); - fixedRateCurrencies.addAll(newCurrencies); - } - - void updateFloatingPairs(List newPairs) { - floatingRatePairs.clear(); - floatingRatePairs.addAll(newPairs); - } - - void updateFixedPairs(List newPairs) { - fixedRatePairs.clear(); - fixedRatePairs.addAll(newPairs); - } -} diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index 73f9a5827..a32e9e0dc 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -52,7 +52,9 @@ class _ExchangeCurrencySelectionViewState .where() .exchangeNameEqualTo(widget.exchangeName) .filter() - .supportsFixedRateEqualTo(widget.isFixedRate) + .group((q) => widget.isFixedRate + ? q.supportsFixedRateEqualTo(true) + : q.supportsEstimatedRateEqualTo(true)) .and() .group((q) => q .nameContains(text, caseSensitive: false) @@ -81,7 +83,9 @@ class _ExchangeCurrencySelectionViewState .where() .exchangeNameEqualTo(widget.exchangeName) .filter() - .supportsFixedRateEqualTo(widget.isFixedRate); + .group((q) => widget.isFixedRate + ? q.supportsFixedRateEqualTo(true) + : q.supportsEstimatedRateEqualTo(true)); if (widget.paired != null) { _currencies = query diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index f23c7349b..9cb3cd63d 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -17,11 +17,9 @@ import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_provider_op import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/rate_type_toggle.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; -import 'package:stackwallet/providers/exchange/available_majesticbank_currencies_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; -import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; // import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; @@ -527,44 +525,24 @@ class _ExchangeFormState extends ConsumerState { ref.read(exchangeFormStateProvider(rateType)).sendAmount!; final estimate = ref.read(exchangeFormStateProvider(rateType)).estimate!; + final exchangeName = ref.read(currentExchangeNameStateProvider.state).state; + String rate; switch (rateType) { case ExchangeRateType.estimated: - bool isAvailable = false; - late final Iterable availableFloatingPairs; + final pair = await ExchangeDataLoadingService.instance.isar.pairs + .where() + .exchangeNameEqualTo(exchangeName) + .filter() + .floatingRateEqualTo(true) + .and() + .fromEqualTo(fromTicker, caseSensitive: false) + .and() + .toEqualTo(toTicker, caseSensitive: false) + .findFirst(); - switch (ref.read(currentExchangeNameStateProvider.state).state) { - case ChangeNowExchange.exchangeName: - availableFloatingPairs = ref - .read(availableChangeNowCurrenciesProvider) - .pairs - .where((e) => e.to == toTicker && e.from == fromTicker); - break; - case MajesticBankExchange.exchangeName: - availableFloatingPairs = ref - .read(availableMajesticBankCurrenciesProvider) - .pairs - .where((e) => e.to == toTicker && e.from == fromTicker); - break; - // case SimpleSwapExchange.exchangeName: - // availableFloatingPairs = ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRatePairs - // .where((e) => e.to == toTicker && e.from == fromTicker); - // break; - default: - availableFloatingPairs = []; - } - - for (final pair in availableFloatingPairs) { - if (pair.from == fromTicker && pair.to == toTicker) { - isAvailable = true; - break; - } - } - - if (!isAvailable) { + if (pair == null) { unawaited( showDialog( context: context, @@ -885,8 +863,11 @@ class _ExchangeFormState extends ConsumerState { // provider for simpleswap; not called rn ref.listen(currentExchangeNameStateProvider, (previous, next) { - ref.read(exchangeFormStateProvider(rateType)).exchange = - ref.read(exchangeProvider); + ref.read(exchangeFormStateProvider(rateType)).updateExchange( + exchange: ref.read(exchangeProvider), + shouldUpdateData: true, + shouldNotifyListeners: true, + ); }); final isEstimated = ref.watch(prefsChangeNotifierProvider diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index 2aefcbc65..60bb2fc0b 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -5,7 +5,6 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; -import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -60,14 +59,6 @@ class ExchangeProviderOptions extends ConsumerWidget { ChangeNowExchange.exchangeName) { ref.read(currentExchangeNameStateProvider.state).state = ChangeNowExchange.exchangeName; - ref - .read(exchangeFormStateProvider(ref - .read(prefsChangeNotifierProvider) - .exchangeRateType)) - .exchange = - Exchange.fromName(ref - .read(currentExchangeNameStateProvider.state) - .state); } }, child: Container( @@ -94,21 +85,21 @@ class ExchangeProviderOptions extends ConsumerWidget { .watch(currentExchangeNameStateProvider.state) .state, onChanged: (value) { - if (value is String) { - ref - .read( - currentExchangeNameStateProvider.state) - .state = value; - ref - .read(exchangeFormStateProvider(ref - .read(prefsChangeNotifierProvider) - .exchangeRateType)) - .exchange = - Exchange.fromName(ref - .read(currentExchangeNameStateProvider - .state) - .state); - } + // if (value is String) { + // ref + // .read( + // currentExchangeNameStateProvider.state) + // .state = value; + // ref + // .read(exchangeFormStateProvider(ref + // .read(prefsChangeNotifierProvider) + // .exchangeRateType)) + // .exchange = + // Exchange.fromName(ref + // .read(currentExchangeNameStateProvider + // .state) + // .state); + // } }, ), ), @@ -282,14 +273,6 @@ class ExchangeProviderOptions extends ConsumerWidget { MajesticBankExchange.exchangeName) { ref.read(currentExchangeNameStateProvider.state).state = MajesticBankExchange.exchangeName; - ref - .read(exchangeFormStateProvider(ref - .read(prefsChangeNotifierProvider) - .exchangeRateType)) - .exchange = - Exchange.fromName(ref - .read(currentExchangeNameStateProvider.state) - .state); } }, child: Container( @@ -316,21 +299,21 @@ class ExchangeProviderOptions extends ConsumerWidget { .watch(currentExchangeNameStateProvider.state) .state, onChanged: (value) { - if (value is String) { - ref - .read( - currentExchangeNameStateProvider.state) - .state = value; - ref - .read(exchangeFormStateProvider(ref - .read(prefsChangeNotifierProvider) - .exchangeRateType)) - .exchange = - Exchange.fromName(ref - .read(currentExchangeNameStateProvider - .state) - .state); - } + // if (value is String) { + // ref + // .read( + // currentExchangeNameStateProvider.state) + // .state = value; + // ref + // .read(exchangeFormStateProvider(ref + // .read(prefsChangeNotifierProvider) + // .exchangeRateType)) + // .exchange = + // Exchange.fromName(ref + // .read(currentExchangeNameStateProvider + // .state) + // .state); + // } }, ), ), diff --git a/lib/pages/settings_views/global_settings_view/hidden_settings.dart b/lib/pages/settings_views/global_settings_view/hidden_settings.dart index 92b34e851..f7b193a81 100644 --- a/lib/pages/settings_views/global_settings_view/hidden_settings.dart +++ b/lib/pages/settings_views/global_settings_view/hidden_settings.dart @@ -5,14 +5,13 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/global/debug_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_api.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; -import '../../../services/exchange/majestic_bank/majestic_bank_api.dart'; - class HiddenSettings extends StatelessWidget { const HiddenSettings({Key? key}) : super(key: key); @@ -157,8 +156,8 @@ class HiddenSettings extends StatelessWidget { Consumer(builder: (_, ref, __) { return GestureDetector( onTap: () async { - final x = - await MajesticBankAPI.instance.getLimits(); + final x = await MajesticBankAPI.instance + .getLimit(fromCurrency: 'btc'); print(x); }, child: RoundedWhiteContainer( diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index 5ed91bba1..02e3be244 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -7,7 +7,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/buy_view/buy_in_wallet_view.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/wallet_initiated_exchange_view.dart'; import 'package:stackwallet/pages/home_view/home_view.dart'; import 'package:stackwallet/pages/notification_views/notifications_view.dart'; @@ -30,7 +29,6 @@ import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; -import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; @@ -248,36 +246,33 @@ class _WalletViewState extends ConsumerState { ), ); } else { - ref.read(currentExchangeNameStateProvider.state).state = - ChangeNowExchange.exchangeName; - final walletId = ref.read(managerProvider).walletId; - ref.read(prefsChangeNotifierProvider).exchangeRateType = - ExchangeRateType.estimated; - - ref.read(exchangeFormStateProvider(ExchangeRateType.estimated)).exchange = - ref.read(exchangeProvider); - - final currencies = ref - .read(availableChangeNowCurrenciesProvider) - .currencies - .where((element) => - element.ticker.toLowerCase() == coin.ticker.toLowerCase()); - - if (currencies.isNotEmpty) { - ref - .read(exchangeFormStateProvider(ExchangeRateType.estimated)) - .setCurrencies( - currencies.first, - ref - .read(availableChangeNowCurrenciesProvider) - .currencies - .firstWhere( - (element) => - element.ticker.toLowerCase() != - coin.ticker.toLowerCase(), - ), - ); - } + // ref.read(currentExchangeNameStateProvider.state).state = + // ChangeNowExchange.exchangeName; + // final walletId = ref.read(managerProvider).walletId; + // ref.read(prefsChangeNotifierProvider).exchangeRateType = + // ExchangeRateType.estimated; + // + // final currencies = ref + // .read(availableChangeNowCurrenciesProvider) + // .currencies + // .where((element) => + // element.ticker.toLowerCase() == coin.ticker.toLowerCase()); + // + // if (currencies.isNotEmpty) { + // ref + // .read(exchangeFormStateProvider(ExchangeRateType.estimated)) + // .setCurrencies( + // currencies.first, + // ref + // .read(availableChangeNowCurrenciesProvider) + // .currencies + // .firstWhere( + // (element) => + // element.ticker.toLowerCase() != + // coin.ticker.toLowerCase(), + // ), + // ); + // } if (mounted) { unawaited( diff --git a/lib/providers/exchange/available_changenow_currencies_provider.dart b/lib/providers/exchange/available_changenow_currencies_provider.dart deleted file mode 100644 index 04bf04007..000000000 --- a/lib/providers/exchange/available_changenow_currencies_provider.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/models/exchange/change_now/cn_available_currencies.dart'; - -final availableChangeNowCurrenciesProvider = Provider( - (ref) => CNAvailableCurrencies(), -); diff --git a/lib/providers/exchange/available_majesticbank_currencies_provider.dart b/lib/providers/exchange/available_majesticbank_currencies_provider.dart deleted file mode 100644 index 3861aa4e1..000000000 --- a/lib/providers/exchange/available_majesticbank_currencies_provider.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/models/exchange/majestic_bank/mb_available_currencies.dart'; - -final availableMajesticBankCurrenciesProvider = Provider( - (ref) => MBAvailableCurrencies(), -); diff --git a/lib/providers/exchange/available_simpleswap_currencies_provider.dart b/lib/providers/exchange/available_simpleswap_currencies_provider.dart deleted file mode 100644 index ae1bd5fa0..000000000 --- a/lib/providers/exchange/available_simpleswap_currencies_provider.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/models/exchange/simpleswap/sp_available_currencies.dart'; - -final availableSimpleswapCurrenciesProvider = Provider( - (ref) => SPAvailableCurrencies(), -); diff --git a/lib/providers/providers.dart b/lib/providers/providers.dart index 210d36420..73234c464 100644 --- a/lib/providers/providers.dart +++ b/lib/providers/providers.dart @@ -1,8 +1,6 @@ export './buy/buy_form_state_provider.dart'; export './buy/simplex_initial_load_status.dart'; export './buy/simplex_provider.dart'; -export './exchange/available_changenow_currencies_provider.dart'; -export './exchange/available_simpleswap_currencies_provider.dart'; export './exchange/changenow_initial_load_status.dart'; export './exchange/current_exchange_name_state_provider.dart'; export './exchange/exchange_flow_is_active_state_provider.dart'; diff --git a/lib/services/exchange/exchange_data_loading_service.dart b/lib/services/exchange/exchange_data_loading_service.dart index 3d03bd02f..c65afc553 100644 --- a/lib/services/exchange/exchange_data_loading_service.dart +++ b/lib/services/exchange/exchange_data_loading_service.dart @@ -39,8 +39,9 @@ class ExchangeDataLoadingService { final time = DateTime.now(); try { await Future.wait([ - _loadFixedRateMarkets(), - _loadChangeNowStandardCurrencies(), + _loadChangeNowCurrencies(), + _loadChangeNowFixedRatePairs(), + _loadChangeNowEstimatedRatePairs(), // loadSimpleswapFixedRateCurrencies(ref), // loadSimpleswapFloatingRateCurrencies(ref), loadMajesticBankCurrencies(), @@ -57,78 +58,72 @@ class ExchangeDataLoadingService { } } - Future _loadFixedRateMarkets() async { + Future _loadChangeNowCurrencies() async { final exchange = ChangeNowExchange.instance; - final responseCurrencies = await exchange.getAllCurrencies(true); + final responseCurrencies = await exchange.getAllCurrencies(false); if (responseCurrencies.value != null) { - final responsePairs = await exchange.getAllPairs(true); - - if (responsePairs.value != null) { - await isar.writeTxn(() async { - final idsToDelete = await isar.currencies - .where() - .exchangeNameEqualTo(ChangeNowExchange.exchangeName) - .idProperty() - .findAll(); - await isar.currencies.deleteAll(idsToDelete); - await isar.currencies.putAll(responseCurrencies.value!); - - final idsToDelete2 = await isar.pairs - .where() - .exchangeNameEqualTo(ChangeNowExchange.exchangeName) - .idProperty() - .findAll(); - await isar.pairs.deleteAll(idsToDelete2); - await isar.pairs.putAll(responsePairs.value!); - }); - } else { - Logging.instance.log( - "Failed to load changeNOW available fixed rate pairs: ${responsePairs.exception?.message}", - level: LogLevel.Error); - return; - } + await isar.writeTxn(() async { + final idsToDelete = await isar.currencies + .where() + .exchangeNameEqualTo(ChangeNowExchange.exchangeName) + .idProperty() + .findAll(); + await isar.currencies.deleteAll(idsToDelete); + await isar.currencies.putAll(responseCurrencies.value!); + }); } else { Logging.instance.log( - "Failed to load changeNOW fixed rate currencies: ${responseCurrencies.exception?.message}", + "Failed to load changeNOW currencies: ${responseCurrencies.exception?.message}", level: LogLevel.Error); return; } } - Future _loadChangeNowStandardCurrencies() async { + Future _loadChangeNowFixedRatePairs() async { final exchange = ChangeNowExchange.instance; - final responseCurrencies = await exchange.getAllCurrencies(false); - if (responseCurrencies.value != null) { - final responsePairs = await exchange.getAllPairs(false); + final responsePairs = await exchange.getAllPairs(true); - if (responsePairs.value != null) { - await isar.writeTxn(() async { - final idsToDelete = await isar.currencies - .where() - .exchangeNameEqualTo(ChangeNowExchange.exchangeName) - .idProperty() - .findAll(); - await isar.currencies.deleteAll(idsToDelete); - await isar.currencies.putAll(responseCurrencies.value!); - - final idsToDelete2 = await isar.pairs - .where() - .exchangeNameEqualTo(ChangeNowExchange.exchangeName) - .idProperty() - .findAll(); - await isar.pairs.deleteAll(idsToDelete2); - await isar.pairs.putAll(responsePairs.value!); - }); - } else { - Logging.instance.log( - "Failed to load changeNOW available floating rate pairs: ${responsePairs.exception?.message}", - level: LogLevel.Error); - return; - } + if (responsePairs.value != null) { + await isar.writeTxn(() async { + final idsToDelete2 = await isar.pairs + .where() + .exchangeNameEqualTo(ChangeNowExchange.exchangeName) + .filter() + .fixedRateEqualTo(true) + .idProperty() + .findAll(); + await isar.pairs.deleteAll(idsToDelete2); + await isar.pairs.putAll(responsePairs.value!); + }); } else { Logging.instance.log( - "Failed to load changeNOW currencies: ${responseCurrencies.exception?.message}", + "Failed to load changeNOW available fixed rate pairs: ${responsePairs.exception?.message}", + level: LogLevel.Error); + return; + } + } + + Future _loadChangeNowEstimatedRatePairs() async { + final exchange = ChangeNowExchange.instance; + + final responsePairs = await exchange.getAllPairs(false); + + if (responsePairs.value != null) { + await isar.writeTxn(() async { + final idsToDelete = await isar.pairs + .where() + .exchangeNameEqualTo(ChangeNowExchange.exchangeName) + .filter() + .floatingRateEqualTo(true) + .idProperty() + .findAll(); + await isar.pairs.deleteAll(idsToDelete); + await isar.pairs.putAll(responsePairs.value!); + }); + } else { + Logging.instance.log( + "Failed to load changeNOW available floating rate pairs: ${responsePairs.exception?.message}", level: LogLevel.Error); return; } diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index 6d7e2ffe7..e1e39d38d 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -189,8 +189,9 @@ class MajesticBankAPI { return ExchangeResponse(value: result); } catch (e, s) { - Logging.instance - .log("calculateOrder exception: $e\n$s", level: LogLevel.Error); + Logging.instance.log( + "calculateOrder $fromCurrency-$receiveCurrency exception: $e\n$s", + level: LogLevel.Error); return ExchangeResponse( exception: ExchangeException( e.toString(), From 3d01ec8598b71d9002a86d67105f7768051dc869 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 08:43:16 -0600 Subject: [PATCH 093/191] reduce size of Pair class --- lib/models/isar/exchange_cache/pair.dart | 63 +++++-------------- .../exchange/change_now/change_now_api.dart | 5 +- .../change_now/change_now_exchange.dart | 5 +- .../majestic_bank/majestic_bank_exchange.dart | 5 +- .../exchange/simpleswap/simpleswap_api.dart | 5 +- 5 files changed, 19 insertions(+), 64 deletions(-) diff --git a/lib/models/isar/exchange_cache/pair.dart b/lib/models/isar/exchange_cache/pair.dart index 0c3f2e0bb..4d7ebe8e8 100644 --- a/lib/models/isar/exchange_cache/pair.dart +++ b/lib/models/isar/exchange_cache/pair.dart @@ -1,10 +1,19 @@ import 'package:isar/isar.dart'; -import 'package:stackwallet/utilities/logger.dart'; part 'pair.g.dart'; +// embedded enum // no not modify +enum SupportedRateType { fixed, estimated, both } + @collection class Pair { + Pair({ + required this.exchangeName, + required this.from, + required this.to, + required this.rateType, + }); + Id? id; @Index() @@ -15,54 +24,19 @@ class Pair { CompositeIndex("to"), ]) final String from; - final String fromNetwork; final String to; - final String toNetwork; - final bool fixedRate; - final bool floatingRate; - - Pair({ - required this.exchangeName, - required this.from, - required this.fromNetwork, - required this.to, - required this.toNetwork, - required this.fixedRate, - required this.floatingRate, - }); - - factory Pair.fromMap( - Map map, { - required String exchangeName, - }) { - try { - return Pair( - exchangeName: exchangeName, - from: map["from"] as String, - fromNetwork: map["fromNetwork"] as String, - to: map["to"] as String, - toNetwork: map["toNetwork"] as String, - fixedRate: map["fixedRate"] as bool, - floatingRate: map["floatingRate"] as bool, - )..id = map["id"] as int?; - } catch (e, s) { - Logging.instance.log("Pair.fromMap(): $e\n$s", level: LogLevel.Error); - rethrow; - } - } + @enumerated + final SupportedRateType rateType; Map toMap() { return { "id": id, "exchangeName": exchangeName, "from": from, - "fromNetwork": fromNetwork, "to": to, - "toNetwork": toNetwork, - "fixedRate": fixedRate, - "floatingRate": floatingRate, + "rateType": rateType, }; } @@ -71,22 +45,15 @@ class Pair { other is Pair && exchangeName == other.exchangeName && from == other.from && - fromNetwork == other.fromNetwork && to == other.to && - toNetwork == other.toNetwork && - fixedRate == other.fixedRate && - floatingRate == other.floatingRate; + rateType == other.rateType; @override int get hashCode => Object.hash( - id, exchangeName, from, - fromNetwork, to, - toNetwork, - fixedRate, - floatingRate, + rateType, ); @override diff --git a/lib/services/exchange/change_now/change_now_api.dart b/lib/services/exchange/change_now/change_now_api.dart index 2de93cbf0..ed9af7f59 100644 --- a/lib/services/exchange/change_now/change_now_api.dart +++ b/lib/services/exchange/change_now/change_now_api.dart @@ -843,10 +843,7 @@ class ChangeNowAPI { exchangeName: ChangeNowExchange.exchangeName, from: stringPair[0], to: stringPair[1], - fromNetwork: "", - toNetwork: "", - fixedRate: false, - floatingRate: true, + rateType: SupportedRateType.estimated, ), ); } catch (_) { diff --git a/lib/services/exchange/change_now/change_now_exchange.dart b/lib/services/exchange/change_now/change_now_exchange.dart index f96b0d3c1..93c63d953 100644 --- a/lib/services/exchange/change_now/change_now_exchange.dart +++ b/lib/services/exchange/change_now/change_now_exchange.dart @@ -104,11 +104,8 @@ class ChangeNowExchange extends Exchange { Pair( exchangeName: ChangeNowExchange.exchangeName, from: market.from, - fromNetwork: "", to: market.to, - toNetwork: "", - fixedRate: true, - floatingRate: false, + rateType: SupportedRateType.fixed, ), ); } diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart index 471cc96cc..5cdcdbffd 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -139,11 +139,8 @@ class MajesticBankExchange extends Exchange { final pair = Pair( exchangeName: MajesticBankExchange.exchangeName, from: rate.fromCurrency, - fromNetwork: "", to: rate.toCurrency, - toNetwork: "", - fixedRate: true, - floatingRate: true, + rateType: SupportedRateType.both, ); pairs.add(pair); } diff --git a/lib/services/exchange/simpleswap/simpleswap_api.dart b/lib/services/exchange/simpleswap/simpleswap_api.dart index 561177f5d..8f14c222e 100644 --- a/lib/services/exchange/simpleswap/simpleswap_api.dart +++ b/lib/services/exchange/simpleswap/simpleswap_api.dart @@ -274,11 +274,8 @@ class SimpleSwapAPI { Pair( exchangeName: SimpleSwapExchange.exchangeName, from: from, - fromNetwork: "", to: to as String, - toNetwork: "", - fixedRate: args.item2, - floatingRate: !args.item2, + rateType: SupportedRateType.estimated, ), ); } From 18e089179b00c1f13399f25c457f4684cb4b27c5 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 09:23:31 -0600 Subject: [PATCH 094/191] simplify Currency class and fixed image loading issue --- lib/models/isar/exchange_cache/currency.dart | 26 +- .../isar/exchange_cache/currency.g.dart | 286 +++------ lib/models/isar/exchange_cache/pair.g.dart | 597 ++++-------------- .../exchange_currency_selection_view.dart | 63 +- lib/pages/exchange_view/exchange_form.dart | 5 +- .../exchange/change_now/change_now_api.dart | 8 +- .../exchange_data_loading_service.dart | 4 +- .../majestic_bank/majestic_bank_exchange.dart | 3 +- .../simpleswap/simpleswap_exchange.dart | 5 +- 9 files changed, 270 insertions(+), 727 deletions(-) diff --git a/lib/models/isar/exchange_cache/currency.dart b/lib/models/isar/exchange_cache/currency.dart index 5f9b2992f..ced37557c 100644 --- a/lib/models/isar/exchange_cache/currency.dart +++ b/lib/models/isar/exchange_cache/currency.dart @@ -1,4 +1,5 @@ import 'package:isar/isar.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; part 'currency.g.dart'; @@ -33,12 +34,8 @@ class Currency { final bool isFiat; /// Indicates if a currency is available on a fixed-rate flow - @Index() - final bool supportsFixedRate; - - /// Indicates if a currency is available on a fixed-rate flow - @Index() - final bool supportsEstimatedRate; + @enumerated + final SupportedRateType rateType; /// (Optional - based on api call) Indicates whether the pair is /// currently supported by change now @@ -55,8 +52,7 @@ class Currency { required this.image, this.externalId, required this.isFiat, - required this.supportsFixedRate, - required this.supportsEstimatedRate, + required this.rateType, this.isAvailable, required this.isStackCoin, }); @@ -64,6 +60,7 @@ class Currency { factory Currency.fromJson( Map json, { required String exchangeName, + required SupportedRateType rateType, }) { try { final ticker = (json["ticker"] as String).toUpperCase(); @@ -76,8 +73,7 @@ class Currency { image: json["image"] as String, externalId: json["externalId"] as String?, isFiat: json["isFiat"] as bool, - supportsFixedRate: json["supportsFixedRate"] as bool, - supportsEstimatedRate: json["supportsEstimatedRate"] as bool, + rateType: rateType, isAvailable: json["isAvailable"] as bool?, isStackCoin: json["isStackCoin"] as bool? ?? Currency.checkIsStackCoin(ticker), @@ -97,8 +93,7 @@ class Currency { "image": image, "externalId": externalId, "isFiat": isFiat, - "supportsFixedRate": supportsFixedRate, - "supportsEstimatedRate": supportsEstimatedRate, + "rateType": rateType, "isAvailable": isAvailable, "isStackCoin": isStackCoin, }; @@ -115,8 +110,7 @@ class Currency { String? image, String? externalId, bool? isFiat, - bool? supportsFixedRate, - bool? supportsEstimatedRate, + SupportedRateType? rateType, bool? isAvailable, bool? isStackCoin, }) { @@ -128,9 +122,7 @@ class Currency { image: image ?? this.image, externalId: externalId ?? this.externalId, isFiat: isFiat ?? this.isFiat, - supportsFixedRate: supportsFixedRate ?? this.supportsFixedRate, - supportsEstimatedRate: - supportsEstimatedRate ?? this.supportsEstimatedRate, + rateType: rateType ?? this.rateType, isAvailable: isAvailable ?? this.isAvailable, isStackCoin: isStackCoin ?? this.isStackCoin, )..id = id ?? this.id; diff --git a/lib/models/isar/exchange_cache/currency.g.dart b/lib/models/isar/exchange_cache/currency.g.dart index 43940dcef..02c58cadd 100644 --- a/lib/models/isar/exchange_cache/currency.g.dart +++ b/lib/models/isar/exchange_cache/currency.g.dart @@ -57,18 +57,14 @@ const CurrencySchema = CollectionSchema( name: r'network', type: IsarType.string, ), - r'supportsEstimatedRate': PropertySchema( + r'rateType': PropertySchema( id: 8, - name: r'supportsEstimatedRate', - type: IsarType.bool, - ), - r'supportsFixedRate': PropertySchema( - id: 9, - name: r'supportsFixedRate', - type: IsarType.bool, + name: r'rateType', + type: IsarType.byte, + enumMap: _CurrencyrateTypeEnumValueMap, ), r'ticker': PropertySchema( - id: 10, + id: 9, name: r'ticker', type: IsarType.string, ) @@ -115,32 +111,6 @@ const CurrencySchema = CollectionSchema( ) ], ), - r'supportsFixedRate': IndexSchema( - id: 444054599534256333, - name: r'supportsFixedRate', - unique: false, - replace: false, - properties: [ - IndexPropertySchema( - name: r'supportsFixedRate', - type: IndexType.value, - caseSensitive: false, - ) - ], - ), - r'supportsEstimatedRate': IndexSchema( - id: 4184033449468624530, - name: r'supportsEstimatedRate', - unique: false, - replace: false, - properties: [ - IndexPropertySchema( - name: r'supportsEstimatedRate', - type: IndexType.value, - caseSensitive: false, - ) - ], - ), r'isStackCoin': IndexSchema( id: 1994111521912746776, name: r'isStackCoin', @@ -197,9 +167,8 @@ void _currencySerialize( writer.writeBool(offsets[5], object.isStackCoin); writer.writeString(offsets[6], object.name); writer.writeString(offsets[7], object.network); - writer.writeBool(offsets[8], object.supportsEstimatedRate); - writer.writeBool(offsets[9], object.supportsFixedRate); - writer.writeString(offsets[10], object.ticker); + writer.writeByte(offsets[8], object.rateType.index); + writer.writeString(offsets[9], object.ticker); } Currency _currencyDeserialize( @@ -217,9 +186,10 @@ Currency _currencyDeserialize( isStackCoin: reader.readBool(offsets[5]), name: reader.readString(offsets[6]), network: reader.readString(offsets[7]), - supportsEstimatedRate: reader.readBool(offsets[8]), - supportsFixedRate: reader.readBool(offsets[9]), - ticker: reader.readString(offsets[10]), + rateType: + _CurrencyrateTypeValueEnumMap[reader.readByteOrNull(offsets[8])] ?? + SupportedRateType.fixed, + ticker: reader.readString(offsets[9]), ); object.id = id; return object; @@ -249,16 +219,26 @@ P _currencyDeserializeProp

( case 7: return (reader.readString(offset)) as P; case 8: - return (reader.readBool(offset)) as P; + return (_CurrencyrateTypeValueEnumMap[reader.readByteOrNull(offset)] ?? + SupportedRateType.fixed) as P; case 9: - return (reader.readBool(offset)) as P; - case 10: return (reader.readString(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); } } +const _CurrencyrateTypeEnumValueMap = { + 'fixed': 0, + 'estimated': 1, + 'both': 2, +}; +const _CurrencyrateTypeValueEnumMap = { + 0: SupportedRateType.fixed, + 1: SupportedRateType.estimated, + 2: SupportedRateType.both, +}; + Id _currencyGetId(Currency object) { return object.id ?? Isar.autoIncrement; } @@ -278,22 +258,6 @@ extension CurrencyQueryWhereSort on QueryBuilder { }); } - QueryBuilder anySupportsFixedRate() { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause( - const IndexWhereClause.any(indexName: r'supportsFixedRate'), - ); - }); - } - - QueryBuilder anySupportsEstimatedRate() { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause( - const IndexWhereClause.any(indexName: r'supportsEstimatedRate'), - ); - }); - } - QueryBuilder anyIsStackCoin() { return QueryBuilder.apply(this, (query) { return query.addWhereClause( @@ -552,96 +516,6 @@ extension CurrencyQueryWhere on QueryBuilder { }); } - QueryBuilder supportsFixedRateEqualTo( - bool supportsFixedRate) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IndexWhereClause.equalTo( - indexName: r'supportsFixedRate', - value: [supportsFixedRate], - )); - }); - } - - QueryBuilder - supportsFixedRateNotEqualTo(bool supportsFixedRate) { - return QueryBuilder.apply(this, (query) { - if (query.whereSort == Sort.asc) { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsFixedRate', - lower: [], - upper: [supportsFixedRate], - includeUpper: false, - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsFixedRate', - lower: [supportsFixedRate], - includeLower: false, - upper: [], - )); - } else { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsFixedRate', - lower: [supportsFixedRate], - includeLower: false, - upper: [], - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsFixedRate', - lower: [], - upper: [supportsFixedRate], - includeUpper: false, - )); - } - }); - } - - QueryBuilder - supportsEstimatedRateEqualTo(bool supportsEstimatedRate) { - return QueryBuilder.apply(this, (query) { - return query.addWhereClause(IndexWhereClause.equalTo( - indexName: r'supportsEstimatedRate', - value: [supportsEstimatedRate], - )); - }); - } - - QueryBuilder - supportsEstimatedRateNotEqualTo(bool supportsEstimatedRate) { - return QueryBuilder.apply(this, (query) { - if (query.whereSort == Sort.asc) { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsEstimatedRate', - lower: [], - upper: [supportsEstimatedRate], - includeUpper: false, - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsEstimatedRate', - lower: [supportsEstimatedRate], - includeLower: false, - upper: [], - )); - } else { - return query - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsEstimatedRate', - lower: [supportsEstimatedRate], - includeLower: false, - upper: [], - )) - .addWhereClause(IndexWhereClause.between( - indexName: r'supportsEstimatedRate', - lower: [], - upper: [supportsEstimatedRate], - includeUpper: false, - )); - } - }); - } - QueryBuilder isStackCoinEqualTo( bool isStackCoin) { return QueryBuilder.apply(this, (query) { @@ -1477,26 +1351,59 @@ extension CurrencyQueryFilter }); } - QueryBuilder - supportsEstimatedRateEqualTo(bool value) { + QueryBuilder rateTypeEqualTo( + SupportedRateType value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( - property: r'supportsEstimatedRate', + property: r'rateType', value: value, )); }); } - QueryBuilder - supportsFixedRateEqualTo(bool value) { + QueryBuilder rateTypeGreaterThan( + SupportedRateType value, { + bool include = false, + }) { return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'supportsFixedRate', + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'rateType', value: value, )); }); } + QueryBuilder rateTypeLessThan( + SupportedRateType value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'rateType', + value: value, + )); + }); + } + + QueryBuilder rateTypeBetween( + SupportedRateType lower, + SupportedRateType upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'rateType', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + QueryBuilder tickerEqualTo( String value, { bool caseSensitive = true, @@ -1731,28 +1638,15 @@ extension CurrencyQuerySortBy on QueryBuilder { }); } - QueryBuilder sortBySupportsEstimatedRate() { + QueryBuilder sortByRateType() { return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsEstimatedRate', Sort.asc); + return query.addSortBy(r'rateType', Sort.asc); }); } - QueryBuilder - sortBySupportsEstimatedRateDesc() { + QueryBuilder sortByRateTypeDesc() { return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsEstimatedRate', Sort.desc); - }); - } - - QueryBuilder sortBySupportsFixedRate() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsFixedRate', Sort.asc); - }); - } - - QueryBuilder sortBySupportsFixedRateDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsFixedRate', Sort.desc); + return query.addSortBy(r'rateType', Sort.desc); }); } @@ -1879,28 +1773,15 @@ extension CurrencyQuerySortThenBy }); } - QueryBuilder thenBySupportsEstimatedRate() { + QueryBuilder thenByRateType() { return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsEstimatedRate', Sort.asc); + return query.addSortBy(r'rateType', Sort.asc); }); } - QueryBuilder - thenBySupportsEstimatedRateDesc() { + QueryBuilder thenByRateTypeDesc() { return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsEstimatedRate', Sort.desc); - }); - } - - QueryBuilder thenBySupportsFixedRate() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsFixedRate', Sort.asc); - }); - } - - QueryBuilder thenBySupportsFixedRateDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'supportsFixedRate', Sort.desc); + return query.addSortBy(r'rateType', Sort.desc); }); } @@ -1972,16 +1853,9 @@ extension CurrencyQueryWhereDistinct }); } - QueryBuilder - distinctBySupportsEstimatedRate() { + QueryBuilder distinctByRateType() { return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'supportsEstimatedRate'); - }); - } - - QueryBuilder distinctBySupportsFixedRate() { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'supportsFixedRate'); + return query.addDistinctBy(r'rateType'); }); } @@ -2049,16 +1923,10 @@ extension CurrencyQueryProperty }); } - QueryBuilder - supportsEstimatedRateProperty() { + QueryBuilder + rateTypeProperty() { return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'supportsEstimatedRate'); - }); - } - - QueryBuilder supportsFixedRateProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'supportsFixedRate'); + return query.addPropertyName(r'rateType'); }); } diff --git a/lib/models/isar/exchange_cache/pair.g.dart b/lib/models/isar/exchange_cache/pair.g.dart index dd063fae7..eae9ee5b5 100644 --- a/lib/models/isar/exchange_cache/pair.g.dart +++ b/lib/models/isar/exchange_cache/pair.g.dart @@ -22,39 +22,25 @@ const PairSchema = CollectionSchema( name: r'exchangeName', type: IsarType.string, ), - r'fixedRate': PropertySchema( - id: 1, - name: r'fixedRate', - type: IsarType.bool, - ), - r'floatingRate': PropertySchema( - id: 2, - name: r'floatingRate', - type: IsarType.bool, - ), r'from': PropertySchema( - id: 3, + id: 1, name: r'from', type: IsarType.string, ), - r'fromNetwork': PropertySchema( - id: 4, - name: r'fromNetwork', - type: IsarType.string, - ), r'hashCode': PropertySchema( - id: 5, + id: 2, name: r'hashCode', type: IsarType.long, ), - r'to': PropertySchema( - id: 6, - name: r'to', - type: IsarType.string, + r'rateType': PropertySchema( + id: 3, + name: r'rateType', + type: IsarType.byte, + enumMap: _PairrateTypeEnumValueMap, ), - r'toNetwork': PropertySchema( - id: 7, - name: r'toNetwork', + r'to': PropertySchema( + id: 4, + name: r'to', type: IsarType.string, ) }, @@ -117,9 +103,7 @@ int _pairEstimateSize( var bytesCount = offsets.last; bytesCount += 3 + object.exchangeName.length * 3; bytesCount += 3 + object.from.length * 3; - bytesCount += 3 + object.fromNetwork.length * 3; bytesCount += 3 + object.to.length * 3; - bytesCount += 3 + object.toNetwork.length * 3; return bytesCount; } @@ -130,13 +114,10 @@ void _pairSerialize( Map> allOffsets, ) { writer.writeString(offsets[0], object.exchangeName); - writer.writeBool(offsets[1], object.fixedRate); - writer.writeBool(offsets[2], object.floatingRate); - writer.writeString(offsets[3], object.from); - writer.writeString(offsets[4], object.fromNetwork); - writer.writeLong(offsets[5], object.hashCode); - writer.writeString(offsets[6], object.to); - writer.writeString(offsets[7], object.toNetwork); + writer.writeString(offsets[1], object.from); + writer.writeLong(offsets[2], object.hashCode); + writer.writeByte(offsets[3], object.rateType.index); + writer.writeString(offsets[4], object.to); } Pair _pairDeserialize( @@ -147,12 +128,10 @@ Pair _pairDeserialize( ) { final object = Pair( exchangeName: reader.readString(offsets[0]), - fixedRate: reader.readBool(offsets[1]), - floatingRate: reader.readBool(offsets[2]), - from: reader.readString(offsets[3]), - fromNetwork: reader.readString(offsets[4]), - to: reader.readString(offsets[6]), - toNetwork: reader.readString(offsets[7]), + from: reader.readString(offsets[1]), + rateType: _PairrateTypeValueEnumMap[reader.readByteOrNull(offsets[3])] ?? + SupportedRateType.fixed, + to: reader.readString(offsets[4]), ); object.id = id; return object; @@ -168,24 +147,30 @@ P _pairDeserializeProp

( case 0: return (reader.readString(offset)) as P; case 1: - return (reader.readBool(offset)) as P; + return (reader.readString(offset)) as P; case 2: - return (reader.readBool(offset)) as P; - case 3: - return (reader.readString(offset)) as P; - case 4: - return (reader.readString(offset)) as P; - case 5: return (reader.readLong(offset)) as P; - case 6: - return (reader.readString(offset)) as P; - case 7: + case 3: + return (_PairrateTypeValueEnumMap[reader.readByteOrNull(offset)] ?? + SupportedRateType.fixed) as P; + case 4: return (reader.readString(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); } } +const _PairrateTypeEnumValueMap = { + 'fixed': 0, + 'estimated': 1, + 'both': 2, +}; +const _PairrateTypeValueEnumMap = { + 0: SupportedRateType.fixed, + 1: SupportedRateType.estimated, + 2: SupportedRateType.both, +}; + Id _pairGetId(Pair object) { return object.id ?? Isar.autoIncrement; } @@ -585,25 +570,6 @@ extension PairQueryFilter on QueryBuilder { }); } - QueryBuilder fixedRateEqualTo(bool value) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'fixedRate', - value: value, - )); - }); - } - - QueryBuilder floatingRateEqualTo( - bool value) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'floatingRate', - value: value, - )); - }); - } - QueryBuilder fromEqualTo( String value, { bool caseSensitive = true, @@ -732,136 +698,6 @@ extension PairQueryFilter on QueryBuilder { }); } - QueryBuilder fromNetworkEqualTo( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'fromNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkGreaterThan( - String value, { - bool include = false, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - include: include, - property: r'fromNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkLessThan( - String value, { - bool include = false, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.lessThan( - include: include, - property: r'fromNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkBetween( - String lower, - String upper, { - bool includeLower = true, - bool includeUpper = true, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.between( - property: r'fromNetwork', - lower: lower, - includeLower: includeLower, - upper: upper, - includeUpper: includeUpper, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkStartsWith( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.startsWith( - property: r'fromNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkEndsWith( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.endsWith( - property: r'fromNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkContains( - String value, - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.contains( - property: r'fromNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkMatches( - String pattern, - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.matches( - property: r'fromNetwork', - wildcard: pattern, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder fromNetworkIsEmpty() { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'fromNetwork', - value: '', - )); - }); - } - - QueryBuilder fromNetworkIsNotEmpty() { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - property: r'fromNetwork', - value: '', - )); - }); - } - QueryBuilder hashCodeEqualTo(int value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( @@ -982,6 +818,59 @@ extension PairQueryFilter on QueryBuilder { }); } + QueryBuilder rateTypeEqualTo( + SupportedRateType value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'rateType', + value: value, + )); + }); + } + + QueryBuilder rateTypeGreaterThan( + SupportedRateType value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'rateType', + value: value, + )); + }); + } + + QueryBuilder rateTypeLessThan( + SupportedRateType value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'rateType', + value: value, + )); + }); + } + + QueryBuilder rateTypeBetween( + SupportedRateType lower, + SupportedRateType upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'rateType', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + QueryBuilder toEqualTo( String value, { bool caseSensitive = true, @@ -1109,136 +998,6 @@ extension PairQueryFilter on QueryBuilder { )); }); } - - QueryBuilder toNetworkEqualTo( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'toNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkGreaterThan( - String value, { - bool include = false, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - include: include, - property: r'toNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkLessThan( - String value, { - bool include = false, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.lessThan( - include: include, - property: r'toNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkBetween( - String lower, - String upper, { - bool includeLower = true, - bool includeUpper = true, - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.between( - property: r'toNetwork', - lower: lower, - includeLower: includeLower, - upper: upper, - includeUpper: includeUpper, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkStartsWith( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.startsWith( - property: r'toNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkEndsWith( - String value, { - bool caseSensitive = true, - }) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.endsWith( - property: r'toNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkContains( - String value, - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.contains( - property: r'toNetwork', - value: value, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkMatches( - String pattern, - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.matches( - property: r'toNetwork', - wildcard: pattern, - caseSensitive: caseSensitive, - )); - }); - } - - QueryBuilder toNetworkIsEmpty() { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.equalTo( - property: r'toNetwork', - value: '', - )); - }); - } - - QueryBuilder toNetworkIsNotEmpty() { - return QueryBuilder.apply(this, (query) { - return query.addFilterCondition(FilterCondition.greaterThan( - property: r'toNetwork', - value: '', - )); - }); - } } extension PairQueryObject on QueryBuilder {} @@ -1258,30 +1017,6 @@ extension PairQuerySortBy on QueryBuilder { }); } - QueryBuilder sortByFixedRate() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fixedRate', Sort.asc); - }); - } - - QueryBuilder sortByFixedRateDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fixedRate', Sort.desc); - }); - } - - QueryBuilder sortByFloatingRate() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'floatingRate', Sort.asc); - }); - } - - QueryBuilder sortByFloatingRateDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'floatingRate', Sort.desc); - }); - } - QueryBuilder sortByFrom() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'from', Sort.asc); @@ -1294,18 +1029,6 @@ extension PairQuerySortBy on QueryBuilder { }); } - QueryBuilder sortByFromNetwork() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fromNetwork', Sort.asc); - }); - } - - QueryBuilder sortByFromNetworkDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fromNetwork', Sort.desc); - }); - } - QueryBuilder sortByHashCode() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'hashCode', Sort.asc); @@ -1318,6 +1041,18 @@ extension PairQuerySortBy on QueryBuilder { }); } + QueryBuilder sortByRateType() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateType', Sort.asc); + }); + } + + QueryBuilder sortByRateTypeDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateType', Sort.desc); + }); + } + QueryBuilder sortByTo() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'to', Sort.asc); @@ -1329,18 +1064,6 @@ extension PairQuerySortBy on QueryBuilder { return query.addSortBy(r'to', Sort.desc); }); } - - QueryBuilder sortByToNetwork() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'toNetwork', Sort.asc); - }); - } - - QueryBuilder sortByToNetworkDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'toNetwork', Sort.desc); - }); - } } extension PairQuerySortThenBy on QueryBuilder { @@ -1356,30 +1079,6 @@ extension PairQuerySortThenBy on QueryBuilder { }); } - QueryBuilder thenByFixedRate() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fixedRate', Sort.asc); - }); - } - - QueryBuilder thenByFixedRateDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fixedRate', Sort.desc); - }); - } - - QueryBuilder thenByFloatingRate() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'floatingRate', Sort.asc); - }); - } - - QueryBuilder thenByFloatingRateDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'floatingRate', Sort.desc); - }); - } - QueryBuilder thenByFrom() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'from', Sort.asc); @@ -1392,18 +1091,6 @@ extension PairQuerySortThenBy on QueryBuilder { }); } - QueryBuilder thenByFromNetwork() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fromNetwork', Sort.asc); - }); - } - - QueryBuilder thenByFromNetworkDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'fromNetwork', Sort.desc); - }); - } - QueryBuilder thenByHashCode() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'hashCode', Sort.asc); @@ -1428,6 +1115,18 @@ extension PairQuerySortThenBy on QueryBuilder { }); } + QueryBuilder thenByRateType() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateType', Sort.asc); + }); + } + + QueryBuilder thenByRateTypeDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateType', Sort.desc); + }); + } + QueryBuilder thenByTo() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'to', Sort.asc); @@ -1439,18 +1138,6 @@ extension PairQuerySortThenBy on QueryBuilder { return query.addSortBy(r'to', Sort.desc); }); } - - QueryBuilder thenByToNetwork() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'toNetwork', Sort.asc); - }); - } - - QueryBuilder thenByToNetworkDesc() { - return QueryBuilder.apply(this, (query) { - return query.addSortBy(r'toNetwork', Sort.desc); - }); - } } extension PairQueryWhereDistinct on QueryBuilder { @@ -1461,18 +1148,6 @@ extension PairQueryWhereDistinct on QueryBuilder { }); } - QueryBuilder distinctByFixedRate() { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'fixedRate'); - }); - } - - QueryBuilder distinctByFloatingRate() { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'floatingRate'); - }); - } - QueryBuilder distinctByFrom( {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { @@ -1480,32 +1155,24 @@ extension PairQueryWhereDistinct on QueryBuilder { }); } - QueryBuilder distinctByFromNetwork( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'fromNetwork', caseSensitive: caseSensitive); - }); - } - QueryBuilder distinctByHashCode() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'hashCode'); }); } + QueryBuilder distinctByRateType() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'rateType'); + }); + } + QueryBuilder distinctByTo( {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'to', caseSensitive: caseSensitive); }); } - - QueryBuilder distinctByToNetwork( - {bool caseSensitive = true}) { - return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'toNetwork', caseSensitive: caseSensitive); - }); - } } extension PairQueryProperty on QueryBuilder { @@ -1521,45 +1188,27 @@ extension PairQueryProperty on QueryBuilder { }); } - QueryBuilder fixedRateProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'fixedRate'); - }); - } - - QueryBuilder floatingRateProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'floatingRate'); - }); - } - QueryBuilder fromProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'from'); }); } - QueryBuilder fromNetworkProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'fromNetwork'); - }); - } - QueryBuilder hashCodeProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'hashCode'); }); } + QueryBuilder rateTypeProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'rateType'); + }); + } + QueryBuilder toProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'to'); }); } - - QueryBuilder toNetworkProperty() { - return QueryBuilder.apply(this, (query) { - return query.addPropertyName(r'toNetwork'); - }); - } } diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index a32e9e0dc..853762d4c 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -53,8 +54,14 @@ class _ExchangeCurrencySelectionViewState .exchangeNameEqualTo(widget.exchangeName) .filter() .group((q) => widget.isFixedRate - ? q.supportsFixedRateEqualTo(true) - : q.supportsEstimatedRateEqualTo(true)) + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)) .and() .group((q) => q .nameContains(text, caseSensitive: false) @@ -84,8 +91,14 @@ class _ExchangeCurrencySelectionViewState .exchangeNameEqualTo(widget.exchangeName) .filter() .group((q) => widget.isFixedRate - ? q.supportsFixedRateEqualTo(true) - : q.supportsEstimatedRateEqualTo(true)); + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)); if (widget.paired != null) { _currencies = query @@ -236,6 +249,8 @@ class _ExchangeCurrencySelectionViewState primary: isDesktop ? false : null, itemCount: items.length, itemBuilder: (builderContext, index) { + final bool hasImageUrl = + items[index].image.startsWith("http"); return Padding( padding: const EdgeInsets.symmetric(vertical: 4), child: GestureDetector( @@ -253,13 +268,18 @@ class _ExchangeCurrencySelectionViewState items[index].ticker, size: 24, ) - : SvgPicture.network( - items[index].image, - width: 24, - height: 24, - placeholderBuilder: (_) => - const LoadingIndicator(), - ), + : hasImageUrl + ? SvgPicture.network( + items[index].image, + width: 24, + height: 24, + placeholderBuilder: (_) => + const LoadingIndicator(), + ) + : const SizedBox( + width: 24, + height: 24, + ), ), const SizedBox( width: 10, @@ -315,6 +335,8 @@ class _ExchangeCurrencySelectionViewState primary: isDesktop ? false : null, itemCount: _currencies.length, itemBuilder: (builderContext, index) { + final bool hasImageUrl = + _currencies[index].image.startsWith("http"); return Padding( padding: const EdgeInsets.symmetric(vertical: 4), child: GestureDetector( @@ -332,13 +354,18 @@ class _ExchangeCurrencySelectionViewState _currencies[index].ticker, size: 24, ) - : SvgPicture.network( - _currencies[index].image, - width: 24, - height: 24, - placeholderBuilder: (_) => - const LoadingIndicator(), - ), + : hasImageUrl + ? SvgPicture.network( + _currencies[index].image, + width: 24, + height: 24, + placeholderBuilder: (_) => + const LoadingIndicator(), + ) + : const SizedBox( + width: 24, + height: 24, + ), ), const SizedBox( width: 10, diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 9cb3cd63d..3991d678a 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -535,7 +535,10 @@ class _ExchangeFormState extends ConsumerState { .where() .exchangeNameEqualTo(exchangeName) .filter() - .floatingRateEqualTo(true) + .group((q) => q + .rateTypeEqualTo(SupportedRateType.estimated) + .or() + .rateTypeEqualTo(SupportedRateType.both)) .and() .fromEqualTo(fromTicker, caseSensitive: false) .and() diff --git a/lib/services/exchange/change_now/change_now_api.dart b/lib/services/exchange/change_now/change_now_api.dart index ed9af7f59..601507190 100644 --- a/lib/services/exchange/change_now/change_now_api.dart +++ b/lib/services/exchange/change_now/change_now_api.dart @@ -164,10 +164,12 @@ class ChangeNowAPI { for (final json in args.item1) { try { final map = Map.from(json as Map); - map["supportsEstimatedRate"] = !args.item2; currencies.add( Currency.fromJson( map, + rateType: (map["supportsFixedRate"] as bool) + ? SupportedRateType.both + : SupportedRateType.estimated, exchangeName: ChangeNowExchange.exchangeName, ), ); @@ -211,10 +213,12 @@ class ChangeNowAPI { for (final json in jsonArray) { try { final map = Map.from(json as Map); - map["supportsEstimatedRate"] = !(fixedRate == true); currencies.add( Currency.fromJson( map, + rateType: (map["supportsFixedRate"] as bool) + ? SupportedRateType.both + : SupportedRateType.estimated, exchangeName: ChangeNowExchange.exchangeName, ), ); diff --git a/lib/services/exchange/exchange_data_loading_service.dart b/lib/services/exchange/exchange_data_loading_service.dart index c65afc553..8298aed96 100644 --- a/lib/services/exchange/exchange_data_loading_service.dart +++ b/lib/services/exchange/exchange_data_loading_service.dart @@ -90,7 +90,7 @@ class ExchangeDataLoadingService { .where() .exchangeNameEqualTo(ChangeNowExchange.exchangeName) .filter() - .fixedRateEqualTo(true) + .rateTypeEqualTo(SupportedRateType.fixed) .idProperty() .findAll(); await isar.pairs.deleteAll(idsToDelete2); @@ -115,7 +115,7 @@ class ExchangeDataLoadingService { .where() .exchangeNameEqualTo(ChangeNowExchange.exchangeName) .filter() - .floatingRateEqualTo(true) + .rateTypeEqualTo(SupportedRateType.estimated) .idProperty() .findAll(); await isar.pairs.deleteAll(idsToDelete); diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart index 5cdcdbffd..ee9075434 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -114,8 +114,7 @@ class MajesticBankExchange extends Exchange { network: "", image: "", isFiat: false, - supportsFixedRate: true, - supportsEstimatedRate: true, + rateType: SupportedRateType.both, isAvailable: true, isStackCoin: Currency.checkIsStackCoin(limit.currency), ); diff --git a/lib/services/exchange/simpleswap/simpleswap_exchange.dart b/lib/services/exchange/simpleswap/simpleswap_exchange.dart index 2e86ffabe..054d87913 100644 --- a/lib/services/exchange/simpleswap/simpleswap_exchange.dart +++ b/lib/services/exchange/simpleswap/simpleswap_exchange.dart @@ -62,8 +62,9 @@ class SimpleSwapExchange extends Exchange { image: e.image, externalId: e.extraId, isFiat: false, - supportsFixedRate: fixedRate, - supportsEstimatedRate: true, + rateType: fixedRate + ? SupportedRateType.both + : SupportedRateType.estimated, isAvailable: true, isStackCoin: Currency.checkIsStackCoin(e.symbol), ), From be2a52301ee4f5f5e7cd4fff38f95db778fc12ec Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 09:44:23 -0600 Subject: [PATCH 095/191] clean up and QoL mods to exchange_form_state.dart --- lib/models/exchange/exchange_form_state.dart | 49 +++++++++++++++---- .../exchange_currency_selection_view.dart | 5 -- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 1009affcd..340bda5c6 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -151,7 +151,7 @@ class ExchangeFormState extends ChangeNotifier { } if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } @@ -176,7 +176,7 @@ class ExchangeFormState extends ChangeNotifier { _maxReceiveAmount = null; if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } @@ -202,7 +202,7 @@ class ExchangeFormState extends ChangeNotifier { } if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } @@ -228,7 +228,7 @@ class ExchangeFormState extends ChangeNotifier { } if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } @@ -249,7 +249,7 @@ class ExchangeFormState extends ChangeNotifier { ); } if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } catch (e, s) { Logging.instance.log("$e\n$s", level: LogLevel.Error); @@ -273,7 +273,7 @@ class ExchangeFormState extends ChangeNotifier { ); } if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } catch (e, s) { Logging.instance.log("$e\n$s", level: LogLevel.Error); @@ -299,6 +299,10 @@ class ExchangeFormState extends ChangeNotifier { await _updateRangesAndEstimate( shouldNotifyListeners: false, ); + + if (shouldNotifyListeners) { + _notify(); + } } //============================================================================ @@ -312,7 +316,7 @@ class ExchangeFormState extends ChangeNotifier { await _updateRanges(shouldNotifyListeners: false); await _updateEstimate(shouldNotifyListeners: false); if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } catch (_) { // @@ -374,7 +378,7 @@ class ExchangeFormState extends ChangeNotifier { // "updated range for: $exchange for $_fromTicker-$_toTicker: $range"); if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } @@ -427,7 +431,34 @@ class ExchangeFormState extends ChangeNotifier { // "updated estimate for: $exchange for $fromTicker-$toTicker: $estimate"); if (shouldNotifyListeners) { - notifyListeners(); + _notify(); } } + + //============================================================================ + @override + String toString() { + return "{" + "\n\t exchange: $exchange," + "\n\t exchangeRateType: $exchangeRateType," + "\n\t sendCurrency: $sendCurrency," + "\n\t receiveCurrency: $receiveCurrency," + "\n\t rate: $rate," + "\n\t reversed: $reversed," + "\n\t sendAmount: $sendAmount," + "\n\t receiveAmount: $receiveAmount," + "\n\t estimate: $estimate," + "\n\t minSendAmount: $minSendAmount," + "\n\t maxSendAmount: $maxSendAmount," + "\n\t minReceiveAmount: $minReceiveAmount," + "\n\t maxReceiveAmount: $maxReceiveAmount," + "\n\t canExchange: $canExchange," + "\n\t warning: $warning," + "\n}"; + } + + void _notify() { + debugPrint("ExFState NOTIFY: ${toString()}"); + notifyListeners(); + } } diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index 853762d4c..652c6f0e8 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -124,11 +124,6 @@ class _ExchangeCurrencySelectionViewState @override Widget build(BuildContext context) { - print("=================================================="); - print("${widget.exchangeName}"); - print("${widget.isFixedRate}"); - print("=================================================="); - return ConditionalParent( condition: !isDesktop, builder: (child) { From f174efcec0bf9c48f26bf4876c30423951ac8670 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 10:27:24 -0600 Subject: [PATCH 096/191] clean up and exchange form state bug fixes --- lib/models/exchange/exchange_form_state.dart | 14 +- lib/pages/exchange_view/exchange_form.dart | 325 +++++------------- .../sub_widgets/rate_type_toggle.dart | 178 +--------- .../exchange_form_state_provider.dart | 15 +- 4 files changed, 94 insertions(+), 438 deletions(-) diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 340bda5c6..a2ebb8aed 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -7,12 +7,16 @@ import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; class ExchangeFormState extends ChangeNotifier { - ExchangeFormState(this.exchangeRateType); - final ExchangeRateType exchangeRateType; - Exchange? _exchange; Exchange get exchange => _exchange ??= Exchange.defaultExchange; + ExchangeRateType _exchangeRateType = ExchangeRateType.estimated; + ExchangeRateType get exchangeRateType => _exchangeRateType; + set exchangeRateType(ExchangeRateType exchangeRateType) { + _exchangeRateType = exchangeRateType; + // + } + Estimate? _estimate; Estimate? get estimate => _estimate; @@ -104,6 +108,8 @@ class ExchangeFormState extends ChangeNotifier { receiveAmount != null && rate != null && rate! >= Decimal.zero && + exchange.name == sendCurrency!.exchangeName && + exchange.name == receiveCurrency!.exchangeName && warning.isEmpty; } @@ -206,7 +212,7 @@ class ExchangeFormState extends ChangeNotifier { } } - Future setToAmountAndCalculateFromAmount( + Future setReceivingAmountAndCalculateSendAmount( Decimal? newReceiveAmount, bool shouldNotifyListeners, ) async { diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 3991d678a..45489bb95 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -9,7 +9,6 @@ import 'package:isar/isar.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; -import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_1_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart'; @@ -72,8 +71,7 @@ class _ExchangeFormState extends ConsumerState { final newFromAmount = Decimal.tryParse(value); await ref - .read(exchangeFormStateProvider( - ref.read(prefsChangeNotifierProvider).exchangeRateType)) + .read(exchangeFormStateProvider) .setSendAmountAndCalculateReceiveAmount( newFromAmount ?? Decimal.zero, true); @@ -95,10 +93,7 @@ class _ExchangeFormState extends ConsumerState { if (!(isEstimated && ref.read(currentExchangeNameStateProvider.state).state == ChangeNowExchange.exchangeName)) { - ref - .read(exchangeFormStateProvider( - ref.read(prefsChangeNotifierProvider).exchangeRateType)) - .receiveAmount = newToAmount; + ref.read(exchangeFormStateProvider).receiveAmount = newToAmount; } if (newToAmount == null) { _sendController.text = ""; @@ -107,8 +102,7 @@ class _ExchangeFormState extends ConsumerState { void selectSendCurrency() async { final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); - final fromTicker = - ref.read(exchangeFormStateProvider(type)).fromTicker ?? ""; + final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; if (walletInitiated && fromTicker.toLowerCase() == coin!.ticker.toLowerCase()) { @@ -117,11 +111,11 @@ class _ExchangeFormState extends ConsumerState { } await _showCurrencySelectionSheet( - willChange: ref.read(exchangeFormStateProvider(type)).sendCurrency, - paired: ref.read(exchangeFormStateProvider(type)).receiveCurrency, + willChange: ref.read(exchangeFormStateProvider).sendCurrency, + paired: ref.read(exchangeFormStateProvider).receiveCurrency, isFixedRate: type == ExchangeRateType.fixed, onSelected: (selectedCurrency) => ref - .read(exchangeFormStateProvider(type)) + .read(exchangeFormStateProvider) .updateSendCurrency(selectedCurrency, true), ); @@ -154,7 +148,7 @@ class _ExchangeFormState extends ConsumerState { void selectReceiveCurrency() async { final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); - final toTicker = ref.read(exchangeFormStateProvider(type)).toTicker ?? ""; + final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; if (walletInitiated && toTicker.toLowerCase() == coin!.ticker.toLowerCase()) { @@ -163,11 +157,11 @@ class _ExchangeFormState extends ConsumerState { } await _showCurrencySelectionSheet( - willChange: ref.read(exchangeFormStateProvider(type)).receiveCurrency, - paired: ref.read(exchangeFormStateProvider(type)).sendCurrency, + willChange: ref.read(exchangeFormStateProvider).receiveCurrency, + paired: ref.read(exchangeFormStateProvider).sendCurrency, isFixedRate: type == ExchangeRateType.fixed, onSelected: (selectedCurrency) => ref - .read(exchangeFormStateProvider(type)) + .read(exchangeFormStateProvider) .updateReceivingCurrency(selectedCurrency, true), ); @@ -223,10 +217,7 @@ class _ExchangeFormState extends ConsumerState { ), ); - await ref - .read(exchangeFormStateProvider( - ref.read(prefsChangeNotifierProvider).exchangeRateType)) - .swap(shouldNotifyListeners: true); + await ref.read(exchangeFormStateProvider).swap(shouldNotifyListeners: true); if (mounted) { Navigator.of(context, rootNavigator: isDesktop).pop(); @@ -318,7 +309,7 @@ class _ExchangeFormState extends ConsumerState { } } - void onRateTypeChanged() async { + void onRateTypeChanged(ExchangeRateType newType) async { _receiveFocusNode.unfocus(); _sendFocusNode.unfocus(); @@ -342,15 +333,13 @@ class _ExchangeFormState extends ConsumerState { ), ); - final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); + ref.read(exchangeFormStateProvider).exchangeRateType = newType; - final fromTicker = - ref.read(exchangeFormStateProvider(type)).fromTicker ?? "-"; - final toTicker = ref.read(exchangeFormStateProvider(type)).toTicker ?? "-"; + final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? "-"; + final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? "-"; + + ref.read(exchangeFormStateProvider).reversed = false; - ref.read(exchangeFormStateProvider(type)).reversed = false; - // switch (rateType) { - // case ExchangeRateType.estimated: if (!(toTicker == "-" || fromTicker == "-")) { final available = await ExchangeDataLoadingService.instance.isar.pairs .where() @@ -381,23 +370,22 @@ class _ExchangeFormState extends ConsumerState { availableCurrencies.firstWhere((e) => e.ticker == toTicker); final newFromAmount = Decimal.tryParse(_sendController.text); - ref.read(exchangeFormStateProvider(type)).receiveAmount = - newFromAmount; + ref.read(exchangeFormStateProvider).receiveAmount = newFromAmount; if (newFromAmount == null) { _receiveController.text = ""; } await ref - .read(exchangeFormStateProvider(type)) + .read(exchangeFormStateProvider) .updateReceivingCurrency(to, false); await ref - .read(exchangeFormStateProvider(type)) + .read(exchangeFormStateProvider) .updateSendCurrency(from, true); _receiveController.text = - ref.read(exchangeFormStateProvider(type)).toAmountString.isEmpty + ref.read(exchangeFormStateProvider).toAmountString.isEmpty ? "-" - : ref.read(exchangeFormStateProvider(type)).toAmountString; + : ref.read(exchangeFormStateProvider).toAmountString; if (mounted) { Navigator.of(context, rootNavigator: isDesktop).pop(); } @@ -408,122 +396,24 @@ class _ExchangeFormState extends ConsumerState { if (mounted) { Navigator.of(context, rootNavigator: isDesktop).pop(); } - if (!(fromTicker == "-" || toTicker == "-")) { - unawaited( - showFloatingFlushBar( - type: FlushBarType.warning, - message: - "${ref.read(exchangeFormStateProvider(type)).exchangeRateType.name} rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last estimated rate pair.", - context: context, - ), - ); - } - // break; - // case ExchangeRateType.fixed: - // if (!(toTicker == "-" || fromTicker == "-")) { - // switch (ref.read(currentExchangeNameStateProvider.state).state) { - // case ChangeNowExchange.exchangeName: - // FixedRateMarket? market; - // try { - // market = ref - // .read(availableChangeNowCurrenciesProvider) - // .markets - // .firstWhere( - // (e) => e.from == fromTicker && e.to == toTicker); - // } catch (_) { - // market = null; - // } - // - // final newFromAmount = Decimal.tryParse(_sendController.text); - // ref.read(exchangeFormStateProvider).fromAmount = - // newFromAmount ?? Decimal.zero; - // - // if (newFromAmount == null) { - // _receiveController.text = ""; - // } - // - // await ref - // .read(exchangeFormStateProvider) - // .updateMarket(market, false); - // await ref - // .read(exchangeFormStateProvider) - // .setSendAmountAndCalculateReceiveAmount( - // Decimal.tryParse(_sendController.text) ?? Decimal.zero, - // true, - // ); - // if (mounted) { - // Navigator.of(context, rootNavigator: isDesktop).pop(); - // } - // return; - // case SimpleSwapExchange.exchangeName: - // final available = ref - // .read(availableSimpleswapCurrenciesProvider) - // .floatingRatePairs - // .where((e) => e.to == toTicker && e.from == fromTicker); - // if (available.isNotEmpty) { - // final availableCurrencies = ref - // .read(availableSimpleswapCurrenciesProvider) - // .fixedRateCurrencies - // .where( - // (e) => e.ticker == fromTicker || e.ticker == toTicker); - // if (availableCurrencies.length > 1) { - // final from = availableCurrencies - // .firstWhere((e) => e.ticker == fromTicker); - // final to = availableCurrencies - // .firstWhere((e) => e.ticker == toTicker); - // - // final newFromAmount = Decimal.tryParse(_sendController.text); - // ref.read(exchangeFormStateProvider).fromAmount = - // newFromAmount ?? Decimal.zero; - // if (newFromAmount == null) { - // _receiveController.text = ""; - // } - // - // await ref.read(exchangeFormStateProvider).updateTo(to, false); - // await ref - // .read(exchangeFormStateProvider) - // .updateFrom(from, true); - // - // _receiveController.text = - // ref.read(exchangeFormStateProvider).toAmountString.isEmpty - // ? "-" - // : ref.read(exchangeFormStateProvider).toAmountString; - // if (mounted) { - // Navigator.of(context, rootNavigator: isDesktop).pop(); - // } - // return; - // } - // } - // - // break; - // default: - // // - // } - // } - // if (mounted) { - // Navigator.of(context, rootNavigator: isDesktop).pop(); - // } - // unawaited( - // showFloatingFlushBar( - // type: FlushBarType.warning, - // message: - // "Fixed rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last fixed rate pair.", - // context: context, - // ), - // ); - // break; + // if (!(fromTicker == "-" || toTicker == "-")) { + // unawaited( + // showFloatingFlushBar( + // type: FlushBarType.warning, + // message: + // "${ref.read(exchangeFormStateProvider).exchangeRateType.name} rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last estimated rate pair.", + // context: context, + // ), + // ); // } } void onExchangePressed() async { final rateType = ref.read(prefsChangeNotifierProvider).exchangeRateType; - final fromTicker = - ref.read(exchangeFormStateProvider(rateType)).fromTicker ?? ""; - final toTicker = - ref.read(exchangeFormStateProvider(rateType)).toTicker ?? ""; - final sendAmount = - ref.read(exchangeFormStateProvider(rateType)).sendAmount!; - final estimate = ref.read(exchangeFormStateProvider(rateType)).estimate!; + final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; + final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; + final sendAmount = ref.read(exchangeFormStateProvider).sendAmount!; + final estimate = ref.read(exchangeFormStateProvider).estimate!; final exchangeName = ref.read(currentExchangeNameStateProvider.state).state; @@ -682,7 +572,7 @@ class _ExchangeFormState extends ConsumerState { return; } rate = - "1 ${fromTicker.toUpperCase()} ~${ref.read(exchangeFormStateProvider(rateType)).rate!.toStringAsFixed(8)} ${toTicker.toUpperCase()}"; + "1 ${fromTicker.toUpperCase()} ~${ref.read(exchangeFormStateProvider).rate!.toStringAsFixed(8)} ${toTicker.toUpperCase()}"; break; } @@ -692,7 +582,7 @@ class _ExchangeFormState extends ConsumerState { rateInfo: rate, sendAmount: estimate.reversed ? estimate.estimatedAmount : sendAmount, receiveAmount: estimate.reversed - ? ref.read(exchangeFormStateProvider(rateType)).receiveAmount! + ? ref.read(exchangeFormStateProvider).receiveAmount! : estimate.estimatedAmount, rateType: rateType, rateId: estimate.rateId, @@ -764,15 +654,9 @@ class _ExchangeFormState extends ConsumerState { String? ticker; if (isSend) { - ticker = ref - .read(exchangeFormStateProvider( - ref.read(prefsChangeNotifierProvider).exchangeRateType)) - .fromTicker; + ticker = ref.read(exchangeFormStateProvider).fromTicker; } else { - ticker = ref - .read(exchangeFormStateProvider( - ref.read(prefsChangeNotifierProvider).exchangeRateType)) - .toTicker; + ticker = ref.read(exchangeFormStateProvider).toTicker; } if (ticker == null) { @@ -793,60 +677,19 @@ class _ExchangeFormState extends ConsumerState { if (walletInitiated) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - ref - .read(exchangeFormStateProvider( - ref.read(prefsChangeNotifierProvider).exchangeRateType)) - .reset(shouldNotifyListeners: true); + ref.read(exchangeFormStateProvider).reset(shouldNotifyListeners: true); // ref.read(fixedRateExchangeFormProvider); }); } else { final rateType = (ref.read(prefsChangeNotifierProvider).exchangeRateType); final isEstimated = rateType == ExchangeRateType.estimated; _sendController.text = - ref.read(exchangeFormStateProvider(rateType)).fromAmountString; + ref.read(exchangeFormStateProvider).fromAmountString; _receiveController.text = isEstimated ? "-" //ref.read(estimatedRateExchangeFormProvider).toAmountString - : ref.read(exchangeFormStateProvider(rateType)).toAmountString; + : ref.read(exchangeFormStateProvider).toAmountString; } - // _sendFocusNode.addListener(() async { - // if (!_sendFocusNode.hasFocus) { - // final newFromAmount = Decimal.tryParse(_sendController.text); - // await ref - // .read(exchangeFormStateProvider) - // .setFromAmountAndCalculateToAmount( - // newFromAmount ?? Decimal.zero, true); - // - // debugPrint("SendFocusNode has fired"); - // - // if (newFromAmount == null) { - // _receiveController.text = - // ref.read(prefsChangeNotifierProvider).exchangeRateType == - // ExchangeRateType.estimated - // ? "-" - // : ""; - // } - // } - // }); - // - // _receiveFocusNode.addListener(() async { - // if (!_receiveFocusNode.hasFocus) { - // final newToAmount = Decimal.tryParse(_receiveController.text); - // if (ref.read(prefsChangeNotifierProvider).exchangeRateType != - // ExchangeRateType.estimated) { - // await ref - // .read(exchangeFormStateProvider) - // .setToAmountAndCalculateFromAmount( - // newToAmount ?? Decimal.zero, true); - // - // debugPrint("ReceiveFocusNode has fired"); - // } - // if (newToAmount == null) { - // _sendController.text = ""; - // } - // } - // }); - super.initState(); } @@ -866,7 +709,7 @@ class _ExchangeFormState extends ConsumerState { // provider for simpleswap; not called rn ref.listen(currentExchangeNameStateProvider, (previous, next) { - ref.read(exchangeFormStateProvider(rateType)).updateExchange( + ref.read(exchangeFormStateProvider).updateExchange( exchange: ref.read(exchangeProvider), shouldUpdateData: true, shouldNotifyListeners: true, @@ -878,8 +721,8 @@ class _ExchangeFormState extends ConsumerState { ExchangeRateType.estimated; ref.listen( - exchangeFormStateProvider(rateType) - .select((value) => value.toAmountString), (previous, String next) { + exchangeFormStateProvider.select((value) => value.toAmountString), + (previous, String next) { if (!_receiveFocusNode.hasFocus) { // ref.watch(exchangeProvider).name == // SimpleSwapExchange.exchangeName && @@ -888,13 +731,12 @@ class _ExchangeFormState extends ConsumerState { // debugPrint("RECEIVE AMOUNT LISTENER ACTIVATED"); if (_swapLock) { _sendController.text = - ref.read(exchangeFormStateProvider(rateType)).fromAmountString; + ref.read(exchangeFormStateProvider).fromAmountString; } } }); ref.listen( - exchangeFormStateProvider(rateType) - .select((value) => value.fromAmountString), + exchangeFormStateProvider.select((value) => value.fromAmountString), (previous, String next) { if (!_sendFocusNode.hasFocus) { _sendController.text = next; @@ -902,13 +744,10 @@ class _ExchangeFormState extends ConsumerState { // debugPrint("SEND AMOUNT LISTENER ACTIVATED"); if (_swapLock) { _receiveController.text = isEstimated - ? ref - .read(exchangeFormStateProvider(rateType)) - .toAmountString - .isEmpty + ? ref.read(exchangeFormStateProvider).toAmountString.isEmpty ? "-" - : ref.read(exchangeFormStateProvider(rateType)).toAmountString - : ref.read(exchangeFormStateProvider(rateType)).toAmountString; + : ref.read(exchangeFormStateProvider).toAmountString + : ref.read(exchangeFormStateProvider).toAmountString; } } }); @@ -945,10 +784,10 @@ class _ExchangeFormState extends ConsumerState { onChanged: sendFieldOnChanged, onButtonTap: selectSendCurrency, isWalletCoin: isWalletCoin(coin, true), - image: ref.watch(exchangeFormStateProvider(rateType) + image: ref.watch(exchangeFormStateProvider .select((value) => value.sendCurrency?.image)), - ticker: ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.fromTicker)), + ticker: ref.watch( + exchangeFormStateProvider.select((value) => value.fromTicker)), ), SizedBox( height: isDesktop ? 10 : 4, @@ -957,14 +796,14 @@ class _ExchangeFormState extends ConsumerState { height: isDesktop ? 10 : 4, ), if (ref - .watch(exchangeFormStateProvider(rateType) - .select((value) => value.warning)) + .watch( + exchangeFormStateProvider.select((value) => value.warning)) .isNotEmpty && - !ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.reversed))) + !ref.watch( + exchangeFormStateProvider.select((value) => value.reversed))) Text( - ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.warning)), + ref.watch( + exchangeFormStateProvider.select((value) => value.warning)), style: STextStyles.errorSmall(context), ), Row( @@ -1035,25 +874,25 @@ class _ExchangeFormState extends ConsumerState { onChanged: receiveFieldOnChanged, onButtonTap: selectReceiveCurrency, isWalletCoin: isWalletCoin(coin, true), - image: ref.watch(exchangeFormStateProvider(rateType) + image: ref.watch(exchangeFormStateProvider .select((value) => value.receiveCurrency?.image)) ?? "", - ticker: ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.toTicker)), + ticker: ref.watch( + exchangeFormStateProvider.select((value) => value.toTicker)), readOnly: (rateType) == ExchangeRateType.estimated, // || // ref.watch(exchangeProvider).name == // SimpleSwapExchange.exchangeName, ), if (ref - .watch(exchangeFormStateProvider(rateType) - .select((value) => value.warning)) + .watch( + exchangeFormStateProvider.select((value) => value.warning)) .isNotEmpty && - ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.reversed))) + ref.watch( + exchangeFormStateProvider.select((value) => value.reversed))) Text( - ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.warning)), + ref.watch( + exchangeFormStateProvider.select((value) => value.warning)), style: STextStyles.errorSmall(context), ), SizedBox( @@ -1066,36 +905,32 @@ class _ExchangeFormState extends ConsumerState { ), ), // these reads should be watch - if (ref.watch(exchangeFormStateProvider(rateType)).sendAmount != null && - ref.watch(exchangeFormStateProvider(rateType)).sendAmount != - Decimal.zero) + if (ref.watch(exchangeFormStateProvider).sendAmount != null && + ref.watch(exchangeFormStateProvider).sendAmount != Decimal.zero) SizedBox( height: isDesktop ? 20 : 12, ), // these reads should be watch - if (ref.watch(exchangeFormStateProvider(rateType)).sendAmount != null && - ref.watch(exchangeFormStateProvider(rateType)).sendAmount != - Decimal.zero) + if (ref.watch(exchangeFormStateProvider).sendAmount != null && + ref.watch(exchangeFormStateProvider).sendAmount != Decimal.zero) ExchangeProviderOptions( - from: ref.watch(exchangeFormStateProvider(rateType)).fromTicker, - to: ref.watch(exchangeFormStateProvider(rateType)).toTicker, - fromAmount: - ref.watch(exchangeFormStateProvider(rateType)).sendAmount, - toAmount: - ref.watch(exchangeFormStateProvider(rateType)).receiveAmount, + from: ref.watch(exchangeFormStateProvider).fromTicker, + to: ref.watch(exchangeFormStateProvider).toTicker, + fromAmount: ref.watch(exchangeFormStateProvider).sendAmount, + toAmount: ref.watch(exchangeFormStateProvider).receiveAmount, fixedRate: ref.watch(prefsChangeNotifierProvider .select((value) => value.exchangeRateType)) == ExchangeRateType.fixed, - reversed: ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.reversed)), + reversed: ref.watch( + exchangeFormStateProvider.select((value) => value.reversed)), ), SizedBox( height: isDesktop ? 20 : 12, ), PrimaryButton( buttonHeight: isDesktop ? ButtonHeight.l : null, - enabled: ref.watch(exchangeFormStateProvider(rateType) - .select((value) => value.canExchange)), + enabled: ref.watch( + exchangeFormStateProvider.select((value) => value.canExchange)), onPressed: onExchangePressed, label: "Exchange", ) diff --git a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart index 0c30fc0c8..68dadf3c9 100644 --- a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart +++ b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart @@ -14,7 +14,7 @@ class RateTypeToggle extends ConsumerWidget { this.onChanged, }) : super(key: key); - final void Function()? onChanged; + final void Function(ExchangeRateType)? onChanged; @override Widget build(BuildContext context, WidgetRef ref) { @@ -26,11 +26,12 @@ class RateTypeToggle extends ConsumerWidget { if (value) { ref.read(prefsChangeNotifierProvider).exchangeRateType = ExchangeRateType.fixed; + onChanged?.call(ExchangeRateType.fixed); } else { ref.read(prefsChangeNotifierProvider).exchangeRateType = ExchangeRateType.estimated; + onChanged?.call(ExchangeRateType.estimated); } - onChanged?.call(); }, isOn: ref.watch(prefsChangeNotifierProvider .select((value) => value.exchangeRateType)) == @@ -55,178 +56,5 @@ class RateTypeToggle extends ConsumerWidget { offIcon: Assets.svg.lock, offText: "Fixed rate", ); - // - // return RoundedContainer( - // padding: const EdgeInsets.all(0), - // color: isDesktop - // ? Theme.of(context).extension()!.buttonBackSecondary - // : Theme.of(context).extension()!.popupBG, - // child: Row( - // children: [ - // Expanded( - // child: ConditionalParent( - // condition: isDesktop, - // builder: (child) => MouseRegion( - // cursor: estimated - // ? SystemMouseCursors.basic - // : SystemMouseCursors.click, - // child: child, - // ), - // child: GestureDetector( - // onTap: () { - // if (!estimated) { - // ref.read(prefsChangeNotifierProvider).exchangeRateType = - // ExchangeRateType.estimated; - // onChanged?.call(ExchangeRateType.estimated); - // } - // }, - // child: RoundedContainer( - // padding: isDesktop - // ? const EdgeInsets.all(17) - // : const EdgeInsets.all(12), - // color: estimated - // ? Theme.of(context) - // .extension()! - // .textFieldDefaultBG - // : Colors.transparent, - // child: Row( - // mainAxisAlignment: MainAxisAlignment.center, - // children: [ - // SvgPicture.asset( - // Assets.svg.lockOpen, - // width: 12, - // height: 14, - // color: isDesktop - // ? estimated - // ? Theme.of(context) - // .extension()! - // .accentColorBlue - // : Theme.of(context) - // .extension()! - // .buttonTextSecondary - // : estimated - // ? Theme.of(context) - // .extension()! - // .textDark - // : Theme.of(context) - // .extension()! - // .textSubtitle1, - // ), - // const SizedBox( - // width: 5, - // ), - // Text( - // "Estimate rate", - // style: isDesktop - // ? STextStyles.desktopTextExtraExtraSmall(context) - // .copyWith( - // color: estimated - // ? Theme.of(context) - // .extension()! - // .accentColorBlue - // : Theme.of(context) - // .extension()! - // .buttonTextSecondary, - // ) - // : STextStyles.smallMed12(context).copyWith( - // color: estimated - // ? Theme.of(context) - // .extension()! - // .textDark - // : Theme.of(context) - // .extension()! - // .textSubtitle1, - // ), - // ), - // ], - // ), - // ), - // ), - // ), - // ), - // Expanded( - // child: ConditionalParent( - // condition: isDesktop, - // builder: (child) => MouseRegion( - // cursor: !estimated - // ? SystemMouseCursors.basic - // : SystemMouseCursors.click, - // child: child, - // ), - // child: GestureDetector( - // onTap: () { - // if (estimated) { - // ref.read(prefsChangeNotifierProvider).exchangeRateType = - // ExchangeRateType.fixed; - // onChanged?.call(ExchangeRateType.fixed); - // } - // }, - // child: RoundedContainer( - // padding: isDesktop - // ? const EdgeInsets.all(17) - // : const EdgeInsets.all(12), - // color: !estimated - // ? Theme.of(context) - // .extension()! - // .textFieldDefaultBG - // : Colors.transparent, - // child: Row( - // mainAxisAlignment: MainAxisAlignment.center, - // children: [ - // SvgPicture.asset( - // Assets.svg.lock, - // width: 12, - // height: 14, - // color: isDesktop - // ? !estimated - // ? Theme.of(context) - // .extension()! - // .accentColorBlue - // : Theme.of(context) - // .extension()! - // .buttonTextSecondary - // : !estimated - // ? Theme.of(context) - // .extension()! - // .textDark - // : Theme.of(context) - // .extension()! - // .textSubtitle1, - // ), - // const SizedBox( - // width: 5, - // ), - // Text( - // "Fixed rate", - // style: isDesktop - // ? STextStyles.desktopTextExtraExtraSmall(context) - // .copyWith( - // color: !estimated - // ? Theme.of(context) - // .extension()! - // .accentColorBlue - // : Theme.of(context) - // .extension()! - // .buttonTextSecondary, - // ) - // : STextStyles.smallMed12(context).copyWith( - // color: !estimated - // ? Theme.of(context) - // .extension()! - // .textDark - // : Theme.of(context) - // .extension()! - // .textSubtitle1, - // ), - // ), - // ], - // ), - // ), - // ), - // ), - // ), - // ], - // ), - // ); } } diff --git a/lib/providers/exchange/exchange_form_state_provider.dart b/lib/providers/exchange/exchange_form_state_provider.dart index 825290d41..cb7d32bfe 100644 --- a/lib/providers/exchange/exchange_form_state_provider.dart +++ b/lib/providers/exchange/exchange_form_state_provider.dart @@ -1,18 +1,5 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/models/exchange/exchange_form_state.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; final exchangeFormStateProvider = - ChangeNotifierProvider.family( - (ref, type) { - switch (type) { - case ExchangeRateType.estimated: - return _estimatedInstance; - case ExchangeRateType.fixed: - return _fixedInstance; - } -}); - -final _fixedInstance = ExchangeFormState(ExchangeRateType.fixed); - -final _estimatedInstance = ExchangeFormState(ExchangeRateType.estimated); + ChangeNotifierProvider((ref) => ExchangeFormState()); From 3fde042c8efce6f835c285aad4ecc71a5ce2e16d Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 10:50:32 -0600 Subject: [PATCH 097/191] verify paired currency selection list options are valid --- .../exchange_currency_selection_view.dart | 35 +++++++++++++++++++ lib/pages/exchange_view/exchange_form.dart | 5 +++ 2 files changed, 40 insertions(+) diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index 652c6f0e8..31bf71725 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -27,12 +27,14 @@ class ExchangeCurrencySelectionView extends StatefulWidget { required this.willChange, required this.paired, required this.isFixedRate, + required this.willChangeIsSend, }) : super(key: key); final String exchangeName; final Currency? willChange; final Currency? paired; final bool isFixedRate; + final bool willChangeIsSend; @override State createState() => @@ -46,6 +48,34 @@ class _ExchangeCurrencySelectionViewState final isDesktop = Util.isDesktop; late List _currencies; + late final List pairs; + + List getAvailablePairs() { + final filter = ExchangeDataLoadingService.instance.isar.pairs + .where() + .exchangeNameEqualTo(widget.exchangeName) + .filter() + .group((q) => widget.isFixedRate + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)); + + if (widget.paired != null) { + return filter + .and() + .group((q) => widget.willChangeIsSend + ? q.toEqualTo(widget.paired!.ticker, caseSensitive: false) + : q.fromEqualTo(widget.paired!.ticker, caseSensitive: false)) + .findAllSync(); + } else { + return filter.findAllSync(); + } + } void filter(String text) { setState(() { @@ -53,6 +83,10 @@ class _ExchangeCurrencySelectionViewState .where() .exchangeNameEqualTo(widget.exchangeName) .filter() + .anyOf( + pairs.map((e) => widget.willChangeIsSend ? e.to : e.from), + (q, ticker) => q.tickerEqualTo(ticker), + ) .group((q) => widget.isFixedRate ? q .rateTypeEqualTo(SupportedRateType.both) @@ -85,6 +119,7 @@ class _ExchangeCurrencySelectionViewState @override void initState() { _searchController = TextEditingController(); + pairs = getAvailablePairs(); final query = ExchangeDataLoadingService.instance.isar.currencies .where() diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 45489bb95..e200ca3b1 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -112,6 +112,7 @@ class _ExchangeFormState extends ConsumerState { await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider).sendCurrency, + willChangeIsSend: true, paired: ref.read(exchangeFormStateProvider).receiveCurrency, isFixedRate: type == ExchangeRateType.fixed, onSelected: (selectedCurrency) => ref @@ -158,6 +159,7 @@ class _ExchangeFormState extends ConsumerState { await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider).receiveCurrency, + willChangeIsSend: false, paired: ref.read(exchangeFormStateProvider).sendCurrency, isFixedRate: type == ExchangeRateType.fixed, onSelected: (selectedCurrency) => ref @@ -229,6 +231,7 @@ class _ExchangeFormState extends ConsumerState { required Currency? willChange, required Currency? paired, required bool isFixedRate, + required bool willChangeIsSend, required void Function(Currency) onSelected, }) async { _sendFocusNode.unfocus(); @@ -281,6 +284,7 @@ class _ExchangeFormState extends ConsumerState { willChange: willChange, paired: paired, isFixedRate: isFixedRate, + willChangeIsSend: willChangeIsSend, ), ), ), @@ -300,6 +304,7 @@ class _ExchangeFormState extends ConsumerState { willChange: willChange, paired: paired, isFixedRate: isFixedRate, + willChangeIsSend: willChangeIsSend, ), ), ); From f4737c5d9595b499bd87736bf10e182bab335199 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 12:19:43 -0600 Subject: [PATCH 098/191] show unsupported pair message per exchange --- .../exchange/pair_unavailable_exception.dart | 5 ++++ .../exchange_provider_options.dart | 29 +++++++++++++++++-- .../exchange/change_now/change_now_api.dart | 24 +++++++++++++-- .../majestic_bank/majestic_bank_api.dart | 24 ++++++++++++++- .../majestic_bank/majestic_bank_exchange.dart | 1 + 5 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 lib/exceptions/exchange/pair_unavailable_exception.dart diff --git a/lib/exceptions/exchange/pair_unavailable_exception.dart b/lib/exceptions/exchange/pair_unavailable_exception.dart new file mode 100644 index 000000000..9c9ee5a5c --- /dev/null +++ b/lib/exceptions/exchange/pair_unavailable_exception.dart @@ -0,0 +1,5 @@ +import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; + +class PairUnavailableException extends ExchangeException { + PairUnavailableException(super.message, super.type); +} diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index 60bb2fc0b..42779e854 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -2,6 +2,7 @@ import 'package:decimal/decimal.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/exceptions/exchange/pair_unavailable_exception.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; @@ -84,7 +85,7 @@ class ExchangeProviderOptions extends ConsumerWidget { groupValue: ref .watch(currentExchangeNameStateProvider.state) .state, - onChanged: (value) { + onChanged: (_) { // if (value is String) { // ref // .read( @@ -194,6 +195,18 @@ class ExchangeProviderOptions extends ConsumerWidget { .textSubtitle1, ), ); + } else if (snapshot.data?.exception + is PairUnavailableException) { + return Text( + "Unsupported pair", + style: + STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); } else { Logging.instance.log( "$runtimeType failed to fetch rate for ChangeNOW: ${snapshot.data}", @@ -298,7 +311,7 @@ class ExchangeProviderOptions extends ConsumerWidget { groupValue: ref .watch(currentExchangeNameStateProvider.state) .state, - onChanged: (value) { + onChanged: (_) { // if (value is String) { // ref // .read( @@ -409,6 +422,18 @@ class ExchangeProviderOptions extends ConsumerWidget { .textSubtitle1, ), ); + } else if (snapshot.data?.exception + is PairUnavailableException) { + return Text( + "Unsupported pair", + style: + STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); } else { Logging.instance.log( "$runtimeType failed to fetch rate for ChangeNOW: ${snapshot.data}", diff --git a/lib/services/exchange/change_now/change_now_api.dart b/lib/services/exchange/change_now/change_now_api.dart index 601507190..4c8b1d55c 100644 --- a/lib/services/exchange/change_now/change_now_api.dart +++ b/lib/services/exchange/change_now/change_now_api.dart @@ -4,6 +4,7 @@ import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; +import 'package:stackwallet/exceptions/exchange/pair_unavailable_exception.dart'; import 'package:stackwallet/external_api_keys.dart'; import 'package:stackwallet/models/exchange/change_now/cn_exchange_estimate.dart'; import 'package:stackwallet/models/exchange/change_now/estimated_exchange_amount.dart'; @@ -350,8 +351,27 @@ class ChangeNowAPI { final json = await _makeGetRequest(uri); try { - final value = EstimatedExchangeAmount.fromJson( - Map.from(json as Map)); + final map = Map.from(json as Map); + + if (map["error"] != null) { + if (map["error"] == "pair_is_inactive") { + return ExchangeResponse( + exception: PairUnavailableException( + map["message"] as String, + ExchangeExceptionType.generic, + ), + ); + } else { + return ExchangeResponse( + exception: ExchangeException( + map["message"] as String, + ExchangeExceptionType.generic, + ), + ); + } + } + + final value = EstimatedExchangeAmount.fromJson(map); return ExchangeResponse( value: Estimate( estimatedAmount: value.estimatedAmount, diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index e1e39d38d..f02392eb6 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; +import 'package:stackwallet/exceptions/exchange/pair_unavailable_exception.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order_calculation.dart'; @@ -39,7 +40,6 @@ class MajesticBankAPI { ); code = response.statusCode; - print(response.body); final parsed = jsonDecode(response.body); @@ -180,6 +180,28 @@ class MajesticBankAPI { try { final jsonObject = await _makeGetRequest(uri); final map = Map.from(jsonObject as Map); + + if (map["error"] != null) { + final errorMessage = map["extra"] as String?; + if (errorMessage != null && + errorMessage.startsWith("Bad") && + errorMessage.endsWith("currency symbol")) { + return ExchangeResponse( + exception: PairUnavailableException( + errorMessage, + ExchangeExceptionType.generic, + ), + ); + } else { + return ExchangeResponse( + exception: ExchangeException( + errorMessage ?? "Error: ${map["error"]}", + ExchangeExceptionType.generic, + ), + ); + } + } + final result = MBOrderCalculation( fromCurrency: map["from_currency"] as String, fromAmount: Decimal.parse(map["from_amount"].toString()), diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart index ee9075434..65a0aec5b 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -162,6 +162,7 @@ class MajesticBankExchange extends Exchange { receiveCurrency: to, ); if (response.value == null) { + print("AAAAAAAAAAAAAAAAAAAA ${response.exception}"); return ExchangeResponse(exception: response.exception); } From 15207fc7f153df7b238a0d72716e8855e0d350a9 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 12:29:00 -0600 Subject: [PATCH 099/191] cache currencies and revert if needed on switching exchanges where currencies aren't available on both exchanges --- lib/models/exchange/exchange_form_state.dart | 136 ++++++++++++++++-- .../majestic_bank/majestic_bank_exchange.dart | 1 - 2 files changed, 127 insertions(+), 10 deletions(-) diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index a2ebb8aed..8b2b26ae3 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -1,9 +1,14 @@ import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; +import 'package:isar/isar.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; +import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; +import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; class ExchangeFormState extends ChangeNotifier { @@ -119,10 +124,10 @@ class ExchangeFormState extends ChangeNotifier { if (_minReceiveAmount != null && _receiveAmount! < _minReceiveAmount! && _receiveAmount! > Decimal.zero) { - return "Minimum amount ${_minReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; + return "Min receive amount ${_minReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; } else if (_maxReceiveAmount != null && _receiveAmount! > _maxReceiveAmount!) { - return "Maximum amount ${_maxReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; + return "Max receive amount ${_maxReceiveAmount!.toString()} ${_receiveCurrency!.ticker.toUpperCase()}"; } } } else { @@ -130,9 +135,9 @@ class ExchangeFormState extends ChangeNotifier { if (_minSendAmount != null && _sendAmount! < _minSendAmount! && _sendAmount! > Decimal.zero) { - return "Minimum amount ${_minSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; + return "Min send amount ${_minSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; } else if (_maxSendAmount != null && _sendAmount! > _maxSendAmount!) { - return "Maximum amount ${_maxSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; + return "Max send amount ${_maxSendAmount!.toString()} ${_sendCurrency!.ticker.toUpperCase()}"; } } } @@ -151,6 +156,73 @@ class ExchangeFormState extends ChangeNotifier { }) async { _exchange = exchange; if (shouldUpdateData) { + if (_sendCurrency != null) { + _sendCurrency = await ExchangeDataLoadingService + .instance.isar.currencies + .where() + .exchangeNameEqualTo(exchange.name) + .filter() + .tickerEqualTo(_sendCurrency!.ticker) + .and() + .group((q) => exchangeRateType == ExchangeRateType.fixed + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)) + .findFirst(); + } + if (_sendCurrency == null) { + switch (exchange.name) { + case ChangeNowExchange.exchangeName: + _sendCurrency = _cachedSendCN; + break; + case MajesticBankExchange.exchangeName: + _sendCurrency = _cachedSendMB; + break; + } + } + + if (_receiveCurrency != null) { + _receiveCurrency = await ExchangeDataLoadingService + .instance.isar.currencies + .where() + .exchangeNameEqualTo(exchange.name) + .filter() + .tickerEqualTo(_receiveCurrency!.ticker) + .and() + .group((q) => exchangeRateType == ExchangeRateType.fixed + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)) + .findFirst(); + } + + if (_receiveCurrency == null) { + switch (exchange.name) { + case ChangeNowExchange.exchangeName: + _receiveCurrency = _cachedReceivingCN; + break; + case MajesticBankExchange.exchangeName: + _receiveCurrency = _cachedReceivingMB; + break; + } + } + + _updateCachedCurrencies( + exchangeName: exchange.name, + send: _sendCurrency, + receiving: _receiveCurrency, + ); + await _updateRangesAndEstimate( shouldNotifyListeners: false, ); @@ -164,6 +236,11 @@ class ExchangeFormState extends ChangeNotifier { void setCurrencies(Currency from, Currency to) { _sendCurrency = from; _receiveCurrency = to; + _updateCachedCurrencies( + exchangeName: exchange.name, + send: _sendCurrency, + receiving: _receiveCurrency, + ); } void reset({ @@ -247,6 +324,12 @@ class ExchangeFormState extends ChangeNotifier { _minSendAmount = null; _maxSendAmount = null; + _updateCachedCurrencies( + exchangeName: exchange.name, + send: _sendCurrency, + receiving: _receiveCurrency, + ); + if (_receiveCurrency == null) { _rate = null; } else { @@ -271,6 +354,12 @@ class ExchangeFormState extends ChangeNotifier { _minReceiveAmount = null; _maxReceiveAmount = null; + _updateCachedCurrencies( + exchangeName: exchange.name, + send: _sendCurrency, + receiving: _receiveCurrency, + ); + if (_sendCurrency == null) { _rate = null; } else { @@ -302,6 +391,12 @@ class ExchangeFormState extends ChangeNotifier { _sendCurrency = receiveCurrency; _receiveCurrency = tmp; + _updateCachedCurrencies( + exchangeName: exchange.name, + send: _sendCurrency, + receiving: _receiveCurrency, + ); + await _updateRangesAndEstimate( shouldNotifyListeners: false, ); @@ -442,6 +537,34 @@ class ExchangeFormState extends ChangeNotifier { } //============================================================================ + + Currency? _cachedReceivingMB; + Currency? _cachedSendMB; + Currency? _cachedReceivingCN; + Currency? _cachedSendCN; + + void _updateCachedCurrencies({ + required String exchangeName, + required Currency? send, + required Currency? receiving, + }) { + switch (exchangeName) { + case ChangeNowExchange.exchangeName: + _cachedSendCN = send ?? _cachedSendCN; + _cachedReceivingCN = receiving ?? _cachedReceivingCN; + break; + case MajesticBankExchange.exchangeName: + _cachedSendMB = send ?? _cachedSendMB; + _cachedReceivingMB = receiving ?? _cachedReceivingMB; + break; + } + } + + void _notify() { + debugPrint("ExFState NOTIFY: ${toString()}"); + notifyListeners(); + } + @override String toString() { return "{" @@ -462,9 +585,4 @@ class ExchangeFormState extends ChangeNotifier { "\n\t warning: $warning," "\n}"; } - - void _notify() { - debugPrint("ExFState NOTIFY: ${toString()}"); - notifyListeners(); - } } diff --git a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart index 65a0aec5b..ee9075434 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_exchange.dart @@ -162,7 +162,6 @@ class MajesticBankExchange extends Exchange { receiveCurrency: to, ); if (response.value == null) { - print("AAAAAAAAAAAAAAAAAAAA ${response.exception}"); return ExchangeResponse(exception: response.exception); } From f578ce9c0cf7d168aa25cdd31bab858795cab77c Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 13:07:49 -0600 Subject: [PATCH 100/191] clean up --- .../textfields/exchange_textfield.dart | 147 ------------------ 1 file changed, 147 deletions(-) diff --git a/lib/widgets/textfields/exchange_textfield.dart b/lib/widgets/textfields/exchange_textfield.dart index 8a094f40e..9003046ec 100644 --- a/lib/widgets/textfields/exchange_textfield.dart +++ b/lib/widgets/textfields/exchange_textfield.dart @@ -247,150 +247,3 @@ class _ExchangeTextFieldState extends State { ); } } - -// experimental UNUSED -// class ExchangeTextField extends StatefulWidget { -// const ExchangeTextField({ -// Key? key, -// this.borderRadius = 0, -// this.background, -// required this.controller, -// this.buttonColor, -// required this.focusNode, -// this.buttonContent, -// required this.textStyle, -// this.onButtonTap, -// this.onChanged, -// this.onSubmitted, -// }) : super(key: key); -// -// final double borderRadius; -// final Color? background; -// final Color? buttonColor; -// final Widget? buttonContent; -// final TextEditingController controller; -// final FocusNode focusNode; -// final TextStyle textStyle; -// final VoidCallback? onButtonTap; -// final void Function(String)? onChanged; -// final void Function(String)? onSubmitted; -// -// @override -// State createState() => _ExchangeTextFieldState(); -// } -// -// class _ExchangeTextFieldState extends State { -// late final TextEditingController controller; -// late final FocusNode focusNode; -// late final TextStyle textStyle; -// -// late final double borderRadius; -// -// late final Color? background; -// late final Color? buttonColor; -// late final Widget? buttonContent; -// late final VoidCallback? onButtonTap; -// late final void Function(String)? onChanged; -// late final void Function(String)? onSubmitted; -// -// @override -// void initState() { -// borderRadius = widget.borderRadius; -// background = widget.background; -// buttonColor = widget.buttonColor; -// controller = widget.controller; -// focusNode = widget.focusNode; -// buttonContent = widget.buttonContent; -// textStyle = widget.textStyle; -// onButtonTap = widget.onButtonTap; -// onChanged = widget.onChanged; -// onSubmitted = widget.onSubmitted; -// -// super.initState(); -// } -// -// @override -// Widget build(BuildContext context) { -// return Container( -// decoration: BoxDecoration( -// color: background, -// borderRadius: BorderRadius.circular(borderRadius), -// ), -// child: IntrinsicHeight( -// child: Row( -// crossAxisAlignment: CrossAxisAlignment.stretch, -// children: [ -// Expanded( -// child: MouseRegion( -// cursor: SystemMouseCursors.text, -// child: GestureDetector( -// onTap: () { -// // -// }, -// child: Padding( -// padding: const EdgeInsets.only( -// left: 16, -// top: 18, -// bottom: 17, -// ), -// child: IgnorePointer( -// ignoring: true, -// child: EditableText( -// controller: controller, -// focusNode: focusNode, -// style: textStyle, -// onChanged: onChanged, -// onSubmitted: onSubmitted, -// onEditingComplete: () => print("lol"), -// autocorrect: false, -// enableSuggestions: false, -// keyboardType: const TextInputType.numberWithOptions( -// signed: false, -// decimal: true, -// ), -// inputFormatters: [ -// // regex to validate a crypto amount with 8 decimal places -// TextInputFormatter.withFunction((oldValue, -// newValue) => -// RegExp(r'^([0-9]*[,.]?[0-9]{0,8}|[,.][0-9]{0,8})$') -// .hasMatch(newValue.text) -// ? newValue -// : oldValue), -// ], -// cursorColor: textStyle.color ?? -// Theme.of(context).backgroundColor, -// backgroundCursorColor: background ?? Colors.transparent, -// ), -// ), -// ), -// ), -// ), -// ), -// MouseRegion( -// cursor: SystemMouseCursors.click, -// child: GestureDetector( -// onTap: () => onButtonTap?.call(), -// child: Container( -// decoration: BoxDecoration( -// color: buttonColor, -// borderRadius: BorderRadius.horizontal( -// right: Radius.circular( -// borderRadius, -// ), -// ), -// ), -// child: Padding( -// padding: const EdgeInsets.symmetric( -// horizontal: 16, -// ), -// child: buttonContent, -// ), -// ), -// ), -// ), -// ], -// ), -// ), -// ); -// } -// } From b19a3dbbf809b5ec59b75e6f6eadb1c98ef3e51f Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 13:08:24 -0600 Subject: [PATCH 101/191] limit rate calls on amount entry --- lib/pages/exchange_view/exchange_form.dart | 67 ++++++++++------------ 1 file changed, 29 insertions(+), 38 deletions(-) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index e200ca3b1..40c0eb7c9 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -66,38 +66,35 @@ class _ExchangeFormState extends ConsumerState { bool _swapLock = false; + // todo: check and adjust this value? + static const _valueCheckInterval = Duration(milliseconds: 500); + + Timer? _sendFieldOnChangedTimer; void sendFieldOnChanged(String value) async { if (_sendFocusNode.hasFocus) { - final newFromAmount = Decimal.tryParse(value); + _sendFieldOnChangedTimer?.cancel(); - await ref - .read(exchangeFormStateProvider) - .setSendAmountAndCalculateReceiveAmount( - newFromAmount ?? Decimal.zero, true); + _sendFieldOnChangedTimer = Timer(_valueCheckInterval, () async { + final newFromAmount = Decimal.tryParse(value); - if (newFromAmount == null) { - _receiveController.text = "LOLOK"; - // ref.read(prefsChangeNotifierProvider).exchangeRateType == - // ExchangeRateType.estimated - // ? "-" - // : ""; - } + await ref + .read(exchangeFormStateProvider) + .setSendAmountAndCalculateReceiveAmount(newFromAmount, true); + }); } } + Timer? _receiveFieldOnChangedTimer; void receiveFieldOnChanged(String value) async { - final newToAmount = Decimal.tryParse(value); - final isEstimated = - ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.estimated; - if (!(isEstimated && - ref.read(currentExchangeNameStateProvider.state).state == - ChangeNowExchange.exchangeName)) { - ref.read(exchangeFormStateProvider).receiveAmount = newToAmount; - } - if (newToAmount == null) { - _sendController.text = ""; - } + _receiveFieldOnChangedTimer?.cancel(); + + _receiveFieldOnChangedTimer = Timer(_valueCheckInterval, () async { + final newToAmount = Decimal.tryParse(value); + + await ref + .read(exchangeFormStateProvider) + .setReceivingAmountAndCalculateSendAmount(newToAmount, true); + }); } void selectSendCurrency() async { @@ -110,6 +107,7 @@ class _ExchangeFormState extends ConsumerState { return; } + // TODO: return currency and await update while showing loading await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider).sendCurrency, willChangeIsSend: true, @@ -140,7 +138,7 @@ class _ExchangeFormState extends ConsumerState { ), ); - await Future.delayed(const Duration(milliseconds: 300)); + // await Future.delayed(const Duration(milliseconds: 300)); if (mounted) { Navigator.of(context, rootNavigator: true).pop(); @@ -157,9 +155,10 @@ class _ExchangeFormState extends ConsumerState { return; } + // TODO: return currency and await update while showing loading await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider).receiveCurrency, - willChangeIsSend: false, + willChangeIsSend: false, paired: ref.read(exchangeFormStateProvider).sendCurrency, isFixedRate: type == ExchangeRateType.fixed, onSelected: (selectedCurrency) => ref @@ -187,7 +186,7 @@ class _ExchangeFormState extends ConsumerState { ), ); - await Future.delayed(const Duration(milliseconds: 300)); + // await Future.delayed(const Duration(milliseconds: 300)); if (mounted) { Navigator.of(context, rootNavigator: true).pop(); @@ -712,7 +711,6 @@ class _ExchangeFormState extends ConsumerState { final rateType = ref.watch( prefsChangeNotifierProvider.select((value) => value.exchangeRateType)); - // provider for simpleswap; not called rn ref.listen(currentExchangeNameStateProvider, (previous, next) { ref.read(exchangeFormStateProvider).updateExchange( exchange: ref.read(exchangeProvider), @@ -729,11 +727,7 @@ class _ExchangeFormState extends ConsumerState { exchangeFormStateProvider.select((value) => value.toAmountString), (previous, String next) { if (!_receiveFocusNode.hasFocus) { - // ref.watch(exchangeProvider).name == - // SimpleSwapExchange.exchangeName && _receiveController.text = isEstimated && next.isEmpty ? "-" : next; - //todo: check if print needed - // debugPrint("RECEIVE AMOUNT LISTENER ACTIVATED"); if (_swapLock) { _sendController.text = ref.read(exchangeFormStateProvider).fromAmountString; @@ -745,8 +739,6 @@ class _ExchangeFormState extends ConsumerState { (previous, String next) { if (!_sendFocusNode.hasFocus) { _sendController.text = next; - //todo: check if print needed - // debugPrint("SEND AMOUNT LISTENER ACTIVATED"); if (_swapLock) { _receiveController.text = isEstimated ? ref.read(exchangeFormStateProvider).toAmountString.isEmpty @@ -884,10 +876,9 @@ class _ExchangeFormState extends ConsumerState { "", ticker: ref.watch( exchangeFormStateProvider.select((value) => value.toTicker)), - readOnly: (rateType) == ExchangeRateType.estimated, - // || - // ref.watch(exchangeProvider).name == - // SimpleSwapExchange.exchangeName, + readOnly: (rateType) == ExchangeRateType.estimated && + ref.watch(exchangeProvider).name == + ChangeNowExchange.exchangeName, ), if (ref .watch( From 8061f0811d04aafde6764fcd5b60bbe82a7c4fee Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 13:45:22 -0600 Subject: [PATCH 102/191] handle refund address support --- .../exchange_step_views/step_2_view.dart | 482 +++++++++--------- .../exchange_step_views/step_3_view.dart | 53 +- 2 files changed, 285 insertions(+), 250 deletions(-) diff --git a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart index 86db9171a..af2567d9a 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart @@ -8,6 +8,7 @@ import 'package:stackwallet/pages/exchange_view/choose_from_stack_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_3_view.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; @@ -123,6 +124,10 @@ class _Step2ViewState extends ConsumerState { @override Widget build(BuildContext context) { + final supportsRefund = + ref.watch(currentExchangeNameStateProvider.state).state != + MajesticBankExchange.exchangeName; + return Background( child: Scaffold( backgroundColor: Theme.of(context).extension()!.background, @@ -217,8 +222,9 @@ class _Step2ViewState extends ConsumerState { setState(() { enableNext = _toController.text.isNotEmpty && - _refundController - .text.isNotEmpty; + (_refundController + .text.isNotEmpty || + !supportsRefund); }); } }); @@ -291,8 +297,9 @@ class _Step2ViewState extends ConsumerState { setState(() { enableNext = _toController .text.isNotEmpty && - _refundController - .text.isNotEmpty; + (_refundController.text + .isNotEmpty || + !supportsRefund); }); }, child: const XIcon(), @@ -318,8 +325,10 @@ class _Step2ViewState extends ConsumerState { enableNext = _toController .text .isNotEmpty && - _refundController - .text.isNotEmpty; + (_refundController + .text + .isNotEmpty || + !supportsRefund); }); } }, @@ -367,8 +376,9 @@ class _Step2ViewState extends ConsumerState { setState(() { enableNext = _toController .text.isNotEmpty && - _refundController - .text.isNotEmpty; + (_refundController.text + .isNotEmpty || + !supportsRefund); }); }); }, @@ -396,8 +406,9 @@ class _Step2ViewState extends ConsumerState { setState(() { enableNext = _toController .text.isNotEmpty && - _refundController - .text.isNotEmpty; + (_refundController.text + .isNotEmpty || + !supportsRefund); }); } else { _toController.text = @@ -408,8 +419,9 @@ class _Step2ViewState extends ConsumerState { setState(() { enableNext = _toController .text.isNotEmpty && - _refundController - .text.isNotEmpty; + (_refundController.text + .isNotEmpty || + !supportsRefund); }); } } on PlatformException catch (e, s) { @@ -440,133 +452,230 @@ class _Step2ViewState extends ConsumerState { const SizedBox( height: 24, ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Refund Wallet (required)", - style: STextStyles.smallMed12(context), - ), - if (isStackCoin(model.sendTicker)) - CustomTextButton( - text: "Choose from Stack", - onTap: () { - try { - final coin = - coinFromTickerCaseInsensitive( - model.sendTicker, - ); - Navigator.of(context) - .pushNamed( - ChooseFromStackView.routeName, - arguments: coin, - ) - .then((value) async { - if (value is String) { - final manager = ref - .read( - walletsChangeNotifierProvider) - .getManager(value); + if (supportsRefund) + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Refund Wallet (required)", + style: STextStyles.smallMed12(context), + ), + if (isStackCoin(model.sendTicker)) + CustomTextButton( + text: "Choose from Stack", + onTap: () { + try { + final coin = + coinFromTickerCaseInsensitive( + model.sendTicker, + ); + Navigator.of(context) + .pushNamed( + ChooseFromStackView.routeName, + arguments: coin, + ) + .then((value) async { + if (value is String) { + final manager = ref + .read( + walletsChangeNotifierProvider) + .getManager(value); - _refundController.text = - manager.walletName; - model.refundAddress = await manager - .currentReceivingAddress; - } - setState(() { - enableNext = _toController - .text.isNotEmpty && - _refundController.text.isNotEmpty; + _refundController.text = + manager.walletName; + model.refundAddress = await manager + .currentReceivingAddress; + } + setState(() { + enableNext = + _toController.text.isNotEmpty && + _refundController + .text.isNotEmpty; + }); }); - }); - } catch (e, s) { - Logging.instance - .log("$e\n$s", level: LogLevel.Info); - } - }, - ), - ], - ), - const SizedBox( - height: 4, - ), - ClipRRect( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, + } catch (e, s) { + Logging.instance.log("$e\n$s", + level: LogLevel.Info); + } + }, + ), + ], ), - child: TextField( - key: const Key( - "refundExchangeStep2ViewAddressFieldKey"), - controller: _refundController, - readOnly: false, - autocorrect: false, - enableSuggestions: false, - // inputFormatters: [ - // FilteringTextInputFormatter.allow(RegExp("[a-zA-Z0-9]{34}")), - // ], - toolbarOptions: const ToolbarOptions( - copy: false, - cut: false, - paste: true, - selectAll: false, + if (supportsRefund) + const SizedBox( + height: 4, + ), + if (supportsRefund) + ClipRRect( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, ), - focusNode: _refundFocusNode, - style: STextStyles.field(context), - onChanged: (value) { - setState(() {}); - }, - decoration: standardInputDecoration( - "Enter ${model.sendTicker.toUpperCase()} refund address", - _refundFocusNode, - context, - ).copyWith( - contentPadding: const EdgeInsets.only( - left: 16, - top: 6, - bottom: 8, - right: 5, + child: TextField( + key: const Key( + "refundExchangeStep2ViewAddressFieldKey"), + controller: _refundController, + readOnly: false, + autocorrect: false, + enableSuggestions: false, + // inputFormatters: [ + // FilteringTextInputFormatter.allow(RegExp("[a-zA-Z0-9]{34}")), + // ], + toolbarOptions: const ToolbarOptions( + copy: false, + cut: false, + paste: true, + selectAll: false, ), - suffixIcon: Padding( - padding: _refundController.text.isEmpty - ? const EdgeInsets.only(right: 16) - : const EdgeInsets.only(right: 0), - child: UnconstrainedBox( - child: Row( - mainAxisAlignment: - MainAxisAlignment.spaceAround, - children: [ - _refundController.text.isNotEmpty - ? TextFieldIconButton( - key: const Key( - "sendViewClearAddressFieldButtonKey"), - onTap: () { - _refundController.text = ""; - model.refundAddress = - _refundController.text; + focusNode: _refundFocusNode, + style: STextStyles.field(context), + onChanged: (value) { + setState(() {}); + }, + decoration: standardInputDecoration( + "Enter ${model.sendTicker.toUpperCase()} refund address", + _refundFocusNode, + context, + ).copyWith( + contentPadding: const EdgeInsets.only( + left: 16, + top: 6, + bottom: 8, + right: 5, + ), + suffixIcon: Padding( + padding: _refundController.text.isEmpty + ? const EdgeInsets.only(right: 16) + : const EdgeInsets.only(right: 0), + child: UnconstrainedBox( + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceAround, + children: [ + _refundController.text.isNotEmpty + ? TextFieldIconButton( + key: const Key( + "sendViewClearAddressFieldButtonKey"), + onTap: () { + _refundController.text = ""; + model.refundAddress = + _refundController.text; + setState(() { + enableNext = _toController + .text + .isNotEmpty && + _refundController + .text.isNotEmpty; + }); + }, + child: const XIcon(), + ) + : TextFieldIconButton( + key: const Key( + "sendViewPasteAddressFieldButtonKey"), + onTap: () async { + final ClipboardData? data = + await clipboard.getData( + Clipboard + .kTextPlain); + if (data?.text != null && + data! + .text!.isNotEmpty) { + final content = + data.text!.trim(); + + _refundController.text = + content; + model.refundAddress = + _refundController + .text; + + setState(() { + enableNext = _toController + .text + .isNotEmpty && + _refundController + .text + .isNotEmpty; + }); + } + }, + child: _refundController + .text.isEmpty + ? const ClipboardIcon() + : const XIcon(), + ), + if (_refundController.text.isEmpty) + TextFieldIconButton( + key: const Key( + "sendViewAddressBookButtonKey"), + onTap: () { + ref + .read( + exchangeFlowIsActiveStateProvider + .state) + .state = true; + Navigator.of(context) + .pushNamed( + AddressBookView.routeName, + ) + .then((_) { + ref + .read( + exchangeFlowIsActiveStateProvider + .state) + .state = false; + final address = ref + .read( + exchangeFromAddressBookAddressStateProvider + .state) + .state; + if (address.isNotEmpty) { + _refundController.text = + address; + model.refundAddress = + _refundController.text; + } setState(() { enableNext = _toController .text.isNotEmpty && _refundController .text.isNotEmpty; }); - }, - child: const XIcon(), - ) - : TextFieldIconButton( - key: const Key( - "sendViewPasteAddressFieldButtonKey"), - onTap: () async { - final ClipboardData? data = - await clipboard.getData( - Clipboard.kTextPlain); - if (data?.text != null && - data!.text!.isNotEmpty) { - final content = - data.text!.trim(); + }); + }, + child: const AddressBookIcon(), + ), + if (_refundController.text.isEmpty) + TextFieldIconButton( + key: const Key( + "sendViewScanQrButtonKey"), + onTap: () async { + try { + final qrResult = + await scanner.scan(); + final results = + AddressUtils.parseUri( + qrResult.rawContent); + if (results.isNotEmpty) { + // auto fill address _refundController.text = - content; + results["address"] ?? + ""; + model.refundAddress = + _refundController.text; + + setState(() { + enableNext = _toController + .text + .isNotEmpty && + _refundController + .text.isNotEmpty; + }); + } else { + _refundController.text = + qrResult.rawContent; model.refundAddress = _refundController.text; @@ -578,116 +687,33 @@ class _Step2ViewState extends ConsumerState { .text.isNotEmpty; }); } - }, - child: _refundController - .text.isEmpty - ? const ClipboardIcon() - : const XIcon(), - ), - if (_refundController.text.isEmpty) - TextFieldIconButton( - key: const Key( - "sendViewAddressBookButtonKey"), - onTap: () { - ref - .read( - exchangeFlowIsActiveStateProvider - .state) - .state = true; - Navigator.of(context) - .pushNamed( - AddressBookView.routeName, - ) - .then((_) { - ref - .read( - exchangeFlowIsActiveStateProvider - .state) - .state = false; - final address = ref - .read( - exchangeFromAddressBookAddressStateProvider - .state) - .state; - if (address.isNotEmpty) { - _refundController.text = - address; - model.refundAddress = - _refundController.text; + } on PlatformException catch (e, s) { + Logging.instance.log( + "Failed to get camera permissions while trying to scan qr code in SendView: $e\n$s", + level: LogLevel.Warning, + ); } - setState(() { - enableNext = _toController - .text.isNotEmpty && - _refundController - .text.isNotEmpty; - }); - }); - }, - child: const AddressBookIcon(), - ), - if (_refundController.text.isEmpty) - TextFieldIconButton( - key: const Key( - "sendViewScanQrButtonKey"), - onTap: () async { - try { - final qrResult = - await scanner.scan(); - - final results = - AddressUtils.parseUri( - qrResult.rawContent); - if (results.isNotEmpty) { - // auto fill address - _refundController.text = - results["address"] ?? ""; - model.refundAddress = - _refundController.text; - - setState(() { - enableNext = _toController - .text.isNotEmpty && - _refundController - .text.isNotEmpty; - }); - } else { - _refundController.text = - qrResult.rawContent; - model.refundAddress = - _refundController.text; - - setState(() { - enableNext = _toController - .text.isNotEmpty && - _refundController - .text.isNotEmpty; - }); - } - } on PlatformException catch (e, s) { - Logging.instance.log( - "Failed to get camera permissions while trying to scan qr code in SendView: $e\n$s", - level: LogLevel.Warning, - ); - } - }, - child: const QrCodeIcon(), - ), - ], + }, + child: const QrCodeIcon(), + ), + ], + ), ), ), ), ), ), - ), - const SizedBox( - height: 6, - ), - RoundedWhiteContainer( - child: Text( - "In case something goes wrong during the exchange, we might need a refund address so we can return your coins back to you.", - style: STextStyles.label(context), + if (supportsRefund) + const SizedBox( + height: 6, + ), + if (supportsRefund) + RoundedWhiteContainer( + child: Text( + "In case something goes wrong during the exchange, we might need a refund address so we can return your coins back to you.", + style: STextStyles.label(context), + ), ), - ), const Spacer(), Row( children: [ diff --git a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart index 650d238e6..8b08f7961 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart @@ -7,9 +7,11 @@ import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_4_view.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; +import 'package:stackwallet/providers/exchange/current_exchange_name_state_provider.dart'; import 'package:stackwallet/providers/exchange/exchange_provider.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; @@ -51,6 +53,10 @@ class _Step3ViewState extends ConsumerState { @override Widget build(BuildContext context) { + final supportsRefund = + ref.watch(currentExchangeNameStateProvider.state).state != + MajesticBankExchange.exchangeName; + return Background( child: Scaffold( backgroundColor: Theme.of(context).extension()!.background, @@ -174,27 +180,29 @@ class _Step3ViewState extends ConsumerState { ], ), ), - const SizedBox( - height: 8, - ), - RoundedWhiteContainer( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Refund ${model.sendTicker.toUpperCase()} address", - style: STextStyles.itemSubtitle(context), - ), - const SizedBox( - height: 4, - ), - Text( - model.refundAddress!, - style: STextStyles.itemSubtitle12(context), - ) - ], + if (supportsRefund) + const SizedBox( + height: 8, + ), + if (supportsRefund) + RoundedWhiteContainer( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Refund ${model.sendTicker.toUpperCase()} address", + style: STextStyles.itemSubtitle(context), + ), + const SizedBox( + height: 4, + ), + Text( + model.refundAddress!, + style: STextStyles.itemSubtitle12(context), + ) + ], + ), ), - ), const SizedBox( height: 8, ), @@ -259,8 +267,9 @@ class _Step3ViewState extends ConsumerState { addressTo: model.recipientAddress!, extraId: null, - addressRefund: - model.refundAddress!, + addressRefund: supportsRefund + ? model.refundAddress! + : "", refundExtraId: "", rateId: model.rateId, reversed: model.reversed, From 57c31e9fa2d23ba6dc221f78dbee038f08967c02 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 15:34:17 -0600 Subject: [PATCH 103/191] mb icon and refcode --- assets/svg/exchange_icons/mb_blue.svg | 1 + assets/svg/exchange_icons/mb_green.svg | 1 + .../sub_widgets/exchange_provider_options.dart | 2 +- lib/services/exchange/majestic_bank/majestic_bank_api.dart | 6 +++--- lib/utilities/assets.dart | 2 ++ pubspec.yaml | 2 ++ 6 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 assets/svg/exchange_icons/mb_blue.svg create mode 100644 assets/svg/exchange_icons/mb_green.svg diff --git a/assets/svg/exchange_icons/mb_blue.svg b/assets/svg/exchange_icons/mb_blue.svg new file mode 100644 index 000000000..d9fea3781 --- /dev/null +++ b/assets/svg/exchange_icons/mb_blue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/svg/exchange_icons/mb_green.svg b/assets/svg/exchange_icons/mb_green.svg new file mode 100644 index 000000000..d5d10ca7e --- /dev/null +++ b/assets/svg/exchange_icons/mb_green.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index 42779e854..75ec12522 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -337,7 +337,7 @@ class ExchangeProviderOptions extends ConsumerWidget { Padding( padding: const EdgeInsets.only(top: 5.0), child: SvgPicture.asset( - Assets.exchange.changeNow, + Assets.exchange.majesticBankBlue, width: isDesktop ? 32 : 24, height: isDesktop ? 32 : 24, ), diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index f02392eb6..09054c044 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -4,6 +4,7 @@ import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/exceptions/exchange/pair_unavailable_exception.dart'; +import 'package:stackwallet/external_api_keys.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order_calculation.dart'; @@ -16,7 +17,6 @@ class MajesticBankAPI { static const String scheme = "https"; static const String authority = "majesticbank.sc"; static const String version = "v1"; - static const String refCode = "fixme"; MajesticBankAPI._(); @@ -234,7 +234,7 @@ class MajesticBankAPI { "from_currency": fromCurrency, "receive_currency": receiveCurrency, "receive_address": receiveAddress, - "referral_code": refCode, + "referral_code": kMajesticBankRefCode, }; final uri = _buildUri(endpoint: "exchange", params: params); @@ -283,7 +283,7 @@ class MajesticBankAPI { "from_currency": fromCurrency, "receive_currency": receiveCurrency, "receive_address": receiveAddress, - "referral_code": refCode, + "referral_code": kMajesticBankRefCode, }; if (reversed) { diff --git a/lib/utilities/assets.dart b/lib/utilities/assets.dart index 5bb7c3edb..ded54a061 100644 --- a/lib/utilities/assets.dart +++ b/lib/utilities/assets.dart @@ -26,6 +26,8 @@ class _EXCHANGE { String get changeNow => "assets/svg/exchange_icons/change_now_logo_1.svg"; String get simpleSwap => "assets/svg/exchange_icons/simpleswap-icon.svg"; + String get majesticBankBlue => "assets/svg/exchange_icons/mb_blue.svg"; + String get majesticBankGreen => "assets/svg/exchange_icons/mb_green.svg"; } class _BUY { diff --git a/pubspec.yaml b/pubspec.yaml index 61c22e7aa..6498ccec0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -343,6 +343,8 @@ flutter: # exchange icons - assets/svg/exchange_icons/change_now_logo_1.svg - assets/svg/exchange_icons/simpleswap-icon.svg + - assets/svg/exchange_icons/mb_green.svg + - assets/svg/exchange_icons/mb_blue.svg # theme selectors - assets/svg/dark-theme.svg From 05934e28d9d67d964350a8d0e8d06d37f3159132 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 15:44:47 -0600 Subject: [PATCH 104/191] exchange icon alignment fix --- .../sub_widgets/exchange_provider_options.dart | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index 75ec12522..236ac5460 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -110,10 +110,14 @@ class ExchangeProviderOptions extends ConsumerWidget { ), Padding( padding: const EdgeInsets.only(top: 5.0), - child: SvgPicture.asset( - Assets.exchange.changeNow, + child: SizedBox( width: isDesktop ? 32 : 24, height: isDesktop ? 32 : 24, + child: SvgPicture.asset( + Assets.exchange.changeNow, + width: isDesktop ? 32 : 24, + height: isDesktop ? 32 : 24, + ), ), ), const SizedBox( @@ -336,10 +340,14 @@ class ExchangeProviderOptions extends ConsumerWidget { ), Padding( padding: const EdgeInsets.only(top: 5.0), - child: SvgPicture.asset( - Assets.exchange.majesticBankBlue, + child: SizedBox( width: isDesktop ? 32 : 24, height: isDesktop ? 32 : 24, + child: SvgPicture.asset( + Assets.exchange.majesticBankBlue, + width: isDesktop ? 32 : 24, + height: isDesktop ? 32 : 24, + ), ), ), const SizedBox( From a94feef80ed8a24aa0b17491138caad51555ef4b Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 15:45:00 -0600 Subject: [PATCH 105/191] theme switching color fixes --- lib/pages/exchange_view/exchange_form.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 40c0eb7c9..8442d564d 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -763,6 +763,8 @@ class _ExchangeFormState extends ConsumerState { height: isDesktop ? 10 : 4, ), ExchangeTextField( + key: Key( + "exchangeTextFieldKeyFor_${Theme.of(context).extension()!.themeType.name}"), controller: _sendController, focusNode: _sendFocusNode, textStyle: STextStyles.smallMed14(context).copyWith( @@ -851,6 +853,8 @@ class _ExchangeFormState extends ConsumerState { height: isDesktop ? 10 : 7, ), ExchangeTextField( + key: Key( + "exchangeTextFieldKeyFor1_${Theme.of(context).extension()!.themeType.name}"), focusNode: _receiveFocusNode, controller: _receiveController, textStyle: STextStyles.smallMed14(context).copyWith( @@ -897,6 +901,7 @@ class _ExchangeFormState extends ConsumerState { SizedBox( height: 60, child: RateTypeToggle( + key: UniqueKey(), onChanged: onRateTypeChanged, ), ), From 243acd09bac262cdad9759381d1908dc00bc3222 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 15:50:18 -0600 Subject: [PATCH 106/191] fix when leaving and returning to exchange view --- lib/models/exchange/exchange_form_state.dart | 4 ++++ lib/pages/exchange_view/exchange_form.dart | 11 +++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 8b2b26ae3..94bcd09de 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -406,6 +406,10 @@ class ExchangeFormState extends ChangeNotifier { } } + Future refresh() => _updateRangesAndEstimate( + shouldNotifyListeners: true, + ); + //============================================================================ // private state updaters //============================================================================ diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 8442d564d..60aedc83a 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -682,16 +682,15 @@ class _ExchangeFormState extends ConsumerState { if (walletInitiated) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) { ref.read(exchangeFormStateProvider).reset(shouldNotifyListeners: true); - // ref.read(fixedRateExchangeFormProvider); }); } else { - final rateType = (ref.read(prefsChangeNotifierProvider).exchangeRateType); - final isEstimated = rateType == ExchangeRateType.estimated; _sendController.text = ref.read(exchangeFormStateProvider).fromAmountString; - _receiveController.text = isEstimated - ? "-" //ref.read(estimatedRateExchangeFormProvider).toAmountString - : ref.read(exchangeFormStateProvider).toAmountString; + _receiveController.text = + ref.read(exchangeFormStateProvider).toAmountString; + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + ref.read(exchangeFormStateProvider).refresh(); + }); } super.initState(); From aa3d6f41025a6f600ff642bab6feb3a4aebb8ff7 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 15:58:20 -0600 Subject: [PATCH 107/191] show loading while updating rate on newly selected currency --- lib/pages/exchange_view/exchange_form.dart | 100 ++++++++++----------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 60aedc83a..ad155738f 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -107,38 +107,38 @@ class _ExchangeFormState extends ConsumerState { return; } - // TODO: return currency and await update while showing loading - await _showCurrencySelectionSheet( + final selectedCurrency = await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider).sendCurrency, willChangeIsSend: true, paired: ref.read(exchangeFormStateProvider).receiveCurrency, isFixedRate: type == ExchangeRateType.fixed, - onSelected: (selectedCurrency) => ref - .read(exchangeFormStateProvider) - .updateSendCurrency(selectedCurrency, true), ); - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, + if (selectedCurrency != null) { + unawaited( + showDialog( + context: context, + barrierDismissible: false, + builder: (_) => WillPopScope( + onWillPop: () async => false, + child: Container( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange rate", + eventBus: null, + ), ), ), ), - ), - ); + ); - // await Future.delayed(const Duration(milliseconds: 300)); + await ref + .read(exchangeFormStateProvider) + .updateSendCurrency(selectedCurrency, true); + } if (mounted) { Navigator.of(context, rootNavigator: true).pop(); @@ -146,47 +146,46 @@ class _ExchangeFormState extends ConsumerState { } void selectReceiveCurrency() async { - final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; - if (walletInitiated && toTicker.toLowerCase() == coin!.ticker.toLowerCase()) { // do not allow changing away from wallet coin return; } - // TODO: return currency and await update while showing loading - await _showCurrencySelectionSheet( + final selectedCurrency = await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider).receiveCurrency, willChangeIsSend: false, paired: ref.read(exchangeFormStateProvider).sendCurrency, - isFixedRate: type == ExchangeRateType.fixed, - onSelected: (selectedCurrency) => ref - .read(exchangeFormStateProvider) - .updateReceivingCurrency(selectedCurrency, true), + isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == + ExchangeRateType.fixed, ); - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, + if (selectedCurrency != null) { + unawaited( + showDialog( + context: context, + barrierDismissible: false, + builder: (_) => WillPopScope( + onWillPop: () async => false, + child: Container( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange rate", + eventBus: null, + ), ), ), ), - ), - ); + ); - // await Future.delayed(const Duration(milliseconds: 300)); + await ref + .read(exchangeFormStateProvider) + .updateReceivingCurrency(selectedCurrency, true); + } if (mounted) { Navigator.of(context, rootNavigator: true).pop(); @@ -226,12 +225,11 @@ class _ExchangeFormState extends ConsumerState { _swapLock = false; } - Future _showCurrencySelectionSheet({ + Future _showCurrencySelectionSheet({ required Currency? willChange, required Currency? paired, required bool isFixedRate, required bool willChangeIsSend, - required void Function(Currency) onSelected, }) async { _sendFocusNode.unfocus(); _receiveFocusNode.unfocus(); @@ -309,7 +307,9 @@ class _ExchangeFormState extends ConsumerState { ); if (mounted && result is Currency) { - onSelected(result); + return result; + } else { + return null; } } From 287c226416fbac1f51bfcc06f12cad14e4733407 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 16:16:17 -0600 Subject: [PATCH 108/191] clean up exchange_form.dart --- lib/pages/exchange_view/exchange_form.dart | 166 +++++++-------------- 1 file changed, 51 insertions(+), 115 deletions(-) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index ad155738f..96ccde62b 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -19,7 +19,6 @@ import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_ste import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; -// import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -67,7 +66,39 @@ class _ExchangeFormState extends ConsumerState { bool _swapLock = false; // todo: check and adjust this value? - static const _valueCheckInterval = Duration(milliseconds: 500); + static const _valueCheckInterval = Duration(milliseconds: 300); + + Future showUpdatingExchangeRate({ + required Future whileFuture, + }) async { + unawaited( + showDialog( + context: context, + barrierDismissible: false, + builder: (_) => WillPopScope( + onWillPop: () async => false, + child: Container( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange rate", + eventBus: null, + ), + ), + ), + ), + ); + + final result = await whileFuture; + + if (mounted) { + Navigator.of(context, rootNavigator: isDesktop).pop(); + } + + return result; + } Timer? _sendFieldOnChangedTimer; void sendFieldOnChanged(String value) async { @@ -115,33 +146,11 @@ class _ExchangeFormState extends ConsumerState { ); if (selectedCurrency != null) { - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, - ), - ), - ), - ), + await showUpdatingExchangeRate( + whileFuture: ref + .read(exchangeFormStateProvider) + .updateSendCurrency(selectedCurrency, true), ); - - await ref - .read(exchangeFormStateProvider) - .updateSendCurrency(selectedCurrency, true); - } - - if (mounted) { - Navigator.of(context, rootNavigator: true).pop(); } } @@ -162,33 +171,11 @@ class _ExchangeFormState extends ConsumerState { ); if (selectedCurrency != null) { - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, - ), - ), - ), - ), + await showUpdatingExchangeRate( + whileFuture: ref + .read(exchangeFormStateProvider) + .updateReceivingCurrency(selectedCurrency, true), ); - - await ref - .read(exchangeFormStateProvider) - .updateReceivingCurrency(selectedCurrency, true); - } - - if (mounted) { - Navigator.of(context, rootNavigator: true).pop(); } } @@ -197,31 +184,11 @@ class _ExchangeFormState extends ConsumerState { _sendFocusNode.unfocus(); _receiveFocusNode.unfocus(); - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, - ), - ), - ), - ), + await showUpdatingExchangeRate( + whileFuture: + ref.read(exchangeFormStateProvider).swap(shouldNotifyListeners: true), ); - await ref.read(exchangeFormStateProvider).swap(shouldNotifyListeners: true); - - if (mounted) { - Navigator.of(context, rootNavigator: isDesktop).pop(); - } _swapLock = false; } @@ -317,26 +284,12 @@ class _ExchangeFormState extends ConsumerState { _receiveFocusNode.unfocus(); _sendFocusNode.unfocus(); - unawaited( - showDialog( - context: context, - barrierDismissible: false, - builder: (_) => WillPopScope( - onWillPop: () async => false, - child: Container( - color: Theme.of(context) - .extension()! - .overlay - .withOpacity(0.6), - child: const CustomLoadingOverlay( - message: "Updating exchange rate", - eventBus: null, - ), - ), - ), - ), + await showUpdatingExchangeRate( + whileFuture: _onRateTypeChangedFuture(newType), ); + } + Future _onRateTypeChangedFuture(ExchangeRateType newType) async { ref.read(exchangeFormStateProvider).exchangeRateType = newType; final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? "-"; @@ -397,19 +350,6 @@ class _ExchangeFormState extends ConsumerState { } } } - if (mounted) { - Navigator.of(context, rootNavigator: isDesktop).pop(); - } - // if (!(fromTicker == "-" || toTicker == "-")) { - // unawaited( - // showFloatingFlushBar( - // type: FlushBarType.warning, - // message: - // "${ref.read(exchangeFormStateProvider).exchangeRateType.name} rate trade pair \"$fromTicker-$toTicker\" unavailable. Reverting to last estimated rate pair.", - // context: context, - // ), - // ); - // } } void onExchangePressed() async { @@ -655,13 +595,9 @@ class _ExchangeFormState extends ConsumerState { return false; } - String? ticker; - - if (isSend) { - ticker = ref.read(exchangeFormStateProvider).fromTicker; - } else { - ticker = ref.read(exchangeFormStateProvider).toTicker; - } + String? ticker = isSend + ? ref.read(exchangeFormStateProvider).fromTicker + : ref.read(exchangeFormStateProvider).toTicker; if (ticker == null) { return false; From 842593d6b28085082c4ba031ded7894c4c1189b0 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 6 Feb 2023 17:49:27 -0600 Subject: [PATCH 109/191] ensure exchange is updated properly --- lib/pages/exchange_view/exchange_form.dart | 16 ++-------------- .../sub_widgets/exchange_provider_options.dart | 10 ++++++++++ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 96ccde62b..d73dd2eb5 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -646,17 +646,7 @@ class _ExchangeFormState extends ConsumerState { final rateType = ref.watch( prefsChangeNotifierProvider.select((value) => value.exchangeRateType)); - ref.listen(currentExchangeNameStateProvider, (previous, next) { - ref.read(exchangeFormStateProvider).updateExchange( - exchange: ref.read(exchangeProvider), - shouldUpdateData: true, - shouldNotifyListeners: true, - ); - }); - - final isEstimated = ref.watch(prefsChangeNotifierProvider - .select((pref) => pref.exchangeRateType)) == - ExchangeRateType.estimated; + final isEstimated = rateType == ExchangeRateType.estimated; ref.listen( exchangeFormStateProvider.select((value) => value.toAmountString), @@ -854,9 +844,7 @@ class _ExchangeFormState extends ConsumerState { to: ref.watch(exchangeFormStateProvider).toTicker, fromAmount: ref.watch(exchangeFormStateProvider).sendAmount, toAmount: ref.watch(exchangeFormStateProvider).receiveAmount, - fixedRate: ref.watch(prefsChangeNotifierProvider - .select((value) => value.exchangeRateType)) == - ExchangeRateType.fixed, + fixedRate: rateType == ExchangeRateType.fixed, reversed: ref.watch( exchangeFormStateProvider.select((value) => value.reversed)), ), diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index 236ac5460..9db3b9cb3 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -60,6 +60,11 @@ class ExchangeProviderOptions extends ConsumerWidget { ChangeNowExchange.exchangeName) { ref.read(currentExchangeNameStateProvider.state).state = ChangeNowExchange.exchangeName; + ref.read(exchangeFormStateProvider).updateExchange( + exchange: ref.read(exchangeProvider), + shouldUpdateData: true, + shouldNotifyListeners: true, + ); } }, child: Container( @@ -290,6 +295,11 @@ class ExchangeProviderOptions extends ConsumerWidget { MajesticBankExchange.exchangeName) { ref.read(currentExchangeNameStateProvider.state).state = MajesticBankExchange.exchangeName; + ref.read(exchangeFormStateProvider).updateExchange( + exchange: ref.read(exchangeProvider), + shouldUpdateData: true, + shouldNotifyListeners: true, + ); } }, child: Container( From 5173aec491d3bb4dada2abd368a10f4d3950d7af Mon Sep 17 00:00:00 2001 From: sneurlax Date: Tue, 7 Feb 2023 10:32:46 -0600 Subject: [PATCH 110/191] update simplex url need to also update simplex_api --- lib/services/buy/simplex/simplex_api.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/buy/simplex/simplex_api.dart b/lib/services/buy/simplex/simplex_api.dart index 37417fcbf..d1a110128 100644 --- a/lib/services/buy/simplex/simplex_api.dart +++ b/lib/services/buy/simplex/simplex_api.dart @@ -15,7 +15,7 @@ import 'package:stackwallet/utilities/prefs.dart'; import 'package:url_launcher/url_launcher.dart'; class SimplexAPI { - static const String authority = "simplex-sandbox.stackwallet.com"; + static const String authority = "buycrypto.stackwallet.com"; // static const String authority = "localhost"; // For development purposes static const String scheme = authority == "localhost" ? "http" : "https"; From 2366c40dcd963f5443adcf9dc87f5affa9e1c1c7 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 7 Feb 2023 11:10:35 -0600 Subject: [PATCH 111/191] currency loading performance increase --- .../exchange_currency_selection_view.dart | 363 ++++++++++-------- 1 file changed, 213 insertions(+), 150 deletions(-) diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index 31bf71725..c6ba3de2d 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:isar/isar.dart'; @@ -14,6 +16,7 @@ import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; +import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -47,11 +50,82 @@ class _ExchangeCurrencySelectionViewState final _searchFocusNode = FocusNode(); final isDesktop = Util.isDesktop; - late List _currencies; - late final List pairs; + List _currencies = []; + List pairs = []; - List getAvailablePairs() { - final filter = ExchangeDataLoadingService.instance.isar.pairs + bool _loaded = false; + String _searchString = ""; + + Future _showUpdatingCurrencies({ + required Future whileFuture, + }) async { + unawaited( + showDialog( + context: context, + barrierDismissible: false, + builder: (_) => WillPopScope( + onWillPop: () async => false, + child: Container( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Loading currencies", + eventBus: null, + ), + ), + ), + ), + ); + + final result = await whileFuture; + + if (mounted) { + Navigator.of(context, rootNavigator: isDesktop).pop(); + } + + return result; + } + + Future> _loadCurrencies() async { + if (widget.paired == null) { + return await _getCurrencies(); + } + + final pairs = await _loadAvailablePairs(); + List currencies = []; + for (final pair in pairs) { + final currency = + await _getCurrency(widget.willChangeIsSend ? pair.from : pair.to); + if (currency != null) { + currencies.add(currency); + } + } + + return currencies; + } + + Future _getCurrency(String ticker) { + return ExchangeDataLoadingService.instance.isar.currencies + .where() + .exchangeNameEqualTo(widget.exchangeName) + .filter() + .tickerEqualTo(ticker, caseSensitive: false) + .group((q) => widget.isFixedRate + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)) + .findFirst(); + } + + Future> _loadAvailablePairs() { + final query = ExchangeDataLoadingService.instance.isar.pairs .where() .exchangeNameEqualTo(widget.exchangeName) .filter() @@ -63,89 +137,62 @@ class _ExchangeCurrencySelectionViewState : q .rateTypeEqualTo(SupportedRateType.both) .or() - .rateTypeEqualTo(SupportedRateType.estimated)); + .rateTypeEqualTo(SupportedRateType.estimated)) + .and() + .group((q) => widget.willChangeIsSend + ? q.toEqualTo(widget.paired!.ticker, caseSensitive: false) + : q.fromEqualTo(widget.paired!.ticker, caseSensitive: false)); - if (widget.paired != null) { - return filter - .and() - .group((q) => widget.willChangeIsSend - ? q.toEqualTo(widget.paired!.ticker, caseSensitive: false) - : q.fromEqualTo(widget.paired!.ticker, caseSensitive: false)) - .findAllSync(); + if (widget.willChangeIsSend) { + return query.sortByFrom().findAll(); } else { - return filter.findAllSync(); + return query.sortByTo().findAll(); } } - void filter(String text) { - setState(() { - final query = ExchangeDataLoadingService.instance.isar.currencies - .where() - .exchangeNameEqualTo(widget.exchangeName) - .filter() - .anyOf( - pairs.map((e) => widget.willChangeIsSend ? e.to : e.from), - (q, ticker) => q.tickerEqualTo(ticker), - ) - .group((q) => widget.isFixedRate - ? q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.fixed) - : q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.estimated)) - .and() - .group((q) => q - .nameContains(text, caseSensitive: false) - .or() - .tickerContains(text, caseSensitive: false)); + Future> _getCurrencies() async { + return ExchangeDataLoadingService.instance.isar.currencies + .where() + .exchangeNameEqualTo(widget.exchangeName) + .filter() + .group((q) => widget.isFixedRate + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)) + .sortByIsStackCoin() + .thenByName() + .findAll(); + } - if (widget.paired != null) { - _currencies = query - .and() - .not() - .tickerEqualTo(widget.paired!.ticker) - .sortByIsStackCoin() - .thenByTicker() - .findAllSync(); - } else { - _currencies = query.sortByIsStackCoin().thenByTicker().findAllSync(); - } - }); + List filter(String text) { + if (text.isEmpty) { + return _currencies; + } + + if (widget.paired == null) { + return _currencies + .where((e) => + e.name.toLowerCase().contains(text.toLowerCase()) || + e.ticker.toLowerCase().contains(text.toLowerCase())) + .toList(growable: false); + } else { + return _currencies + .where((e) => + e.ticker.toLowerCase() != widget.paired!.ticker.toLowerCase() && + (e.name.toLowerCase().contains(text.toLowerCase()) || + e.ticker.toLowerCase().contains(text.toLowerCase()))) + .toList(growable: false); + } } @override void initState() { _searchController = TextEditingController(); - pairs = getAvailablePairs(); - - final query = ExchangeDataLoadingService.instance.isar.currencies - .where() - .exchangeNameEqualTo(widget.exchangeName) - .filter() - .group((q) => widget.isFixedRate - ? q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.fixed) - : q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.estimated)); - - if (widget.paired != null) { - _currencies = query - .and() - .not() - .tickerEqualTo(widget.paired!.ticker) - .sortByIsStackCoin() - .thenByTicker() - .findAllSync(); - } else { - _currencies = query.sortByIsStackCoin().thenByTicker().findAllSync(); - } super.initState(); } @@ -159,6 +206,15 @@ class _ExchangeCurrencySelectionViewState @override Widget build(BuildContext context) { + if (!_loaded) { + _loaded = true; + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + _currencies = + await _showUpdatingCurrencies(whileFuture: _loadCurrencies()); + setState(() {}); + }); + } + return ConditionalParent( condition: !isDesktop, builder: (child) { @@ -211,7 +267,7 @@ class _ExchangeCurrencySelectionViewState enableSuggestions: !isDesktop, controller: _searchController, focusNode: _searchFocusNode, - onChanged: filter, + onChanged: (value) => setState(() => _searchString = value), style: STextStyles.field(context), decoration: standardInputDecoration( "Search", @@ -241,8 +297,8 @@ class _ExchangeCurrencySelectionViewState onTap: () async { setState(() { _searchController.text = ""; + _searchString = ""; }); - filter(""); }, ), ], @@ -265,8 +321,12 @@ class _ExchangeCurrencySelectionViewState ), Flexible( child: Builder(builder: (context) { - final items = _currencies - .where((e) => Coin.values + final coins = Coin.values.where((e) => + e.ticker.toLowerCase() != + widget.paired?.ticker.toLowerCase()); + + final items = filter(_searchString) + .where((e) => coins .where((coin) => coin.ticker.toLowerCase() == e.ticker.toLowerCase()) .isNotEmpty) @@ -358,79 +418,82 @@ class _ExchangeCurrencySelectionViewState height: 12, ), Flexible( - child: RoundedWhiteContainer( - padding: const EdgeInsets.all(0), - child: ListView.builder( - shrinkWrap: true, - primary: isDesktop ? false : null, - itemCount: _currencies.length, - itemBuilder: (builderContext, index) { - final bool hasImageUrl = - _currencies[index].image.startsWith("http"); - return Padding( - padding: const EdgeInsets.symmetric(vertical: 4), - child: GestureDetector( - onTap: () { - Navigator.of(context).pop(_currencies[index]); - }, - child: RoundedWhiteContainer( - child: Row( - children: [ - SizedBox( - width: 24, - height: 24, - child: isStackCoin(_currencies[index].ticker) - ? getIconForTicker( - _currencies[index].ticker, - size: 24, - ) - : hasImageUrl - ? SvgPicture.network( - _currencies[index].image, - width: 24, - height: 24, - placeholderBuilder: (_) => - const LoadingIndicator(), - ) - : const SizedBox( - width: 24, - height: 24, - ), - ), - const SizedBox( - width: 10, - ), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - _currencies[index].name, - style: STextStyles.largeMedium14(context), - ), - const SizedBox( - height: 2, - ), - Text( - _currencies[index].ticker.toUpperCase(), - style: STextStyles.smallMed12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ), - ], + child: Builder(builder: (context) { + final filtered = filter(_searchString); + return RoundedWhiteContainer( + padding: const EdgeInsets.all(0), + child: ListView.builder( + shrinkWrap: true, + primary: isDesktop ? false : null, + itemCount: filtered.length, + itemBuilder: (builderContext, index) { + final bool hasImageUrl = + filtered[index].image.startsWith("http"); + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: GestureDetector( + onTap: () { + Navigator.of(context).pop(filtered[index]); + }, + child: RoundedWhiteContainer( + child: Row( + children: [ + SizedBox( + width: 24, + height: 24, + child: isStackCoin(filtered[index].ticker) + ? getIconForTicker( + filtered[index].ticker, + size: 24, + ) + : hasImageUrl + ? SvgPicture.network( + filtered[index].image, + width: 24, + height: 24, + placeholderBuilder: (_) => + const LoadingIndicator(), + ) + : const SizedBox( + width: 24, + height: 24, + ), ), - ), - ], + const SizedBox( + width: 10, + ), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + filtered[index].name, + style: STextStyles.largeMedium14(context), + ), + const SizedBox( + height: 2, + ), + Text( + filtered[index].ticker.toUpperCase(), + style: STextStyles.smallMed12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ), + ], + ), + ), + ], + ), ), ), - ), - ); - }, - ), - ), + ); + }, + ), + ); + }), ), ], ), From 5bac2a79ea07cdc8614dea7b824827fc12e037ac Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 7 Feb 2023 11:24:04 -0600 Subject: [PATCH 112/191] build runner mocks fix --- .../pages/send_view/send_view_test.mocks.dart | 1250 ++++++++--------- .../managed_favorite_test.mocks.dart | 1192 ++++++++-------- .../table_view/table_view_row_test.mocks.dart | 1062 +++++++------- test/widget_tests/wallet_card_test.mocks.dart | 663 +++++---- ...et_info_row_balance_future_test.mocks.dart | 1176 ++++++++-------- .../wallet_info_row_test.mocks.dart | 1176 ++++++++-------- 6 files changed, 3250 insertions(+), 3269 deletions(-) diff --git a/test/pages/send_view/send_view_test.mocks.dart b/test/pages/send_view/send_view_test.mocks.dart index a8c1ca423..032983189 100644 --- a/test/pages/send_view/send_view_test.mocks.dart +++ b/test/pages/send_view/send_view_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i28; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i27; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i17; -import 'package:bip47/bip47.dart' as _i18; +import 'package:bip47/bip47.dart' as _i17; import 'package:bitcoindart/bitcoindart.dart' as _i14; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,26 +17,26 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10; import 'package:stackwallet/models/balance.dart' as _i12; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i16; -import 'package:stackwallet/models/node_model.dart' as _i25; +import 'package:stackwallet/models/node_model.dart' as _i24; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i31; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i26; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; + as _i30; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i29; +import 'package:stackwallet/services/locale_service.dart' as _i28; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i8; -import 'package:stackwallet/services/wallets.dart' as _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i32; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i27; -import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i30; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i31; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i29; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' as _i7; -import 'package:stackwallet/utilities/prefs.dart' as _i23; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i15; // ignore_for_file: type=lint @@ -187,9 +186,9 @@ class _FakeElectrumXNode_12 extends _i1.SmartFake ); } -class _FakeTuple4_13 extends _i1.SmartFake - implements _i15.Tuple4 { - _FakeTuple4_13( +class _FakeTuple2_13 extends _i1.SmartFake + implements _i15.Tuple2 { + _FakeTuple2_13( Object parent, Invocation parentInvocation, ) : super( @@ -208,8 +207,8 @@ class _FakeAddress_14 extends _i1.SmartFake implements _i16.Address { ); } -class _FakeBIP32_15 extends _i1.SmartFake implements _i17.BIP32 { - _FakeBIP32_15( +class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { + _FakePaymentCode_15( Object parent, Invocation parentInvocation, ) : super( @@ -218,19 +217,9 @@ class _FakeBIP32_15 extends _i1.SmartFake implements _i17.BIP32 { ); } -class _FakePaymentCode_16 extends _i1.SmartFake implements _i18.PaymentCode { - _FakePaymentCode_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -242,7 +231,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -309,7 +298,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -319,18 +308,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -394,17 +383,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -415,11 +404,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -427,7 +416,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -453,19 +442,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -480,13 +469,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -500,13 +489,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -519,46 +508,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -571,48 +560,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -624,20 +613,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -645,7 +634,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -687,33 +676,33 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i7.SecureStorageInterface); @override - List<_i25.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i24.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override - List<_i25.NodeModel> get nodes => (super.noSuchMethod( + List<_i24.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i25.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i24.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -726,44 +715,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i25.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i24.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i25.NodeModel?); + )) as _i24.NodeModel?); @override - List<_i25.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i24.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override - _i25.NodeModel? getNodeById({required String? id}) => + _i24.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i25.NodeModel?); + )) as _i24.NodeModel?); @override - List<_i25.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i24.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i25.NodeModel>[], - ) as List<_i25.NodeModel>); + returnValue: <_i24.NodeModel>[], + ) as List<_i24.NodeModel>); @override - _i22.Future add( - _i25.NodeModel? node, + _i21.Future add( + _i24.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -776,11 +765,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -792,11 +781,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -810,12 +799,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i25.NodeModel? editedNode, + _i21.Future edit( + _i24.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -828,20 +817,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -849,7 +838,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -877,13 +866,13 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -960,64 +949,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i16.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i16.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i16.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i21.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i9.FeeObject>); + ) as _i21.Future<_i9.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -1114,27 +1113,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ), ) as _i14.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i27.DerivePathType addressType({required String? address}) => + _i26.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i27.DerivePathType.bip44, - ) as _i27.DerivePathType); + returnValue: _i26.DerivePathType.bip44, + ) as _i26.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -1145,52 +1145,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -1206,26 +1207,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1243,33 +1244,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1279,36 +1280,36 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), returnValue: - _i22.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_12( + _i21.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_12( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i10.ElectrumXNode>); + ) as _i21.Future<_i10.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i27.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1322,13 +1323,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i27.DerivePathType? derivePathType, + required _i26.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1341,50 +1342,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1424,7 +1425,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i16.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1432,10 +1433,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i16.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1453,10 +1454,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1468,11 +1469,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1484,8 +1485,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1504,25 +1505,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1535,14 +1536,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1552,14 +1553,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1569,15 +1570,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i12.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1593,15 +1594,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ), ) as _i12.Balance); @override - _i22.Future updateCachedBalance(_i12.Balance? balance) => + _i21.Future updateCachedBalance(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i12.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1617,15 +1618,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ), ) as _i12.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i12.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i13.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1636,13 +1637,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future< - _i15.Tuple4<_i16.Transaction, List<_i16.Output>, List<_i16.Input>, - _i16.Address>> parseTransaction( + _i21.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i16.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1658,10 +1657,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { walletId, ], ), - returnValue: _i22.Future< - _i15.Tuple4<_i16.Transaction, List<_i16.Output>, List<_i16.Input>, - _i16.Address>>.value(_FakeTuple4_13<_i16.Transaction, - List<_i16.Output>, List<_i16.Input>, _i16.Address>( + returnValue: + _i21.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>.value( + _FakeTuple2_13<_i16.Transaction, _i16.Address>( this, Invocation.method( #parseTransaction, @@ -1675,53 +1673,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ], ), )), - ) as _i22.Future< - _i15.Tuple4<_i16.Transaction, List<_i16.Output>, List<_i16.Input>, - _i16.Address>>); + ) as _i21.Future<_i15.Tuple2<_i16.Transaction, _i16.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i14.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i13.MainDB? db, required _i10.ElectrumX? electrumXClient, required _i7.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i16.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i16.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i27.DerivePathType derivePathType, + required _i26.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i27.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1737,7 +1728,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1748,79 +1740,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i16.Address> currentReceivingPaynymAddress( - _i18.PaymentCode? sender) => + _i21.Future<_i16.Address> currentReceivingPaynymAddress( + _i17.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i18.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i17.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i17.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i17.BIP32>.value(_FakeBIP32_15( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i17.BIP32>); - @override - _i22.Future<_i28.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i27.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), - ) as _i22.Future<_i28.Uint8List>); + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); @override - _i22.Future<_i28.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i27.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1829,48 +1809,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), - ) as _i22.Future<_i28.Uint8List>); + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); @override - _i22.Future<_i18.PaymentCode> getPaymentCode( - _i27.DerivePathType? derivePathType) => + _i21.Future<_i17.PaymentCode> getPaymentCode( + _i26.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i18.PaymentCode>.value(_FakePaymentCode_16( + returnValue: _i21.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i18.PaymentCode>); + ) as _i21.Future<_i17.PaymentCode>); @override - _i22.Future<_i28.Uint8List> signWithNotificationKey(_i28.Uint8List? data) => + _i21.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), - ) as _i22.Future<_i28.Uint8List>); + returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i21.Future<_i27.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i18.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i17.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1885,12 +1866,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i16.Address> nextUnusedSendAddressFrom({ - required _i18.PaymentCode? pCode, - required _i28.Uint8List? privateKey, + _i21.Future<_i16.Address> nextUnusedSendAddressFrom({ + required _i17.PaymentCode? pCode, + required _i27.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1903,7 +1884,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1915,9 +1896,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1935,10 +1916,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1946,19 +1927,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i18.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i16.Transaction? transaction, required _i16.Address? myNotificationAddress, }) => @@ -1971,31 +1952,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i18.PaymentCode?>.value(), - ) as _i22.Future<_i18.PaymentCode?>); + returnValue: _i21.Future<_i17.PaymentCode?>.value(), + ) as _i21.Future<_i17.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i18.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i17.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -2010,12 +1991,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i18.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i17.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2028,15 +2009,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i16.Address> generatePaynymSendAddressFromKeyPair({ required _i14.ECPair? pair, required int? derivationIndex, - required _i27.DerivePathType? derivePathType, - required _i18.PaymentCode? toPaymentCode, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -2049,7 +2030,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -2062,13 +2043,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future<_i16.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i16.Address> generatePaynymReceivingAddressFromKeyPair({ required _i14.ECPair? pair, required int? derivationIndex, - required _i27.DerivePathType? derivePathType, - required _i18.PaymentCode? fromPaymentCode, + required _i26.DerivePathType? derivePathType, + required _i17.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -2081,7 +2062,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -2094,56 +2075,56 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future<_i16.Address> getMyNotificationAddress( - _i27.DerivePathType? derivePathType) => + _i21.Future<_i16.Address> getMyNotificationAddress( + _i26.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i16.Address>.value(_FakeAddress_14( + returnValue: _i21.Future<_i16.Address>.value(_FakeAddress_14( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i16.Address>); + ) as _i21.Future<_i16.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i29.LocaleService { +class MockLocaleService extends _i1.Mock implements _i28.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -2159,17 +2140,17 @@ class MockLocaleService extends _i1.Mock implements _i29.LocaleService { returnValue: false, ) as bool); @override - _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i21.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2177,7 +2158,7 @@ class MockLocaleService extends _i1.Mock implements _i29.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2205,7 +2186,7 @@ class MockLocaleService extends _i1.Mock implements _i29.LocaleService { /// A class which mocks [Prefs]. /// /// See the documentation for Mockito's code generation for more information. -class MockPrefs extends _i1.Mock implements _i23.Prefs { +class MockPrefs extends _i1.Mock implements _i22.Prefs { MockPrefs() { _i1.throwOnMissingStub(this); } @@ -2261,12 +2242,12 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - _i30.SyncingType get syncType => (super.noSuchMethod( + _i29.SyncingType get syncType => (super.noSuchMethod( Invocation.getter(#syncType), - returnValue: _i30.SyncingType.currentWalletOnly, - ) as _i30.SyncingType); + returnValue: _i29.SyncingType.currentWalletOnly, + ) as _i29.SyncingType); @override - set syncType(_i30.SyncingType? syncType) => super.noSuchMethod( + set syncType(_i29.SyncingType? syncType) => super.noSuchMethod( Invocation.setter( #syncType, syncType, @@ -2326,12 +2307,12 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - _i31.ExchangeRateType get exchangeRateType => (super.noSuchMethod( + _i30.ExchangeRateType get exchangeRateType => (super.noSuchMethod( Invocation.getter(#exchangeRateType), - returnValue: _i31.ExchangeRateType.estimated, - ) as _i31.ExchangeRateType); + returnValue: _i30.ExchangeRateType.estimated, + ) as _i30.ExchangeRateType); @override - set exchangeRateType(_i31.ExchangeRateType? exchangeRateType) => + set exchangeRateType(_i30.ExchangeRateType? exchangeRateType) => super.noSuchMethod( Invocation.setter( #exchangeRateType, @@ -2413,12 +2394,12 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - _i32.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i31.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i32.BackupFrequencyType.everyTenMinutes, - ) as _i32.BackupFrequencyType); + returnValue: _i31.BackupFrequencyType.everyTenMinutes, + ) as _i31.BackupFrequencyType); @override - set backupFrequencyType(_i32.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i31.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -2488,51 +2469,51 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValue: false, ) as bool); @override - _i22.Future init() => (super.noSuchMethod( + _i21.Future init() => (super.noSuchMethod( Invocation.method( #init, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( + _i21.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( Invocation.method( #incrementCurrentNotificationIndex, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isExternalCallsSet() => (super.noSuchMethod( + _i21.Future isExternalCallsSet() => (super.noSuchMethod( Invocation.method( #isExternalCallsSet, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future saveUserID(String? userId) => (super.noSuchMethod( + _i21.Future saveUserID(String? userId) => (super.noSuchMethod( Invocation.method( #saveUserID, [userId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + _i21.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( Invocation.method( #saveSignupEpoch, [signupEpoch], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2540,7 +2521,7 @@ class MockPrefs extends _i1.Mock implements _i23.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2583,23 +2564,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2632,23 +2613,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i21.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i9.FeeObject>); + ) as _i21.Future<_i9.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2658,16 +2639,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i12.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i16.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i16.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i16.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2687,10 +2668,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2712,14 +2698,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2729,7 +2715,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2745,27 +2731,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2775,34 +2761,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2813,25 +2800,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2843,11 +2831,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2859,18 +2847,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2878,7 +2866,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2898,7 +2886,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2909,10 +2897,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2945,23 +2933,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( + returnValue: _i21.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i9.FeeObject>); + ) as _i21.Future<_i9.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2971,16 +2959,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i12.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i16.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i16.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i16.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -3000,10 +2988,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -3020,7 +3018,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -3036,36 +3034,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -3075,16 +3073,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -3095,43 +3094,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -3143,11 +3143,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -3159,24 +3159,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } diff --git a/test/widget_tests/managed_favorite_test.mocks.dart b/test/widget_tests/managed_favorite_test.mocks.dart index af879a800..89d6ae344 100644 --- a/test/widget_tests/managed_favorite_test.mocks.dart +++ b/test/widget_tests/managed_favorite_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,22 +17,22 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; -import 'package:stackwallet/models/node_model.dart' as _i29; +import 'package:stackwallet/models/node_model.dart' as _i28; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i28; +import 'package:stackwallet/services/locale_service.dart' as _i27; 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 _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i18; -import 'package:stackwallet/utilities/prefs.dart' as _i23; + as _i17; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -171,9 +170,9 @@ class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_12 extends _i1.SmartFake - implements _i14.Tuple4 { - _FakeTuple4_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -192,8 +191,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -202,8 +201,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakeSecureStorageInterface_15 extends _i1.SmartFake + implements _i17.SecureStorageInterface { + _FakeSecureStorageInterface_15( Object parent, Invocation parentInvocation, ) : super( @@ -212,20 +212,9 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { ); } -class _FakeSecureStorageInterface_16 extends _i1.SmartFake - implements _i18.SecureStorageInterface { - _FakeSecureStorageInterface_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -237,7 +226,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -304,7 +293,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -314,18 +303,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -389,17 +378,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -410,11 +399,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -422,7 +411,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -448,19 +437,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -475,13 +464,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -495,13 +484,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -514,46 +503,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -566,48 +555,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -619,20 +608,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -640,7 +629,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -668,13 +657,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -751,64 +740,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -905,27 +904,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i26.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i26.DerivePathType.bip44, - ) as _i26.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -936,52 +936,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -997,26 +998,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1034,33 +1035,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1070,35 +1071,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1112,13 +1113,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1131,50 +1132,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1214,7 +1215,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1222,10 +1223,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1243,10 +1244,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1258,11 +1259,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1274,8 +1275,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1294,25 +1295,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1325,14 +1326,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1342,14 +1343,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1359,15 +1360,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1383,15 +1384,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1407,15 +1408,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1426,13 +1427,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>> parseTransaction( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1448,10 +1447,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { walletId, ], ), - returnValue: _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, - List<_i15.Output>, List<_i15.Input>, _i15.Address>( + returnValue: + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1465,53 +1463,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), )), - ) as _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>); + ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i18.SecureStorageInterface? secureStorage, + required _i17.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i15.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i26.DerivePathType derivePathType, + required _i25.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i26.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1527,7 +1518,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1538,79 +1530,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i16.BIP32>); - @override - _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1619,48 +1599,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i17.PaymentCode> getPaymentCode( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i16.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i21.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i17.PaymentCode>); + ) as _i21.Future<_i16.PaymentCode>); @override - _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i21.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1675,12 +1656,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1693,7 +1674,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1705,9 +1686,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1725,10 +1706,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1736,19 +1717,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1761,31 +1742,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i17.PaymentCode?>.value(), - ) as _i22.Future<_i17.PaymentCode?>); + returnValue: _i21.Future<_i16.PaymentCode?>.value(), + ) as _i21.Future<_i16.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i17.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1800,12 +1781,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1818,15 +1799,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1839,7 +1820,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1852,13 +1833,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1871,7 +1852,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1884,56 +1865,56 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> getMyNotificationAddress( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i28.LocaleService { +class MockLocaleService extends _i1.Mock implements _i27.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1949,17 +1930,17 @@ class MockLocaleService extends _i1.Mock implements _i28.LocaleService { returnValue: false, ) as bool); @override - _i22.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i21.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1967,7 +1948,7 @@ class MockLocaleService extends _i1.Mock implements _i28.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -1997,41 +1978,41 @@ class MockLocaleService extends _i1.Mock implements _i28.LocaleService { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i17.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_16( + returnValue: _FakeSecureStorageInterface_15( this, Invocation.getter(#secureStorageInterface), ), - ) as _i18.SecureStorageInterface); + ) as _i17.SecureStorageInterface); @override - List<_i29.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - List<_i29.NodeModel> get nodes => (super.noSuchMethod( + List<_i28.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i29.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i28.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -2044,44 +2025,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i29.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i28.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i29.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i29.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i28.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i29.NodeModel? getNodeById({required String? id}) => + _i28.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i29.NodeModel?); + )) as _i28.NodeModel?); @override - List<_i29.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i28.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i29.NodeModel>[], - ) as List<_i29.NodeModel>); + returnValue: <_i28.NodeModel>[], + ) as List<_i28.NodeModel>); @override - _i22.Future add( - _i29.NodeModel? node, + _i21.Future add( + _i28.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2094,11 +2075,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -2110,11 +2091,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -2128,12 +2109,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i29.NodeModel? editedNode, + _i21.Future edit( + _i28.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -2146,20 +2127,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2167,7 +2148,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2210,23 +2191,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2259,23 +2240,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2285,16 +2266,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2314,10 +2295,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2339,14 +2325,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2356,7 +2342,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2372,27 +2358,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2402,34 +2388,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2440,25 +2427,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2470,11 +2458,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2486,18 +2474,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2505,7 +2493,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2525,7 +2513,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2536,10 +2524,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2572,23 +2560,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2598,16 +2586,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2627,10 +2615,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2647,7 +2645,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2663,36 +2661,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2702,16 +2700,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2722,43 +2721,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2770,11 +2770,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2786,24 +2786,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } diff --git a/test/widget_tests/table_view/table_view_row_test.mocks.dart b/test/widget_tests/table_view/table_view_row_test.mocks.dart index b5b252419..829d3a81b 100644 --- a/test/widget_tests/table_view/table_view_row_test.mocks.dart +++ b/test/widget_tests/table_view/table_view_row_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i21; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i23; +import 'dart:async' as _i20; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i22; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -19,19 +18,19 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; -import 'package:stackwallet/services/coins/coin_service.dart' as _i18; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i23; +import 'package:stackwallet/services/coins/coin_service.dart' as _i17; 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 _i19; +import 'package:stackwallet/services/wallets.dart' as _i18; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i19; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i26; -import 'package:stackwallet/utilities/prefs.dart' as _i22; + as _i25; +import 'package:stackwallet/utilities/prefs.dart' as _i21; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -169,9 +168,9 @@ class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_12 extends _i1.SmartFake - implements _i14.Tuple4 { - _FakeTuple4_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -190,8 +189,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -200,19 +199,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_16 extends _i1.SmartFake - implements _i18.CoinServiceAPI { - _FakeCoinServiceAPI_16( +class _FakeCoinServiceAPI_15 extends _i1.SmartFake + implements _i17.CoinServiceAPI { + _FakeCoinServiceAPI_15( Object parent, Invocation parentInvocation, ) : super( @@ -224,7 +213,7 @@ class _FakeCoinServiceAPI_16 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i19.Wallets { +class MockWallets extends _i1.Mock implements _i18.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -291,7 +280,7 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i20.Coin? coin}) => + List getWalletIdsFor({required _i19.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -301,18 +290,18 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValue: [], ) as List); @override - Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i20.Coin, + returnValue: <_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i20.Coin? coin) => + _i19.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -376,17 +365,17 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValueForMissingStub: null, ); @override - _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( + _i20.Future load(_i21.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future loadAfterStackRestore( - _i22.Prefs? prefs, + _i20.Future loadAfterStackRestore( + _i21.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -397,11 +386,11 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { managers, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -409,7 +398,7 @@ class MockWallets extends _i1.Mock implements _i19.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -435,19 +424,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i21.Future> get walletNames => + _i20.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i21.Future>.value( + returnValue: _i20.Future>.value( {}), - ) as _i21.Future>); + ) as _i20.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i21.Future renameWallet({ + _i20.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -462,13 +451,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future addExistingStackWallet({ + _i20.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i20.Coin? coin, + required _i19.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -482,13 +471,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future addNewWallet({ + _i20.Future addNewWallet({ required String? name, - required _i20.Coin? coin, + required _i19.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -501,46 +490,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i20.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i21.Future saveFavoriteWalletIds(List? walletIds) => + _i20.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i20.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i20.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future moveFavorite({ + _i20.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -553,48 +542,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i20.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i20.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future isMnemonicVerified({required String? walletId}) => + _i20.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future setMnemonicVerified({required String? walletId}) => + _i20.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future deleteWallet( + _i20.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -606,20 +595,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future refreshWallets(bool? shouldNotifyListeners) => + _i20.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -627,7 +616,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -655,13 +644,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i21.Timer? _timer) => super.noSuchMethod( + set timer(_i20.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -738,64 +727,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: false, ) as bool); @override - _i20.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i20.Coin.bitcoin, - ) as _i20.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override - _i21.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i21.Future>.value(<_i15.UTXO>[]), - ) as _i21.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override - _i21.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i21.Future>.value(<_i15.Transaction>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i21.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future get currentChangeAddress => (super.noSuchMethod( + _i20.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i20.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i21.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i21.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i21.Future get chainHeight => (super.noSuchMethod( + _i20.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -892,27 +891,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i21.Future exit() => (super.noSuchMethod( + _i20.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i25.DerivePathType addressType({required String? address}) => + _i24.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i25.DerivePathType.bip44, - ) as _i25.DerivePathType); + returnValue: _i24.DerivePathType.bip44, + ) as _i24.DerivePathType); @override - _i21.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -923,52 +923,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future getTransactionCacheEarly(List? allAddresses) => + _i20.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i20.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future getAllTxsToWatch() => (super.noSuchMethod( + _i20.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -984,26 +985,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1021,33 +1022,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i21.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future updateSentCachedTxData(Map? txData) => + _i20.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1057,35 +1058,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i20.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i20.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i21.Future<_i9.ElectrumXNode>); + ) as _i20.Future<_i9.ElectrumXNode>); @override - _i21.Future addDerivation({ + _i20.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i25.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1099,13 +1100,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future addDerivations({ + _i20.Future addDerivations({ required int? chain, - required _i25.DerivePathType? derivePathType, + required _i24.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1118,50 +1119,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future>> fastFetch( + _i20.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i21.Future>>.value( + returnValue: _i20.Future>>.value( >[]), - ) as _i21.Future>>); + ) as _i20.Future>>); @override - _i21.Future getTxCount({required String? address}) => + _i20.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future checkCurrentReceivingAddressesForTransactions() => + _i20.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future checkCurrentChangeAddressesForTransactions() => + _i20.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int estimateTxFee({ required int? vSize, @@ -1201,7 +1202,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, )); @override - _i21.Future> fetchBuildTxData( + _i20.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1209,10 +1210,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [utxosToUse], ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future> buildTransaction({ + _i20.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1230,10 +1231,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1245,11 +1246,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1261,8 +1262,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { feeRate, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override int roughFeeEstimate( int? inputCount, @@ -1281,25 +1282,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: 0, ) as int); @override - _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i20.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override void initCache( String? walletId, - _i20.Coin? coin, + _i19.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1312,14 +1313,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i21.Future updateCachedId(String? id) => (super.noSuchMethod( + _i20.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1329,14 +1330,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: 0, ) as int); @override - _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i20.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1346,15 +1347,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Future updateCachedIsFavorite(bool? isFavorite) => + _i20.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1370,15 +1371,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ), ) as _i11.Balance); @override - _i21.Future updateCachedBalance(_i11.Balance? balance) => + _i20.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1394,15 +1395,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ), ) as _i11.Balance); @override - _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i20.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1413,13 +1414,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i21.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>> parseTransaction( + _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i20.Coin? coin, + _i19.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1435,10 +1434,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { walletId, ], ), - returnValue: _i21.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, - List<_i15.Output>, List<_i15.Input>, _i15.Address>( + returnValue: + _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1452,53 +1450,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { ], ), )), - ) as _i21.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>); + ) as _i20.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i20.Coin? coin, + required _i19.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i26.SecureStorageInterface? secureStorage, + required _i25.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i21.Future> Function()? getMnemonic, - required _i21.Future Function()? getChainHeight, - required _i21.Future Function()? getCurrentChangeAddress, + required _i20.Future Function()? getMnemonicString, + required _i20.Future Function()? getMnemonicPassphrase, + required _i20.Future Function()? getChainHeight, + required _i20.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i21.Future> Function({ + required _i20.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i21.Future Function({required String address})? getTxCount, - required _i21.Future> Function(List<_i15.UTXO>)? + required _i20.Future Function({required String address})? getTxCount, + required _i20.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i21.Future Function()? refresh, - required _i21.Future Function()? checkChangeAddressForTransactions, - required _i21.Future Function({ + required _i20.Future Function()? refresh, + required _i20.Future Function()? checkChangeAddressForTransactions, + required _i20.Future Function({ required String address, required int chain, - required _i25.DerivePathType derivePathType, + required _i24.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i21.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i25.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1514,7 +1505,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1525,79 +1517,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i21.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i20.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i20.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i20.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i21.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i21.Future<_i16.BIP32>); - @override - _i21.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i20.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i21.Future<_i27.Uint8List>); + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); @override - _i21.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i20.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1606,48 +1586,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i21.Future<_i27.Uint8List>); + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); @override - _i21.Future<_i17.PaymentCode> getPaymentCode( - _i25.DerivePathType? derivePathType) => + _i20.Future<_i16.PaymentCode> getPaymentCode( + _i24.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i21.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i20.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i21.Future<_i17.PaymentCode>); + ) as _i20.Future<_i16.PaymentCode>); @override - _i21.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i20.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i21.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i21.Future<_i27.Uint8List>); + returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i20.Future<_i26.Uint8List>); @override - _i21.Future signStringWithNotificationKey(String? data) => + _i20.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i20.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1662,12 +1643,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i20.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1680,7 +1661,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1692,9 +1673,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future> prepareNotificationTx({ + _i20.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1712,10 +1693,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future broadcastNotificationTx( + _i20.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1723,19 +1704,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future hasConnected(String? paymentCodeString) => + _i20.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i20.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1748,31 +1729,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i21.Future<_i17.PaymentCode?>.value(), - ) as _i21.Future<_i17.PaymentCode?>); + returnValue: _i20.Future<_i16.PaymentCode?>.value(), + ) as _i20.Future<_i16.PaymentCode?>); @override - _i21.Future> + _i20.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i21.Future>.value(<_i17.PaymentCode>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i16.PaymentCode>[]), + ) as _i20.Future>); @override - _i21.Future checkForNotificationTransactionsTo( + _i20.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future restoreAllHistory({ + _i20.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1787,12 +1768,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i20.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1805,15 +1786,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i20.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i25.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i24.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1826,7 +1807,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1839,13 +1820,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i20.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i25.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i24.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1858,7 +1839,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1871,50 +1852,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { }, ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future<_i15.Address> getMyNotificationAddress( - _i25.DerivePathType? derivePathType) => + _i20.Future<_i15.Address> getMyNotificationAddress( + _i24.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i21.Future<_i15.Address>); + ) as _i20.Future<_i15.Address>); @override - _i21.Future> lookupKey(String? paymentCodeString) => + _i20.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); @override - _i21.Future paymentCodeStringByKey(String? key) => + _i20.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future storeCode(String? paymentCodeString) => + _i20.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); } /// A class which mocks [Manager]. @@ -1935,23 +1916,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i18.CoinServiceAPI get wallet => (super.noSuchMethod( + _i17.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_16( + returnValue: _FakeCoinServiceAPI_15( this, Invocation.getter(#wallet), ), - ) as _i18.CoinServiceAPI); + ) as _i17.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i20.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i20.Coin.bitcoin, - ) as _i20.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -1984,23 +1965,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i21.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i21.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2010,16 +1991,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i21.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i21.Future>.value(<_i15.Transaction>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i21.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i21.Future>.value(<_i15.UTXO>[]), - ) as _i21.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2039,10 +2020,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i21.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); + @override + _i20.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i20.Future.value(), + ) as _i20.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2064,14 +2050,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2081,7 +2067,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i21.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2097,27 +2083,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2127,34 +2113,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i21.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2165,25 +2152,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future exitCurrentWallet() => (super.noSuchMethod( + _i20.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2195,11 +2183,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2211,18 +2199,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2230,7 +2218,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2250,7 +2238,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i17.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2261,10 +2249,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i20.Coin get coin => (super.noSuchMethod( + _i19.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i20.Coin.bitcoin, - ) as _i20.Coin); + returnValue: _i19.Coin.bitcoin, + ) as _i19.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2297,23 +2285,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i21.Future<_i8.FeeObject>); + ) as _i20.Future<_i8.FeeObject>); @override - _i21.Future get maxFee => (super.noSuchMethod( + _i20.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future get currentReceivingAddress => (super.noSuchMethod( + _i20.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2323,16 +2311,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { ), ) as _i11.Balance); @override - _i21.Future> get transactions => (super.noSuchMethod( + _i20.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i21.Future>.value(<_i15.Transaction>[]), - ) as _i21.Future>); + _i20.Future>.value(<_i15.Transaction>[]), + ) as _i20.Future>); @override - _i21.Future> get utxos => (super.noSuchMethod( + _i20.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i21.Future>.value(<_i15.UTXO>[]), - ) as _i21.Future>); + returnValue: _i20.Future>.value(<_i15.UTXO>[]), + ) as _i20.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2352,10 +2340,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValue: '', ) as String); @override - _i21.Future> get mnemonic => (super.noSuchMethod( + _i20.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i21.Future>.value([]), - ) as _i21.Future>); + returnValue: _i20.Future>.value([]), + ) as _i20.Future>); + @override + _i20.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i20.Future.value(), + ) as _i20.Future); + @override + _i20.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i20.Future.value(), + ) as _i20.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2372,7 +2370,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValue: 0, ) as int); @override - _i21.Future> prepareSend({ + _i20.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2388,36 +2386,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { }, ), returnValue: - _i21.Future>.value({}), - ) as _i21.Future>); + _i20.Future>.value({}), + ) as _i20.Future>); @override - _i21.Future confirmSend({required Map? txData}) => + _i20.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i21.Future.value(''), - ) as _i21.Future); + returnValue: _i20.Future.value(''), + ) as _i20.Future); @override - _i21.Future refresh() => (super.noSuchMethod( + _i20.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2427,16 +2425,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { returnValue: false, ) as bool); @override - _i21.Future testNetworkConnection() => (super.noSuchMethod( + _i20.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future recoverFromMnemonic({ + _i20.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2447,43 +2446,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeNew() => (super.noSuchMethod( + _i20.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future initializeExisting() => (super.noSuchMethod( + _i20.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future exit() => (super.noSuchMethod( + _i20.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future fullRescan( + _i20.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2495,11 +2495,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); @override - _i21.Future estimateFeeFor( + _i20.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2511,24 +2511,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { feeRate, ], ), - returnValue: _i21.Future.value(0), - ) as _i21.Future); + returnValue: _i20.Future.value(0), + ) as _i20.Future); @override - _i21.Future generateNewAddress() => (super.noSuchMethod( + _i20.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i21.Future.value(false), - ) as _i21.Future); + returnValue: _i20.Future.value(false), + ) as _i20.Future); @override - _i21.Future updateSentCachedTxData(Map? txData) => + _i20.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i21.Future.value(), - returnValueForMissingStub: _i21.Future.value(), - ) as _i21.Future); + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); } diff --git a/test/widget_tests/wallet_card_test.mocks.dart b/test/widget_tests/wallet_card_test.mocks.dart index 6783c5f8b..6a48669ef 100644 --- a/test/widget_tests/wallet_card_test.mocks.dart +++ b/test/widget_tests/wallet_card_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i20; -import 'dart:typed_data' as _i26; -import 'dart:ui' as _i22; +import 'dart:async' as _i19; +import 'dart:typed_data' as _i25; +import 'dart:ui' as _i21; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -19,19 +18,19 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i23; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i22; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i27; +import 'package:stackwallet/services/locale_service.dart' as _i26; 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 _i18; +import 'package:stackwallet/services/wallets.dart' as _i17; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i19; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i24; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i18; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i23; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i25; -import 'package:stackwallet/utilities/prefs.dart' as _i21; + as _i24; +import 'package:stackwallet/utilities/prefs.dart' as _i20; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -169,9 +168,9 @@ class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_12 extends _i1.SmartFake - implements _i14.Tuple4 { - _FakeTuple4_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -190,18 +189,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -213,7 +202,7 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i18.Wallets { +class MockWallets extends _i1.Mock implements _i17.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -280,7 +269,7 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i19.Coin? coin}) => + List getWalletIdsFor({required _i18.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -290,18 +279,18 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValue: [], ) as List); @override - Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i18.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i19.Coin, + returnValue: <_i18.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i19.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i18.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i19.Coin? coin) => + _i18.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -365,17 +354,17 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValueForMissingStub: null, ); @override - _i20.Future load(_i21.Prefs? prefs) => (super.noSuchMethod( + _i19.Future load(_i20.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future loadAfterStackRestore( - _i21.Prefs? prefs, + _i19.Future loadAfterStackRestore( + _i20.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -386,11 +375,11 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { managers, ], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -398,7 +387,7 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -418,13 +407,13 @@ class MockWallets extends _i1.Mock implements _i18.Wallets { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i22.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i20.Timer? _timer) => super.noSuchMethod( + set timer(_i19.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -501,64 +490,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: false, ) as bool); @override - _i19.Coin get coin => (super.noSuchMethod( + _i18.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i19.Coin.bitcoin, - ) as _i19.Coin); + returnValue: _i18.Coin.bitcoin, + ) as _i18.Coin); @override - _i20.Future> get utxos => (super.noSuchMethod( + _i19.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i20.Future>.value(<_i15.UTXO>[]), - ) as _i20.Future>); + returnValue: _i19.Future>.value(<_i15.UTXO>[]), + ) as _i19.Future>); @override - _i20.Future> get transactions => (super.noSuchMethod( + _i19.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i20.Future>.value(<_i15.Transaction>[]), - ) as _i20.Future>); + _i19.Future>.value(<_i15.Transaction>[]), + ) as _i19.Future>); @override - _i20.Future get currentReceivingAddress => (super.noSuchMethod( + _i19.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future get currentChangeAddress => (super.noSuchMethod( + _i19.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i19.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i20.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i19.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i20.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i19.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i20.Future<_i8.FeeObject>); + ) as _i19.Future<_i8.FeeObject>); @override - _i20.Future get maxFee => (super.noSuchMethod( + _i19.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override - _i20.Future> get mnemonic => (super.noSuchMethod( + _i19.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i20.Future>.value([]), - ) as _i20.Future>); + returnValue: _i19.Future>.value([]), + ) as _i19.Future>); @override - _i20.Future get chainHeight => (super.noSuchMethod( + _i19.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i19.Future.value(), + ) as _i19.Future); + @override + _i19.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i19.Future.value(), + ) as _i19.Future); + @override + _i19.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -655,27 +654,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i20.Future exit() => (super.noSuchMethod( + _i19.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i24.DerivePathType addressType({required String? address}) => + _i23.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i24.DerivePathType.bip44, - ) as _i24.DerivePathType); + returnValue: _i23.DerivePathType.bip44, + ) as _i23.DerivePathType); @override - _i20.Future recoverFromMnemonic({ + _i19.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -686,52 +686,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future getTransactionCacheEarly(List? allAddresses) => + _i19.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i19.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override - _i20.Future getAllTxsToWatch() => (super.noSuchMethod( + _i19.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future refresh() => (super.noSuchMethod( + _i19.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future> prepareSend({ + _i19.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -747,26 +748,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future confirmSend({required Map? txData}) => + _i19.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future testNetworkConnection() => (super.noSuchMethod( + _i19.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -784,33 +785,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i20.Future initializeNew() => (super.noSuchMethod( + _i19.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future initializeExisting() => (super.noSuchMethod( + _i19.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future updateSentCachedTxData(Map? txData) => + _i19.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -820,35 +821,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: false, ) as bool); @override - _i20.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i19.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i19.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i20.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i19.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i20.Future<_i9.ElectrumXNode>); + ) as _i19.Future<_i9.ElectrumXNode>); @override - _i20.Future addDerivation({ + _i19.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i24.DerivePathType? derivePathType, + required _i23.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -862,13 +863,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future addDerivations({ + _i19.Future addDerivations({ required int? chain, - required _i24.DerivePathType? derivePathType, + required _i23.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -881,50 +882,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future>> fastFetch( + _i19.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i20.Future>>.value( + returnValue: _i19.Future>>.value( >[]), - ) as _i20.Future>>); + ) as _i19.Future>>); @override - _i20.Future getTxCount({required String? address}) => + _i19.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override - _i20.Future checkCurrentReceivingAddressesForTransactions() => + _i19.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future checkCurrentChangeAddressesForTransactions() => + _i19.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override int estimateTxFee({ required int? vSize, @@ -964,7 +965,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, )); @override - _i20.Future> fetchBuildTxData( + _i19.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -972,10 +973,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [utxosToUse], ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future> buildTransaction({ + _i19.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -993,10 +994,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future fullRescan( + _i19.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1008,11 +1009,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future estimateFeeFor( + _i19.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1024,8 +1025,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { feeRate, ], ), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override int roughFeeEstimate( int? inputCount, @@ -1044,25 +1045,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: 0, ) as int); @override - _i20.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i19.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i20.Future.value(0), - ) as _i20.Future); + returnValue: _i19.Future.value(0), + ) as _i19.Future); @override - _i20.Future generateNewAddress() => (super.noSuchMethod( + _i19.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override void initCache( String? walletId, - _i19.Coin? coin, + _i18.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1075,14 +1076,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i20.Future updateCachedId(String? id) => (super.noSuchMethod( + _i19.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1092,14 +1093,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: 0, ) as int); @override - _i20.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i19.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1109,15 +1110,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValue: false, ) as bool); @override - _i20.Future updateCachedIsFavorite(bool? isFavorite) => + _i19.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1133,15 +1134,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ), ) as _i11.Balance); @override - _i20.Future updateCachedBalance(_i11.Balance? balance) => + _i19.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1157,15 +1158,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ), ) as _i11.Balance); @override - _i20.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i19.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1176,13 +1177,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i20.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>> parseTransaction( + _i19.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i19.Coin? coin, + _i18.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1198,10 +1197,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { walletId, ], ), - returnValue: _i20.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, - List<_i15.Output>, List<_i15.Input>, _i15.Address>( + returnValue: + _i19.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1215,53 +1213,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { ], ), )), - ) as _i20.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>); + ) as _i19.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i19.Coin? coin, + required _i18.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i25.SecureStorageInterface? secureStorage, + required _i24.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i20.Future> Function()? getMnemonic, - required _i20.Future Function()? getChainHeight, - required _i20.Future Function()? getCurrentChangeAddress, + required _i19.Future Function()? getMnemonicString, + required _i19.Future Function()? getMnemonicPassphrase, + required _i19.Future Function()? getChainHeight, + required _i19.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i20.Future> Function({ + required _i19.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i20.Future Function({required String address})? getTxCount, - required _i20.Future> Function(List<_i15.UTXO>)? + required _i19.Future Function({required String address})? getTxCount, + required _i19.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i20.Future Function()? refresh, - required _i20.Future Function()? checkChangeAddressForTransactions, - required _i20.Future Function({ + required _i19.Future Function()? refresh, + required _i19.Future Function()? checkChangeAddressForTransactions, + required _i19.Future Function({ required String address, required int chain, - required _i24.DerivePathType derivePathType, + required _i23.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i20.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i24.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1277,7 +1268,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1288,79 +1280,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i20.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i19.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i19.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i19.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i20.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i20.Future<_i16.BIP32>); - @override - _i20.Future<_i26.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i19.Future<_i25.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), - ) as _i20.Future<_i26.Uint8List>); + returnValue: _i19.Future<_i25.Uint8List>.value(_i25.Uint8List(0)), + ) as _i19.Future<_i25.Uint8List>); @override - _i20.Future<_i26.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i19.Future<_i25.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1369,48 +1349,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), - ) as _i20.Future<_i26.Uint8List>); + returnValue: _i19.Future<_i25.Uint8List>.value(_i25.Uint8List(0)), + ) as _i19.Future<_i25.Uint8List>); @override - _i20.Future<_i17.PaymentCode> getPaymentCode( - _i24.DerivePathType? derivePathType) => + _i19.Future<_i16.PaymentCode> getPaymentCode( + _i23.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i20.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i19.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i20.Future<_i17.PaymentCode>); + ) as _i19.Future<_i16.PaymentCode>); @override - _i20.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => + _i19.Future<_i25.Uint8List> signWithNotificationKey(_i25.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i20.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), - ) as _i20.Future<_i26.Uint8List>); + returnValue: _i19.Future<_i25.Uint8List>.value(_i25.Uint8List(0)), + ) as _i19.Future<_i25.Uint8List>); @override - _i20.Future signStringWithNotificationKey(String? data) => + _i19.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i19.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1425,12 +1406,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i26.Uint8List? privateKey, + _i19.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i25.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1443,7 +1424,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1455,9 +1436,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future> prepareNotificationTx({ + _i19.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1475,10 +1456,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), returnValue: - _i20.Future>.value({}), - ) as _i20.Future>); + _i19.Future>.value({}), + ) as _i19.Future>); @override - _i20.Future broadcastNotificationTx( + _i19.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1486,19 +1467,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); @override - _i20.Future hasConnected(String? paymentCodeString) => + _i19.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i20.Future.value(false), - ) as _i20.Future); + returnValue: _i19.Future.value(false), + ) as _i19.Future); @override - _i20.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i19.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1511,31 +1492,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i20.Future<_i17.PaymentCode?>.value(), - ) as _i20.Future<_i17.PaymentCode?>); + returnValue: _i19.Future<_i16.PaymentCode?>.value(), + ) as _i19.Future<_i16.PaymentCode?>); @override - _i20.Future> + _i19.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i20.Future>.value(<_i17.PaymentCode>[]), - ) as _i20.Future>); + _i19.Future>.value(<_i16.PaymentCode>[]), + ) as _i19.Future>); @override - _i20.Future checkForNotificationTransactionsTo( + _i19.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future restoreAllHistory({ + _i19.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1550,12 +1531,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i19.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1568,15 +1549,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i19.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i24.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i23.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1589,7 +1570,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1602,13 +1583,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i19.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i24.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i23.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1621,7 +1602,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1634,56 +1615,56 @@ class MockBitcoinWallet extends _i1.Mock implements _i23.BitcoinWallet { }, ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future<_i15.Address> getMyNotificationAddress( - _i24.DerivePathType? derivePathType) => + _i19.Future<_i15.Address> getMyNotificationAddress( + _i23.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i20.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i19.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i20.Future<_i15.Address>); + ) as _i19.Future<_i15.Address>); @override - _i20.Future> lookupKey(String? paymentCodeString) => + _i19.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i20.Future>.value([]), - ) as _i20.Future>); + returnValue: _i19.Future>.value([]), + ) as _i19.Future>); @override - _i20.Future paymentCodeStringByKey(String? key) => + _i19.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + ) as _i19.Future); @override - _i20.Future storeCode(String? paymentCodeString) => + _i19.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i20.Future.value(''), - ) as _i20.Future); + returnValue: _i19.Future.value(''), + ) as _i19.Future); } /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i27.LocaleService { +class MockLocaleService extends _i1.Mock implements _i26.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -1699,17 +1680,17 @@ class MockLocaleService extends _i1.Mock implements _i27.LocaleService { returnValue: false, ) as bool); @override - _i20.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( + _i19.Future loadLocale({bool? notify = true}) => (super.noSuchMethod( Invocation.method( #loadLocale, [], {#notify: notify}, ), - returnValue: _i20.Future.value(), - returnValueForMissingStub: _i20.Future.value(), - ) as _i20.Future); + returnValue: _i19.Future.value(), + returnValueForMissingStub: _i19.Future.value(), + ) as _i19.Future); @override - void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -1717,7 +1698,7 @@ class MockLocaleService extends _i1.Mock implements _i27.LocaleService { returnValueForMissingStub: null, ); @override - void removeListener(_i22.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i21.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart index 97c97c181..aaa0a2baf 100644 --- a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart +++ b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,21 +17,21 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; -import 'package:stackwallet/models/node_model.dart' as _i28; +import 'package:stackwallet/models/node_model.dart' as _i27; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; 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 _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i18; -import 'package:stackwallet/utilities/prefs.dart' as _i23; + as _i17; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -170,9 +169,9 @@ class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_12 extends _i1.SmartFake - implements _i14.Tuple4 { - _FakeTuple4_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -191,8 +190,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -201,8 +200,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakeSecureStorageInterface_15 extends _i1.SmartFake + implements _i17.SecureStorageInterface { + _FakeSecureStorageInterface_15( Object parent, Invocation parentInvocation, ) : super( @@ -211,20 +211,9 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { ); } -class _FakeSecureStorageInterface_16 extends _i1.SmartFake - implements _i18.SecureStorageInterface { - _FakeSecureStorageInterface_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -236,7 +225,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -303,7 +292,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -313,18 +302,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -388,17 +377,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -409,11 +398,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -421,7 +410,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -447,19 +436,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -474,13 +463,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -494,13 +483,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -513,46 +502,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -565,48 +554,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -618,20 +607,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -639,7 +628,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -667,13 +656,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -750,64 +739,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -904,27 +903,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i26.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i26.DerivePathType.bip44, - ) as _i26.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -935,52 +935,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -996,26 +997,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1033,33 +1034,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1069,35 +1070,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1111,13 +1112,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1130,50 +1131,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1213,7 +1214,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1221,10 +1222,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1242,10 +1243,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1257,11 +1258,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1273,8 +1274,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1293,25 +1294,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1324,14 +1325,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1341,14 +1342,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1358,15 +1359,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1382,15 +1383,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1406,15 +1407,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1425,13 +1426,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>> parseTransaction( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1447,10 +1446,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { walletId, ], ), - returnValue: _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, - List<_i15.Output>, List<_i15.Input>, _i15.Address>( + returnValue: + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1464,53 +1462,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), )), - ) as _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>); + ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i18.SecureStorageInterface? secureStorage, + required _i17.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i15.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i26.DerivePathType derivePathType, + required _i25.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i26.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1526,7 +1517,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1537,79 +1529,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i16.BIP32>); - @override - _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1618,48 +1598,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i17.PaymentCode> getPaymentCode( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i16.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i21.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i17.PaymentCode>); + ) as _i21.Future<_i16.PaymentCode>); @override - _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i21.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1674,12 +1655,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1692,7 +1673,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1704,9 +1685,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1724,10 +1705,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1735,19 +1716,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1760,31 +1741,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i17.PaymentCode?>.value(), - ) as _i22.Future<_i17.PaymentCode?>); + returnValue: _i21.Future<_i16.PaymentCode?>.value(), + ) as _i21.Future<_i16.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i17.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1799,12 +1780,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1817,15 +1798,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1838,7 +1819,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1851,13 +1832,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1870,7 +1851,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1883,50 +1864,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> getMyNotificationAddress( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [NodeService]. @@ -1934,41 +1915,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i17.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_16( + returnValue: _FakeSecureStorageInterface_15( this, Invocation.getter(#secureStorageInterface), ), - ) as _i18.SecureStorageInterface); + ) as _i17.SecureStorageInterface); @override - List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i27.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - List<_i28.NodeModel> get nodes => (super.noSuchMethod( + List<_i27.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i28.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i27.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1981,44 +1962,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i27.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i27.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i28.NodeModel? getNodeById({required String? id}) => + _i27.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i27.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i22.Future add( - _i28.NodeModel? node, + _i21.Future add( + _i27.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2031,11 +2012,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -2047,11 +2028,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -2065,12 +2046,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i28.NodeModel? editedNode, + _i21.Future edit( + _i27.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -2083,20 +2064,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2104,7 +2085,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2147,23 +2128,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2196,23 +2177,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2222,16 +2203,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2251,10 +2232,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2276,14 +2262,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2293,7 +2279,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2309,27 +2295,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2339,34 +2325,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2377,25 +2364,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2407,11 +2395,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2423,18 +2411,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2442,7 +2430,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2462,7 +2450,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2473,10 +2461,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2509,23 +2497,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2535,16 +2523,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2564,10 +2552,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2584,7 +2582,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2600,36 +2598,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2639,16 +2637,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2659,43 +2658,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2707,11 +2707,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2723,24 +2723,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } 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 index a9ec4e231..2f252b0a8 100644 --- 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 @@ -3,12 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i22; -import 'dart:typed_data' as _i27; -import 'dart:ui' as _i24; +import 'dart:async' as _i21; +import 'dart:typed_data' as _i26; +import 'dart:ui' as _i23; -import 'package:bip32/bip32.dart' as _i16; -import 'package:bip47/bip47.dart' as _i17; +import 'package:bip47/bip47.dart' as _i16; import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; @@ -18,21 +17,21 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i15; -import 'package:stackwallet/models/node_model.dart' as _i28; +import 'package:stackwallet/models/node_model.dart' as _i27; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; -import 'package:stackwallet/services/coins/coin_service.dart' as _i19; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; +import 'package:stackwallet/services/coins/coin_service.dart' as _i18; 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 _i20; +import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i18; -import 'package:stackwallet/utilities/prefs.dart' as _i23; + as _i17; +import 'package:stackwallet/utilities/prefs.dart' as _i22; import 'package:tuple/tuple.dart' as _i14; // ignore_for_file: type=lint @@ -170,9 +169,9 @@ class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { ); } -class _FakeTuple4_12 extends _i1.SmartFake - implements _i14.Tuple4 { - _FakeTuple4_12( +class _FakeTuple2_12 extends _i1.SmartFake + implements _i14.Tuple2 { + _FakeTuple2_12( Object parent, Invocation parentInvocation, ) : super( @@ -191,8 +190,8 @@ class _FakeAddress_13 extends _i1.SmartFake implements _i15.Address { ); } -class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { - _FakeBIP32_14( +class _FakePaymentCode_14 extends _i1.SmartFake implements _i16.PaymentCode { + _FakePaymentCode_14( Object parent, Invocation parentInvocation, ) : super( @@ -201,8 +200,9 @@ class _FakeBIP32_14 extends _i1.SmartFake implements _i16.BIP32 { ); } -class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { - _FakePaymentCode_15( +class _FakeSecureStorageInterface_15 extends _i1.SmartFake + implements _i17.SecureStorageInterface { + _FakeSecureStorageInterface_15( Object parent, Invocation parentInvocation, ) : super( @@ -211,20 +211,9 @@ class _FakePaymentCode_15 extends _i1.SmartFake implements _i17.PaymentCode { ); } -class _FakeSecureStorageInterface_16 extends _i1.SmartFake - implements _i18.SecureStorageInterface { - _FakeSecureStorageInterface_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeCoinServiceAPI_17 extends _i1.SmartFake - implements _i19.CoinServiceAPI { - _FakeCoinServiceAPI_17( +class _FakeCoinServiceAPI_16 extends _i1.SmartFake + implements _i18.CoinServiceAPI { + _FakeCoinServiceAPI_16( Object parent, Invocation parentInvocation, ) : super( @@ -236,7 +225,7 @@ class _FakeCoinServiceAPI_17 extends _i1.SmartFake /// A class which mocks [Wallets]. /// /// See the documentation for Mockito's code generation for more information. -class MockWallets extends _i1.Mock implements _i20.Wallets { +class MockWallets extends _i1.Mock implements _i19.Wallets { MockWallets() { _i1.throwOnMissingStub(this); } @@ -303,7 +292,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - List getWalletIdsFor({required _i21.Coin? coin}) => + List getWalletIdsFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #getWalletIdsFor, @@ -313,18 +302,18 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValue: [], ) as List); @override - Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> + Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>> getManagerProvidersByCoin() => (super.noSuchMethod( Invocation.method( #getManagerProvidersByCoin, [], ), - returnValue: <_i21.Coin, + returnValue: <_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>{}, - ) as Map<_i21.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); + ) as Map<_i20.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>); @override List<_i5.ChangeNotifierProvider<_i6.Manager>> getManagerProvidersForCoin( - _i21.Coin? coin) => + _i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getManagerProvidersForCoin, @@ -388,17 +377,17 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - _i22.Future load(_i23.Prefs? prefs) => (super.noSuchMethod( + _i21.Future load(_i22.Prefs? prefs) => (super.noSuchMethod( Invocation.method( #load, [prefs], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future loadAfterStackRestore( - _i23.Prefs? prefs, + _i21.Future loadAfterStackRestore( + _i22.Prefs? prefs, List<_i6.Manager>? managers, ) => (super.noSuchMethod( @@ -409,11 +398,11 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { managers, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -421,7 +410,7 @@ class MockWallets extends _i1.Mock implements _i20.Wallets { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -447,19 +436,19 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { } @override - _i22.Future> get walletNames => + _i21.Future> get walletNames => (super.noSuchMethod( Invocation.getter(#walletNames), - returnValue: _i22.Future>.value( + returnValue: _i21.Future>.value( {}), - ) as _i22.Future>); + ) as _i21.Future>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future renameWallet({ + _i21.Future renameWallet({ required String? from, required String? to, required bool? shouldNotifyListeners, @@ -474,13 +463,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future addExistingStackWallet({ + _i21.Future addExistingStackWallet({ required String? name, required String? walletId, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -494,13 +483,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addNewWallet({ + _i21.Future addNewWallet({ required String? name, - required _i21.Coin? coin, + required _i20.Coin? coin, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -513,46 +502,46 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> getFavoriteWalletIds() => (super.noSuchMethod( + _i21.Future> getFavoriteWalletIds() => (super.noSuchMethod( Invocation.method( #getFavoriteWalletIds, [], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future saveFavoriteWalletIds(List? walletIds) => + _i21.Future saveFavoriteWalletIds(List? walletIds) => (super.noSuchMethod( Invocation.method( #saveFavoriteWalletIds, [walletIds], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future addFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #addFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future removeFavorite(String? walletId) => (super.noSuchMethod( + _i21.Future removeFavorite(String? walletId) => (super.noSuchMethod( Invocation.method( #removeFavorite, [walletId], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future moveFavorite({ + _i21.Future moveFavorite({ required int? fromIndex, required int? toIndex, }) => @@ -565,48 +554,48 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { #toIndex: toIndex, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkForDuplicate(String? name) => (super.noSuchMethod( + _i21.Future checkForDuplicate(String? name) => (super.noSuchMethod( Invocation.method( #checkForDuplicate, [name], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getWalletId(String? walletName) => (super.noSuchMethod( + _i21.Future getWalletId(String? walletName) => (super.noSuchMethod( Invocation.method( #getWalletId, [walletName], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future isMnemonicVerified({required String? walletId}) => + _i21.Future isMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #isMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future setMnemonicVerified({required String? walletId}) => + _i21.Future setMnemonicVerified({required String? walletId}) => (super.noSuchMethod( Invocation.method( #setMnemonicVerified, [], {#walletId: walletId}, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future deleteWallet( + _i21.Future deleteWallet( String? name, bool? shouldNotifyListeners, ) => @@ -618,20 +607,20 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future refreshWallets(bool? shouldNotifyListeners) => + _i21.Future refreshWallets(bool? shouldNotifyListeners) => (super.noSuchMethod( Invocation.method( #refreshWallets, [shouldNotifyListeners], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -639,7 +628,7 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -667,13 +656,13 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i24.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @override - set timer(_i22.Timer? _timer) => super.noSuchMethod( + set timer(_i21.Timer? _timer) => super.noSuchMethod( Invocation.setter( #timer, _timer, @@ -750,64 +739,74 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddress => (super.noSuchMethod( + _i21.Future get currentChangeAddress => (super.noSuchMethod( Invocation.getter(#currentChangeAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future get currentChangeAddressP2PKH => (super.noSuchMethod( + _i21.Future get currentChangeAddressP2PKH => (super.noSuchMethod( Invocation.getter(#currentChangeAddressP2PKH), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), returnValue: false, ) as bool); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future get chainHeight => (super.noSuchMethod( + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get chainHeight => (super.noSuchMethod( Invocation.getter(#chainHeight), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int get storedChainHeight => (super.noSuchMethod( Invocation.getter(#storedChainHeight), @@ -904,27 +903,28 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i13.NetworkType); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i26.DerivePathType addressType({required String? address}) => + _i25.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i26.DerivePathType.bip44, - ) as _i26.DerivePathType); + returnValue: _i25.DerivePathType.bip44, + ) as _i25.DerivePathType); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -935,52 +935,53 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future getTransactionCacheEarly(List? allAddresses) => + _i21.Future getTransactionCacheEarly(List? allAddresses) => (super.noSuchMethod( Invocation.method( #getTransactionCacheEarly, [allAddresses], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refreshIfThereIsNewData() => (super.noSuchMethod( + _i21.Future refreshIfThereIsNewData() => (super.noSuchMethod( Invocation.method( #refreshIfThereIsNewData, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future getAllTxsToWatch() => (super.noSuchMethod( + _i21.Future getAllTxsToWatch() => (super.noSuchMethod( Invocation.method( #getAllTxsToWatch, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -996,26 +997,26 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void startNetworkAlivePinging() => super.noSuchMethod( Invocation.method( @@ -1033,33 +1034,33 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -1069,35 +1070,35 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i21.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: _i21.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i9.ElectrumXNode>); + ) as _i21.Future<_i9.ElectrumXNode>); @override - _i22.Future addDerivation({ + _i21.Future addDerivation({ required int? chain, required String? address, required String? pubKey, required String? wif, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, }) => (super.noSuchMethod( Invocation.method( @@ -1111,13 +1112,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivePathType: derivePathType, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future addDerivations({ + _i21.Future addDerivations({ required int? chain, - required _i26.DerivePathType? derivePathType, + required _i25.DerivePathType? derivePathType, required Map? derivationsToAdd, }) => (super.noSuchMethod( @@ -1130,50 +1131,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #derivationsToAdd: derivationsToAdd, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future>> fastFetch( + _i21.Future>> fastFetch( List? allTxHashes) => (super.noSuchMethod( Invocation.method( #fastFetch, [allTxHashes], ), - returnValue: _i22.Future>>.value( + returnValue: _i21.Future>>.value( >[]), - ) as _i22.Future>>); + ) as _i21.Future>>); @override - _i22.Future getTxCount({required String? address}) => + _i21.Future getTxCount({required String? address}) => (super.noSuchMethod( Invocation.method( #getTxCount, [], {#address: address}, ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future checkCurrentReceivingAddressesForTransactions() => + _i21.Future checkCurrentReceivingAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentReceivingAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkCurrentChangeAddressesForTransactions() => + _i21.Future checkCurrentChangeAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkCurrentChangeAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int estimateTxFee({ required int? vSize, @@ -1213,7 +1214,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i21.Future> fetchBuildTxData( List<_i15.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1221,10 +1222,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future> buildTransaction({ + _i21.Future> buildTransaction({ required List<_i15.UTXO>? utxosToUse, required Map? utxoSigningData, required List? recipients, @@ -1242,10 +1243,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1257,11 +1258,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -1273,8 +1274,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override int roughFeeEstimate( int? inputCount, @@ -1293,25 +1294,25 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( + _i21.Future sweepAllEstimate(int? feeRate) => (super.noSuchMethod( Invocation.method( #sweepAllEstimate, [feeRate], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override void initCache( String? walletId, - _i21.Coin? coin, + _i20.Coin? coin, ) => super.noSuchMethod( Invocation.method( @@ -1324,14 +1325,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future updateCachedId(String? id) => (super.noSuchMethod( + _i21.Future updateCachedId(String? id) => (super.noSuchMethod( Invocation.method( #updateCachedId, [id], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override int getCachedChainHeight() => (super.noSuchMethod( Invocation.method( @@ -1341,14 +1342,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: 0, ) as int); @override - _i22.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( + _i21.Future updateCachedChainHeight(int? height) => (super.noSuchMethod( Invocation.method( #updateCachedChainHeight, [height], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool getCachedIsFavorite() => (super.noSuchMethod( Invocation.method( @@ -1358,15 +1359,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future updateCachedIsFavorite(bool? isFavorite) => + _i21.Future updateCachedIsFavorite(bool? isFavorite) => (super.noSuchMethod( Invocation.method( #updateCachedIsFavorite, [isFavorite], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( @@ -1382,15 +1383,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalance(_i11.Balance? balance) => + _i21.Future updateCachedBalance(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( @@ -1406,15 +1407,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ), ) as _i11.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i21.Future updateCachedBalanceSecondary(_i11.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, [balance], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( @@ -1425,13 +1426,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>> parseTransaction( + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>> parseTransaction( Map? txData, dynamic electrumxClient, List<_i15.Address>? myAddresses, - _i21.Coin? coin, + _i20.Coin? coin, int? minConfirms, String? walletId, ) => @@ -1447,10 +1446,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { walletId, ], ), - returnValue: _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>.value(_FakeTuple4_12<_i15.Transaction, - List<_i15.Output>, List<_i15.Input>, _i15.Address>( + returnValue: + _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>.value( + _FakeTuple2_12<_i15.Transaction, _i15.Address>( this, Invocation.method( #parseTransaction, @@ -1464,53 +1462,46 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { ], ), )), - ) as _i22.Future< - _i14.Tuple4<_i15.Transaction, List<_i15.Output>, List<_i15.Input>, - _i15.Address>>); + ) as _i21.Future<_i14.Tuple2<_i15.Transaction, _i15.Address>>); @override void initPaynymWalletInterface({ required String? walletId, required String? walletName, required _i13.NetworkType? network, - required _i21.Coin? coin, + required _i20.Coin? coin, required _i12.MainDB? db, required _i9.ElectrumX? electrumXClient, - required _i18.SecureStorageInterface? secureStorage, + required _i17.SecureStorageInterface? secureStorage, required int? dustLimitP2PKH, required int? minConfirms, - required _i22.Future> Function()? getMnemonic, - required _i22.Future Function()? getChainHeight, - required _i22.Future Function()? getCurrentChangeAddress, + required _i21.Future Function()? getMnemonicString, + required _i21.Future Function()? getMnemonicPassphrase, + required _i21.Future Function()? getChainHeight, + required _i21.Future Function()? getCurrentChangeAddress, required int Function({ required int feeRatePerKB, required int vSize, })? estimateTxFee, - required _i22.Future> Function({ + required _i21.Future> Function({ required String address, required int satoshiAmount, Map? args, })? prepareSend, - required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i15.UTXO>)? + required _i21.Future Function({required String address})? getTxCount, + required _i21.Future> Function(List<_i15.UTXO>)? fetchBuildTxData, - required _i22.Future Function()? refresh, - required _i22.Future Function()? checkChangeAddressForTransactions, - required _i22.Future Function({ + required _i21.Future Function()? refresh, + required _i21.Future Function()? checkChangeAddressForTransactions, + required _i21.Future Function({ required String address, required int chain, - required _i26.DerivePathType derivePathType, + required _i25.DerivePathType derivePathType, required String pubKey, required String wif, })? addDerivation, - required _i22.Future Function({ - required int chain, - required Map derivationsToAdd, - required _i26.DerivePathType derivePathType, - })? - addDerivations, }) => super.noSuchMethod( Invocation.method( @@ -1526,7 +1517,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #secureStorage: secureStorage, #dustLimitP2PKH: dustLimitP2PKH, #minConfirms: minConfirms, - #getMnemonic: getMnemonic, + #getMnemonicString: getMnemonicString, + #getMnemonicPassphrase: getMnemonicPassphrase, #getChainHeight: getChainHeight, #getCurrentChangeAddress: getCurrentChangeAddress, #estimateTxFee: estimateTxFee, @@ -1537,79 +1529,67 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #checkChangeAddressForTransactions: checkChangeAddressForTransactions, #addDerivation: addDerivation, - #addDerivations: addDerivations, }, ), returnValueForMissingStub: null, ); @override - _i22.Future<_i15.Address> currentReceivingPaynymAddress( - _i17.PaymentCode? sender) => + _i21.Future<_i15.Address> currentReceivingPaynymAddress( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #currentReceivingPaynymAddress, [sender], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #currentReceivingPaynymAddress, [sender], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future checkCurrentPaynymReceivingAddressForTransactions( - _i17.PaymentCode? sender) => + _i21.Future checkCurrentPaynymReceivingAddressForTransactions( + _i16.PaymentCode? sender) => (super.noSuchMethod( Invocation.method( #checkCurrentPaynymReceivingAddressForTransactions, [sender], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => + _i21.Future checkAllCurrentReceivingPaynymAddressesForTransactions() => (super.noSuchMethod( Invocation.method( #checkAllCurrentReceivingPaynymAddressesForTransactions, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i16.BIP32> getRootNode({required List? mnemonic}) => - (super.noSuchMethod( - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - returnValue: _i22.Future<_i16.BIP32>.value(_FakeBIP32_14( - this, - Invocation.method( - #getRootNode, - [], - {#mnemonic: mnemonic}, - ), - )), - ) as _i22.Future<_i16.BIP32>); - @override - _i22.Future<_i27.Uint8List> deriveNotificationPrivateKey( - {required List? mnemonic}) => + _i21.Future<_i26.Uint8List> deriveNotificationPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, + }) => (super.noSuchMethod( Invocation.method( #deriveNotificationPrivateKey, [], - {#mnemonic: mnemonic}, + { + #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, + }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i27.Uint8List> deriveReceivingPrivateKey({ - required List? mnemonic, + _i21.Future<_i26.Uint8List> deriveReceivingPrivateKey({ + required String? mnemonic, + required String? mnemonicPassphrase, required int? index, }) => (super.noSuchMethod( @@ -1618,48 +1598,49 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #index: index, }, ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future<_i17.PaymentCode> getPaymentCode( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i16.PaymentCode> getPaymentCode( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getPaymentCode, [derivePathType], ), - returnValue: _i22.Future<_i17.PaymentCode>.value(_FakePaymentCode_15( + returnValue: _i21.Future<_i16.PaymentCode>.value(_FakePaymentCode_14( this, Invocation.method( #getPaymentCode, [derivePathType], ), )), - ) as _i22.Future<_i17.PaymentCode>); + ) as _i21.Future<_i16.PaymentCode>); @override - _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => + _i21.Future<_i26.Uint8List> signWithNotificationKey(_i26.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), - ) as _i22.Future<_i27.Uint8List>); + returnValue: _i21.Future<_i26.Uint8List>.value(_i26.Uint8List(0)), + ) as _i21.Future<_i26.Uint8List>); @override - _i22.Future signStringWithNotificationKey(String? data) => + _i21.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( Invocation.method( #signStringWithNotificationKey, [data], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future> preparePaymentCodeSend({ - required _i17.PaymentCode? paymentCode, + _i21.Future> preparePaymentCodeSend({ + required _i16.PaymentCode? paymentCode, required int? satoshiAmount, Map? args, }) => @@ -1674,12 +1655,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future<_i15.Address> nextUnusedSendAddressFrom({ - required _i17.PaymentCode? pCode, - required _i27.Uint8List? privateKey, + _i21.Future<_i15.Address> nextUnusedSendAddressFrom({ + required _i16.PaymentCode? pCode, + required _i26.Uint8List? privateKey, int? startIndex = 0, }) => (super.noSuchMethod( @@ -1692,7 +1673,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #startIndex: startIndex, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #nextUnusedSendAddressFrom, @@ -1704,9 +1685,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> prepareNotificationTx({ + _i21.Future> prepareNotificationTx({ required int? selectedTxFeeRate, required String? targetPaymentCodeString, int? additionalOutputs = 0, @@ -1724,10 +1705,10 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future broadcastNotificationTx( + _i21.Future broadcastNotificationTx( {required Map? preparedTx}) => (super.noSuchMethod( Invocation.method( @@ -1735,19 +1716,19 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [], {#preparedTx: preparedTx}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future hasConnected(String? paymentCodeString) => + _i21.Future hasConnected(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #hasConnected, [paymentCodeString], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future<_i17.PaymentCode?> unBlindedPaymentCodeFromTransaction({ + _i21.Future<_i16.PaymentCode?> unBlindedPaymentCodeFromTransaction({ required _i15.Transaction? transaction, required _i15.Address? myNotificationAddress, }) => @@ -1760,31 +1741,31 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #myNotificationAddress: myNotificationAddress, }, ), - returnValue: _i22.Future<_i17.PaymentCode?>.value(), - ) as _i22.Future<_i17.PaymentCode?>); + returnValue: _i21.Future<_i16.PaymentCode?>.value(), + ) as _i21.Future<_i16.PaymentCode?>); @override - _i22.Future> + _i21.Future> getAllPaymentCodesFromNotificationTransactions() => (super.noSuchMethod( Invocation.method( #getAllPaymentCodesFromNotificationTransactions, [], ), returnValue: - _i22.Future>.value(<_i17.PaymentCode>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i16.PaymentCode>[]), + ) as _i21.Future>); @override - _i22.Future checkForNotificationTransactionsTo( + _i21.Future checkForNotificationTransactionsTo( Set? otherCodeStrings) => (super.noSuchMethod( Invocation.method( #checkForNotificationTransactionsTo, [otherCodeStrings], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreAllHistory({ + _i21.Future restoreAllHistory({ required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required Set? paymentCodeStrings, @@ -1799,12 +1780,12 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #paymentCodeStrings: paymentCodeStrings, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future restoreHistoryWith( - _i17.PaymentCode? other, + _i21.Future restoreHistoryWith( + _i16.PaymentCode? other, int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -1817,15 +1798,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymSendAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? toPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? toPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1838,7 +1819,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #toPaymentCode: toPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymSendAddressFromKeyPair, @@ -1851,13 +1832,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ + _i21.Future<_i15.Address> generatePaynymReceivingAddressFromKeyPair({ required _i13.ECPair? pair, required int? derivationIndex, - required _i26.DerivePathType? derivePathType, - required _i17.PaymentCode? fromPaymentCode, + required _i25.DerivePathType? derivePathType, + required _i16.PaymentCode? fromPaymentCode, }) => (super.noSuchMethod( Invocation.method( @@ -1870,7 +1851,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #fromPaymentCode: fromPaymentCode, }, ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #generatePaynymReceivingAddressFromKeyPair, @@ -1883,50 +1864,50 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future<_i15.Address> getMyNotificationAddress( - _i26.DerivePathType? derivePathType) => + _i21.Future<_i15.Address> getMyNotificationAddress( + _i25.DerivePathType? derivePathType) => (super.noSuchMethod( Invocation.method( #getMyNotificationAddress, [derivePathType], ), - returnValue: _i22.Future<_i15.Address>.value(_FakeAddress_13( + returnValue: _i21.Future<_i15.Address>.value(_FakeAddress_13( this, Invocation.method( #getMyNotificationAddress, [derivePathType], ), )), - ) as _i22.Future<_i15.Address>); + ) as _i21.Future<_i15.Address>); @override - _i22.Future> lookupKey(String? paymentCodeString) => + _i21.Future> lookupKey(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #lookupKey, [paymentCodeString], ), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); @override - _i22.Future paymentCodeStringByKey(String? key) => + _i21.Future paymentCodeStringByKey(String? key) => (super.noSuchMethod( Invocation.method( #paymentCodeStringByKey, [key], ), - returnValue: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future storeCode(String? paymentCodeString) => + _i21.Future storeCode(String? paymentCodeString) => (super.noSuchMethod( Invocation.method( #storeCode, [paymentCodeString], ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); } /// A class which mocks [NodeService]. @@ -1934,41 +1915,41 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { /// See the documentation for Mockito's code generation for more information. class MockNodeService extends _i1.Mock implements _i3.NodeService { @override - _i18.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( + _i17.SecureStorageInterface get secureStorageInterface => (super.noSuchMethod( Invocation.getter(#secureStorageInterface), - returnValue: _FakeSecureStorageInterface_16( + returnValue: _FakeSecureStorageInterface_15( this, Invocation.getter(#secureStorageInterface), ), - ) as _i18.SecureStorageInterface); + ) as _i17.SecureStorageInterface); @override - List<_i28.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i27.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - List<_i28.NodeModel> get nodes => (super.noSuchMethod( + List<_i27.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i22.Future updateDefaults() => (super.noSuchMethod( + _i21.Future updateDefaults() => (super.noSuchMethod( Invocation.method( #updateDefaults, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setPrimaryNodeFor({ - required _i21.Coin? coin, - required _i28.NodeModel? node, + _i21.Future setPrimaryNodeFor({ + required _i20.Coin? coin, + required _i27.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -1981,44 +1962,44 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i28.NodeModel? getPrimaryNodeFor({required _i21.Coin? coin}) => + _i27.NodeModel? getPrimaryNodeFor({required _i20.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> getNodesFor(_i21.Coin? coin) => (super.noSuchMethod( + List<_i27.NodeModel> getNodesFor(_i20.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i28.NodeModel? getNodeById({required String? id}) => + _i27.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i28.NodeModel?); + )) as _i27.NodeModel?); @override - List<_i28.NodeModel> failoverNodesFor({required _i21.Coin? coin}) => + List<_i27.NodeModel> failoverNodesFor({required _i20.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i28.NodeModel>[], - ) as List<_i28.NodeModel>); + returnValue: <_i27.NodeModel>[], + ) as List<_i27.NodeModel>); @override - _i22.Future add( - _i28.NodeModel? node, + _i21.Future add( + _i27.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2031,11 +2012,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future delete( + _i21.Future delete( String? id, bool? shouldNotifyListeners, ) => @@ -2047,11 +2028,11 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future setEnabledState( + _i21.Future setEnabledState( String? id, bool? enabled, bool? shouldNotifyListeners, @@ -2065,12 +2046,12 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future edit( - _i28.NodeModel? editedNode, + _i21.Future edit( + _i27.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -2083,20 +2064,20 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { shouldNotifyListeners, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateCommunityNodes() => (super.noSuchMethod( + _i21.Future updateCommunityNodes() => (super.noSuchMethod( Invocation.method( #updateCommunityNodes, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2104,7 +2085,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2147,23 +2128,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i19.CoinServiceAPI get wallet => (super.noSuchMethod( + _i18.CoinServiceAPI get wallet => (super.noSuchMethod( Invocation.getter(#wallet), - returnValue: _FakeCoinServiceAPI_17( + returnValue: _FakeCoinServiceAPI_16( this, Invocation.getter(#wallet), ), - ) as _i19.CoinServiceAPI); + ) as _i18.CoinServiceAPI); @override bool get hasBackgroundRefreshListener => (super.noSuchMethod( Invocation.getter(#hasBackgroundRefreshListener), returnValue: false, ) as bool); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2196,23 +2177,23 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2222,16 +2203,16 @@ class MockManager extends _i1.Mock implements _i6.Manager { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2251,10 +2232,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get isConnected => (super.noSuchMethod( Invocation.getter(#isConnected), @@ -2276,14 +2262,14 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override void dispose() => super.noSuchMethod( Invocation.method( @@ -2293,7 +2279,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2309,27 +2295,27 @@ class MockManager extends _i1.Mock implements _i6.Manager { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2339,34 +2325,35 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2377,25 +2364,26 @@ class MockManager extends _i1.Mock implements _i6.Manager { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exitCurrentWallet() => (super.noSuchMethod( + _i21.Future exitCurrentWallet() => (super.noSuchMethod( Invocation.method( #exitCurrentWallet, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2407,11 +2395,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2423,18 +2411,18 @@ class MockManager extends _i1.Mock implements _i6.Manager { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - void addListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -2442,7 +2430,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - void removeListener(_i24.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -2462,7 +2450,7 @@ class MockManager extends _i1.Mock implements _i6.Manager { /// A class which mocks [CoinServiceAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { +class MockCoinServiceAPI extends _i1.Mock implements _i18.CoinServiceAPI { @override set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) => super.noSuchMethod( @@ -2473,10 +2461,10 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i21.Coin get coin => (super.noSuchMethod( + _i20.Coin get coin => (super.noSuchMethod( Invocation.getter(#coin), - returnValue: _i21.Coin.bitcoin, - ) as _i21.Coin); + returnValue: _i20.Coin.bitcoin, + ) as _i20.Coin); @override bool get isRefreshing => (super.noSuchMethod( Invocation.getter(#isRefreshing), @@ -2509,23 +2497,23 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i21.Future<_i8.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i21.Future<_i8.FeeObject>.value(_FakeFeeObject_5( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i21.Future<_i8.FeeObject>); @override - _i22.Future get maxFee => (super.noSuchMethod( + _i21.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future get currentReceivingAddress => (super.noSuchMethod( + _i21.Future get currentReceivingAddress => (super.noSuchMethod( Invocation.getter(#currentReceivingAddress), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override _i11.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), @@ -2535,16 +2523,16 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { ), ) as _i11.Balance); @override - _i22.Future> get transactions => (super.noSuchMethod( + _i21.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), returnValue: - _i22.Future>.value(<_i15.Transaction>[]), - ) as _i22.Future>); + _i21.Future>.value(<_i15.Transaction>[]), + ) as _i21.Future>); @override - _i22.Future> get utxos => (super.noSuchMethod( + _i21.Future> get utxos => (super.noSuchMethod( Invocation.getter(#utxos), - returnValue: _i22.Future>.value(<_i15.UTXO>[]), - ) as _i22.Future>); + returnValue: _i21.Future>.value(<_i15.UTXO>[]), + ) as _i21.Future>); @override set walletName(String? newName) => super.noSuchMethod( Invocation.setter( @@ -2564,10 +2552,20 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: '', ) as String); @override - _i22.Future> get mnemonic => (super.noSuchMethod( + _i21.Future> get mnemonic => (super.noSuchMethod( Invocation.getter(#mnemonic), - returnValue: _i22.Future>.value([]), - ) as _i22.Future>); + returnValue: _i21.Future>.value([]), + ) as _i21.Future>); + @override + _i21.Future get mnemonicString => (super.noSuchMethod( + Invocation.getter(#mnemonicString), + returnValue: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future get mnemonicPassphrase => (super.noSuchMethod( + Invocation.getter(#mnemonicPassphrase), + returnValue: _i21.Future.value(), + ) as _i21.Future); @override bool get hasCalledExit => (super.noSuchMethod( Invocation.getter(#hasCalledExit), @@ -2584,7 +2582,7 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: 0, ) as int); @override - _i22.Future> prepareSend({ + _i21.Future> prepareSend({ required String? address, required int? satoshiAmount, Map? args, @@ -2600,36 +2598,36 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { }, ), returnValue: - _i22.Future>.value({}), - ) as _i22.Future>); + _i21.Future>.value({}), + ) as _i21.Future>); @override - _i22.Future confirmSend({required Map? txData}) => + _i21.Future confirmSend({required Map? txData}) => (super.noSuchMethod( Invocation.method( #confirmSend, [], {#txData: txData}, ), - returnValue: _i22.Future.value(''), - ) as _i22.Future); + returnValue: _i21.Future.value(''), + ) as _i21.Future); @override - _i22.Future refresh() => (super.noSuchMethod( + _i21.Future refresh() => (super.noSuchMethod( Invocation.method( #refresh, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( + _i21.Future updateNode(bool? shouldRefresh) => (super.noSuchMethod( Invocation.method( #updateNode, [shouldRefresh], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override bool validateAddress(String? address) => (super.noSuchMethod( Invocation.method( @@ -2639,16 +2637,17 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: false, ) as bool); @override - _i22.Future testNetworkConnection() => (super.noSuchMethod( + _i21.Future testNetworkConnection() => (super.noSuchMethod( Invocation.method( #testNetworkConnection, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future recoverFromMnemonic({ + _i21.Future recoverFromMnemonic({ required String? mnemonic, + String? mnemonicPassphrase, required int? maxUnusedAddressGap, required int? maxNumberOfIndexesToCheck, required int? height, @@ -2659,43 +2658,44 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { [], { #mnemonic: mnemonic, + #mnemonicPassphrase: mnemonicPassphrase, #maxUnusedAddressGap: maxUnusedAddressGap, #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck, #height: height, }, ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeNew() => (super.noSuchMethod( + _i21.Future initializeNew() => (super.noSuchMethod( Invocation.method( #initializeNew, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future initializeExisting() => (super.noSuchMethod( + _i21.Future initializeExisting() => (super.noSuchMethod( Invocation.method( #initializeExisting, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future exit() => (super.noSuchMethod( + _i21.Future exit() => (super.noSuchMethod( Invocation.method( #exit, [], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future fullRescan( + _i21.Future fullRescan( int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck, ) => @@ -2707,11 +2707,11 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { maxNumberOfIndexesToCheck, ], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); @override - _i22.Future estimateFeeFor( + _i21.Future estimateFeeFor( int? satoshiAmount, int? feeRate, ) => @@ -2723,24 +2723,24 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { feeRate, ], ), - returnValue: _i22.Future.value(0), - ) as _i22.Future); + returnValue: _i21.Future.value(0), + ) as _i21.Future); @override - _i22.Future generateNewAddress() => (super.noSuchMethod( + _i21.Future generateNewAddress() => (super.noSuchMethod( Invocation.method( #generateNewAddress, [], ), - returnValue: _i22.Future.value(false), - ) as _i22.Future); + returnValue: _i21.Future.value(false), + ) as _i21.Future); @override - _i22.Future updateSentCachedTxData(Map? txData) => + _i21.Future updateSentCachedTxData(Map? txData) => (super.noSuchMethod( Invocation.method( #updateSentCachedTxData, [txData], ), - returnValue: _i22.Future.value(), - returnValueForMissingStub: _i22.Future.value(), - ) as _i22.Future); + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); } From 174f849db088298e965c8878a19ad91bbc751862 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 7 Feb 2023 13:09:52 -0600 Subject: [PATCH 113/191] mb refcode --- lib/services/exchange/majestic_bank/majestic_bank_api.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index 09054c044..1aa2394c9 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -4,7 +4,6 @@ import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/exceptions/exchange/pair_unavailable_exception.dart'; -import 'package:stackwallet/external_api_keys.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order_calculation.dart'; @@ -17,6 +16,7 @@ class MajesticBankAPI { static const String scheme = "https"; static const String authority = "majesticbank.sc"; static const String version = "v1"; + static const kMajesticBankRefCode = "rjWugM"; MajesticBankAPI._(); From e1f5a2431a3e4fa49d158224f766fbcc9e110c19 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 7 Feb 2023 13:09:52 -0600 Subject: [PATCH 114/191] mb refcode --- lib/services/exchange/majestic_bank/majestic_bank_api.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/exchange/majestic_bank/majestic_bank_api.dart b/lib/services/exchange/majestic_bank/majestic_bank_api.dart index 09054c044..1aa2394c9 100644 --- a/lib/services/exchange/majestic_bank/majestic_bank_api.dart +++ b/lib/services/exchange/majestic_bank/majestic_bank_api.dart @@ -4,7 +4,6 @@ import 'package:decimal/decimal.dart'; import 'package:http/http.dart' as http; import 'package:stackwallet/exceptions/exchange/exchange_exception.dart'; import 'package:stackwallet/exceptions/exchange/pair_unavailable_exception.dart'; -import 'package:stackwallet/external_api_keys.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_limit.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order.dart'; import 'package:stackwallet/models/exchange/majestic_bank/mb_order_calculation.dart'; @@ -17,6 +16,7 @@ class MajesticBankAPI { static const String scheme = "https"; static const String authority = "majesticbank.sc"; static const String version = "v1"; + static const kMajesticBankRefCode = "rjWugM"; MajesticBankAPI._(); From 3104fdd856223bacd7967c8b88f8b63430b53d2e Mon Sep 17 00:00:00 2001 From: Diego Salazar Date: Tue, 7 Feb 2023 13:23:36 -0700 Subject: [PATCH 115/191] bump version (1.5.37, 122) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index fdb3436c1..36f39082f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Stack Wallet # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.36+121 +version: 1.5.37+122 environment: sdk: ">=2.17.0 <3.0.0" From c034413bc7cfb3b02765383d05558aa167cdd701 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 7 Feb 2023 15:11:22 -0600 Subject: [PATCH 116/191] do not attempt to recover address or tx data from hive --- lib/utilities/db_version_migration.dart | 354 +----------------------- 1 file changed, 5 insertions(+), 349 deletions(-) diff --git a/lib/utilities/db_version_migration.dart b/lib/utilities/db_version_migration.dart index 45c15ab82..ffaf91912 100644 --- a/lib/utilities/db_version_migration.dart +++ b/lib/utilities/db_version_migration.dart @@ -1,12 +1,8 @@ -import 'dart:convert'; - import 'package:hive/hive.dart'; -import 'package:stackwallet/db/main_db.dart'; import 'package:stackwallet/electrumx_rpc/electrumx.dart'; import 'package:stackwallet/hive/db.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; -import 'package:stackwallet/models/isar/models/isar_models.dart' as isar_models; import 'package:stackwallet/models/models.dart'; import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; @@ -15,10 +11,8 @@ import 'package:stackwallet/services/wallets_service.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; -import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; -import 'package:tuple/tuple.dart'; class DbVersionMigrator with WalletDB { Future migrate( @@ -207,206 +201,9 @@ class DbVersionMigrator with WalletDB { final walletBox = await Hive.openBox(info.walletId); - final receiveDerivePrefix = "${walletId}_receiveDerivations"; - final changeDerivePrefix = "${walletId}_changeDerivations"; - const receiveAddressesPrefix = "receivingAddresses"; const changeAddressesPrefix = "changeAddresses"; - final p2pkhRcvDerivations = - (await secureStore.read(key: receiveDerivePrefix)) ?? - (await secureStore.read(key: "${receiveDerivePrefix}P2PKH")); - final p2shRcvDerivations = - await secureStore.read(key: "${receiveDerivePrefix}P2SH"); - final p2wpkhRcvDerivations = - await secureStore.read(key: "${receiveDerivePrefix}P2WPKH"); - - final p2pkhCngDerivations = - (await secureStore.read(key: changeDerivePrefix)) ?? - (await secureStore.read(key: "${changeDerivePrefix}P2PKH")); - final p2shCngDerivations = - await secureStore.read(key: "${changeDerivePrefix}P2SH"); - final p2wpkhCngDerivations = - await secureStore.read(key: "${changeDerivePrefix}P2WPKH"); - - // useless? - // const receiveIndexPrefix = "receivingIndex"; - // const changeIndexPrefix = "changeIndex"; - // final p2pkhRcvIndex = walletBox.get(receiveIndexPrefix) as int? ?? - // walletBox.get("${receiveIndexPrefix}P2PKH") as int?; - // final p2shRcvIndex = - // walletBox.get("${receiveIndexPrefix}P2SH") as int?; - // final p2wpkhRcvIndex = - // walletBox.get("${receiveIndexPrefix}P2WPKH") as int?; - // - // final p2pkhCngIndex = walletBox.get(changeIndexPrefix) as int? ?? - // walletBox.get("${changeIndexPrefix}P2PKH") as int?; - // final p2shCngIndex = - // walletBox.get("${changeIndexPrefix}P2SH") as int?; - // final p2wpkhCngIndex = - // walletBox.get("${changeIndexPrefix}P2WPKH") as int?; - - final List newAddresses = []; - - if (p2pkhRcvDerivations != null) { - newAddresses.addAll( - _v4GetAddressesFromDerivationString( - p2pkhRcvDerivations, - isar_models.AddressType.p2pkh, - isar_models.AddressSubType.receiving, - walletId, - ), - ); - } - - if (p2shRcvDerivations != null) { - newAddresses.addAll( - _v4GetAddressesFromDerivationString( - p2shRcvDerivations, - isar_models.AddressType.p2sh, - isar_models.AddressSubType.receiving, - walletId, - ), - ); - } - - if (p2wpkhRcvDerivations != null) { - newAddresses.addAll( - _v4GetAddressesFromDerivationString( - p2wpkhRcvDerivations, - isar_models.AddressType.p2wpkh, - isar_models.AddressSubType.receiving, - walletId, - ), - ); - } - - if (p2pkhCngDerivations != null) { - newAddresses.addAll( - _v4GetAddressesFromDerivationString( - p2pkhCngDerivations, - isar_models.AddressType.p2pkh, - isar_models.AddressSubType.change, - walletId, - ), - ); - } - - if (p2shCngDerivations != null) { - newAddresses.addAll( - _v4GetAddressesFromDerivationString( - p2shCngDerivations, - isar_models.AddressType.p2sh, - isar_models.AddressSubType.change, - walletId, - ), - ); - } - - if (p2wpkhCngDerivations != null) { - newAddresses.addAll( - _v4GetAddressesFromDerivationString( - p2wpkhCngDerivations, - isar_models.AddressType.p2wpkh, - isar_models.AddressSubType.change, - walletId, - ), - ); - } - - final currentNewSet = newAddresses.map((e) => e.value).toSet(); - - final p2pkhRcvAddresses = _v4GetAddressesFromList( - _getList(walletBox.get(receiveAddressesPrefix) ?? - walletBox.get("${receiveAddressesPrefix}P2PKH")), - isar_models.AddressType.p2pkh, - isar_models.AddressSubType.receiving, - walletId); - for (final address in p2pkhRcvAddresses) { - if (!currentNewSet.contains(address.value)) { - newAddresses.add(address); - } - } - - final p2shRcvAddresses = _v4GetAddressesFromList( - _getList(walletBox.get("${receiveAddressesPrefix}P2SH")), - isar_models.AddressType.p2sh, - isar_models.AddressSubType.receiving, - walletId); - for (final address in p2shRcvAddresses) { - if (!currentNewSet.contains(address.value)) { - newAddresses.add(address); - } - } - - final p2wpkhRcvAddresses = _v4GetAddressesFromList( - _getList(walletBox.get("${receiveAddressesPrefix}P2WPKH")), - isar_models.AddressType.p2wpkh, - isar_models.AddressSubType.receiving, - walletId); - for (final address in p2wpkhRcvAddresses) { - if (!currentNewSet.contains(address.value)) { - newAddresses.add(address); - } - } - - final p2pkhCngAddresses = _v4GetAddressesFromList( - _getList(walletBox.get(changeAddressesPrefix) ?? - walletBox.get("${changeAddressesPrefix}P2PKH")), - isar_models.AddressType.p2wpkh, - isar_models.AddressSubType.change, - walletId); - for (final address in p2pkhCngAddresses) { - if (!currentNewSet.contains(address.value)) { - newAddresses.add(address); - } - } - - final p2shCngAddresses = _v4GetAddressesFromList( - _getList(walletBox.get("${changeAddressesPrefix}P2SH")), - isar_models.AddressType.p2wpkh, - isar_models.AddressSubType.change, - walletId); - for (final address in p2shCngAddresses) { - if (!currentNewSet.contains(address.value)) { - newAddresses.add(address); - } - } - - final p2wpkhCngAddresses = _v4GetAddressesFromList( - _getList(walletBox.get("${changeAddressesPrefix}P2WPKH")), - isar_models.AddressType.p2wpkh, - isar_models.AddressSubType.change, - walletId); - for (final address in p2wpkhCngAddresses) { - if (!currentNewSet.contains(address.value)) { - newAddresses.add(address); - } - } - - // transactions - final txnData = walletBox.get("latest_tx_model") as TransactionData?; - final txns = txnData?.getAllTransactions().values ?? []; - final txnDataLelantus = - walletBox.get("latest_lelantus_tx_model") as TransactionData?; - final txnsLelantus = txnDataLelantus?.getAllTransactions().values ?? []; - - final List> - newTransactions = []; - - newTransactions - .addAll(_parseTransactions(txns, walletId, false, newAddresses)); - newTransactions.addAll( - _parseTransactions(txnsLelantus, walletId, true, newAddresses)); - - // store newly parsed data in isar - await MainDB.instance.initMainDB(); - initWalletDB(); - await db.isar.writeTxn(() async { - await db.isar.addresses.putAll(newAddresses); - }); - await db.addNewTransactionData(newTransactions, walletId); - // delete data from hive await walletBox.delete(receiveAddressesPrefix); await walletBox.delete("${receiveAddressesPrefix}P2PKH"); @@ -418,154 +215,13 @@ class DbVersionMigrator with WalletDB { await walletBox.delete("${changeAddressesPrefix}P2WPKH"); await walletBox.delete("latest_tx_model"); await walletBox.delete("latest_lelantus_tx_model"); - } - } - List> - _parseTransactions( - Iterable txns, - String walletId, - bool isLelantus, - List parsedAddresses, - ) { - List> transactions = - []; - for (final tx in txns) { - final type = tx.txType.toLowerCase() == "received" - ? isar_models.TransactionType.incoming - : isar_models.TransactionType.outgoing; - final subType = tx.subType.toLowerCase() == "mint" - ? isar_models.TransactionSubType.mint - : tx.subType.toLowerCase() == "join" - ? isar_models.TransactionSubType.join - : isar_models.TransactionSubType.none; - - final List inputs = []; - final List outputs = []; - - for (final inp in tx.inputs) { - final input = isar_models.Input( - txid: inp.txid, - vout: inp.vout, - scriptSig: inp.scriptsig, - scriptSigAsm: inp.scriptsigAsm, - isCoinbase: inp.isCoinbase, - sequence: inp.sequence, - innerRedeemScriptAsm: inp.innerRedeemscriptAsm, - ); - inputs.add(input); + // set empty mnemonic passphrase as we used that by default before + if ((await secureStore.read(key: '${walletId}_mnemonicPassphrase')) == + null) { + await secureStore.write( + key: '${walletId}_mnemonicPassphrase', value: ""); } - for (final out in tx.outputs) { - final output = isar_models.Output( - scriptPubKey: out.scriptpubkey, - scriptPubKeyAsm: out.scriptpubkeyAsm, - scriptPubKeyType: out.scriptpubkeyType, - scriptPubKeyAddress: out.scriptpubkeyAddress, - value: out.value, - ); - outputs.add(output); - } - - final transaction = isar_models.Transaction( - walletId: walletId, - txid: tx.txid, - timestamp: tx.timestamp, - type: type, - subType: subType, - amount: tx.amount, - fee: tx.fees, - height: tx.height, - isCancelled: tx.isCancelled, - isLelantus: false, - slateId: tx.slateId, - otherData: tx.otherData, - inputs: inputs, - outputs: outputs, - ); - - isar_models.Address? address; - if (tx.address.isNotEmpty) { - final addresses = parsedAddresses.where((e) => e.value == tx.address); - if (addresses.isNotEmpty) { - address = addresses.first; - } else { - address = isar_models.Address( - walletId: walletId, - value: tx.address, - publicKey: [], - derivationIndex: -1, - derivationPath: null, - type: isar_models.AddressType.unknown, - subType: type == isar_models.TransactionType.incoming - ? isar_models.AddressSubType.receiving - : isar_models.AddressSubType.unknown, - ); - } - } - - transactions.add(Tuple2(transaction, address)); } - return transactions; - } - - List _v4GetAddressesFromDerivationString( - String derivationsString, - isar_models.AddressType type, - isar_models.AddressSubType subType, - String walletId, - ) { - final List addresses = []; - - final derivations = - Map.from(jsonDecode(derivationsString) as Map); - - for (final entry in derivations.entries) { - final addr = entry.value["address"] as String? ?? entry.key; - final pubKey = entry.value["pubKey"] as String? ?? - entry.value["publicKey"] as String; - final index = int.tryParse(entry.key) ?? -1; - - final address = isar_models.Address( - walletId: walletId, - value: addr, - publicKey: Format.stringToUint8List(pubKey), - derivationIndex: index, - derivationPath: null, // we have no idea what the full path is - type: type, - subType: subType, - ); - addresses.add(address); - } - - return addresses; - } - - List _v4GetAddressesFromList( - List addressStrings, - isar_models.AddressType type, - isar_models.AddressSubType subType, - String walletId, - ) { - final List addresses = []; - - for (final addr in addressStrings) { - final address = isar_models.Address( - walletId: walletId, - value: addr, - publicKey: [], - derivationIndex: -1, - derivationPath: null, // index unknown - type: type, - subType: subType, - ); - addresses.add(address); - } - - return addresses; - } - - List _getList(dynamic list) { - if (list == null) return []; - return List.from(list as List); } } From 998967245ed23c7f44e942fe78611d5811482eec Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 07:29:27 -0600 Subject: [PATCH 117/191] migrate wallet on open --- lib/pages/wallet_view/wallet_view.dart | 796 +++++++++--------- .../wallet_view/desktop_wallet_view.dart | 485 ++++++----- lib/services/coins/manager.dart | 15 + lib/utilities/constants.dart | 5 +- lib/utilities/db_version_migration.dart | 8 + lib/widgets/custom_loading_overlay.dart | 35 +- 6 files changed, 737 insertions(+), 607 deletions(-) diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index 02e3be244..33d5fdd0e 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -38,6 +38,7 @@ import 'package:stackwallet/utilities/enums/wallet_balance_toggle_state.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; @@ -77,6 +78,8 @@ class _WalletViewState extends ConsumerState { late StreamSubscription _syncStatusSubscription; late StreamSubscription _nodeStatusSubscription; + bool _rescanningOnOpen = false; + @override void initState() { walletId = widget.walletId; @@ -91,7 +94,18 @@ class _WalletViewState extends ConsumerState { _shouldDisableAutoSyncOnLogOut = false; } - ref.read(managerProvider).refresh(); + if (ref.read(managerProvider).rescanOnOpenVersion == Constants.rescanV1) { + _rescanningOnOpen = true; + ref.read(managerProvider).fullRescan(20, 1000).then( + (_) => ref.read(managerProvider).resetRescanOnOpen().then( + (_) => WidgetsBinding.instance.addPostFrameCallback( + (_) => setState(() => _rescanningOnOpen = false), + ), + ), + ); + } else { + ref.read(managerProvider).refresh(); + } if (ref.read(managerProvider).isRefreshing) { _currentSyncStatus = WalletSyncStatus.syncing; @@ -372,418 +386,448 @@ class _WalletViewState extends ConsumerState { final coin = ref.watch(managerProvider.select((value) => value.coin)); - return WillPopScope( - onWillPop: _onWillPop, - child: Background( - child: Scaffold( - backgroundColor: - Theme.of(context).extension()!.background, - appBar: AppBar( - leading: AppBarBackButton( - onPressed: () { - _logout(); - Navigator.of(context).pop(); - }, - ), - titleSpacing: 0, - title: Row( - children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), - // color: Theme.of(context).extension()!.accentColorDark - width: 24, - height: 24, + return ConditionalParent( + condition: _rescanningOnOpen, + builder: (child) { + return WillPopScope( + onWillPop: () async => !_rescanningOnOpen, + child: Stack( + children: [ + child, + Background( + child: CustomLoadingOverlay( + message: + "Migration in progress\nThis could take a while\nPlease don't leave this screen", + subMessage: "This only needs to run once per wallet", + eventBus: null, + textColor: + Theme.of(context).extension()!.textDark, ), - const SizedBox( - width: 16, - ), - Expanded( - child: Text( - ref.watch( - managerProvider.select((value) => value.walletName)), - style: STextStyles.navBarTitle(context), - overflow: TextOverflow.ellipsis, - ), - ) - ], - ), - actions: [ - Padding( - padding: const EdgeInsets.only( - top: 10, - bottom: 10, - right: 10, - ), - child: AspectRatio( - aspectRatio: 1, - child: AppBarIconButton( - key: const Key("walletViewRadioButton"), - size: 36, - shadows: const [], - color: - Theme.of(context).extension()!.background, - icon: _buildNetworkIcon(_currentSyncStatus), - onPressed: () { - Navigator.of(context).pushNamed( - WalletNetworkSettingsView.routeName, - arguments: Tuple3( - walletId, - _currentSyncStatus, - _currentNodeStatus, - ), - ); - }, - ), - ), - ), - Padding( - padding: const EdgeInsets.only( - top: 10, - bottom: 10, - right: 10, - ), - child: AspectRatio( - aspectRatio: 1, - child: AppBarIconButton( - key: const Key("walletViewAlertsButton"), - size: 36, - shadows: const [], - color: - Theme.of(context).extension()!.background, - icon: SvgPicture.asset( - ref.watch(notificationsProvider.select((value) => - value.hasUnreadNotificationsFor(walletId))) - ? Assets.svg.bellNew(context) - : Assets.svg.bell, - width: 20, - height: 20, - color: ref.watch(notificationsProvider.select((value) => - value.hasUnreadNotificationsFor(walletId))) - ? null - : Theme.of(context) - .extension()! - .topNavIconPrimary, - ), - onPressed: () { - // reset unread state - ref.refresh(unreadNotificationsStateProvider); - - Navigator.of(context) - .pushNamed( - NotificationsView.routeName, - arguments: walletId, - ) - .then((_) { - final Set unreadNotificationIds = ref - .read(unreadNotificationsStateProvider.state) - .state; - if (unreadNotificationIds.isEmpty) return; - - List> futures = []; - for (int i = 0; - i < unreadNotificationIds.length - 1; - i++) { - futures.add(ref - .read(notificationsProvider) - .markAsRead( - unreadNotificationIds.elementAt(i), false)); - } - - // wait for multiple to update if any - Future.wait(futures).then((_) { - // only notify listeners once - ref - .read(notificationsProvider) - .markAsRead(unreadNotificationIds.last, true); - }); - }); - }, - ), - ), - ), - Padding( - padding: const EdgeInsets.only( - top: 10, - bottom: 10, - right: 10, - ), - child: AspectRatio( - aspectRatio: 1, - child: AppBarIconButton( - key: const Key("walletViewSettingsButton"), - size: 36, - shadows: const [], - color: - Theme.of(context).extension()!.background, - icon: SvgPicture.asset( - Assets.svg.bars, - color: Theme.of(context) - .extension()! - .accentColorDark, - width: 20, - height: 20, - ), - onPressed: () { - //todo: check if print needed - // debugPrint("wallet view settings tapped"); - Navigator.of(context).pushNamed( - WalletSettingsView.routeName, - arguments: Tuple4( - walletId, - ref.read(managerProvider).coin, - _currentSyncStatus, - _currentNodeStatus, - ), - ); - }, - ), - ), - ), + ) ], ), - body: SafeArea( - child: Container( - color: Theme.of(context).extension()!.background, - child: Column( + ); + }, + child: WillPopScope( + onWillPop: _onWillPop, + child: Background( + child: Scaffold( + backgroundColor: + Theme.of(context).extension()!.background, + appBar: AppBar( + leading: AppBarBackButton( + onPressed: () { + _logout(); + Navigator.of(context).pop(); + }, + ), + titleSpacing: 0, + title: Row( children: [ - const SizedBox( - height: 10, + SvgPicture.asset( + Assets.svg.iconFor(coin: coin), + // color: Theme.of(context).extension()!.accentColorDark + width: 24, + height: 24, ), - Center( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: WalletSummary( - walletId: walletId, - managerProvider: managerProvider, - initialSyncStatus: ref.watch(managerProvider - .select((value) => value.isRefreshing)) - ? WalletSyncStatus.syncing - : WalletSyncStatus.synced, - ), + const SizedBox( + width: 16, + ), + Expanded( + child: Text( + ref.watch( + managerProvider.select((value) => value.walletName)), + style: STextStyles.navBarTitle(context), + overflow: TextOverflow.ellipsis, + ), + ) + ], + ), + actions: [ + Padding( + padding: const EdgeInsets.only( + top: 10, + bottom: 10, + right: 10, + ), + child: AspectRatio( + aspectRatio: 1, + child: AppBarIconButton( + key: const Key("walletViewRadioButton"), + size: 36, + shadows: const [], + color: Theme.of(context) + .extension()! + .background, + icon: _buildNetworkIcon(_currentSyncStatus), + onPressed: () { + Navigator.of(context).pushNamed( + WalletNetworkSettingsView.routeName, + arguments: Tuple3( + walletId, + _currentSyncStatus, + _currentNodeStatus, + ), + ); + }, ), ), - if (coin == Coin.firo) + ), + Padding( + padding: const EdgeInsets.only( + top: 10, + bottom: 10, + right: 10, + ), + child: AspectRatio( + aspectRatio: 1, + child: AppBarIconButton( + key: const Key("walletViewAlertsButton"), + size: 36, + shadows: const [], + color: Theme.of(context) + .extension()! + .background, + icon: SvgPicture.asset( + ref.watch(notificationsProvider.select((value) => + value.hasUnreadNotificationsFor(walletId))) + ? Assets.svg.bellNew(context) + : Assets.svg.bell, + width: 20, + height: 20, + color: ref.watch(notificationsProvider.select((value) => + value.hasUnreadNotificationsFor(walletId))) + ? null + : Theme.of(context) + .extension()! + .topNavIconPrimary, + ), + onPressed: () { + // reset unread state + ref.refresh(unreadNotificationsStateProvider); + + Navigator.of(context) + .pushNamed( + NotificationsView.routeName, + arguments: walletId, + ) + .then((_) { + final Set unreadNotificationIds = ref + .read(unreadNotificationsStateProvider.state) + .state; + if (unreadNotificationIds.isEmpty) return; + + List> futures = []; + for (int i = 0; + i < unreadNotificationIds.length - 1; + i++) { + futures.add(ref + .read(notificationsProvider) + .markAsRead( + unreadNotificationIds.elementAt(i), false)); + } + + // wait for multiple to update if any + Future.wait(futures).then((_) { + // only notify listeners once + ref + .read(notificationsProvider) + .markAsRead(unreadNotificationIds.last, true); + }); + }); + }, + ), + ), + ), + Padding( + padding: const EdgeInsets.only( + top: 10, + bottom: 10, + right: 10, + ), + child: AspectRatio( + aspectRatio: 1, + child: AppBarIconButton( + key: const Key("walletViewSettingsButton"), + size: 36, + shadows: const [], + color: Theme.of(context) + .extension()! + .background, + icon: SvgPicture.asset( + Assets.svg.bars, + color: Theme.of(context) + .extension()! + .accentColorDark, + width: 20, + height: 20, + ), + onPressed: () { + //todo: check if print needed + // debugPrint("wallet view settings tapped"); + Navigator.of(context).pushNamed( + WalletSettingsView.routeName, + arguments: Tuple4( + walletId, + ref.read(managerProvider).coin, + _currentSyncStatus, + _currentNodeStatus, + ), + ); + }, + ), + ), + ), + ], + ), + body: SafeArea( + child: Container( + color: Theme.of(context).extension()!.background, + child: Column( + children: [ const SizedBox( height: 10, ), - if (coin == Coin.firo) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Row( - children: [ - Expanded( - child: TextButton( - style: Theme.of(context) - .extension()! - .getSecondaryEnabledButtonStyle(context), - onPressed: () async { - await showDialog( - context: context, - builder: (context) => StackDialog( - title: "Attention!", - message: - "You're about to anonymize all of your public funds.", - leftButton: TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: Text( - "Cancel", - style: STextStyles.button(context) - .copyWith( - color: Theme.of(context) - .extension()! - .accentColorDark, + Center( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: WalletSummary( + walletId: walletId, + managerProvider: managerProvider, + initialSyncStatus: ref.watch(managerProvider + .select((value) => value.isRefreshing)) + ? WalletSyncStatus.syncing + : WalletSyncStatus.synced, + ), + ), + ), + if (coin == Coin.firo) + const SizedBox( + height: 10, + ), + if (coin == Coin.firo) + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Row( + children: [ + Expanded( + child: TextButton( + style: Theme.of(context) + .extension()! + .getSecondaryEnabledButtonStyle(context), + onPressed: () async { + await showDialog( + context: context, + builder: (context) => StackDialog( + title: "Attention!", + message: + "You're about to anonymize all of your public funds.", + leftButton: TextButton( + onPressed: () { + Navigator.of(context).pop(); + }, + child: Text( + "Cancel", + style: STextStyles.button(context) + .copyWith( + color: Theme.of(context) + .extension()! + .accentColorDark, + ), + ), + ), + rightButton: TextButton( + onPressed: () async { + Navigator.of(context).pop(); + + unawaited(attemptAnonymize()); + }, + style: Theme.of(context) + .extension()! + .getPrimaryEnabledButtonStyle( + context), + child: Text( + "Continue", + style: STextStyles.button(context), ), ), ), - rightButton: TextButton( - onPressed: () async { - Navigator.of(context).pop(); - - unawaited(attemptAnonymize()); - }, - style: Theme.of(context) - .extension()! - .getPrimaryEnabledButtonStyle( - context), - child: Text( - "Continue", - style: STextStyles.button(context), - ), - ), + ); + }, + child: Text( + "Anonymize funds", + style: STextStyles.button(context).copyWith( + color: Theme.of(context) + .extension()! + .buttonTextSecondary, ), - ); - }, - child: Text( - "Anonymize funds", - style: STextStyles.button(context).copyWith( - color: Theme.of(context) - .extension()! - .buttonTextSecondary, ), ), ), + ], + ), + ), + const SizedBox( + height: 20, + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Transactions", + style: STextStyles.itemSubtitle(context).copyWith( + color: Theme.of(context) + .extension()! + .textDark3, + ), + ), + CustomTextButton( + text: "See all", + onTap: () { + Navigator.of(context).pushNamed( + AllTransactionsView.routeName, + arguments: walletId, + ); + }, ), ], ), ), - const SizedBox( - height: 20, - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Transactions", - style: STextStyles.itemSubtitle(context).copyWith( - color: Theme.of(context) - .extension()! - .textDark3, - ), - ), - CustomTextButton( - text: "See all", - onTap: () { - Navigator.of(context).pushNamed( - AllTransactionsView.routeName, - arguments: walletId, - ); - }, - ), - ], + const SizedBox( + height: 12, ), - ), - const SizedBox( - height: 12, - ), - Expanded( - child: Stack( - children: [ - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Padding( - padding: const EdgeInsets.only(bottom: 14), - child: ClipRRect( - borderRadius: BorderRadius.vertical( - top: Radius.circular( - Constants.size.circularBorderRadius, - ), - bottom: Radius.circular( - // WalletView.navBarHeight / 2.0, - Constants.size.circularBorderRadius, - ), - ), - child: Container( - decoration: BoxDecoration( - color: Colors.transparent, - borderRadius: BorderRadius.circular( + Expanded( + child: Stack( + children: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Padding( + padding: const EdgeInsets.only(bottom: 14), + child: ClipRRect( + borderRadius: BorderRadius.vertical( + top: Radius.circular( + Constants.size.circularBorderRadius, + ), + bottom: Radius.circular( + // WalletView.navBarHeight / 2.0, Constants.size.circularBorderRadius, ), ), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.stretch, - children: [ - Expanded( - child: TransactionsList( - managerProvider: managerProvider, - walletId: walletId, - ), + child: Container( + decoration: BoxDecoration( + color: Colors.transparent, + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, ), - ], + ), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.stretch, + children: [ + Expanded( + child: TransactionsList( + managerProvider: managerProvider, + walletId: walletId, + ), + ), + ], + ), ), ), ), ), - ), - Column( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only( - bottom: 14, - left: 16, - right: 16, - ), - child: WalletNavigationBar( - walletId: widget.walletId, - coin: ref.watch(managerProvider - .select((value) => value.coin)), - enableExchange: Constants.enableExchange && - ref.watch(managerProvider.select( - (value) => value.coin)) != - Coin.epicCash, - height: WalletView.navBarHeight, - onExchangePressed: () => - _onExchangePressed(context), - onReceivePressed: () async { - final coin = - ref.read(managerProvider).coin; - if (mounted) { - unawaited( - Navigator.of(context).pushNamed( - ReceiveView.routeName, + Column( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only( + bottom: 14, + left: 16, + right: 16, + ), + child: WalletNavigationBar( + walletId: widget.walletId, + coin: ref.watch(managerProvider + .select((value) => value.coin)), + enableExchange: + Constants.enableExchange && + ref.watch(managerProvider.select( + (value) => value.coin)) != + Coin.epicCash, + height: WalletView.navBarHeight, + onExchangePressed: () => + _onExchangePressed(context), + onReceivePressed: () async { + final coin = + ref.read(managerProvider).coin; + if (mounted) { + unawaited( + Navigator.of(context).pushNamed( + ReceiveView.routeName, + arguments: Tuple2( + walletId, + coin, + ), + )); + } + }, + onSendPressed: () { + final walletId = + ref.read(managerProvider).walletId; + final coin = + ref.read(managerProvider).coin; + switch (ref + .read( + walletBalanceToggleStateProvider + .state) + .state) { + case WalletBalanceToggleState.full: + ref + .read( + publicPrivateBalanceStateProvider + .state) + .state = "Public"; + break; + case WalletBalanceToggleState + .available: + ref + .read( + publicPrivateBalanceStateProvider + .state) + .state = "Private"; + break; + } + Navigator.of(context).pushNamed( + SendView.routeName, arguments: Tuple2( walletId, coin, ), + ); + }, + onBuyPressed: () { + unawaited( + Navigator.of(context).pushNamed( + BuyInWalletView.routeName, + arguments: coin, )); - } - }, - onSendPressed: () { - final walletId = - ref.read(managerProvider).walletId; - final coin = - ref.read(managerProvider).coin; - switch (ref - .read(walletBalanceToggleStateProvider - .state) - .state) { - case WalletBalanceToggleState.full: - ref - .read( - publicPrivateBalanceStateProvider - .state) - .state = "Public"; - break; - case WalletBalanceToggleState.available: - ref - .read( - publicPrivateBalanceStateProvider - .state) - .state = "Private"; - break; - } - Navigator.of(context).pushNamed( - SendView.routeName, - arguments: Tuple2( - walletId, - coin, - ), - ); - }, - onBuyPressed: () { - unawaited(Navigator.of(context).pushNamed( - BuyInWalletView.routeName, - arguments: coin, - )); - }, + }, + ), ), - ), - ], - ), - ], - ) - ], + ], + ), + ], + ) + ], + ), ), - ), - ], + ], + ), ), ), ), diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart index 8b8a65b58..2e5087c4a 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart @@ -24,12 +24,15 @@ import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_ import 'package:stackwallet/services/event_bus/global_event_bus.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/widgets/background.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; @@ -63,6 +66,7 @@ class _DesktopWalletViewState extends ConsumerState { late final EventBus eventBus; late final bool _shouldDisableAutoSyncOnLogOut; + bool _rescanningOnOpen = false; Future onBackPressed() async { await _logout(); @@ -265,7 +269,18 @@ class _DesktopWalletViewState extends ConsumerState { _shouldDisableAutoSyncOnLogOut = false; } - ref.read(managerProvider).refresh(); + if (ref.read(managerProvider).rescanOnOpenVersion == Constants.rescanV1) { + _rescanningOnOpen = true; + ref.read(managerProvider).fullRescan(20, 1000).then( + (_) => ref.read(managerProvider).resetRescanOnOpen().then( + (_) => WidgetsBinding.instance.addPostFrameCallback( + (_) => setState(() => _rescanningOnOpen = false), + ), + ), + ); + } else { + ref.read(managerProvider).refresh(); + } super.initState(); } @@ -284,241 +299,263 @@ class _DesktopWalletViewState extends ConsumerState { final managerProvider = ref.watch(walletsChangeNotifierProvider .select((value) => value.getManagerProvider(widget.walletId))); - return DesktopScaffold( - appBar: DesktopAppBar( - background: Theme.of(context).extension()!.popupBG, - leading: Expanded( - child: Row( - children: [ - const SizedBox( - width: 32, + return ConditionalParent( + condition: _rescanningOnOpen, + builder: (child) { + return Stack( + children: [ + child, + Background( + child: CustomLoadingOverlay( + message: + "Migration in progress\nThis could take a while\nPlease don't leave this screen", + subMessage: "This only needs to run once per wallet", + eventBus: null, + textColor: Theme.of(context).extension()!.textDark, ), - AppBarIconButton( - size: 32, - color: Theme.of(context) - .extension()! - .textFieldDefaultBG, - shadows: const [], - icon: SvgPicture.asset( - Assets.svg.arrowLeft, - width: 18, - height: 18, + ) + ], + ); + }, + child: DesktopScaffold( + appBar: DesktopAppBar( + background: Theme.of(context).extension()!.popupBG, + leading: Expanded( + child: Row( + children: [ + const SizedBox( + width: 32, + ), + AppBarIconButton( + size: 32, color: Theme.of(context) .extension()! - .topNavIconPrimary, + .textFieldDefaultBG, + shadows: const [], + icon: SvgPicture.asset( + Assets.svg.arrowLeft, + width: 18, + height: 18, + color: Theme.of(context) + .extension()! + .topNavIconPrimary, + ), + onPressed: onBackPressed, + ), + const SizedBox( + width: 15, + ), + SvgPicture.asset( + Assets.svg.iconFor(coin: coin), + width: 32, + height: 32, + ), + const SizedBox( + width: 12, + ), + ConstrainedBox( + constraints: const BoxConstraints( + minWidth: 48, + ), + child: IntrinsicWidth( + child: DesktopWalletNameField( + walletId: widget.walletId, + ), + ), + ), + const Spacer(), + Row( + children: [ + NetworkInfoButton( + walletId: widget.walletId, + eventBus: eventBus, + ), + const SizedBox( + width: 2, + ), + WalletKeysButton( + walletId: widget.walletId, + ), + const SizedBox( + width: 2, + ), + DeleteWalletButton( + walletId: widget.walletId, + ), + const SizedBox( + width: 12, + ), + ], + ), + ], + ), + ), + useSpacers: false, + isCompactHeight: true, + ), + body: Padding( + padding: const EdgeInsets.all(24), + child: Column( + children: [ + RoundedWhiteContainer( + padding: const EdgeInsets.all(20), + child: Row( + children: [ + SvgPicture.asset( + Assets.svg.iconFor(coin: coin), + width: 40, + height: 40, + ), + const SizedBox( + width: 10, + ), + DesktopWalletSummary( + walletId: widget.walletId, + managerProvider: managerProvider, + initialSyncStatus: ref.watch(managerProvider + .select((value) => value.isRefreshing)) + ? WalletSyncStatus.syncing + : WalletSyncStatus.synced, + ), + const Spacer(), + if (coin == Coin.firo) const SizedBox(width: 10), + if (coin == Coin.firo) + SecondaryButton( + width: 180, + buttonHeight: ButtonHeight.l, + label: "Anonymize funds", + onPressed: () async { + await showDialog( + context: context, + barrierDismissible: false, + builder: (context) => DesktopDialog( + maxWidth: 500, + maxHeight: 210, + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 32, vertical: 20), + child: Column( + children: [ + Text( + "Attention!", + style: STextStyles.desktopH2(context), + ), + const SizedBox(height: 16), + Text( + "You're about to anonymize all of your public funds.", + style: + STextStyles.desktopTextSmall(context), + ), + const SizedBox(height: 32), + Row( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + SecondaryButton( + width: 200, + buttonHeight: ButtonHeight.l, + label: "Cancel", + onPressed: () { + Navigator.of(context).pop(); + }, + ), + const SizedBox(width: 20), + PrimaryButton( + width: 200, + buttonHeight: ButtonHeight.l, + label: "Continue", + onPressed: () { + Navigator.of(context).pop(); + + unawaited(attemptAnonymize()); + }, + ) + ], + ), + ], + ), + ), + ), + ); + }, + ), + if (ref.watch(walletsChangeNotifierProvider.select( + (value) => value + .getManager(widget.walletId) + .hasPaynymSupport))) + SecondaryButton( + label: "PayNym", + width: 160, + buttonHeight: ButtonHeight.l, + icon: SvgPicture.asset( + Assets.svg.user, + height: 20, + width: 20, + color: Theme.of(context) + .extension()! + .buttonTextSecondary, + ), + onPressed: onPaynymButtonPressed, + ), + // if (coin == Coin.firo) const SizedBox(width: 16), + // SecondaryButton( + // width: 180, + // buttonHeight: ButtonHeight.l, + // onPressed: () { + // _onExchangePressed(context); + // }, + // label: "Exchange", + // icon: Container( + // width: 24, + // height: 24, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(24), + // color: Theme.of(context) + // .extension()! + // .buttonBackPrimary + // .withOpacity(0.2), + // ), + // child: Center( + // child: SvgPicture.asset( + // Assets.svg.arrowRotate2, + // width: 14, + // height: 14, + // color: Theme.of(context) + // .extension()! + // .buttonTextSecondary, + // ), + // ), + // ), + // ), + ], ), - onPressed: onBackPressed, ), const SizedBox( - width: 15, + height: 24, ), - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), - width: 32, - height: 32, - ), - const SizedBox( - width: 12, - ), - ConstrainedBox( - constraints: const BoxConstraints( - minWidth: 48, + Expanded( + child: Row( + children: [ + SizedBox( + width: 450, + child: MyWallet( + walletId: widget.walletId, + ), + ), + const SizedBox( + width: 16, + ), + Expanded( + child: RecentDesktopTransactions( + walletId: widget.walletId, + ), + ), + ], ), - child: IntrinsicWidth( - child: DesktopWalletNameField( - walletId: widget.walletId, - ), - ), - ), - const Spacer(), - Row( - children: [ - NetworkInfoButton( - walletId: widget.walletId, - eventBus: eventBus, - ), - const SizedBox( - width: 2, - ), - WalletKeysButton( - walletId: widget.walletId, - ), - const SizedBox( - width: 2, - ), - DeleteWalletButton( - walletId: widget.walletId, - ), - const SizedBox( - width: 12, - ), - ], ), ], ), ), - useSpacers: false, - isCompactHeight: true, - ), - body: Padding( - padding: const EdgeInsets.all(24), - child: Column( - children: [ - RoundedWhiteContainer( - padding: const EdgeInsets.all(20), - child: Row( - children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), - width: 40, - height: 40, - ), - const SizedBox( - width: 10, - ), - DesktopWalletSummary( - walletId: widget.walletId, - managerProvider: managerProvider, - initialSyncStatus: ref.watch(managerProvider - .select((value) => value.isRefreshing)) - ? WalletSyncStatus.syncing - : WalletSyncStatus.synced, - ), - const Spacer(), - if (coin == Coin.firo) const SizedBox(width: 10), - if (coin == Coin.firo) - SecondaryButton( - width: 180, - buttonHeight: ButtonHeight.l, - label: "Anonymize funds", - onPressed: () async { - await showDialog( - context: context, - barrierDismissible: false, - builder: (context) => DesktopDialog( - maxWidth: 500, - maxHeight: 210, - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 32, vertical: 20), - child: Column( - children: [ - Text( - "Attention!", - style: STextStyles.desktopH2(context), - ), - const SizedBox(height: 16), - Text( - "You're about to anonymize all of your public funds.", - style: - STextStyles.desktopTextSmall(context), - ), - const SizedBox(height: 32), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - SecondaryButton( - width: 200, - buttonHeight: ButtonHeight.l, - label: "Cancel", - onPressed: () { - Navigator.of(context).pop(); - }, - ), - const SizedBox(width: 20), - PrimaryButton( - width: 200, - buttonHeight: ButtonHeight.l, - label: "Continue", - onPressed: () { - Navigator.of(context).pop(); - - unawaited(attemptAnonymize()); - }, - ) - ], - ), - ], - ), - ), - ), - ); - }, - ), - if (ref.watch(walletsChangeNotifierProvider.select((value) => - value.getManager(widget.walletId).hasPaynymSupport))) - SecondaryButton( - label: "PayNym", - width: 160, - buttonHeight: ButtonHeight.l, - icon: SvgPicture.asset( - Assets.svg.user, - height: 20, - width: 20, - color: Theme.of(context) - .extension()! - .buttonTextSecondary, - ), - onPressed: onPaynymButtonPressed, - ), - // if (coin == Coin.firo) const SizedBox(width: 16), - // SecondaryButton( - // width: 180, - // buttonHeight: ButtonHeight.l, - // onPressed: () { - // _onExchangePressed(context); - // }, - // label: "Exchange", - // icon: Container( - // width: 24, - // height: 24, - // decoration: BoxDecoration( - // borderRadius: BorderRadius.circular(24), - // color: Theme.of(context) - // .extension()! - // .buttonBackPrimary - // .withOpacity(0.2), - // ), - // child: Center( - // child: SvgPicture.asset( - // Assets.svg.arrowRotate2, - // width: 14, - // height: 14, - // color: Theme.of(context) - // .extension()! - // .buttonTextSecondary, - // ), - // ), - // ), - // ), - ], - ), - ), - const SizedBox( - height: 24, - ), - Expanded( - child: Row( - children: [ - SizedBox( - width: 450, - child: MyWallet( - walletId: widget.walletId, - ), - ), - const SizedBox( - width: 16, - ), - Expanded( - child: RecentDesktopTransactions( - walletId: widget.walletId, - ), - ), - ], - ), - ), - ], - ), ), ); } diff --git a/lib/services/coins/manager.dart b/lib/services/coins/manager.dart index 1ddf4499d..a15d227c6 100644 --- a/lib/services/coins/manager.dart +++ b/lib/services/coins/manager.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:event_bus/event_bus.dart'; import 'package:flutter/material.dart'; +import 'package:stackwallet/hive/db.dart'; import 'package:stackwallet/models/balance.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart' as isar_models; import 'package:stackwallet/models/models.dart'; @@ -227,4 +228,18 @@ class Manager with ChangeNotifier { int get currentHeight => _currentWallet.storedChainHeight; bool get hasPaynymSupport => _currentWallet is PaynymWalletInterface; + + int get rescanOnOpenVersion => + DB.instance.get( + boxName: DB.boxNameDBInfo, + key: "rescan_on_open_$walletId", + ) as int? ?? + 0; + + Future resetRescanOnOpen() async { + await DB.instance.delete( + key: "rescan_on_open_$walletId", + boxName: DB.boxNameDBInfo, + ); + } } diff --git a/lib/utilities/constants.dart b/lib/utilities/constants.dart index ba128ab35..2d600b69f 100644 --- a/lib/utilities/constants.dart +++ b/lib/utilities/constants.dart @@ -21,7 +21,8 @@ abstract class Constants { } static bool enableExchange = Util.isDesktop || !Platform.isIOS; - static bool enableBuy = true; // true for development, TODO change to "Util.isDesktop || !Platform.isIOS;" as above or even just = enableExchange + static bool enableBuy = + true; // true for development, TODO change to "Util.isDesktop || !Platform.isIOS;" as above or even just = enableExchange //TODO: correct for monero? static const int _satsPerCoinMonero = 1000000000000; @@ -41,6 +42,8 @@ abstract class Constants { static const int currentHiveDbVersion = 5; + static const int rescanV1 = 1; + static int satsPerCoin(Coin coin) { switch (coin) { case Coin.bitcoin: diff --git a/lib/utilities/db_version_migration.dart b/lib/utilities/db_version_migration.dart index ffaf91912..778406ba8 100644 --- a/lib/utilities/db_version_migration.dart +++ b/lib/utilities/db_version_migration.dart @@ -8,6 +8,7 @@ import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/wallets_service.dart'; +import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; @@ -222,6 +223,13 @@ class DbVersionMigrator with WalletDB { await secureStore.write( key: '${walletId}_mnemonicPassphrase', value: ""); } + + // set flag to initiate full rescan on opening wallet + await DB.instance.put( + boxName: DB.boxNameDBInfo, + key: "rescan_on_open_$walletId", + value: Constants.rescanV1, + ); } } } diff --git a/lib/widgets/custom_loading_overlay.dart b/lib/widgets/custom_loading_overlay.dart index c92d7705d..e05158bc4 100644 --- a/lib/widgets/custom_loading_overlay.dart +++ b/lib/widgets/custom_loading_overlay.dart @@ -11,11 +11,15 @@ class CustomLoadingOverlay extends ConsumerStatefulWidget { const CustomLoadingOverlay({ Key? key, required this.message, + this.subMessage, required this.eventBus, + this.textColor, }) : super(key: key); final String message; + final String? subMessage; final EventBus? eventBus; + final Color? textColor; @override ConsumerState createState() => @@ -56,10 +60,12 @@ class _CustomLoadingOverlayState extends ConsumerState { children: [ Text( widget.message, + textAlign: TextAlign.center, style: STextStyles.pageTitleH2(context).copyWith( - color: Theme.of(context) - .extension()! - .loadingOverlayTextColor, + color: widget.textColor ?? + Theme.of(context) + .extension()! + .loadingOverlayTextColor, ), ), if (widget.eventBus != null) @@ -70,11 +76,28 @@ class _CustomLoadingOverlayState extends ConsumerState { Text( "${(_percent * 100).toStringAsFixed(2)}%", style: STextStyles.pageTitleH2(context).copyWith( - color: Theme.of(context) - .extension()! - .loadingOverlayTextColor, + color: widget.textColor ?? + Theme.of(context) + .extension()! + .loadingOverlayTextColor, ), ), + if (widget.subMessage != null) + const SizedBox( + height: 10, + ), + if (widget.subMessage != null) + Text( + widget.subMessage!, + textAlign: TextAlign.center, + style: STextStyles.pageTitleH2(context).copyWith( + fontSize: 14, + color: widget.textColor ?? + Theme.of(context) + .extension()! + .loadingOverlayTextColor, + ), + ) ], ), ), From 8206972309f7f3936045489f09ebb333f2ea1c24 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 08:43:42 -0600 Subject: [PATCH 118/191] add loading screen if not exchange data cache exists while waiting for it to be populated for the first time. Added checks for incognito mode --- lib/main.dart | 7 +- lib/pages/exchange_view/exchange_view.dart | 323 ++++++++++-------- .../wallet_initiated_exchange_view.dart | 187 ++++++---- .../desktop_exchange_view.dart | 169 ++++++--- .../exchange_data_loading_service.dart | 50 ++- 5 files changed, 468 insertions(+), 268 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 146d090ec..b83a89354 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -17,6 +17,7 @@ import 'package:hive_flutter/hive_flutter.dart'; import 'package:isar/isar.dart'; import 'package:keyboard_dismisser/keyboard_dismisser.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:stackwallet/db/main_db.dart'; import 'package:stackwallet/hive/db.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart'; @@ -65,8 +66,6 @@ import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:window_size/window_size.dart'; -import 'db/main_db.dart'; - final openedFromSWBFileStringStateProvider = StateProvider((ref) => null); @@ -290,10 +289,6 @@ class _MaterialAppWithThemeState extends ConsumerState // TODO: this should probably run unawaited. Keep commented out for now as proper community nodes ui hasn't been implemented yet // unawaited(_nodeService.updateCommunityNodes()); - print("================================================"); - print("${ref.read(prefsChangeNotifierProvider).externalCalls}"); - print("${await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()}"); - print("================================================"); // run without awaiting if (ref.read(prefsChangeNotifierProvider).externalCalls && await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()) { diff --git a/lib/pages/exchange_view/exchange_view.dart b/lib/pages/exchange_view/exchange_view.dart index f429b2c7b..054ced189 100644 --- a/lib/pages/exchange_view/exchange_view.dart +++ b/lib/pages/exchange_view/exchange_view.dart @@ -8,9 +8,12 @@ import 'package:stackwallet/pages/exchange_view/exchange_form.dart'; import 'package:stackwallet/pages/exchange_view/trade_details_view.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; +import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/trade_card.dart'; import 'package:tuple/tuple.dart'; @@ -24,8 +27,38 @@ class ExchangeView extends ConsumerStatefulWidget { } class _ExchangeViewState extends ConsumerState { + bool _initialCachePopulationUnderway = false; + @override void initState() { + if (!ref.read(prefsChangeNotifierProvider).externalCalls) { + if (ExchangeDataLoadingService.currentCacheVersion < + ExchangeDataLoadingService.cacheVersion) { + _initialCachePopulationUnderway = true; + ExchangeDataLoadingService.instance.onLoadingComplete = () { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _initialCachePopulationUnderway = false; + }); + }); + }; + } + ExchangeDataLoadingService.instance + .init() + .then((_) => ExchangeDataLoadingService.instance.loadAll()); + } else if (ExchangeDataLoadingService.instance.isLoading && + ExchangeDataLoadingService.currentCacheVersion < + ExchangeDataLoadingService.cacheVersion) { + _initialCachePopulationUnderway = true; + ExchangeDataLoadingService.instance.onLoadingComplete = () { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _initialCachePopulationUnderway = false; + }); + }); + }; + } + super.initState(); } @@ -38,154 +71,176 @@ class _ExchangeViewState extends ConsumerState { Widget build(BuildContext context) { debugPrint("BUILD: $runtimeType"); - return SafeArea( - child: NestedScrollView( - floatHeaderSlivers: true, - headerSliverBuilder: (context, innerBoxIsScrolled) { - return [ - SliverOverlapAbsorber( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), - sliver: const SliverToBoxAdapter( - child: Padding( - padding: EdgeInsets.only( - left: 16, - right: 16, - top: 16, - ), - child: ExchangeForm(), - ), + return ConditionalParent( + condition: _initialCachePopulationUnderway, + builder: (child) { + return Stack( + children: [ + child, + Material( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange data", + subMessage: "This could take a few minutes", + eventBus: null, ), ) - ]; - }, - body: Builder( - builder: (buildContext) { - final trades = ref - .watch(tradesServiceProvider.select((value) => value.trades)); - final tradeCount = trades.length; - final hasHistory = tradeCount > 0; - - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 12), - child: CustomScrollView( - slivers: [ - SliverOverlapInjector( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor( - buildContext, + ], + ); + }, + child: SafeArea( + child: NestedScrollView( + floatHeaderSlivers: true, + headerSliverBuilder: (context, innerBoxIsScrolled) { + return [ + SliverOverlapAbsorber( + handle: + NestedScrollView.sliverOverlapAbsorberHandleFor(context), + sliver: const SliverToBoxAdapter( + child: Padding( + padding: EdgeInsets.only( + left: 16, + right: 16, + top: 16, ), + child: ExchangeForm(), ), - SliverToBoxAdapter( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const SizedBox( - height: 12, - ), - Text( - "Trades", - style: STextStyles.itemSubtitle(context).copyWith( - color: Theme.of(context) - .extension()! - .textDark3, - ), - ), - const SizedBox( - height: 12, - ), - ], + ), + ) + ]; + }, + body: Builder( + builder: (buildContext) { + final trades = ref + .watch(tradesServiceProvider.select((value) => value.trades)); + final tradeCount = trades.length; + final hasHistory = tradeCount > 0; + + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 12), + child: CustomScrollView( + slivers: [ + SliverOverlapInjector( + handle: NestedScrollView.sliverOverlapAbsorberHandleFor( + buildContext, ), ), - ), - if (hasHistory) - SliverList( - delegate: SliverChildBuilderDelegate((context, index) { - return Padding( - padding: const EdgeInsets.all(4), - child: TradeCard( - key: Key("tradeCard_${trades[index].uuid}"), - trade: trades[index], - onTap: () async { - final String tradeId = trades[index].tradeId; - - final lookup = ref - .read(tradeSentFromStackLookupProvider) - .all; - - //todo: check if print needed - // debugPrint("ALL: $lookup"); - - final String? txid = ref - .read(tradeSentFromStackLookupProvider) - .getTxidForTradeId(tradeId); - final List? walletIds = ref - .read(tradeSentFromStackLookupProvider) - .getWalletIdsForTradeId(tradeId); - - if (txid != null && - walletIds != null && - walletIds.isNotEmpty) { - final manager = ref - .read(walletsChangeNotifierProvider) - .getManager(walletIds.first); - - //todo: check if print needed - // debugPrint("name: ${manager.walletName}"); - - final tx = await MainDB.instance - .getTransactions(walletIds.first) - .filter() - .txidEqualTo(txid) - .findFirst(); - - if (mounted) { - unawaited(Navigator.of(context).pushNamed( - TradeDetailsView.routeName, - arguments: Tuple4(tradeId, tx, - walletIds.first, manager.walletName), - )); - } - } else { - unawaited(Navigator.of(context).pushNamed( - TradeDetailsView.routeName, - arguments: Tuple4( - tradeId, null, walletIds?.first, null), - )); - } - }, - ), - ); - }, childCount: tradeCount), - ), - if (!hasHistory) SliverToBoxAdapter( child: Padding( padding: const EdgeInsets.symmetric(horizontal: 4), - child: Container( - decoration: BoxDecoration( - color: Theme.of(context) - .extension()! - .popupBG, - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const SizedBox( + height: 12, ), - ), - child: Padding( - padding: const EdgeInsets.all(12), - child: Text( - "Trades will appear here", - textAlign: TextAlign.center, - style: STextStyles.itemSubtitle(context), + Text( + "Trades", + style: STextStyles.itemSubtitle(context).copyWith( + color: Theme.of(context) + .extension()! + .textDark3, + ), + ), + const SizedBox( + height: 12, + ), + ], + ), + ), + ), + if (hasHistory) + SliverList( + delegate: SliverChildBuilderDelegate((context, index) { + return Padding( + padding: const EdgeInsets.all(4), + child: TradeCard( + key: Key("tradeCard_${trades[index].uuid}"), + trade: trades[index], + onTap: () async { + final String tradeId = trades[index].tradeId; + + final lookup = ref + .read(tradeSentFromStackLookupProvider) + .all; + + //todo: check if print needed + // debugPrint("ALL: $lookup"); + + final String? txid = ref + .read(tradeSentFromStackLookupProvider) + .getTxidForTradeId(tradeId); + final List? walletIds = ref + .read(tradeSentFromStackLookupProvider) + .getWalletIdsForTradeId(tradeId); + + if (txid != null && + walletIds != null && + walletIds.isNotEmpty) { + final manager = ref + .read(walletsChangeNotifierProvider) + .getManager(walletIds.first); + + //todo: check if print needed + // debugPrint("name: ${manager.walletName}"); + + final tx = await MainDB.instance + .getTransactions(walletIds.first) + .filter() + .txidEqualTo(txid) + .findFirst(); + + if (mounted) { + unawaited(Navigator.of(context).pushNamed( + TradeDetailsView.routeName, + arguments: Tuple4(tradeId, tx, + walletIds.first, manager.walletName), + )); + } + } else { + unawaited(Navigator.of(context).pushNamed( + TradeDetailsView.routeName, + arguments: Tuple4( + tradeId, null, walletIds?.first, null), + )); + } + }, + ), + ); + }, childCount: tradeCount), + ), + if (!hasHistory) + SliverToBoxAdapter( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 4), + child: Container( + decoration: BoxDecoration( + color: Theme.of(context) + .extension()! + .popupBG, + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + ), + child: Padding( + padding: const EdgeInsets.all(12), + child: Text( + "Trades will appear here", + textAlign: TextAlign.center, + style: STextStyles.itemSubtitle(context), + ), ), ), ), ), - ), - ], - ), - ); - }, + ], + ), + ); + }, + ), ), ), ); diff --git a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart index 915fb33ba..e6ee7d3a3 100644 --- a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart +++ b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart @@ -4,11 +4,15 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/exchange_view/exchange_form.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; +import 'package:stackwallet/widgets/custom_loading_overlay.dart'; class WalletInitiatedExchangeView extends ConsumerStatefulWidget { const WalletInitiatedExchangeView({ @@ -32,10 +36,41 @@ class _WalletInitiatedExchangeViewState late final String walletId; late final Coin coin; + bool _initialCachePopulationUnderway = false; + @override void initState() { walletId = widget.walletId; coin = widget.coin; + + if (!ref.read(prefsChangeNotifierProvider).externalCalls) { + if (ExchangeDataLoadingService.currentCacheVersion < + ExchangeDataLoadingService.cacheVersion) { + _initialCachePopulationUnderway = true; + ExchangeDataLoadingService.instance.onLoadingComplete = () { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _initialCachePopulationUnderway = false; + }); + }); + }; + } + ExchangeDataLoadingService.instance + .init() + .then((_) => ExchangeDataLoadingService.instance.loadAll()); + } else if (ExchangeDataLoadingService.instance.isLoading && + ExchangeDataLoadingService.currentCacheVersion < + ExchangeDataLoadingService.cacheVersion) { + _initialCachePopulationUnderway = true; + ExchangeDataLoadingService.instance.onLoadingComplete = () { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _initialCachePopulationUnderway = false; + }); + }); + }; + } + super.initState(); } @@ -48,76 +83,98 @@ class _WalletInitiatedExchangeViewState Widget build(BuildContext context) { debugPrint("BUILD: $runtimeType"); - return Background( - child: Scaffold( - backgroundColor: Theme.of(context).extension()!.background, - appBar: AppBar( - leading: AppBarBackButton( - onPressed: () async { - if (FocusScope.of(context).hasFocus) { - FocusScope.of(context).unfocus(); - await Future.delayed(const Duration(milliseconds: 75)); - } - if (mounted) { - Navigator.of(context).pop(); - } - }, + return ConditionalParent( + condition: _initialCachePopulationUnderway, + builder: (child) { + return Stack( + children: [ + child, + Material( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange data", + subMessage: "This could take a few minutes", + eventBus: null, + ), + ) + ], + ); + }, + child: Background( + child: Scaffold( + backgroundColor: + Theme.of(context).extension()!.background, + appBar: AppBar( + leading: AppBarBackButton( + onPressed: () async { + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + await Future.delayed(const Duration(milliseconds: 75)); + } + if (mounted) { + Navigator.of(context).pop(); + } + }, + ), + title: Text( + "Exchange", + style: STextStyles.navBarTitle(context), + ), ), - title: Text( - "Exchange", - style: STextStyles.navBarTitle(context), - ), - ), - body: LayoutBuilder( - builder: (context, constraints) { - final width = MediaQuery.of(context).size.width - 32; - return Padding( - padding: const EdgeInsets.all(12), - child: SingleChildScrollView( - child: ConstrainedBox( - constraints: BoxConstraints( - minHeight: constraints.maxHeight - 24, - ), - child: IntrinsicHeight( - child: Padding( - padding: const EdgeInsets.all(4), - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - StepRow( - count: 4, - current: 0, - width: width, - ), - const SizedBox( - height: 14, - ), - Text( - "Exchange amount", - style: STextStyles.pageTitleH1(context), - ), - const SizedBox( - height: 8, - ), - Text( - "Network fees and other exchange charges are included in the rate.", - style: STextStyles.itemSubtitle(context), - ), - const SizedBox( - height: 24, - ), - ExchangeForm( - walletId: walletId, - coin: coin, - ), - ], + body: LayoutBuilder( + builder: (context, constraints) { + final width = MediaQuery.of(context).size.width - 32; + return Padding( + padding: const EdgeInsets.all(12), + child: SingleChildScrollView( + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: constraints.maxHeight - 24, + ), + child: IntrinsicHeight( + child: Padding( + padding: const EdgeInsets.all(4), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + StepRow( + count: 4, + current: 0, + width: width, + ), + const SizedBox( + height: 14, + ), + Text( + "Exchange amount", + style: STextStyles.pageTitleH1(context), + ), + const SizedBox( + height: 8, + ), + Text( + "Network fees and other exchange charges are included in the rate.", + style: STextStyles.itemSubtitle(context), + ), + const SizedBox( + height: 24, + ), + ExchangeForm( + walletId: walletId, + coin: coin, + ), + ], + ), ), ), ), ), - ), - ); - }, + ); + }, + ), ), ), ); diff --git a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart index 105c485f0..19484e376 100644 --- a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart +++ b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart @@ -1,79 +1,142 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/exchange_view/exchange_form.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; +import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; -class DesktopExchangeView extends StatefulWidget { +class DesktopExchangeView extends ConsumerStatefulWidget { const DesktopExchangeView({Key? key}) : super(key: key); static const String routeName = "/desktopExchange"; @override - State createState() => _DesktopExchangeViewState(); + ConsumerState createState() => + _DesktopExchangeViewState(); } -class _DesktopExchangeViewState extends State { +class _DesktopExchangeViewState extends ConsumerState { + bool _initialCachePopulationUnderway = false; + + @override + void initState() { + if (!ref.read(prefsChangeNotifierProvider).externalCalls) { + if (ExchangeDataLoadingService.currentCacheVersion < + ExchangeDataLoadingService.cacheVersion) { + _initialCachePopulationUnderway = true; + ExchangeDataLoadingService.instance.onLoadingComplete = () { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _initialCachePopulationUnderway = false; + }); + }); + }; + } + ExchangeDataLoadingService.instance + .init() + .then((_) => ExchangeDataLoadingService.instance.loadAll()); + } else if (ExchangeDataLoadingService.instance.isLoading && + ExchangeDataLoadingService.currentCacheVersion < + ExchangeDataLoadingService.cacheVersion) { + _initialCachePopulationUnderway = true; + ExchangeDataLoadingService.instance.onLoadingComplete = () { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _initialCachePopulationUnderway = false; + }); + }); + }; + } + + super.initState(); + } + @override Widget build(BuildContext context) { - return DesktopScaffold( - appBar: DesktopAppBar( - isCompactHeight: true, - leading: Padding( + return ConditionalParent( + condition: _initialCachePopulationUnderway, + builder: (child) { + return Stack( + children: [ + child, + Material( + color: Theme.of(context) + .extension()! + .overlay + .withOpacity(0.6), + child: const CustomLoadingOverlay( + message: "Updating exchange data", + subMessage: "This could take a few minutes", + eventBus: null, + ), + ) + ], + ); + }, + child: DesktopScaffold( + appBar: DesktopAppBar( + isCompactHeight: true, + leading: Padding( + padding: const EdgeInsets.only( + left: 24, + ), + child: Text( + "Exchange", + style: STextStyles.desktopH3(context), + ), + ), + ), + body: Padding( padding: const EdgeInsets.only( left: 24, + right: 24, + bottom: 24, ), - child: Text( - "Exchange", - style: STextStyles.desktopH3(context), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Exchange details", + style: STextStyles.desktopTextExtraExtraSmall(context), + ), + const SizedBox( + height: 16, + ), + const RoundedWhiteContainer( + padding: EdgeInsets.all(24), + child: ExchangeForm(), + ), + ], + ), + ), + const SizedBox( + width: 16, + ), + Expanded( + child: Row( + children: const [ + Expanded( + child: DesktopTradeHistory(), + ), + ], + ), + ), + ], ), ), ), - body: Padding( - padding: const EdgeInsets.only( - left: 24, - right: 24, - bottom: 24, - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Exchange details", - style: STextStyles.desktopTextExtraExtraSmall(context), - ), - const SizedBox( - height: 16, - ), - const RoundedWhiteContainer( - padding: EdgeInsets.all(24), - child: ExchangeForm(), - ), - ], - ), - ), - const SizedBox( - width: 16, - ), - Expanded( - child: Row( - children: const [ - Expanded( - child: DesktopTradeHistory(), - ), - ], - ), - ), - ], - ), - ), ); } } diff --git a/lib/services/exchange/exchange_data_loading_service.dart b/lib/services/exchange/exchange_data_loading_service.dart index 8298aed96..3d29e038d 100644 --- a/lib/services/exchange/exchange_data_loading_service.dart +++ b/lib/services/exchange/exchange_data_loading_service.dart @@ -1,5 +1,6 @@ import 'package:flutter/foundation.dart'; import 'package:isar/isar.dart'; +import 'package:stackwallet/hive/db.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; @@ -16,6 +17,25 @@ class ExchangeDataLoadingService { Isar? _isar; Isar get isar => _isar!; + VoidCallback? onLoadingError; + VoidCallback? onLoadingComplete; + + static const int cacheVersion = 1; + + static int get currentCacheVersion => + DB.instance.get( + boxName: DB.boxNameDBInfo, + key: "exchange_data_cache_version") as int? ?? + 0; + + Future _updateCurrentCacheVersion(int version) async { + await DB.instance.put( + boxName: DB.boxNameDBInfo, + key: "exchange_data_cache_version", + value: version, + ); + } + Future init() async { if (_isar != null && isar.isOpen) return; _isar = await Isar.open( @@ -25,18 +45,23 @@ class ExchangeDataLoadingService { ], directory: (await StackFileSystem.applicationIsarDirectory()).path, inspector: kDebugMode, + // inspector: false, name: "exchange_cache", ); } + bool get isLoading => _locked; + bool _locked = false; Future loadAll() async { - print("LOADINGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG: LOCKED=$_locked"); if (!_locked) { _locked = true; - print("LOADINGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"); - final time = DateTime.now(); + Logging.instance.log( + "ExchangeDataLoadingService.loadAll starting...", + level: LogLevel.Info, + ); + final start = DateTime.now(); try { await Future.wait([ _loadChangeNowCurrencies(), @@ -46,13 +71,18 @@ class ExchangeDataLoadingService { // loadSimpleswapFloatingRateCurrencies(ref), loadMajesticBankCurrencies(), ]); - - print( - "LOADINGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG done in ${DateTime.now().difference(time).inSeconds} seconds"); + Logging.instance.log( + "ExchangeDataLoadingService.loadAll finished in ${DateTime.now().difference(start).inSeconds} seconds", + level: LogLevel.Info, + ); + onLoadingComplete?.call(); + await _updateCurrentCacheVersion(cacheVersion); } catch (e, s) { Logging.instance.log( - "ExchangeDataLoadingService.loadAll failed: $e\n$s", - level: LogLevel.Error); + "ExchangeDataLoadingService.loadAll failed after ${DateTime.now().difference(start).inSeconds} seconds: $e\n$s", + level: LogLevel.Error, + ); + onLoadingError?.call(); } _locked = false; } @@ -82,7 +112,7 @@ class ExchangeDataLoadingService { Future _loadChangeNowFixedRatePairs() async { final exchange = ChangeNowExchange.instance; - final responsePairs = await exchange.getAllPairs(true); + final responsePairs = await compute(exchange.getAllPairs, true); if (responsePairs.value != null) { await isar.writeTxn(() async { @@ -107,7 +137,7 @@ class ExchangeDataLoadingService { Future _loadChangeNowEstimatedRatePairs() async { final exchange = ChangeNowExchange.instance; - final responsePairs = await exchange.getAllPairs(false); + final responsePairs = await compute(exchange.getAllPairs, false); if (responsePairs.value != null) { await isar.writeTxn(() async { From 3416ffdda6e1e354742bbfabd0049cd5cbc254ff Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 09:20:34 -0600 Subject: [PATCH 119/191] restore mnemonic passphrase field --- .../restore_options_view.dart | 133 +++++++++++++++++- .../restore_wallet_view.dart | 4 +- lib/route_generator.dart | 12 +- 3 files changed, 139 insertions(+), 10 deletions(-) diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart index 6b03d06fb..213bee484 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart @@ -20,10 +20,13 @@ import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; +import 'package:stackwallet/widgets/expandable.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; +import 'package:stackwallet/widgets/stack_text_field.dart'; import 'package:tuple/tuple.dart'; class RestoreOptionsView extends ConsumerStatefulWidget { @@ -49,10 +52,17 @@ class _RestoreOptionsViewState extends ConsumerState { late TextEditingController _dateController; late FocusNode textFieldFocusNode; + late final FocusNode passwordFocusNode; + late final TextEditingController passwordController; final bool _nextEnabled = true; DateTime _restoreFromDate = DateTime.fromMillisecondsSinceEpoch(0); late final Color baseColor; + bool hidePassword = true; + bool _expandedAdavnced = false; + + bool get supportsMnemonicPassphrase => + !(coin == Coin.monero || coin == Coin.wownero || coin == Coin.epicCash); @override void initState() { @@ -63,6 +73,8 @@ class _RestoreOptionsViewState extends ConsumerState { _dateController = TextEditingController(); textFieldFocusNode = FocusNode(); + passwordController = TextEditingController(); + passwordFocusNode = FocusNode(); super.initState(); } @@ -71,6 +83,8 @@ class _RestoreOptionsViewState extends ConsumerState { void dispose() { _dateController.dispose(); textFieldFocusNode.dispose(); + passwordController.dispose(); + passwordFocusNode.dispose(); super.dispose(); } @@ -132,11 +146,12 @@ class _RestoreOptionsViewState extends ConsumerState { if (mounted) { await Navigator.of(context).pushNamed( RestoreWalletView.routeName, - arguments: Tuple4( + arguments: Tuple5( walletName, coin, ref.read(mnemonicWordCountStateProvider.state).state, _restoreFromDate, + passwordController.text, ), ); } @@ -186,8 +201,6 @@ class _RestoreOptionsViewState extends ConsumerState { await Future.delayed(const Duration(milliseconds: 125)); } - final now = DateTime.now(); - final date = await showRoundedDatePicker( context: context, initialDate: DateTime.now(), @@ -441,6 +454,120 @@ class _RestoreOptionsViewState extends ConsumerState { MobileMnemonicLengthSelector( chooseMnemonicLength: chooseMnemonicLength, ), + if (supportsMnemonicPassphrase) + SizedBox( + height: isDesktop ? 24 : 16, + ), + if (supportsMnemonicPassphrase) + Expandable( + onExpandChanged: (state) { + setState(() { + _expandedAdavnced = state == ExpandableState.expanded; + }); + }, + header: Container( + color: Colors.transparent, + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 8.0, + horizontal: 16, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Advanced", + style: isDesktop + ? STextStyles.desktopTextExtraExtraSmall( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textDark3, + ) + : STextStyles.smallMed12(context), + textAlign: TextAlign.left, + ), + SvgPicture.asset( + _expandedAdavnced + ? Assets.svg.chevronUp + : Assets.svg.chevronDown, + width: 12, + height: 6, + color: Theme.of(context) + .extension()! + .textFieldActiveSearchIconRight, + ), + ], + ), + ), + ), + body: Container( + color: Colors.transparent, + child: ClipRRect( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + child: TextField( + key: const Key("mnemonicPassphraseFieldKey1"), + focusNode: passwordFocusNode, + controller: passwordController, + style: isDesktop + ? STextStyles.desktopTextMedium(context).copyWith( + height: 2, + ) + : STextStyles.field(context), + obscureText: hidePassword, + enableSuggestions: false, + autocorrect: false, + decoration: standardInputDecoration( + "Recovery phrase password", + passwordFocusNode, + context, + ).copyWith( + suffixIcon: UnconstrainedBox( + child: ConditionalParent( + condition: isDesktop, + builder: (child) => SizedBox( + height: 70, + child: child, + ), + child: Row( + children: [ + SizedBox( + width: isDesktop ? 24 : 16, + ), + GestureDetector( + key: const Key( + "mnemonicPassphraseFieldShowPasswordButtonKey"), + onTap: () async { + setState(() { + hidePassword = !hidePassword; + }); + }, + child: SvgPicture.asset( + hidePassword + ? Assets.svg.eye + : Assets.svg.eyeSlash, + color: Theme.of(context) + .extension()! + .textDark3, + width: isDesktop ? 24 : 16, + height: isDesktop ? 24 : 16, + ), + ), + const SizedBox( + width: 12, + ), + ], + ), + ), + ), + ), + ), + ), + ), + ), if (!isDesktop) const Spacer( flex: 3, diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart index 883af77e6..45df3e2fc 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart @@ -54,6 +54,7 @@ class RestoreWalletView extends ConsumerStatefulWidget { required this.walletName, required this.coin, required this.seedWordsLength, + required this.mnemonicPassphrase, required this.restoreFromDate, this.barcodeScanner = const BarcodeScannerWrapper(), this.clipboard = const ClipboardWrapper(), @@ -63,6 +64,7 @@ class RestoreWalletView extends ConsumerStatefulWidget { final String walletName; final Coin coin; + final String mnemonicPassphrase; final int seedWordsLength; final DateTime restoreFromDate; @@ -290,7 +292,7 @@ class _RestoreWalletViewState extends ConsumerState { // without using them await manager.recoverFromMnemonic( mnemonic: mnemonic, - mnemonicPassphrase: "", // TODO add ui for certain coins + mnemonicPassphrase: widget.mnemonicPassphrase, maxUnusedAddressGap: widget.coin == Coin.firo ? 50 : 20, maxNumberOfIndexesToCheck: 1000, height: height, diff --git a/lib/route_generator.dart b/lib/route_generator.dart index ec592fdf1..a9ce742ec 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -711,15 +711,15 @@ class RouteGenerator { return _routeError("${settings.name} invalid args: ${args.toString()}"); case RestoreWalletView.routeName: - if (args is Tuple4) { + if (args is Tuple5) { return getRoute( shouldUseMaterialRoute: useMaterialPageRoute, builder: (_) => RestoreWalletView( - walletName: args.item1, - coin: args.item2, - seedWordsLength: args.item3, - restoreFromDate: args.item4, - ), + walletName: args.item1, + coin: args.item2, + seedWordsLength: args.item3, + restoreFromDate: args.item4, + mnemonicPassphrase: args.item5), settings: RouteSettings( name: settings.name, ), From 8c0f675852417782260bc6e7040707db6255f429 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 09:34:59 -0600 Subject: [PATCH 120/191] majestic bank order tracking link --- lib/pages/exchange_view/trade_details_view.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/pages/exchange_view/trade_details_view.dart b/lib/pages/exchange_view/trade_details_view.dart index 4e42ff888..99fc64bf2 100644 --- a/lib/pages/exchange_view/trade_details_view.dart +++ b/lib/pages/exchange_view/trade_details_view.dart @@ -18,6 +18,7 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; @@ -1128,6 +1129,10 @@ class _TradeDetailsViewState extends ConsumerState { url = "https://simpleswap.io/exchange?id=${trade.tradeId}"; break; + case MajesticBankExchange.exchangeName: + url = + "https://majesticbank.sc/track?trx=${trade.tradeId}"; + break; } return ConditionalParent( condition: isDesktop, From 83bc26921b009abba3432a888d258c9989844038 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 09:57:26 -0600 Subject: [PATCH 121/191] epic address fix --- lib/services/coins/epiccash/epiccash_wallet.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index b6986508d..e7659a13e 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -871,7 +871,7 @@ class EpicCashWallet extends CoinServiceAPI publicKey: [], // ?? ); - await db.putAddress(address); + await db.updateOrPutAddresses([address]); } return address; From 7616538248087c565c7e6ad727b3a33b97d2d810 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 11:25:31 -0600 Subject: [PATCH 122/191] exchange form field ui tweak --- lib/pages/exchange_view/exchange_form.dart | 13 ++++-------- .../textfields/exchange_textfield.dart | 21 +++++++++---------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index d73dd2eb5..f076d5e6a 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -708,10 +708,8 @@ class _ExchangeFormState extends ConsumerState { onChanged: sendFieldOnChanged, onButtonTap: selectSendCurrency, isWalletCoin: isWalletCoin(coin, true), - image: ref.watch(exchangeFormStateProvider - .select((value) => value.sendCurrency?.image)), - ticker: ref.watch( - exchangeFormStateProvider.select((value) => value.fromTicker)), + currency: ref.watch( + exchangeFormStateProvider.select((value) => value.sendCurrency)), ), SizedBox( height: isDesktop ? 10 : 4, @@ -800,11 +798,8 @@ class _ExchangeFormState extends ConsumerState { onChanged: receiveFieldOnChanged, onButtonTap: selectReceiveCurrency, isWalletCoin: isWalletCoin(coin, true), - image: ref.watch(exchangeFormStateProvider - .select((value) => value.receiveCurrency?.image)) ?? - "", - ticker: ref.watch( - exchangeFormStateProvider.select((value) => value.toTicker)), + currency: ref.watch(exchangeFormStateProvider + .select((value) => value.receiveCurrency)), readOnly: (rateType) == ExchangeRateType.estimated && ref.watch(exchangeProvider).name == ChangeNowExchange.exchangeName, diff --git a/lib/widgets/textfields/exchange_textfield.dart b/lib/widgets/textfields/exchange_textfield.dart index 9003046ec..44a210724 100644 --- a/lib/widgets/textfields/exchange_textfield.dart +++ b/lib/widgets/textfields/exchange_textfield.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; @@ -23,8 +24,7 @@ class ExchangeTextField extends StatefulWidget { this.onSubmitted, this.onTap, required this.isWalletCoin, - this.image, - this.ticker, + this.currency, this.readOnly = false, }) : super(key: key); @@ -42,8 +42,7 @@ class ExchangeTextField extends StatefulWidget { final bool isWalletCoin; final bool readOnly; - final String? image; - final String? ticker; + final Currency? currency; @override State createState() => _ExchangeTextFieldState(); @@ -115,7 +114,7 @@ class _ExchangeTextFieldState extends State { top: 12, left: 12, ), - hintText: "0", + hintText: widget.currency == null ? "select currency" : "0", hintStyle: STextStyles.fieldLabel(context).copyWith( fontSize: 14, ), @@ -157,18 +156,18 @@ class _ExchangeTextFieldState extends State { ), child: Builder( builder: (context) { - if (isStackCoin(widget.ticker)) { + if (isStackCoin(widget.currency?.ticker)) { return Center( child: getIconForTicker( - widget.ticker!, + widget.currency!.ticker, size: 18, ), ); - } else if (widget.image != null && - widget.image!.isNotEmpty) { + } else if (widget.currency != null && + widget.currency!.image.isNotEmpty) { return Center( child: SvgPicture.network( - widget.image!, + widget.currency!.image, height: 18, placeholderBuilder: (_) => Container( width: 18, @@ -215,7 +214,7 @@ class _ExchangeTextFieldState extends State { width: 6, ), Text( - widget.ticker?.toUpperCase() ?? "-", + widget.currency?.ticker.toUpperCase() ?? "n/a", style: STextStyles.smallMed14(context).copyWith( color: Theme.of(context) .extension()! From ae697928a6ebb052a25c2b3de41ae5b67bd34468 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 11:37:58 -0600 Subject: [PATCH 123/191] no caching or switching of currencies based on exchange selection --- lib/models/exchange/exchange_form_state.dart | 74 -------------------- 1 file changed, 74 deletions(-) diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 94bcd09de..374875916 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -5,10 +5,8 @@ import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; -import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; -import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; class ExchangeFormState extends ChangeNotifier { @@ -175,16 +173,6 @@ class ExchangeFormState extends ChangeNotifier { .rateTypeEqualTo(SupportedRateType.estimated)) .findFirst(); } - if (_sendCurrency == null) { - switch (exchange.name) { - case ChangeNowExchange.exchangeName: - _sendCurrency = _cachedSendCN; - break; - case MajesticBankExchange.exchangeName: - _sendCurrency = _cachedSendMB; - break; - } - } if (_receiveCurrency != null) { _receiveCurrency = await ExchangeDataLoadingService @@ -206,23 +194,6 @@ class ExchangeFormState extends ChangeNotifier { .findFirst(); } - if (_receiveCurrency == null) { - switch (exchange.name) { - case ChangeNowExchange.exchangeName: - _receiveCurrency = _cachedReceivingCN; - break; - case MajesticBankExchange.exchangeName: - _receiveCurrency = _cachedReceivingMB; - break; - } - } - - _updateCachedCurrencies( - exchangeName: exchange.name, - send: _sendCurrency, - receiving: _receiveCurrency, - ); - await _updateRangesAndEstimate( shouldNotifyListeners: false, ); @@ -236,11 +207,6 @@ class ExchangeFormState extends ChangeNotifier { void setCurrencies(Currency from, Currency to) { _sendCurrency = from; _receiveCurrency = to; - _updateCachedCurrencies( - exchangeName: exchange.name, - send: _sendCurrency, - receiving: _receiveCurrency, - ); } void reset({ @@ -324,12 +290,6 @@ class ExchangeFormState extends ChangeNotifier { _minSendAmount = null; _maxSendAmount = null; - _updateCachedCurrencies( - exchangeName: exchange.name, - send: _sendCurrency, - receiving: _receiveCurrency, - ); - if (_receiveCurrency == null) { _rate = null; } else { @@ -354,12 +314,6 @@ class ExchangeFormState extends ChangeNotifier { _minReceiveAmount = null; _maxReceiveAmount = null; - _updateCachedCurrencies( - exchangeName: exchange.name, - send: _sendCurrency, - receiving: _receiveCurrency, - ); - if (_sendCurrency == null) { _rate = null; } else { @@ -391,12 +345,6 @@ class ExchangeFormState extends ChangeNotifier { _sendCurrency = receiveCurrency; _receiveCurrency = tmp; - _updateCachedCurrencies( - exchangeName: exchange.name, - send: _sendCurrency, - receiving: _receiveCurrency, - ); - await _updateRangesAndEstimate( shouldNotifyListeners: false, ); @@ -542,28 +490,6 @@ class ExchangeFormState extends ChangeNotifier { //============================================================================ - Currency? _cachedReceivingMB; - Currency? _cachedSendMB; - Currency? _cachedReceivingCN; - Currency? _cachedSendCN; - - void _updateCachedCurrencies({ - required String exchangeName, - required Currency? send, - required Currency? receiving, - }) { - switch (exchangeName) { - case ChangeNowExchange.exchangeName: - _cachedSendCN = send ?? _cachedSendCN; - _cachedReceivingCN = receiving ?? _cachedReceivingCN; - break; - case MajesticBankExchange.exchangeName: - _cachedSendMB = send ?? _cachedSendMB; - _cachedReceivingMB = receiving ?? _cachedReceivingMB; - break; - } - } - void _notify() { debugPrint("ExFState NOTIFY: ${toString()}"); notifyListeners(); From 24baeb9ff5557aedc2ed703d4a5703d254ce8f0a Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 11:42:45 -0600 Subject: [PATCH 124/191] show all available paired coins across exchange providers --- .../exchange_currency_selection_view.dart | 6 +----- lib/pages/exchange_view/exchange_form.dart | 6 ------ 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index c6ba3de2d..1c36e139f 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -26,14 +26,12 @@ import 'package:stackwallet/widgets/textfield_icon_button.dart'; class ExchangeCurrencySelectionView extends StatefulWidget { const ExchangeCurrencySelectionView({ Key? key, - required this.exchangeName, required this.willChange, required this.paired, required this.isFixedRate, required this.willChangeIsSend, }) : super(key: key); - final String exchangeName; final Currency? willChange; final Currency? paired; final bool isFixedRate; @@ -109,7 +107,6 @@ class _ExchangeCurrencySelectionViewState Future _getCurrency(String ticker) { return ExchangeDataLoadingService.instance.isar.currencies .where() - .exchangeNameEqualTo(widget.exchangeName) .filter() .tickerEqualTo(ticker, caseSensitive: false) .group((q) => widget.isFixedRate @@ -127,7 +124,6 @@ class _ExchangeCurrencySelectionViewState Future> _loadAvailablePairs() { final query = ExchangeDataLoadingService.instance.isar.pairs .where() - .exchangeNameEqualTo(widget.exchangeName) .filter() .group((q) => widget.isFixedRate ? q @@ -153,7 +149,6 @@ class _ExchangeCurrencySelectionViewState Future> _getCurrencies() async { return ExchangeDataLoadingService.instance.isar.currencies .where() - .exchangeNameEqualTo(widget.exchangeName) .filter() .group((q) => widget.isFixedRate ? q @@ -166,6 +161,7 @@ class _ExchangeCurrencySelectionViewState .rateTypeEqualTo(SupportedRateType.estimated)) .sortByIsStackCoin() .thenByName() + .distinctByTicker(caseSensitive: false) .findAll(); } diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index f076d5e6a..701ecbf22 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -241,10 +241,6 @@ class _ExchangeFormState extends ConsumerState { .extension()! .background, child: ExchangeCurrencySelectionView( - exchangeName: ref - .read(currentExchangeNameStateProvider - .state) - .state, willChange: willChange, paired: paired, isFixedRate: isFixedRate, @@ -263,8 +259,6 @@ class _ExchangeFormState extends ConsumerState { : await Navigator.of(context).push( MaterialPageRoute( builder: (_) => ExchangeCurrencySelectionView( - exchangeName: - ref.read(currentExchangeNameStateProvider.state).state, willChange: willChange, paired: paired, isFixedRate: isFixedRate, From a14cca58eecda66817b4de78ca635b3301b34e5d Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 13:04:55 -0600 Subject: [PATCH 125/191] unsupported pair error propagation --- .../exchange/change_now/change_now_api.dart | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/services/exchange/change_now/change_now_api.dart b/lib/services/exchange/change_now/change_now_api.dart index 4c8b1d55c..99171a62f 100644 --- a/lib/services/exchange/change_now/change_now_api.dart +++ b/lib/services/exchange/change_now/change_now_api.dart @@ -434,8 +434,27 @@ class ChangeNowAPI { final json = await _makeGetRequest(uri); try { - final value = EstimatedExchangeAmount.fromJson( - Map.from(json as Map)); + final map = Map.from(json as Map); + + if (map["error"] != null) { + if (map["error"] == "not_valid_fixed_rate_pair") { + return ExchangeResponse( + exception: PairUnavailableException( + map["message"] as String? ?? "Unsupported fixed rate pair", + ExchangeExceptionType.generic, + ), + ); + } else { + return ExchangeResponse( + exception: ExchangeException( + map["message"] as String? ?? map["error"].toString(), + ExchangeExceptionType.generic, + ), + ); + } + } + + final value = EstimatedExchangeAmount.fromJson(map); return ExchangeResponse( value: Estimate( estimatedAmount: value.estimatedAmount, From b1c8a56ba64c4f6420e09d60705dc5a3a1d88ec6 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 13:06:26 -0600 Subject: [PATCH 126/191] aggregate currency --- lib/models/exchange/aggregate_currency.dart | 26 +++ lib/models/exchange/exchange_form_state.dart | 65 ++----- .../exchange_currency_selection_view.dart | 21 ++- lib/pages/exchange_view/exchange_form.dart | 165 +++++++++++------- .../textfields/exchange_textfield.dart | 4 +- 5 files changed, 148 insertions(+), 133 deletions(-) create mode 100644 lib/models/exchange/aggregate_currency.dart diff --git a/lib/models/exchange/aggregate_currency.dart b/lib/models/exchange/aggregate_currency.dart new file mode 100644 index 000000000..2cb4109aa --- /dev/null +++ b/lib/models/exchange/aggregate_currency.dart @@ -0,0 +1,26 @@ +import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; +import 'package:tuple/tuple.dart'; + +class AggregateCurrency { + final Map _map = {}; + + AggregateCurrency( + {required List> exchangeCurrencyPairs}) { + assert(exchangeCurrencyPairs.isNotEmpty); + + for (final item in exchangeCurrencyPairs) { + _map[item.item1] = item.item2; + } + } + + Currency? forExchange(String exchangeName) { + return _map[exchangeName]; + } + + String get ticker => _map.values.first!.ticker; + String get name => _map.values.first!.name; + String get image => _map.values.first!.image; + SupportedRateType get rateType => _map.values.first!.rateType; + bool get isStackCoin => _map.values.first!.isStackCoin; +} diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 374875916..683f80abb 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -1,12 +1,9 @@ import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; -import 'package:isar/isar.dart'; +import 'package:stackwallet/models/exchange/aggregate_currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; -import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; -import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/logger.dart'; class ExchangeFormState extends ChangeNotifier { @@ -51,15 +48,15 @@ class ExchangeFormState extends ChangeNotifier { // } - Currency? _sendCurrency; - Currency? get sendCurrency => _sendCurrency; + AggregateCurrency? _sendCurrency; + AggregateCurrency? get sendCurrency => _sendCurrency; // set sendCurrency(Currency? sendCurrency) { // _sendCurrency = sendCurrency; // // // } - Currency? _receiveCurrency; - Currency? get receiveCurrency => _receiveCurrency; + AggregateCurrency? _receiveCurrency; + AggregateCurrency? get receiveCurrency => _receiveCurrency; // set receiveCurrency(Currency? receiveCurrency) { // _receiveCurrency = receiveCurrency; // // @@ -111,8 +108,8 @@ class ExchangeFormState extends ChangeNotifier { receiveAmount != null && rate != null && rate! >= Decimal.zero && - exchange.name == sendCurrency!.exchangeName && - exchange.name == receiveCurrency!.exchangeName && + sendCurrency!.forExchange(exchange.name) != null && + receiveCurrency!.forExchange(exchange.name) != null && warning.isEmpty; } @@ -154,46 +151,6 @@ class ExchangeFormState extends ChangeNotifier { }) async { _exchange = exchange; if (shouldUpdateData) { - if (_sendCurrency != null) { - _sendCurrency = await ExchangeDataLoadingService - .instance.isar.currencies - .where() - .exchangeNameEqualTo(exchange.name) - .filter() - .tickerEqualTo(_sendCurrency!.ticker) - .and() - .group((q) => exchangeRateType == ExchangeRateType.fixed - ? q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.fixed) - : q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.estimated)) - .findFirst(); - } - - if (_receiveCurrency != null) { - _receiveCurrency = await ExchangeDataLoadingService - .instance.isar.currencies - .where() - .exchangeNameEqualTo(exchange.name) - .filter() - .tickerEqualTo(_receiveCurrency!.ticker) - .and() - .group((q) => exchangeRateType == ExchangeRateType.fixed - ? q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.fixed) - : q - .rateTypeEqualTo(SupportedRateType.both) - .or() - .rateTypeEqualTo(SupportedRateType.estimated)) - .findFirst(); - } - await _updateRangesAndEstimate( shouldNotifyListeners: false, ); @@ -204,7 +161,7 @@ class ExchangeFormState extends ChangeNotifier { } } - void setCurrencies(Currency from, Currency to) { + void setCurrencies(AggregateCurrency from, AggregateCurrency to) { _sendCurrency = from; _receiveCurrency = to; } @@ -282,7 +239,7 @@ class ExchangeFormState extends ChangeNotifier { } Future updateSendCurrency( - Currency sendCurrency, + AggregateCurrency sendCurrency, bool shouldNotifyListeners, ) async { try { @@ -306,7 +263,7 @@ class ExchangeFormState extends ChangeNotifier { } Future updateReceivingCurrency( - Currency receiveCurrency, + AggregateCurrency receiveCurrency, bool shouldNotifyListeners, ) async { try { @@ -341,7 +298,7 @@ class ExchangeFormState extends ChangeNotifier { _minReceiveAmount = null; _maxReceiveAmount = null; - final Currency? tmp = sendCurrency; + final AggregateCurrency? tmp = sendCurrency; _sendCurrency = receiveCurrency; _receiveCurrency = tmp; diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index 1c36e139f..6d1956256 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -26,14 +26,14 @@ import 'package:stackwallet/widgets/textfield_icon_button.dart'; class ExchangeCurrencySelectionView extends StatefulWidget { const ExchangeCurrencySelectionView({ Key? key, - required this.willChange, - required this.paired, + required this.willChangeTicker, + required this.pairedTicker, required this.isFixedRate, required this.willChangeIsSend, }) : super(key: key); - final Currency? willChange; - final Currency? paired; + final String? willChangeTicker; + final String? pairedTicker; final bool isFixedRate; final bool willChangeIsSend; @@ -87,7 +87,7 @@ class _ExchangeCurrencySelectionViewState } Future> _loadCurrencies() async { - if (widget.paired == null) { + if (widget.pairedTicker == null) { return await _getCurrencies(); } @@ -136,8 +136,8 @@ class _ExchangeCurrencySelectionViewState .rateTypeEqualTo(SupportedRateType.estimated)) .and() .group((q) => widget.willChangeIsSend - ? q.toEqualTo(widget.paired!.ticker, caseSensitive: false) - : q.fromEqualTo(widget.paired!.ticker, caseSensitive: false)); + ? q.toEqualTo(widget.pairedTicker!, caseSensitive: false) + : q.fromEqualTo(widget.pairedTicker!, caseSensitive: false)); if (widget.willChangeIsSend) { return query.sortByFrom().findAll(); @@ -170,7 +170,7 @@ class _ExchangeCurrencySelectionViewState return _currencies; } - if (widget.paired == null) { + if (widget.pairedTicker == null) { return _currencies .where((e) => e.name.toLowerCase().contains(text.toLowerCase()) || @@ -179,7 +179,7 @@ class _ExchangeCurrencySelectionViewState } else { return _currencies .where((e) => - e.ticker.toLowerCase() != widget.paired!.ticker.toLowerCase() && + e.ticker.toLowerCase() != widget.pairedTicker!.toLowerCase() && (e.name.toLowerCase().contains(text.toLowerCase()) || e.ticker.toLowerCase().contains(text.toLowerCase()))) .toList(growable: false); @@ -318,8 +318,7 @@ class _ExchangeCurrencySelectionViewState Flexible( child: Builder(builder: (context) { final coins = Coin.values.where((e) => - e.ticker.toLowerCase() != - widget.paired?.ticker.toLowerCase()); + e.ticker.toLowerCase() != widget.pairedTicker?.toLowerCase()); final items = filter(_searchString) .where((e) => coins diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 701ecbf22..80db9758f 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -6,6 +6,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/svg.dart'; import 'package:isar/isar.dart'; +import 'package:stackwallet/models/exchange/aggregate_currency.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; @@ -128,6 +129,35 @@ class _ExchangeFormState extends ConsumerState { }); } + Future _getAggregateCurrency(Currency currency) async { + final rateType = ref.read(prefsChangeNotifierProvider).exchangeRateType; + final currencies = await ExchangeDataLoadingService.instance.isar.currencies + .filter() + .group((q) => rateType == ExchangeRateType.fixed + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)) + .and() + .tickerEqualTo( + currency.ticker, + caseSensitive: false, + ) + .findAll(); + + final items = [Tuple2(currency.exchangeName, currency)]; + + for (final currency in currencies) { + items.add(Tuple2(currency.exchangeName, currency)); + } + + return AggregateCurrency(exchangeCurrencyPairs: items); + } + void selectSendCurrency() async { final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; @@ -139,17 +169,18 @@ class _ExchangeFormState extends ConsumerState { } final selectedCurrency = await _showCurrencySelectionSheet( - willChange: ref.read(exchangeFormStateProvider).sendCurrency, + willChange: ref.read(exchangeFormStateProvider).sendCurrency?.ticker, willChangeIsSend: true, - paired: ref.read(exchangeFormStateProvider).receiveCurrency, + paired: ref.read(exchangeFormStateProvider).receiveCurrency?.ticker, isFixedRate: type == ExchangeRateType.fixed, ); if (selectedCurrency != null) { await showUpdatingExchangeRate( - whileFuture: ref - .read(exchangeFormStateProvider) - .updateSendCurrency(selectedCurrency, true), + whileFuture: _getAggregateCurrency(selectedCurrency).then( + (aggregateSelected) => ref + .read(exchangeFormStateProvider) + .updateSendCurrency(aggregateSelected, true)), ); } } @@ -163,18 +194,19 @@ class _ExchangeFormState extends ConsumerState { } final selectedCurrency = await _showCurrencySelectionSheet( - willChange: ref.read(exchangeFormStateProvider).receiveCurrency, + willChange: ref.read(exchangeFormStateProvider).receiveCurrency?.ticker, willChangeIsSend: false, - paired: ref.read(exchangeFormStateProvider).sendCurrency, + paired: ref.read(exchangeFormStateProvider).sendCurrency?.ticker, isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == ExchangeRateType.fixed, ); if (selectedCurrency != null) { await showUpdatingExchangeRate( - whileFuture: ref - .read(exchangeFormStateProvider) - .updateReceivingCurrency(selectedCurrency, true), + whileFuture: _getAggregateCurrency(selectedCurrency).then( + (aggregateSelected) => ref + .read(exchangeFormStateProvider) + .updateReceivingCurrency(aggregateSelected, true)), ); } } @@ -193,8 +225,8 @@ class _ExchangeFormState extends ConsumerState { } Future _showCurrencySelectionSheet({ - required Currency? willChange, - required Currency? paired, + required String? willChange, + required String? paired, required bool isFixedRate, required bool willChangeIsSend, }) async { @@ -241,8 +273,8 @@ class _ExchangeFormState extends ConsumerState { .extension()! .background, child: ExchangeCurrencySelectionView( - willChange: willChange, - paired: paired, + willChangeTicker: willChange, + pairedTicker: paired, isFixedRate: isFixedRate, willChangeIsSend: willChangeIsSend, ), @@ -259,8 +291,8 @@ class _ExchangeFormState extends ConsumerState { : await Navigator.of(context).push( MaterialPageRoute( builder: (_) => ExchangeCurrencySelectionView( - willChange: willChange, - paired: paired, + willChangeTicker: willChange, + pairedTicker: paired, isFixedRate: isFixedRate, willChangeIsSend: willChangeIsSend, ), @@ -292,57 +324,58 @@ class _ExchangeFormState extends ConsumerState { ref.read(exchangeFormStateProvider).reversed = false; if (!(toTicker == "-" || fromTicker == "-")) { - final available = await ExchangeDataLoadingService.instance.isar.pairs - .where() - .exchangeNameEqualTo( - ref.read(currentExchangeNameStateProvider.state).state) - .filter() - .fromEqualTo(fromTicker) - .and() - .toEqualTo(toTicker) - .findAll(); + // final available = await ExchangeDataLoadingService.instance.isar.pairs + // .where() + // .exchangeNameEqualTo( + // ref.read(currentExchangeNameStateProvider.state).state) + // .filter() + // .fromEqualTo(fromTicker) + // .and() + // .toEqualTo(toTicker) + // .findAll(); + await ref.read(exchangeFormStateProvider).refresh(); - if (available.isNotEmpty) { - final availableCurrencies = await ExchangeDataLoadingService - .instance.isar.currencies - .where() - .exchangeNameEqualTo( - ref.read(currentExchangeNameStateProvider.state).state) - .filter() - .tickerEqualTo(fromTicker) - .or() - .tickerEqualTo(toTicker) - .findAll(); - - if (availableCurrencies.length > 1) { - final from = - availableCurrencies.firstWhere((e) => e.ticker == fromTicker); - final to = - availableCurrencies.firstWhere((e) => e.ticker == toTicker); - - final newFromAmount = Decimal.tryParse(_sendController.text); - ref.read(exchangeFormStateProvider).receiveAmount = newFromAmount; - if (newFromAmount == null) { - _receiveController.text = ""; - } - - await ref - .read(exchangeFormStateProvider) - .updateReceivingCurrency(to, false); - await ref - .read(exchangeFormStateProvider) - .updateSendCurrency(from, true); - - _receiveController.text = - ref.read(exchangeFormStateProvider).toAmountString.isEmpty - ? "-" - : ref.read(exchangeFormStateProvider).toAmountString; - if (mounted) { - Navigator.of(context, rootNavigator: isDesktop).pop(); - } - return; - } - } + // if (available.isNotEmpty) { + // final availableCurrencies = await ExchangeDataLoadingService + // .instance.isar.currencies + // .where() + // .exchangeNameEqualTo( + // ref.read(currentExchangeNameStateProvider.state).state) + // .filter() + // .tickerEqualTo(fromTicker) + // .or() + // .tickerEqualTo(toTicker) + // .findAll(); + // + // if (availableCurrencies.length > 1) { + // final from = + // availableCurrencies.firstWhere((e) => e.ticker == fromTicker); + // final to = + // availableCurrencies.firstWhere((e) => e.ticker == toTicker); + // + // final newFromAmount = Decimal.tryParse(_sendController.text); + // ref.read(exchangeFormStateProvider).receiveAmount = newFromAmount; + // if (newFromAmount == null) { + // _receiveController.text = ""; + // } + // + // await ref + // .read(exchangeFormStateProvider) + // .updateReceivingCurrency(to, false); + // await ref + // .read(exchangeFormStateProvider) + // .updateSendCurrency(from, true); + // + // _receiveController.text = + // ref.read(exchangeFormStateProvider).toAmountString.isEmpty + // ? "-" + // : ref.read(exchangeFormStateProvider).toAmountString; + // if (mounted) { + // Navigator.of(context, rootNavigator: isDesktop).pop(); + // } + // return; + // } + // } } } diff --git a/lib/widgets/textfields/exchange_textfield.dart b/lib/widgets/textfields/exchange_textfield.dart index 44a210724..33fc6d738 100644 --- a/lib/widgets/textfields/exchange_textfield.dart +++ b/lib/widgets/textfields/exchange_textfield.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/svg.dart'; -import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; +import 'package:stackwallet/models/exchange/aggregate_currency.dart'; import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; @@ -42,7 +42,7 @@ class ExchangeTextField extends StatefulWidget { final bool isWalletCoin; final bool readOnly; - final Currency? currency; + final AggregateCurrency? currency; @override State createState() => _ExchangeTextFieldState(); From 4630d616cdc5f317d32b30432cf7ef59fa58d097 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 14:06:58 -0600 Subject: [PATCH 127/191] only show exchanges supported by selected aggregate currency pair based on exchange flow type --- lib/models/exchange/aggregate_currency.dart | 14 + lib/models/exchange/exchange_form_state.dart | 44 + lib/models/isar/exchange_cache/currency.dart | 6 + lib/pages/exchange_view/exchange_form.dart | 4 - .../exchange_provider_options.dart | 907 +++++++++--------- 5 files changed, 543 insertions(+), 432 deletions(-) diff --git a/lib/models/exchange/aggregate_currency.dart b/lib/models/exchange/aggregate_currency.dart index 2cb4109aa..6cd1ef6cf 100644 --- a/lib/models/exchange/aggregate_currency.dart +++ b/lib/models/exchange/aggregate_currency.dart @@ -19,8 +19,22 @@ class AggregateCurrency { } String get ticker => _map.values.first!.ticker; + String get name => _map.values.first!.name; + String get image => _map.values.first!.image; + SupportedRateType get rateType => _map.values.first!.rateType; + bool get isStackCoin => _map.values.first!.isStackCoin; + + @override + String toString() { + String str = "AggregateCurrency: {"; + for (final key in _map.keys) { + str += " $key: ${_map[key]},"; + } + str += " }"; + return str; + } } diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 683f80abb..603980e23 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -3,7 +3,9 @@ import 'package:flutter/foundation.dart'; import 'package:stackwallet/models/exchange/aggregate_currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; +import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; +import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/utilities/logger.dart'; class ExchangeFormState extends ChangeNotifier { @@ -323,6 +325,29 @@ class ExchangeFormState extends ChangeNotifier { required bool shouldNotifyListeners, }) async { try { + switch (exchange.name) { + case ChangeNowExchange.exchangeName: + if (!_exchangeSupported( + exchangeName: exchange.name, + sendCurrency: sendCurrency, + receiveCurrency: receiveCurrency, + exchangeRateType: exchangeRateType, + )) { + _exchange = MajesticBankExchange.instance; + } + break; + case MajesticBankExchange.exchangeName: + if (!_exchangeSupported( + exchangeName: exchange.name, + sendCurrency: sendCurrency, + receiveCurrency: receiveCurrency, + exchangeRateType: exchangeRateType, + )) { + _exchange = ChangeNowExchange.instance; + } + break; + } + await _updateRanges(shouldNotifyListeners: false); await _updateEstimate(shouldNotifyListeners: false); if (shouldNotifyListeners) { @@ -452,6 +477,25 @@ class ExchangeFormState extends ChangeNotifier { notifyListeners(); } + bool _exchangeSupported({ + required String exchangeName, + required AggregateCurrency? sendCurrency, + required AggregateCurrency? receiveCurrency, + required ExchangeRateType exchangeRateType, + }) { + final send = sendCurrency?.forExchange(exchangeName); + if (send == null) return false; + + final rcv = receiveCurrency?.forExchange(exchangeName); + if (rcv == null) return false; + + if (exchangeRateType == ExchangeRateType.fixed) { + return send.supportsFixedRate && rcv.supportsFixedRate; + } else { + return send.supportsEstimatedRate && rcv.supportsEstimatedRate; + } + } + @override String toString() { return "{" diff --git a/lib/models/isar/exchange_cache/currency.dart b/lib/models/isar/exchange_cache/currency.dart index ced37557c..81471a3d1 100644 --- a/lib/models/isar/exchange_cache/currency.dart +++ b/lib/models/isar/exchange_cache/currency.dart @@ -44,6 +44,12 @@ class Currency { @Index() final bool isStackCoin; + @ignore + bool get supportsFixedRate => rateType == SupportedRateType.fixed || rateType == SupportedRateType.both; + + @ignore + bool get supportsEstimatedRate => rateType == SupportedRateType.estimated || rateType == SupportedRateType.both; + Currency({ required this.exchangeName, required this.ticker, diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 80db9758f..885cc1d62 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -862,10 +862,6 @@ class _ExchangeFormState extends ConsumerState { if (ref.watch(exchangeFormStateProvider).sendAmount != null && ref.watch(exchangeFormStateProvider).sendAmount != Decimal.zero) ExchangeProviderOptions( - from: ref.watch(exchangeFormStateProvider).fromTicker, - to: ref.watch(exchangeFormStateProvider).toTicker, - fromAmount: ref.watch(exchangeFormStateProvider).sendAmount, - toAmount: ref.watch(exchangeFormStateProvider).receiveAmount, fixedRate: rateType == ExchangeRateType.fixed, reversed: ref.watch( exchangeFormStateProvider.select((value) => value.reversed)), diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index 9db3b9cb3..ac021cea1 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/exceptions/exchange/pair_unavailable_exception.dart'; +import 'package:stackwallet/models/exchange/aggregate_currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; @@ -20,27 +21,62 @@ import 'package:stackwallet/widgets/animated_text.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; -class ExchangeProviderOptions extends ConsumerWidget { +class ExchangeProviderOptions extends ConsumerStatefulWidget { const ExchangeProviderOptions({ Key? key, - required this.from, - required this.to, - required this.fromAmount, - required this.toAmount, required this.fixedRate, required this.reversed, }) : super(key: key); - final String? from; - final String? to; - final Decimal? fromAmount; - final Decimal? toAmount; final bool fixedRate; final bool reversed; @override - Widget build(BuildContext context, WidgetRef ref) { - final isDesktop = Util.isDesktop; + ConsumerState createState() => + _ExchangeProviderOptionsState(); +} + +class _ExchangeProviderOptionsState + extends ConsumerState { + final isDesktop = Util.isDesktop; + + bool exchangeSupported({ + required String exchangeName, + required AggregateCurrency? sendCurrency, + required AggregateCurrency? receiveCurrency, + }) { + final send = sendCurrency?.forExchange(exchangeName); + if (send == null) return false; + + final rcv = receiveCurrency?.forExchange(exchangeName); + if (rcv == null) return false; + + if (widget.fixedRate) { + return send.supportsFixedRate && rcv.supportsFixedRate; + } else { + return send.supportsEstimatedRate && rcv.supportsEstimatedRate; + } + } + + @override + Widget build(BuildContext context) { + final sendCurrency = ref.watch(exchangeFormStateProvider).sendCurrency; + final receivingCurrency = + ref.watch(exchangeFormStateProvider).receiveCurrency; + final fromAmount = ref.watch(exchangeFormStateProvider).sendAmount; + final toAmount = ref.watch(exchangeFormStateProvider).receiveAmount; + + final showChangeNow = exchangeSupported( + exchangeName: ChangeNowExchange.exchangeName, + sendCurrency: sendCurrency, + receiveCurrency: receivingCurrency, + ); + final showMajesticBank = exchangeSupported( + exchangeName: MajesticBankExchange.exchangeName, + sendCurrency: sendCurrency, + receiveCurrency: receivingCurrency, + ); + return RoundedWhiteContainer( padding: isDesktop ? const EdgeInsets.all(0) : const EdgeInsets.all(12), borderColor: isDesktop @@ -48,181 +84,203 @@ class ExchangeProviderOptions extends ConsumerWidget { : null, child: Column( children: [ - ConditionalParent( - condition: isDesktop, - builder: (child) => MouseRegion( - cursor: SystemMouseCursors.click, - child: child, - ), - child: GestureDetector( - onTap: () { - if (ref.read(currentExchangeNameStateProvider.state).state != - ChangeNowExchange.exchangeName) { - ref.read(currentExchangeNameStateProvider.state).state = - ChangeNowExchange.exchangeName; - ref.read(exchangeFormStateProvider).updateExchange( - exchange: ref.read(exchangeProvider), - shouldUpdateData: true, - shouldNotifyListeners: true, - ); - } - }, - child: Container( - color: Colors.transparent, - child: Padding( - padding: isDesktop - ? const EdgeInsets.all(16) - : const EdgeInsets.all(0), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - width: 20, - height: 20, - child: Padding( - padding: - EdgeInsets.only(top: isDesktop ? 20.0 : 15.0), - child: Radio( - activeColor: Theme.of(context) - .extension()! - .radioButtonIconEnabled, - value: ChangeNowExchange.exchangeName, - groupValue: ref - .watch(currentExchangeNameStateProvider.state) - .state, - onChanged: (_) { - // if (value is String) { - // ref - // .read( - // currentExchangeNameStateProvider.state) - // .state = value; - // ref - // .read(exchangeFormStateProvider(ref - // .read(prefsChangeNotifierProvider) - // .exchangeRateType)) - // .exchange = - // Exchange.fromName(ref - // .read(currentExchangeNameStateProvider - // .state) - // .state); - // } - }, + if (showChangeNow) + ConditionalParent( + condition: isDesktop, + builder: (child) => MouseRegion( + cursor: SystemMouseCursors.click, + child: child, + ), + child: GestureDetector( + onTap: () { + if (ref.read(currentExchangeNameStateProvider.state).state != + ChangeNowExchange.exchangeName) { + ref.read(currentExchangeNameStateProvider.state).state = + ChangeNowExchange.exchangeName; + ref.read(exchangeFormStateProvider).updateExchange( + exchange: ref.read(exchangeProvider), + shouldUpdateData: true, + shouldNotifyListeners: true, + ); + } + }, + child: Container( + color: Colors.transparent, + child: Padding( + padding: isDesktop + ? const EdgeInsets.all(16) + : const EdgeInsets.all(0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 20, + height: 20, + child: Padding( + padding: + EdgeInsets.only(top: isDesktop ? 20.0 : 15.0), + child: Radio( + activeColor: Theme.of(context) + .extension()! + .radioButtonIconEnabled, + value: ChangeNowExchange.exchangeName, + groupValue: ref + .watch(currentExchangeNameStateProvider.state) + .state, + onChanged: (_) { + if (ref + .read(currentExchangeNameStateProvider + .state) + .state != + ChangeNowExchange.exchangeName) { + ref + .read(currentExchangeNameStateProvider + .state) + .state = ChangeNowExchange.exchangeName; + ref + .read(exchangeFormStateProvider) + .updateExchange( + exchange: ref.read(exchangeProvider), + shouldUpdateData: true, + shouldNotifyListeners: true, + ); + } + }, + ), ), ), - ), - const SizedBox( - width: 14, - ), - Padding( - padding: const EdgeInsets.only(top: 5.0), - child: SizedBox( - width: isDesktop ? 32 : 24, - height: isDesktop ? 32 : 24, - child: SvgPicture.asset( - Assets.exchange.changeNow, + const SizedBox( + width: 14, + ), + Padding( + padding: const EdgeInsets.only(top: 5.0), + child: SizedBox( width: isDesktop ? 32 : 24, height: isDesktop ? 32 : 24, + child: SvgPicture.asset( + Assets.exchange.changeNow, + width: isDesktop ? 32 : 24, + height: isDesktop ? 32 : 24, + ), ), ), - ), - const SizedBox( - width: 10, - ), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - ChangeNowExchange.exchangeName, - style: STextStyles.titleBold12(context).copyWith( - color: Theme.of(context) - .extension()! - .textDark2, - ), - ), - if (from != null && - to != null && - toAmount != null && - toAmount! > Decimal.zero && - fromAmount != null && - fromAmount! > Decimal.zero) - FutureBuilder( - future: ChangeNowExchange.instance.getEstimate( - from!, - to!, - reversed ? toAmount! : fromAmount!, - fixedRate, - reversed, + const SizedBox( + width: 10, + ), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + ChangeNowExchange.exchangeName, + style: + STextStyles.titleBold12(context).copyWith( + color: Theme.of(context) + .extension()! + .textDark2, ), - builder: (context, - AsyncSnapshot> - snapshot) { - if (snapshot.connectionState == - ConnectionState.done && - snapshot.hasData) { - final estimate = snapshot.data?.value; - if (estimate != null) { - Decimal rate; - if (estimate.reversed) { - rate = (toAmount! / - estimate.estimatedAmount) - .toDecimal( - scaleOnInfinitePrecision: 12); - } else { - rate = (estimate.estimatedAmount / - fromAmount!) - .toDecimal( - scaleOnInfinitePrecision: 12); - } - Coin coin; - try { - coin = - coinFromTickerCaseInsensitive(to!); - } catch (_) { - coin = Coin.bitcoin; - } + ), + if (sendCurrency != null && + receivingCurrency != null && + toAmount != null && + toAmount > Decimal.zero && + fromAmount != null && + fromAmount > Decimal.zero) + FutureBuilder( + future: + ChangeNowExchange.instance.getEstimate( + sendCurrency.ticker, + receivingCurrency.ticker, + widget.reversed ? toAmount : fromAmount, + widget.fixedRate, + widget.reversed, + ), + builder: (context, + AsyncSnapshot> + snapshot) { + if (snapshot.connectionState == + ConnectionState.done && + snapshot.hasData) { + final estimate = snapshot.data?.value; + if (estimate != null) { + Decimal rate; + if (estimate.reversed) { + rate = (toAmount / + estimate.estimatedAmount) + .toDecimal( + scaleOnInfinitePrecision: 12); + } else { + rate = (estimate.estimatedAmount / + fromAmount) + .toDecimal( + scaleOnInfinitePrecision: 12); + } + Coin coin; + try { + coin = coinFromTickerCaseInsensitive( + receivingCurrency.ticker); + } catch (_) { + coin = Coin.bitcoin; + } - return Text( - "1 ${from!.toUpperCase()} ~ ${Format.localizedStringAsFixed( - value: rate, - locale: ref.watch( - localeServiceChangeNotifierProvider - .select( - (value) => value.locale), + return Text( + "1 ${sendCurrency.ticker.toUpperCase()} ~ ${Format.localizedStringAsFixed( + value: rate, + locale: ref.watch( + localeServiceChangeNotifierProvider + .select( + (value) => value.locale), + ), + decimalPlaces: + Constants.decimalPlacesForCoin( + coin), + )} ${receivingCurrency.ticker.toUpperCase()}", + style: STextStyles.itemSubtitle12( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, ), - decimalPlaces: - Constants.decimalPlacesForCoin( - coin), - )} ${to!.toUpperCase()}", - style: - STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ); - } else if (snapshot.data?.exception - is PairUnavailableException) { - return Text( - "Unsupported pair", - style: - STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ); + ); + } else if (snapshot.data?.exception + is PairUnavailableException) { + return Text( + "Unsupported pair", + style: STextStyles.itemSubtitle12( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); + } else { + Logging.instance.log( + "$runtimeType failed to fetch rate for ChangeNOW: ${snapshot.data}", + level: LogLevel.Warning, + ); + return Text( + "Failed to fetch rate", + style: STextStyles.itemSubtitle12( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); + } } else { - Logging.instance.log( - "$runtimeType failed to fetch rate for ChangeNOW: ${snapshot.data}", - level: LogLevel.Warning, - ); - return Text( - "Failed to fetch rate", + return AnimatedText( + stringsToLoopThrough: const [ + "Loading", + "Loading.", + "Loading..", + "Loading...", + ], style: STextStyles.itemSubtitle12(context) .copyWith( @@ -232,233 +290,242 @@ class ExchangeProviderOptions extends ConsumerWidget { ), ); } - } else { - return AnimatedText( - stringsToLoopThrough: const [ - "Loading", - "Loading.", - "Loading..", - "Loading...", - ], - style: STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ); - } - }, - ), - if (!(from != null && - to != null && - toAmount != null && - toAmount! > Decimal.zero && - fromAmount != null && - fromAmount! > Decimal.zero)) - Text( - "n/a", - style: STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, + }, ), - ), - ], + if (!(sendCurrency != null && + receivingCurrency != null && + toAmount != null && + toAmount > Decimal.zero && + fromAmount != null && + fromAmount > Decimal.zero)) + Text( + "n/a", + style: STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ), + ], + ), ), - ), - ], + ], + ), ), ), ), ), - ), - if (isDesktop) - Container( - height: 1, - color: Theme.of(context).extension()!.background, - ), - if (!isDesktop) - const SizedBox( - height: 16, - ), - ConditionalParent( - condition: isDesktop, - builder: (child) => MouseRegion( - cursor: SystemMouseCursors.click, - child: child, - ), - child: GestureDetector( - onTap: () { - if (ref.read(currentExchangeNameStateProvider.state).state != - MajesticBankExchange.exchangeName) { - ref.read(currentExchangeNameStateProvider.state).state = - MajesticBankExchange.exchangeName; - ref.read(exchangeFormStateProvider).updateExchange( - exchange: ref.read(exchangeProvider), - shouldUpdateData: true, - shouldNotifyListeners: true, - ); - } - }, - child: Container( - color: Colors.transparent, - child: Padding( - padding: isDesktop - ? const EdgeInsets.all(16) - : const EdgeInsets.all(0), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - width: 20, - height: 20, - child: Padding( - padding: - EdgeInsets.only(top: isDesktop ? 20.0 : 15.0), - child: Radio( - activeColor: Theme.of(context) - .extension()! - .radioButtonIconEnabled, - value: MajesticBankExchange.exchangeName, - groupValue: ref - .watch(currentExchangeNameStateProvider.state) - .state, - onChanged: (_) { - // if (value is String) { - // ref - // .read( - // currentExchangeNameStateProvider.state) - // .state = value; - // ref - // .read(exchangeFormStateProvider(ref - // .read(prefsChangeNotifierProvider) - // .exchangeRateType)) - // .exchange = - // Exchange.fromName(ref - // .read(currentExchangeNameStateProvider - // .state) - // .state); - // } - }, + + if (showChangeNow && showMajesticBank) + isDesktop + ? Container( + height: 1, + color: + Theme.of(context).extension()!.background, + ) + : const SizedBox( + height: 16, + ), + + if (showMajesticBank) + ConditionalParent( + condition: isDesktop, + builder: (child) => MouseRegion( + cursor: SystemMouseCursors.click, + child: child, + ), + child: GestureDetector( + onTap: () { + if (ref.read(currentExchangeNameStateProvider.state).state != + MajesticBankExchange.exchangeName) { + ref.read(currentExchangeNameStateProvider.state).state = + MajesticBankExchange.exchangeName; + ref.read(exchangeFormStateProvider).updateExchange( + exchange: ref.read(exchangeProvider), + shouldUpdateData: true, + shouldNotifyListeners: true, + ); + } + }, + child: Container( + color: Colors.transparent, + child: Padding( + padding: isDesktop + ? const EdgeInsets.all(16) + : const EdgeInsets.all(0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 20, + height: 20, + child: Padding( + padding: + EdgeInsets.only(top: isDesktop ? 20.0 : 15.0), + child: Radio( + activeColor: Theme.of(context) + .extension()! + .radioButtonIconEnabled, + value: MajesticBankExchange.exchangeName, + groupValue: ref + .watch(currentExchangeNameStateProvider.state) + .state, + onChanged: (_) { + if (ref + .read(currentExchangeNameStateProvider + .state) + .state != + MajesticBankExchange.exchangeName) { + ref + .read(currentExchangeNameStateProvider + .state) + .state = + MajesticBankExchange.exchangeName; + ref + .read(exchangeFormStateProvider) + .updateExchange( + exchange: ref.read(exchangeProvider), + shouldUpdateData: true, + shouldNotifyListeners: true, + ); + } + }, + ), ), ), - ), - const SizedBox( - width: 14, - ), - Padding( - padding: const EdgeInsets.only(top: 5.0), - child: SizedBox( - width: isDesktop ? 32 : 24, - height: isDesktop ? 32 : 24, - child: SvgPicture.asset( - Assets.exchange.majesticBankBlue, + const SizedBox( + width: 14, + ), + Padding( + padding: const EdgeInsets.only(top: 5.0), + child: SizedBox( width: isDesktop ? 32 : 24, height: isDesktop ? 32 : 24, + child: SvgPicture.asset( + Assets.exchange.majesticBankBlue, + width: isDesktop ? 32 : 24, + height: isDesktop ? 32 : 24, + ), ), ), - ), - const SizedBox( - width: 10, - ), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - MajesticBankExchange.exchangeName, - style: STextStyles.titleBold12(context).copyWith( - color: Theme.of(context) - .extension()! - .textDark2, - ), - ), - if (from != null && - to != null && - toAmount != null && - toAmount! > Decimal.zero && - fromAmount != null && - fromAmount! > Decimal.zero) - FutureBuilder( - future: - MajesticBankExchange.instance.getEstimate( - from!, - to!, - reversed ? toAmount! : fromAmount!, - fixedRate, - reversed, + const SizedBox( + width: 10, + ), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + MajesticBankExchange.exchangeName, + style: + STextStyles.titleBold12(context).copyWith( + color: Theme.of(context) + .extension()! + .textDark2, ), - builder: (context, - AsyncSnapshot> - snapshot) { - if (snapshot.connectionState == - ConnectionState.done && - snapshot.hasData) { - final estimate = snapshot.data?.value; - if (estimate != null) { - Decimal rate; - if (estimate.reversed) { - rate = (toAmount! / - estimate.estimatedAmount) - .toDecimal( - scaleOnInfinitePrecision: 12); - } else { - rate = (estimate.estimatedAmount / - fromAmount!) - .toDecimal( - scaleOnInfinitePrecision: 12); - } - Coin coin; - try { - coin = - coinFromTickerCaseInsensitive(to!); - } catch (_) { - coin = Coin.bitcoin; - } + ), + if (sendCurrency != null && + receivingCurrency != null && + toAmount != null && + toAmount > Decimal.zero && + fromAmount != null && + fromAmount > Decimal.zero) + FutureBuilder( + future: + MajesticBankExchange.instance.getEstimate( + sendCurrency.ticker, + receivingCurrency.ticker, + widget.reversed ? toAmount : fromAmount, + widget.fixedRate, + widget.reversed, + ), + builder: (context, + AsyncSnapshot> + snapshot) { + if (snapshot.connectionState == + ConnectionState.done && + snapshot.hasData) { + final estimate = snapshot.data?.value; + if (estimate != null) { + Decimal rate; + if (estimate.reversed) { + rate = (toAmount / + estimate.estimatedAmount) + .toDecimal( + scaleOnInfinitePrecision: 12); + } else { + rate = (estimate.estimatedAmount / + fromAmount) + .toDecimal( + scaleOnInfinitePrecision: 12); + } + Coin coin; + try { + coin = coinFromTickerCaseInsensitive( + receivingCurrency.ticker); + } catch (_) { + coin = Coin.bitcoin; + } - return Text( - "1 ${from!.toUpperCase()} ~ ${Format.localizedStringAsFixed( - value: rate, - locale: ref.watch( - localeServiceChangeNotifierProvider - .select( - (value) => value.locale), + return Text( + "1 ${sendCurrency.ticker.toUpperCase()} ~ ${Format.localizedStringAsFixed( + value: rate, + locale: ref.watch( + localeServiceChangeNotifierProvider + .select( + (value) => value.locale), + ), + decimalPlaces: + Constants.decimalPlacesForCoin( + coin), + )} ${receivingCurrency.ticker.toUpperCase()}", + style: STextStyles.itemSubtitle12( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, ), - decimalPlaces: - Constants.decimalPlacesForCoin( - coin), - )} ${to!.toUpperCase()}", - style: - STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ); - } else if (snapshot.data?.exception - is PairUnavailableException) { - return Text( - "Unsupported pair", - style: - STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ); + ); + } else if (snapshot.data?.exception + is PairUnavailableException) { + return Text( + "Unsupported pair", + style: STextStyles.itemSubtitle12( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); + } else { + Logging.instance.log( + "$runtimeType failed to fetch rate for ChangeNOW: ${snapshot.data}", + level: LogLevel.Warning, + ); + return Text( + "Failed to fetch rate", + style: STextStyles.itemSubtitle12( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ); + } } else { - Logging.instance.log( - "$runtimeType failed to fetch rate for ChangeNOW: ${snapshot.data}", - level: LogLevel.Warning, - ); - return Text( - "Failed to fetch rate", + return AnimatedText( + stringsToLoopThrough: const [ + "Loading", + "Loading.", + "Loading..", + "Loading...", + ], style: STextStyles.itemSubtitle12(context) .copyWith( @@ -468,53 +535,37 @@ class ExchangeProviderOptions extends ConsumerWidget { ), ); } - } else { - return AnimatedText( - stringsToLoopThrough: const [ - "Loading", - "Loading.", - "Loading..", - "Loading...", - ], - style: STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - ); - } - }, - ), - if (!(from != null && - to != null && - toAmount != null && - toAmount! > Decimal.zero && - fromAmount != null && - fromAmount! > Decimal.zero)) - Text( - "n/a", - style: STextStyles.itemSubtitle12(context) - .copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, + }, ), - ), - ], + if (!(sendCurrency != null && + receivingCurrency != null && + toAmount != null && + toAmount > Decimal.zero && + fromAmount != null && + fromAmount > Decimal.zero)) + Text( + "n/a", + style: STextStyles.itemSubtitle12(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ), + ], + ), ), - ), - ], + ], + ), ), ), ), ), - ), - if (isDesktop) - Container( - height: 1, - color: Theme.of(context).extension()!.background, - ), + // if (isDesktop) + // Container( + // height: 1, + // color: Theme.of(context).extension()!.background, + // ), // if (!isDesktop) // const SizedBox( // height: 16, From 5c29a543a98aea6671c1587069518e62522a780f Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 14:22:22 -0600 Subject: [PATCH 128/191] reduce unneeded providers --- lib/pages/exchange_view/exchange_form.dart | 5 +- .../exchange_step_views/step_2_view.dart | 6 +-- .../exchange_step_views/step_3_view.dart | 12 ++--- .../exchange_step_views/step_4_view.dart | 6 ++- .../exchange_provider_options.dart | 47 +++++++------------ .../exchange_steps/step_scaffold.dart | 5 +- .../subwidgets/desktop_step_1.dart | 3 +- .../subwidgets/desktop_step_3.dart | 5 +- .../subwidgets/desktop_step_4.dart | 3 +- .../current_exchange_name_state_provider.dart | 6 --- lib/providers/exchange/exchange_provider.dart | 9 ---- 11 files changed, 42 insertions(+), 65 deletions(-) delete mode 100644 lib/providers/exchange/current_exchange_name_state_provider.dart delete mode 100644 lib/providers/exchange/exchange_provider.dart diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 885cc1d62..88497534b 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -386,7 +386,7 @@ class _ExchangeFormState extends ConsumerState { final sendAmount = ref.read(exchangeFormStateProvider).sendAmount!; final estimate = ref.read(exchangeFormStateProvider).estimate!; - final exchangeName = ref.read(currentExchangeNameStateProvider.state).state; + final exchangeName = ref.read(exchangeFormStateProvider).exchange.name; String rate; @@ -828,7 +828,8 @@ class _ExchangeFormState extends ConsumerState { currency: ref.watch(exchangeFormStateProvider .select((value) => value.receiveCurrency)), readOnly: (rateType) == ExchangeRateType.estimated && - ref.watch(exchangeProvider).name == + ref.watch(exchangeFormStateProvider + .select((value) => value.exchange.name)) == ChangeNowExchange.exchangeName, ), if (ref diff --git a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart index af2567d9a..18950b851 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart @@ -124,9 +124,9 @@ class _Step2ViewState extends ConsumerState { @override Widget build(BuildContext context) { - final supportsRefund = - ref.watch(currentExchangeNameStateProvider.state).state != - MajesticBankExchange.exchangeName; + final supportsRefund = ref.watch( + exchangeFormStateProvider.select((value) => value.exchange.name)) != + MajesticBankExchange.exchangeName; return Background( child: Scaffold( diff --git a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart index 8b08f7961..e09ad9a5c 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart @@ -7,9 +7,8 @@ import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_4_view.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; -import 'package:stackwallet/providers/exchange/current_exchange_name_state_provider.dart'; -import 'package:stackwallet/providers/exchange/exchange_provider.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; +import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/notifications_api.dart'; @@ -53,9 +52,9 @@ class _Step3ViewState extends ConsumerState { @override Widget build(BuildContext context) { - final supportsRefund = - ref.watch(currentExchangeNameStateProvider.state).state != - MajesticBankExchange.exchangeName; + final supportsRefund = ref.watch( + exchangeFormStateProvider.select((value) => value.exchange.name)) != + MajesticBankExchange.exchangeName; return Background( child: Scaffold( @@ -255,7 +254,8 @@ class _Step3ViewState extends ConsumerState { final ExchangeResponse response = await ref - .read(exchangeProvider) + .read(exchangeFormStateProvider) + .exchange .createTrade( from: model.sendTicker, to: model.receiveTicker, diff --git a/lib/pages/exchange_view/exchange_step_views/step_4_view.dart b/lib/pages/exchange_view/exchange_step_views/step_4_view.dart index d5f1339d0..1278d1ddb 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_4_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_4_view.dart @@ -65,8 +65,10 @@ class _Step4ViewState extends ConsumerState { } Future _updateStatus() async { - final statusResponse = - await ref.read(exchangeProvider).updateTrade(model.trade!); + final statusResponse = await ref + .read(exchangeFormStateProvider) + .exchange + .updateTrade(model.trade!); String status = "Waiting"; if (statusResponse.value != null) { status = statusResponse.value!.status; diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index ac021cea1..c0f4312d0 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -93,12 +93,10 @@ class _ExchangeProviderOptionsState ), child: GestureDetector( onTap: () { - if (ref.read(currentExchangeNameStateProvider.state).state != + if (ref.read(exchangeFormStateProvider).exchange.name != ChangeNowExchange.exchangeName) { - ref.read(currentExchangeNameStateProvider.state).state = - ChangeNowExchange.exchangeName; ref.read(exchangeFormStateProvider).updateExchange( - exchange: ref.read(exchangeProvider), + exchange: ChangeNowExchange.instance, shouldUpdateData: true, shouldNotifyListeners: true, ); @@ -124,23 +122,18 @@ class _ExchangeProviderOptionsState .extension()! .radioButtonIconEnabled, value: ChangeNowExchange.exchangeName, - groupValue: ref - .watch(currentExchangeNameStateProvider.state) - .state, + groupValue: ref.watch(exchangeFormStateProvider + .select((value) => value.exchange.name)), onChanged: (_) { if (ref - .read(currentExchangeNameStateProvider - .state) - .state != + .read(exchangeFormStateProvider) + .exchange + .name != ChangeNowExchange.exchangeName) { - ref - .read(currentExchangeNameStateProvider - .state) - .state = ChangeNowExchange.exchangeName; ref .read(exchangeFormStateProvider) .updateExchange( - exchange: ref.read(exchangeProvider), + exchange: ChangeNowExchange.instance, shouldUpdateData: true, shouldNotifyListeners: true, ); @@ -337,12 +330,10 @@ class _ExchangeProviderOptionsState ), child: GestureDetector( onTap: () { - if (ref.read(currentExchangeNameStateProvider.state).state != + if (ref.read(exchangeFormStateProvider).exchange.name != MajesticBankExchange.exchangeName) { - ref.read(currentExchangeNameStateProvider.state).state = - MajesticBankExchange.exchangeName; ref.read(exchangeFormStateProvider).updateExchange( - exchange: ref.read(exchangeProvider), + exchange: MajesticBankExchange.instance, shouldUpdateData: true, shouldNotifyListeners: true, ); @@ -368,24 +359,18 @@ class _ExchangeProviderOptionsState .extension()! .radioButtonIconEnabled, value: MajesticBankExchange.exchangeName, - groupValue: ref - .watch(currentExchangeNameStateProvider.state) - .state, + groupValue: ref.watch(exchangeFormStateProvider + .select((value) => value.exchange.name)), onChanged: (_) { if (ref - .read(currentExchangeNameStateProvider - .state) - .state != + .read(exchangeFormStateProvider) + .exchange + .name != MajesticBankExchange.exchangeName) { - ref - .read(currentExchangeNameStateProvider - .state) - .state = - MajesticBankExchange.exchangeName; ref .read(exchangeFormStateProvider) .updateExchange( - exchange: ref.read(exchangeProvider), + exchange: MajesticBankExchange.instance, shouldUpdateData: true, shouldNotifyListeners: true, ); diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart index 88a8c34ff..2276ce112 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart @@ -13,7 +13,7 @@ import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_ste import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/subwidgets/desktop_exchange_steps_indicator.dart'; -import 'package:stackwallet/providers/exchange/exchange_provider.dart'; +import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; @@ -83,7 +83,8 @@ class _StepScaffoldState extends ConsumerState { ); final ExchangeResponse response = await ref - .read(exchangeProvider) + .read(exchangeFormStateProvider) + .exchange .createTrade( from: ref.read(desktopExchangeModelProvider)!.sendTicker, to: ref.read(desktopExchangeModelProvider)!.receiveTicker, diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart index 4ec96f95d..1267db967 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart @@ -38,7 +38,8 @@ class DesktopStep1 extends ConsumerWidget { children: [ DesktopStepItem( label: "Exchange", - value: ref.watch(currentExchangeNameStateProvider.state).state, + value: ref.watch(exchangeFormStateProvider + .select((value) => value.exchange.name)), ), Container( height: 1, diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart index 714cee971..57464c859 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart @@ -3,7 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart'; -import 'package:stackwallet/providers/exchange/current_exchange_name_state_provider.dart'; +import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -36,7 +36,8 @@ class _DesktopStep3State extends ConsumerState { children: [ DesktopStepItem( label: "Exchange", - value: ref.watch(currentExchangeNameStateProvider.state).state, + value: ref.watch(exchangeFormStateProvider + .select((value) => value.exchange.name)), ), Container( height: 1, diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart index 4943ed442..2654c2cea 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart @@ -45,7 +45,8 @@ class _DesktopStep4State extends ConsumerState { return; } - final statusResponse = await ref.read(exchangeProvider).updateTrade(trade); + final statusResponse = + await ref.read(exchangeFormStateProvider).exchange.updateTrade(trade); String status = "Waiting"; if (statusResponse.value != null) { status = statusResponse.value!.status; diff --git a/lib/providers/exchange/current_exchange_name_state_provider.dart b/lib/providers/exchange/current_exchange_name_state_provider.dart deleted file mode 100644 index 3dc481c8f..000000000 --- a/lib/providers/exchange/current_exchange_name_state_provider.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/services/exchange/exchange.dart'; - -final currentExchangeNameStateProvider = StateProvider( - (ref) => Exchange.defaultExchange.name, -); diff --git a/lib/providers/exchange/exchange_provider.dart b/lib/providers/exchange/exchange_provider.dart deleted file mode 100644 index e65847a18..000000000 --- a/lib/providers/exchange/exchange_provider.dart +++ /dev/null @@ -1,9 +0,0 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/providers/exchange/current_exchange_name_state_provider.dart'; -import 'package:stackwallet/services/exchange/exchange.dart'; - -final exchangeProvider = Provider( - (ref) => Exchange.fromName( - ref.watch(currentExchangeNameStateProvider.state).state, - ), -); From 15a44d9dff5ccd785bbb69e2bb3e9690ee930aa8 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 14:48:09 -0600 Subject: [PATCH 129/191] centralize exchange rate type parameter --- lib/pages/exchange_view/exchange_form.dart | 12 +-- .../sub_widgets/rate_type_toggle.dart | 6 +- .../helpers/restore_create_backup.dart | 5 -- lib/utilities/prefs.dart | 79 +++++++++---------- 4 files changed, 46 insertions(+), 56 deletions(-) diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 88497534b..0389b1f8b 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -130,7 +130,7 @@ class _ExchangeFormState extends ConsumerState { } Future _getAggregateCurrency(Currency currency) async { - final rateType = ref.read(prefsChangeNotifierProvider).exchangeRateType; + final rateType = ref.read(exchangeFormStateProvider).exchangeRateType; final currencies = await ExchangeDataLoadingService.instance.isar.currencies .filter() .group((q) => rateType == ExchangeRateType.fixed @@ -159,7 +159,7 @@ class _ExchangeFormState extends ConsumerState { } void selectSendCurrency() async { - final type = (ref.read(prefsChangeNotifierProvider).exchangeRateType); + final type = (ref.read(exchangeFormStateProvider).exchangeRateType); final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; if (walletInitiated && @@ -197,7 +197,7 @@ class _ExchangeFormState extends ConsumerState { willChange: ref.read(exchangeFormStateProvider).receiveCurrency?.ticker, willChangeIsSend: false, paired: ref.read(exchangeFormStateProvider).sendCurrency?.ticker, - isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == + isFixedRate: ref.read(exchangeFormStateProvider).exchangeRateType == ExchangeRateType.fixed, ); @@ -380,7 +380,7 @@ class _ExchangeFormState extends ConsumerState { } void onExchangePressed() async { - final rateType = ref.read(prefsChangeNotifierProvider).exchangeRateType; + final rateType = ref.read(exchangeFormStateProvider).exchangeRateType; final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? ""; final toTicker = ref.read(exchangeFormStateProvider).toTicker ?? ""; final sendAmount = ref.read(exchangeFormStateProvider).sendAmount!; @@ -671,7 +671,7 @@ class _ExchangeFormState extends ConsumerState { debugPrint("BUILD: $runtimeType"); final rateType = ref.watch( - prefsChangeNotifierProvider.select((value) => value.exchangeRateType)); + exchangeFormStateProvider.select((value) => value.exchangeRateType)); final isEstimated = rateType == ExchangeRateType.estimated; @@ -816,7 +816,7 @@ class _ExchangeFormState extends ConsumerState { background: Theme.of(context).extension()!.textFieldDefaultBG, onTap: () { - if (!(ref.read(prefsChangeNotifierProvider).exchangeRateType == + if (!(ref.read(exchangeFormStateProvider).exchangeRateType == ExchangeRateType.estimated) && _receiveController.text == "-") { _receiveController.text = ""; diff --git a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart index 68dadf3c9..cc008e96f 100644 --- a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart +++ b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart @@ -24,16 +24,12 @@ class RateTypeToggle extends ConsumerWidget { return Toggle( onValueChanged: (value) { if (value) { - ref.read(prefsChangeNotifierProvider).exchangeRateType = - ExchangeRateType.fixed; onChanged?.call(ExchangeRateType.fixed); } else { - ref.read(prefsChangeNotifierProvider).exchangeRateType = - ExchangeRateType.estimated; onChanged?.call(ExchangeRateType.estimated); } }, - isOn: ref.watch(prefsChangeNotifierProvider + isOn: ref.watch(exchangeFormStateProvider .select((value) => value.exchangeRateType)) == ExchangeRateType.fixed, onColor: isDesktop diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart index c517e5851..280077819 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart @@ -13,7 +13,6 @@ import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/models/stack_restoring_ui_state.dart'; import 'package:stackwallet/models/trade_wallet_lookup.dart'; import 'package:stackwallet/models/wallet_restore_state.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/services/address_book_service.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; import 'package:stackwallet/services/coins/manager.dart'; @@ -246,7 +245,6 @@ abstract class SWB { final _prefs = Prefs.instance; await _prefs.init(); prefs['currency'] = _prefs.currency; - prefs['exchangeRateType'] = _prefs.exchangeRateType.name; prefs['useBiometrics'] = _prefs.useBiometrics; prefs['hasPin'] = _prefs.hasPin; prefs['language'] = _prefs.language; @@ -992,9 +990,6 @@ abstract class SWB { final _prefs = Prefs.instance; await _prefs.init(); _prefs.currency = prefs['currency'] as String; - _prefs.exchangeRateType = prefs['exchangeRateType'] == "estimated" - ? ExchangeRateType.estimated - : ExchangeRateType.fixed; // _prefs.useBiometrics = prefs['useBiometrics'] as bool; // _prefs.hasPin = prefs['hasPin'] as bool; _prefs.language = prefs['language'] as String; diff --git a/lib/utilities/prefs.dart b/lib/utilities/prefs.dart index 14f95d039..f803ff9b2 100644 --- a/lib/utilities/prefs.dart +++ b/lib/utilities/prefs.dart @@ -1,6 +1,5 @@ import 'package:flutter/cupertino.dart'; import 'package:stackwallet/hive/db.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/enums/languages_enum.dart'; @@ -18,7 +17,7 @@ class Prefs extends ChangeNotifier { Future init() async { if (!_initialized) { _currency = await _getPreferredCurrency(); - _exchangeRateType = await _getExchangeRateType(); + // _exchangeRateType = await _getExchangeRateType(); _useBiometrics = await _getUseBiometrics(); _hasPin = await _getHasPin(); _language = await _getPreferredLanguage(); @@ -251,44 +250,44 @@ class Prefs extends ChangeNotifier { // exchange rate type - ExchangeRateType _exchangeRateType = ExchangeRateType.estimated; - - ExchangeRateType get exchangeRateType => _exchangeRateType; - - set exchangeRateType(ExchangeRateType exchangeRateType) { - if (_exchangeRateType != exchangeRateType) { - switch (exchangeRateType) { - case ExchangeRateType.estimated: - DB.instance.put( - boxName: DB.boxNamePrefs, - key: "exchangeRateType", - value: "estimated"); - break; - case ExchangeRateType.fixed: - DB.instance.put( - boxName: DB.boxNamePrefs, - key: "exchangeRateType", - value: "fixed"); - break; - } - _exchangeRateType = exchangeRateType; - notifyListeners(); - } - } - - Future _getExchangeRateType() async { - String? rate = await DB.instance.get( - boxName: DB.boxNamePrefs, key: "exchangeRateType") as String?; - rate ??= "estimated"; - switch (rate) { - case "estimated": - return ExchangeRateType.estimated; - case "fixed": - return ExchangeRateType.fixed; - default: - throw Exception("Invalid exchange rate type found in prefs!"); - } - } + // ExchangeRateType _exchangeRateType = ExchangeRateType.estimated; + // + // ExchangeRateType get exchangeRateType => _exchangeRateType; + // + // set exchangeRateType(ExchangeRateType exchangeRateType) { + // if (_exchangeRateType != exchangeRateType) { + // switch (exchangeRateType) { + // case ExchangeRateType.estimated: + // DB.instance.put( + // boxName: DB.boxNamePrefs, + // key: "exchangeRateType", + // value: "estimated"); + // break; + // case ExchangeRateType.fixed: + // DB.instance.put( + // boxName: DB.boxNamePrefs, + // key: "exchangeRateType", + // value: "fixed"); + // break; + // } + // _exchangeRateType = exchangeRateType; + // notifyListeners(); + // } + // } + // + // Future _getExchangeRateType() async { + // String? rate = await DB.instance.get( + // boxName: DB.boxNamePrefs, key: "exchangeRateType") as String?; + // rate ??= "estimated"; + // switch (rate) { + // case "estimated": + // return ExchangeRateType.estimated; + // case "fixed": + // return ExchangeRateType.fixed; + // default: + // throw Exception("Invalid exchange rate type found in prefs!"); + // } + // } // use biometrics From 2eb0b2e123bc3d698506524bcbdfc1b5cba627eb Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 16:46:30 -0600 Subject: [PATCH 130/191] clean up exchange rate type enum, build runner mocks --- lib/models/exchange/exchange_form_state.dart | 2 +- lib/models/exchange/incomplete_exchange.dart | 2 +- lib/pages/exchange_view/exchange_form.dart | 2 +- .../exchange_step_views/step_1_view.dart | 2 +- .../exchange_step_views/step_3_view.dart | 2 +- .../sub_widgets/exchange_rate_sheet.dart | 210 ------------ .../sub_widgets/rate_type_toggle.dart | 2 +- .../exchange_steps/step_scaffold.dart | 2 +- .../subwidgets/desktop_step_1.dart | 2 +- .../subwidgets/desktop_step_3.dart | 2 +- lib/providers/providers.dart | 2 - .../enums/exchange_rate_type_enum.dart | 1 + test/cached_electrumx_test.mocks.dart | 32 +- test/electrumx_test.mocks.dart | 32 +- .../pages/send_view/send_view_test.mocks.dart | 40 ++- ...d_address_book_view_screen_test.mocks.dart | 14 + ..._entry_details_view_screen_test.mocks.dart | 14 + ...ess_book_entry_view_screen_test.mocks.dart | 14 + .../exchange/exchange_view_test.mocks.dart | 305 +++++++++--------- .../lockscreen_view_screen_test.mocks.dart | 14 + .../main_view_screen_testA_test.mocks.dart | 14 + .../main_view_screen_testB_test.mocks.dart | 14 + .../main_view_screen_testC_test.mocks.dart | 14 + .../backup_key_view_screen_test.mocks.dart | 14 + ...up_key_warning_view_screen_test.mocks.dart | 14 + .../create_pin_view_screen_test.mocks.dart | 14 + ...restore_wallet_view_screen_test.mocks.dart | 14 + ...ify_backup_key_view_screen_test.mocks.dart | 14 + .../currency_view_screen_test.mocks.dart | 14 + ...dd_custom_node_view_screen_test.mocks.dart | 14 + .../node_details_view_screen_test.mocks.dart | 14 + .../wallet_backup_view_screen_test.mocks.dart | 14 + ...rescan_warning_view_screen_test.mocks.dart | 14 + ...elete_mnemonic_view_screen_test.mocks.dart | 14 + ...allet_settings_view_screen_test.mocks.dart | 14 + .../settings_view_screen_test.mocks.dart | 14 + ...search_results_view_screen_test.mocks.dart | 14 + .../confirm_send_view_screen_test.mocks.dart | 14 + .../receive_view_screen_test.mocks.dart | 14 + .../send_view_screen_test.mocks.dart | 14 + .../wallet_view_screen_test.mocks.dart | 14 + .../managed_favorite_test.mocks.dart | 14 + .../node_options_sheet_test.mocks.dart | 66 ++-- .../table_view/table_view_row_test.mocks.dart | 14 + .../transaction_card_test.mocks.dart | 48 ++- ...et_info_row_balance_future_test.mocks.dart | 14 + .../wallet_info_row_test.mocks.dart | 14 + 47 files changed, 643 insertions(+), 517 deletions(-) delete mode 100644 lib/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart create mode 100644 lib/utilities/enums/exchange_rate_type_enum.dart diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index 603980e23..c96f7df34 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -2,10 +2,10 @@ import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; import 'package:stackwallet/models/exchange/aggregate_currency.dart'; import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; class ExchangeFormState extends ChangeNotifier { diff --git a/lib/models/exchange/incomplete_exchange.dart b/lib/models/exchange/incomplete_exchange.dart index 46e7ffd68..f24f52bc1 100644 --- a/lib/models/exchange/incomplete_exchange.dart +++ b/lib/models/exchange/incomplete_exchange.dart @@ -1,7 +1,7 @@ import 'package:decimal/decimal.dart'; import 'package:flutter/foundation.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; class IncompleteExchangeModel extends ChangeNotifier { final String sendTicker; diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 0389b1f8b..98ae53171 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -14,7 +14,6 @@ import 'package:stackwallet/pages/exchange_view/exchange_coin_selection/exchange import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_1_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_provider_options.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/rate_type_toggle.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; import 'package:stackwallet/providers/providers.dart'; @@ -23,6 +22,7 @@ import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; diff --git a/lib/pages/exchange_view/exchange_step_views/step_1_view.dart b/lib/pages/exchange_view/exchange_step_views/step_1_view.dart index 8733be77c..c57e0acad 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_1_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_1_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; diff --git a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart index e09ad9a5c..0c5eaa8c9 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart @@ -5,7 +5,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_4_view.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; @@ -14,6 +13,7 @@ import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchan import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; diff --git a/lib/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart b/lib/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart deleted file mode 100644 index b56d2fbff..000000000 --- a/lib/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart +++ /dev/null @@ -1,210 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; - -enum ExchangeRateType { estimated, fixed } - -class ExchangeRateSheet extends ConsumerWidget { - const ExchangeRateSheet({ - Key? key, - }) : super(key: key); - - @override - Widget build(BuildContext context, WidgetRef ref) { - return Container( - decoration: BoxDecoration( - color: Theme.of(context).extension()!.popupBG, - borderRadius: const BorderRadius.vertical( - top: Radius.circular(20), - ), - ), - child: Padding( - padding: const EdgeInsets.only( - left: 24, - right: 24, - top: 10, - bottom: 0, - ), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Center( - child: Container( - decoration: BoxDecoration( - color: - Theme.of(context).extension()!.textSubtitle4, - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - ), - width: 60, - height: 4, - ), - ), - const SizedBox( - height: 36, - ), - Text( - "Exchange rate", - style: STextStyles.pageTitleH2(context), - textAlign: TextAlign.left, - ), - const SizedBox( - height: 16, - ), - GestureDetector( - onTap: () { - final state = - ref.read(prefsChangeNotifierProvider).exchangeRateType; - if (state != ExchangeRateType.estimated) { - ref.read(prefsChangeNotifierProvider).exchangeRateType = - ExchangeRateType.estimated; - } - Navigator.of(context).pop(ExchangeRateType.estimated); - }, - child: Container( - color: Colors.transparent, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - children: [ - SizedBox( - width: 20, - height: 20, - child: Radio( - activeColor: Theme.of(context) - .extension()! - .radioButtonIconEnabled, - value: ExchangeRateType.estimated, - groupValue: ref.watch(prefsChangeNotifierProvider - .select((value) => value.exchangeRateType)), - onChanged: (x) { - //todo: check if print needed - // debugPrint(x.toString()); - ref - .read(prefsChangeNotifierProvider) - .exchangeRateType = - ExchangeRateType.estimated; - Navigator.of(context) - .pop(ExchangeRateType.estimated); - }, - ), - ) - ], - ), - const SizedBox( - width: 12, - ), - Flexible( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Estimated rate", - style: STextStyles.titleBold12(context), - textAlign: TextAlign.left, - ), - const SizedBox( - height: 2, - ), - Text( - "ChangeNOW will pick the best rate for you during the moment of the exchange.", - style: STextStyles.itemSubtitle(context).copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - textAlign: TextAlign.left, - ), - ], - ), - ) - ], - ), - ), - ), - const SizedBox( - height: 16, - ), - GestureDetector( - onTap: () { - final state = - ref.read(prefsChangeNotifierProvider).exchangeRateType; - if (state != ExchangeRateType.fixed) { - ref.read(prefsChangeNotifierProvider).exchangeRateType = - ExchangeRateType.fixed; - } - Navigator.of(context).pop(ExchangeRateType.fixed); - }, - child: Container( - color: Colors.transparent, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - children: [ - SizedBox( - width: 20, - height: 20, - child: Radio( - activeColor: Theme.of(context) - .extension()! - .radioButtonIconEnabled, - value: ExchangeRateType.fixed, - groupValue: ref.watch(prefsChangeNotifierProvider - .select((value) => value.exchangeRateType)), - onChanged: (x) { - ref - .read(prefsChangeNotifierProvider) - .exchangeRateType = ExchangeRateType.fixed; - Navigator.of(context).pop(ExchangeRateType.fixed); - }, - ), - ), - ], - ), - const SizedBox( - width: 12, - ), - Flexible( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Fixed rate", - style: STextStyles.titleBold12(context), - textAlign: TextAlign.left, - ), - const SizedBox( - height: 2, - ), - Text( - "You will get the exact exchange amount displayed - ChangeNOW takes all the rate risks.", - style: STextStyles.itemSubtitle(context).copyWith( - color: Theme.of(context) - .extension()! - .textSubtitle1, - ), - textAlign: TextAlign.left, - ) - ], - ), - ), - ], - ), - ), - ), - const SizedBox( - height: 24, - ), - ], - ), - ), - ); - } -} diff --git a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart index cc008e96f..f85c0cfcd 100644 --- a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart +++ b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/toggle.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart index 2276ce112..1c4ef0143 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart @@ -7,7 +7,6 @@ import 'package:qr_flutter/qr_flutter.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/pages/exchange_view/send_from_view.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart'; @@ -20,6 +19,7 @@ import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart index 1267db967..b57fb1899 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart index 57464c859..aeb8ece54 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/providers/providers.dart b/lib/providers/providers.dart index 73234c464..2c027b169 100644 --- a/lib/providers/providers.dart +++ b/lib/providers/providers.dart @@ -2,10 +2,8 @@ export './buy/buy_form_state_provider.dart'; export './buy/simplex_initial_load_status.dart'; export './buy/simplex_provider.dart'; export './exchange/changenow_initial_load_status.dart'; -export './exchange/current_exchange_name_state_provider.dart'; export './exchange/exchange_flow_is_active_state_provider.dart'; export './exchange/exchange_form_state_provider.dart'; -export './exchange/exchange_provider.dart'; export './exchange/exchange_send_from_wallet_id_provider.dart'; export './exchange/trade_note_service_provider.dart'; export './exchange/trade_sent_from_stack_lookup_provider.dart'; diff --git a/lib/utilities/enums/exchange_rate_type_enum.dart b/lib/utilities/enums/exchange_rate_type_enum.dart new file mode 100644 index 000000000..2b6267805 --- /dev/null +++ b/lib/utilities/enums/exchange_rate_type_enum.dart @@ -0,0 +1 @@ +enum ExchangeRateType { estimated, fixed } diff --git a/test/cached_electrumx_test.mocks.dart b/test/cached_electrumx_test.mocks.dart index 191f34b67..e447b3384 100644 --- a/test/cached_electrumx_test.mocks.dart +++ b/test/cached_electrumx_test.mocks.dart @@ -4,14 +4,12 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i4; -import 'dart:ui' as _i9; +import 'dart:ui' as _i8; import 'package:decimal/decimal.dart' as _i2; import 'package:mockito/mockito.dart' as _i1; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i3; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i7; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i8; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i7; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i6; import 'package:stackwallet/utilities/prefs.dart' as _i5; @@ -511,20 +509,6 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValueForMissingStub: null, ); @override - _i7.ExchangeRateType get exchangeRateType => (super.noSuchMethod( - Invocation.getter(#exchangeRateType), - returnValue: _i7.ExchangeRateType.estimated, - ) as _i7.ExchangeRateType); - @override - set exchangeRateType(_i7.ExchangeRateType? exchangeRateType) => - super.noSuchMethod( - Invocation.setter( - #exchangeRateType, - exchangeRateType, - ), - returnValueForMissingStub: null, - ); - @override bool get useBiometrics => (super.noSuchMethod( Invocation.getter(#useBiometrics), returnValue: false, @@ -598,12 +582,12 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValueForMissingStub: null, ); @override - _i8.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i7.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i8.BackupFrequencyType.everyTenMinutes, - ) as _i8.BackupFrequencyType); + returnValue: _i7.BackupFrequencyType.everyTenMinutes, + ) as _i7.BackupFrequencyType); @override - set backupFrequencyType(_i8.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i7.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -717,7 +701,7 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValueForMissingStub: _i4.Future.value(), ) as _i4.Future); @override - void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -725,7 +709,7 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i9.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/electrumx_test.mocks.dart b/test/electrumx_test.mocks.dart index 5515acfb7..299386599 100644 --- a/test/electrumx_test.mocks.dart +++ b/test/electrumx_test.mocks.dart @@ -4,13 +4,11 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i3; -import 'dart:ui' as _i8; +import 'dart:ui' as _i7; import 'package:mockito/mockito.dart' as _i1; import 'package:stackwallet/electrumx_rpc/rpc.dart' as _i2; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i6; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i7; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i6; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i5; import 'package:stackwallet/utilities/prefs.dart' as _i4; @@ -232,20 +230,6 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValueForMissingStub: null, ); @override - _i6.ExchangeRateType get exchangeRateType => (super.noSuchMethod( - Invocation.getter(#exchangeRateType), - returnValue: _i6.ExchangeRateType.estimated, - ) as _i6.ExchangeRateType); - @override - set exchangeRateType(_i6.ExchangeRateType? exchangeRateType) => - super.noSuchMethod( - Invocation.setter( - #exchangeRateType, - exchangeRateType, - ), - returnValueForMissingStub: null, - ); - @override bool get useBiometrics => (super.noSuchMethod( Invocation.getter(#useBiometrics), returnValue: false, @@ -319,12 +303,12 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValueForMissingStub: null, ); @override - _i7.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i6.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i7.BackupFrequencyType.everyTenMinutes, - ) as _i7.BackupFrequencyType); + returnValue: _i6.BackupFrequencyType.everyTenMinutes, + ) as _i6.BackupFrequencyType); @override - set backupFrequencyType(_i7.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i6.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -438,7 +422,7 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValueForMissingStub: _i3.Future.value(), ) as _i3.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -446,7 +430,7 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/pages/send_view/send_view_test.mocks.dart b/test/pages/send_view/send_view_test.mocks.dart index 032983189..47721c0b0 100644 --- a/test/pages/send_view/send_view_test.mocks.dart +++ b/test/pages/send_view/send_view_test.mocks.dart @@ -19,8 +19,6 @@ import 'package:stackwallet/models/balance.dart' as _i12; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i16; import 'package:stackwallet/models/node_model.dart' as _i24; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i30; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; import 'package:stackwallet/services/coins/coin_service.dart' as _i18; import 'package:stackwallet/services/coins/manager.dart' as _i6; @@ -30,7 +28,7 @@ import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i8; import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i31; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i30; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i29; @@ -2307,20 +2305,6 @@ class MockPrefs extends _i1.Mock implements _i22.Prefs { returnValueForMissingStub: null, ); @override - _i30.ExchangeRateType get exchangeRateType => (super.noSuchMethod( - Invocation.getter(#exchangeRateType), - returnValue: _i30.ExchangeRateType.estimated, - ) as _i30.ExchangeRateType); - @override - set exchangeRateType(_i30.ExchangeRateType? exchangeRateType) => - super.noSuchMethod( - Invocation.setter( - #exchangeRateType, - exchangeRateType, - ), - returnValueForMissingStub: null, - ); - @override bool get useBiometrics => (super.noSuchMethod( Invocation.getter(#useBiometrics), returnValue: false, @@ -2394,12 +2378,12 @@ class MockPrefs extends _i1.Mock implements _i22.Prefs { returnValueForMissingStub: null, ); @override - _i31.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i30.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i31.BackupFrequencyType.everyTenMinutes, - ) as _i31.BackupFrequencyType); + returnValue: _i30.BackupFrequencyType.everyTenMinutes, + ) as _i30.BackupFrequencyType); @override - set backupFrequencyType(_i31.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i30.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -2693,6 +2677,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -2858,6 +2847,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i21.Future.value(false), ) as _i21.Future); @override + _i21.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart b/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart index 313bff98a..38d959835 100644 --- a/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart +++ b/test/screen_tests/address_book_view/subviews/add_address_book_view_screen_test.mocks.dart @@ -373,6 +373,11 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -538,6 +543,15 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: _i8.Future.value(false), ) as _i8.Future); @override + _i8.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i8.Future.value(), + returnValueForMissingStub: _i8.Future.value(), + ) as _i8.Future); + @override void addListener(_i10.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart b/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart index b5178f2a0..0d3123461 100644 --- a/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart +++ b/test/screen_tests/address_book_view/subviews/address_book_entry_details_view_screen_test.mocks.dart @@ -334,6 +334,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -499,6 +504,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart b/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart index cc6e3fe1e..fa15063f7 100644 --- a/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart +++ b/test/screen_tests/address_book_view/subviews/edit_address_book_entry_view_screen_test.mocks.dart @@ -332,6 +332,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -497,6 +502,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/exchange/exchange_view_test.mocks.dart b/test/screen_tests/exchange/exchange_view_test.mocks.dart index 752d1ef0f..767b18bb6 100644 --- a/test/screen_tests/exchange/exchange_view_test.mocks.dart +++ b/test/screen_tests/exchange/exchange_view_test.mocks.dart @@ -3,36 +3,33 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i7; -import 'dart:ui' as _i8; +import 'dart:async' as _i6; +import 'dart:ui' as _i7; -import 'package:decimal/decimal.dart' as _i15; -import 'package:http/http.dart' as _i13; +import 'package:decimal/decimal.dart' as _i14; +import 'package:http/http.dart' as _i12; import 'package:mockito/mockito.dart' as _i1; import 'package:stackwallet/models/exchange/change_now/cn_exchange_estimate.dart' - as _i18; -import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart' - as _i20; -import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart' - as _i21; -import 'package:stackwallet/models/exchange/response_objects/estimate.dart' as _i17; -import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart' +import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart' as _i19; -import 'package:stackwallet/models/exchange/response_objects/range.dart' +import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart' + as _i20; +import 'package:stackwallet/models/exchange/response_objects/estimate.dart' as _i16; -import 'package:stackwallet/models/exchange/response_objects/trade.dart' - as _i10; -import 'package:stackwallet/models/isar/exchange_cache/currency.dart' as _i14; -import 'package:stackwallet/models/isar/exchange_cache/pair.dart' as _i22; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i5; +import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart' + as _i18; +import 'package:stackwallet/models/exchange/response_objects/range.dart' + as _i15; +import 'package:stackwallet/models/exchange/response_objects/trade.dart' as _i9; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart' as _i13; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart' as _i21; import 'package:stackwallet/services/exchange/change_now/change_now_api.dart' - as _i12; + as _i11; import 'package:stackwallet/services/exchange/exchange_response.dart' as _i2; -import 'package:stackwallet/services/trade_notes_service.dart' as _i11; -import 'package:stackwallet/services/trade_service.dart' as _i9; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i6; +import 'package:stackwallet/services/trade_notes_service.dart' as _i10; +import 'package:stackwallet/services/trade_service.dart' as _i8; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i5; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i4; import 'package:stackwallet/utilities/prefs.dart' as _i3; @@ -182,20 +179,6 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValueForMissingStub: null, ); @override - _i5.ExchangeRateType get exchangeRateType => (super.noSuchMethod( - Invocation.getter(#exchangeRateType), - returnValue: _i5.ExchangeRateType.estimated, - ) as _i5.ExchangeRateType); - @override - set exchangeRateType(_i5.ExchangeRateType? exchangeRateType) => - super.noSuchMethod( - Invocation.setter( - #exchangeRateType, - exchangeRateType, - ), - returnValueForMissingStub: null, - ); - @override bool get useBiometrics => (super.noSuchMethod( Invocation.getter(#useBiometrics), returnValue: false, @@ -269,12 +252,12 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValueForMissingStub: null, ); @override - _i6.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i5.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i6.BackupFrequencyType.everyTenMinutes, - ) as _i6.BackupFrequencyType); + returnValue: _i5.BackupFrequencyType.everyTenMinutes, + ) as _i5.BackupFrequencyType); @override - set backupFrequencyType(_i6.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i5.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -344,51 +327,51 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValue: false, ) as bool); @override - _i7.Future init() => (super.noSuchMethod( + _i6.Future init() => (super.noSuchMethod( Invocation.method( #init, [], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( + _i6.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( Invocation.method( #incrementCurrentNotificationIndex, [], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future isExternalCallsSet() => (super.noSuchMethod( + _i6.Future isExternalCallsSet() => (super.noSuchMethod( Invocation.method( #isExternalCallsSet, [], ), - returnValue: _i7.Future.value(false), - ) as _i7.Future); + returnValue: _i6.Future.value(false), + ) as _i6.Future); @override - _i7.Future saveUserID(String? userId) => (super.noSuchMethod( + _i6.Future saveUserID(String? userId) => (super.noSuchMethod( Invocation.method( #saveUserID, [userId], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + _i6.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( Invocation.method( #saveSignupEpoch, [signupEpoch], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -396,7 +379,7 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -424,29 +407,29 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { /// A class which mocks [TradesService]. /// /// See the documentation for Mockito's code generation for more information. -class MockTradesService extends _i1.Mock implements _i9.TradesService { +class MockTradesService extends _i1.Mock implements _i8.TradesService { MockTradesService() { _i1.throwOnMissingStub(this); } @override - List<_i10.Trade> get trades => (super.noSuchMethod( + List<_i9.Trade> get trades => (super.noSuchMethod( Invocation.getter(#trades), - returnValue: <_i10.Trade>[], - ) as List<_i10.Trade>); + returnValue: <_i9.Trade>[], + ) as List<_i9.Trade>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i10.Trade? get(String? tradeId) => (super.noSuchMethod(Invocation.method( + _i9.Trade? get(String? tradeId) => (super.noSuchMethod(Invocation.method( #get, [tradeId], - )) as _i10.Trade?); + )) as _i9.Trade?); @override - _i7.Future add({ - required _i10.Trade? trade, + _i6.Future add({ + required _i9.Trade? trade, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -458,12 +441,12 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future edit({ - required _i10.Trade? trade, + _i6.Future edit({ + required _i9.Trade? trade, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -475,12 +458,12 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future delete({ - required _i10.Trade? trade, + _i6.Future delete({ + required _i9.Trade? trade, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -492,11 +475,11 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future deleteByUuid({ + _i6.Future deleteByUuid({ required String? uuid, required bool? shouldNotifyListeners, }) => @@ -509,11 +492,11 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -521,7 +504,7 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -549,7 +532,7 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { /// A class which mocks [TradeNotesService]. /// /// See the documentation for Mockito's code generation for more information. -class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { +class MockTradeNotesService extends _i1.Mock implements _i10.TradeNotesService { MockTradeNotesService() { _i1.throwOnMissingStub(this); } @@ -574,7 +557,7 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { returnValue: '', ) as String); @override - _i7.Future set({ + _i6.Future set({ required String? tradeId, required String? note, }) => @@ -587,21 +570,21 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { #note: note, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future delete({required String? tradeId}) => (super.noSuchMethod( + _i6.Future delete({required String? tradeId}) => (super.noSuchMethod( Invocation.method( #delete, [], {#tradeId: tradeId}, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -609,7 +592,7 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -637,13 +620,13 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { /// A class which mocks [ChangeNowAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { +class MockChangeNowAPI extends _i1.Mock implements _i11.ChangeNowAPI { MockChangeNowAPI() { _i1.throwOnMissingStub(this); } @override - set client(_i13.Client? _client) => super.noSuchMethod( + set client(_i12.Client? _client) => super.noSuchMethod( Invocation.setter( #client, _client, @@ -651,7 +634,7 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { returnValueForMissingStub: null, ); @override - _i7.Future<_i2.ExchangeResponse>> getAvailableCurrencies({ + _i6.Future<_i2.ExchangeResponse>> getAvailableCurrencies({ bool? fixedRate, bool? active, }) => @@ -665,8 +648,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), returnValue: - _i7.Future<_i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + _i6.Future<_i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getAvailableCurrencies, @@ -677,9 +660,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); @override - _i7.Future<_i2.ExchangeResponse>> getPairedCurrencies({ + _i6.Future<_i2.ExchangeResponse>> getPairedCurrencies({ required String? ticker, bool? fixedRate, }) => @@ -693,8 +676,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), returnValue: - _i7.Future<_i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + _i6.Future<_i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getPairedCurrencies, @@ -705,9 +688,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); @override - _i7.Future<_i2.ExchangeResponse<_i15.Decimal>> getMinimalExchangeAmount({ + _i6.Future<_i2.ExchangeResponse<_i14.Decimal>> getMinimalExchangeAmount({ required String? fromTicker, required String? toTicker, String? apiKey, @@ -722,8 +705,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i15.Decimal>>.value( - _FakeExchangeResponse_0<_i15.Decimal>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i14.Decimal>>.value( + _FakeExchangeResponse_0<_i14.Decimal>( this, Invocation.method( #getMinimalExchangeAmount, @@ -735,9 +718,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i15.Decimal>>); + ) as _i6.Future<_i2.ExchangeResponse<_i14.Decimal>>); @override - _i7.Future<_i2.ExchangeResponse<_i16.Range>> getRange({ + _i6.Future<_i2.ExchangeResponse<_i15.Range>> getRange({ required String? fromTicker, required String? toTicker, required bool? isFixedRate, @@ -754,8 +737,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i16.Range>>.value( - _FakeExchangeResponse_0<_i16.Range>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i15.Range>>.value( + _FakeExchangeResponse_0<_i15.Range>( this, Invocation.method( #getRange, @@ -768,12 +751,12 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i16.Range>>); + ) as _i6.Future<_i2.ExchangeResponse<_i15.Range>>); @override - _i7.Future<_i2.ExchangeResponse<_i17.Estimate>> getEstimatedExchangeAmount({ + _i6.Future<_i2.ExchangeResponse<_i16.Estimate>> getEstimatedExchangeAmount({ required String? fromTicker, required String? toTicker, - required _i15.Decimal? fromAmount, + required _i14.Decimal? fromAmount, String? apiKey, }) => (super.noSuchMethod( @@ -787,8 +770,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>.value( - _FakeExchangeResponse_0<_i17.Estimate>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>.value( + _FakeExchangeResponse_0<_i16.Estimate>( this, Invocation.method( #getEstimatedExchangeAmount, @@ -801,13 +784,13 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>); + ) as _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>); @override - _i7.Future<_i2.ExchangeResponse<_i17.Estimate>> + _i6.Future<_i2.ExchangeResponse<_i16.Estimate>> getEstimatedExchangeAmountFixedRate({ required String? fromTicker, required String? toTicker, - required _i15.Decimal? fromAmount, + required _i14.Decimal? fromAmount, required bool? reversed, bool? useRateId = true, String? apiKey, @@ -825,8 +808,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>.value( - _FakeExchangeResponse_0<_i17.Estimate>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>.value( + _FakeExchangeResponse_0<_i16.Estimate>( this, Invocation.method( #getEstimatedExchangeAmountFixedRate, @@ -841,17 +824,17 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>); + ) as _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>); @override - _i7.Future<_i2.ExchangeResponse<_i18.CNExchangeEstimate>> + _i6.Future<_i2.ExchangeResponse<_i17.CNExchangeEstimate>> getEstimatedExchangeAmountV2({ required String? fromTicker, required String? toTicker, - required _i18.CNEstimateType? fromOrTo, - required _i15.Decimal? amount, + required _i17.CNEstimateType? fromOrTo, + required _i14.Decimal? amount, String? fromNetwork, String? toNetwork, - _i18.CNFlowType? flow = _i18.CNFlowType.standard, + _i17.CNFlowType? flow = _i17.CNFlowType.standard, String? apiKey, }) => (super.noSuchMethod( @@ -870,8 +853,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), returnValue: - _i7.Future<_i2.ExchangeResponse<_i18.CNExchangeEstimate>>.value( - _FakeExchangeResponse_0<_i18.CNExchangeEstimate>( + _i6.Future<_i2.ExchangeResponse<_i17.CNExchangeEstimate>>.value( + _FakeExchangeResponse_0<_i17.CNExchangeEstimate>( this, Invocation.method( #getEstimatedExchangeAmountV2, @@ -888,18 +871,18 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i18.CNExchangeEstimate>>); + ) as _i6.Future<_i2.ExchangeResponse<_i17.CNExchangeEstimate>>); @override - _i7.Future<_i2.ExchangeResponse>> + _i6.Future<_i2.ExchangeResponse>> getAvailableFixedRateMarkets({String? apiKey}) => (super.noSuchMethod( Invocation.method( #getAvailableFixedRateMarkets, [], {#apiKey: apiKey}, ), - returnValue: _i7.Future< - _i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + returnValue: _i6.Future< + _i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getAvailableFixedRateMarkets, @@ -907,14 +890,14 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { {#apiKey: apiKey}, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); @override - _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>> + _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>> createStandardExchangeTransaction({ required String? fromTicker, required String? toTicker, required String? receivingAddress, - required _i15.Decimal? amount, + required _i14.Decimal? amount, String? extraId = r'', String? userId = r'', String? contactEmail = r'', @@ -939,9 +922,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future< - _i2.ExchangeResponse<_i20.ExchangeTransaction>>.value( - _FakeExchangeResponse_0<_i20.ExchangeTransaction>( + returnValue: _i6.Future< + _i2.ExchangeResponse<_i19.ExchangeTransaction>>.value( + _FakeExchangeResponse_0<_i19.ExchangeTransaction>( this, Invocation.method( #createStandardExchangeTransaction, @@ -960,14 +943,14 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>>); + ) as _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>>); @override - _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>> + _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>> createFixedRateExchangeTransaction({ required String? fromTicker, required String? toTicker, required String? receivingAddress, - required _i15.Decimal? amount, + required _i14.Decimal? amount, required String? rateId, required bool? reversed, String? extraId = r'', @@ -996,9 +979,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future< - _i2.ExchangeResponse<_i20.ExchangeTransaction>>.value( - _FakeExchangeResponse_0<_i20.ExchangeTransaction>( + returnValue: _i6.Future< + _i2.ExchangeResponse<_i19.ExchangeTransaction>>.value( + _FakeExchangeResponse_0<_i19.ExchangeTransaction>( this, Invocation.method( #createFixedRateExchangeTransaction, @@ -1019,9 +1002,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>>); + ) as _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>>); @override - _i7.Future<_i2.ExchangeResponse<_i21.ExchangeTransactionStatus>> + _i6.Future<_i2.ExchangeResponse<_i20.ExchangeTransactionStatus>> getTransactionStatus({ required String? id, String? apiKey, @@ -1035,9 +1018,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future< - _i2.ExchangeResponse<_i21.ExchangeTransactionStatus>>.value( - _FakeExchangeResponse_0<_i21.ExchangeTransactionStatus>( + returnValue: _i6.Future< + _i2.ExchangeResponse<_i20.ExchangeTransactionStatus>>.value( + _FakeExchangeResponse_0<_i20.ExchangeTransactionStatus>( this, Invocation.method( #getTransactionStatus, @@ -1048,10 +1031,10 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7 - .Future<_i2.ExchangeResponse<_i21.ExchangeTransactionStatus>>); + ) as _i6 + .Future<_i2.ExchangeResponse<_i20.ExchangeTransactionStatus>>); @override - _i7.Future<_i2.ExchangeResponse>> + _i6.Future<_i2.ExchangeResponse>> getAvailableFloatingRatePairs({bool? includePartners = false}) => (super.noSuchMethod( Invocation.method( @@ -1060,8 +1043,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { {#includePartners: includePartners}, ), returnValue: - _i7.Future<_i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + _i6.Future<_i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getAvailableFloatingRatePairs, @@ -1069,5 +1052,5 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { {#includePartners: includePartners}, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); } diff --git a/test/screen_tests/lockscreen_view_screen_test.mocks.dart b/test/screen_tests/lockscreen_view_screen_test.mocks.dart index a7f124337..a527edbe2 100644 --- a/test/screen_tests/lockscreen_view_screen_test.mocks.dart +++ b/test/screen_tests/lockscreen_view_screen_test.mocks.dart @@ -641,6 +641,11 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -806,6 +811,15 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart b/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart index e7c4658a6..d3409d31a 100644 --- a/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart +++ b/test/screen_tests/main_view_tests/main_view_screen_testA_test.mocks.dart @@ -428,6 +428,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -593,6 +598,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future.value(false), ) as _i6.Future); @override + _i6.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart b/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart index 920ebc0f7..8d391409d 100644 --- a/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart +++ b/test/screen_tests/main_view_tests/main_view_screen_testB_test.mocks.dart @@ -428,6 +428,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -593,6 +598,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future.value(false), ) as _i6.Future); @override + _i6.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart b/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart index 4b4f63225..f1f5581d6 100644 --- a/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart +++ b/test/screen_tests/main_view_tests/main_view_screen_testC_test.mocks.dart @@ -428,6 +428,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -593,6 +598,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future.value(false), ) as _i6.Future); @override + _i6.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart b/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart index ceb07514a..88b477129 100644 --- a/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/backup_key_view_screen_test.mocks.dart @@ -203,6 +203,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -368,6 +373,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart b/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart index 9c75c178d..b3d727de7 100644 --- a/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/backup_key_warning_view_screen_test.mocks.dart @@ -426,6 +426,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -591,6 +596,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future.value(false), ) as _i6.Future); @override + _i6.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart b/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart index fed2fe069..a70f86c6f 100644 --- a/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/create_pin_view_screen_test.mocks.dart @@ -641,6 +641,11 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -806,6 +811,15 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart b/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart index 9b169bad2..dfa8052fd 100644 --- a/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/restore_wallet_view_screen_test.mocks.dart @@ -482,6 +482,11 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -647,6 +652,15 @@ class MockManager extends _i1.Mock implements _i12.Manager { returnValue: _i8.Future.value(false), ) as _i8.Future); @override + _i8.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i8.Future.value(), + returnValueForMissingStub: _i8.Future.value(), + ) as _i8.Future); + @override void addListener(_i11.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart b/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart index 924a72df8..e11f58e31 100644 --- a/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart +++ b/test/screen_tests/onboarding/verify_backup_key_view_screen_test.mocks.dart @@ -203,6 +203,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -368,6 +373,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart index db22ecacc..eef71451f 100644 --- a/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/currency_view_screen_test.mocks.dart @@ -203,6 +203,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -368,6 +373,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart index 8a9fd0935..7d6ac052f 100644 --- a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/add_custom_node_view_screen_test.mocks.dart @@ -418,6 +418,11 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -583,6 +588,15 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: _i8.Future.value(false), ) as _i8.Future); @override + _i8.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i8.Future.value(), + returnValueForMissingStub: _i8.Future.value(), + ) as _i8.Future); + @override void addListener(_i10.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart index db88f6067..7c7319cd8 100644 --- a/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/network_settings_subviews/node_details_view_screen_test.mocks.dart @@ -418,6 +418,11 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -583,6 +588,15 @@ class MockManager extends _i1.Mock implements _i11.Manager { returnValue: _i8.Future.value(false), ) as _i8.Future); @override + _i8.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i8.Future.value(), + returnValueForMissingStub: _i8.Future.value(), + ) as _i8.Future); + @override void addListener(_i10.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart index 3d6b30b2d..78fafef16 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_backup_view_screen_test.mocks.dart @@ -203,6 +203,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -368,6 +373,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart index ce44e5fd8..099e486be 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/rescan_warning_view_screen_test.mocks.dart @@ -203,6 +203,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -368,6 +373,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart index 94633d738..69f7b2af4 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_settings_subviews/wallet_delete_mnemonic_view_screen_test.mocks.dart @@ -426,6 +426,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -591,6 +596,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future.value(false), ) as _i6.Future); @override + _i6.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart index 824ffe3af..9e553a09d 100644 --- a/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_subviews/wallet_settings_view_screen_test.mocks.dart @@ -683,6 +683,11 @@ class MockManager extends _i1.Mock implements _i15.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -848,6 +853,15 @@ class MockManager extends _i1.Mock implements _i15.Manager { returnValue: _i8.Future.value(false), ) as _i8.Future); @override + _i8.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i8.Future.value(), + returnValueForMissingStub: _i8.Future.value(), + ) as _i8.Future); + @override void addListener(_i14.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart b/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart index c4ffca6b5..2eec54013 100644 --- a/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart +++ b/test/screen_tests/settings_view/settings_view_screen_test.mocks.dart @@ -426,6 +426,11 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -591,6 +596,15 @@ class MockManager extends _i1.Mock implements _i9.Manager { returnValue: _i6.Future.value(false), ) as _i6.Future); @override + _i6.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + @override void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart b/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart index 5c7a23188..541ebe771 100644 --- a/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart +++ b/test/screen_tests/transaction_subviews/transaction_search_results_view_screen_test.mocks.dart @@ -205,6 +205,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -370,6 +375,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart index 9a9c1aabf..0fd8166a6 100644 --- a/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/confirm_send_view_screen_test.mocks.dart @@ -204,6 +204,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -369,6 +374,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart index dd59e74bf..66bf7ae61 100644 --- a/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/receive_view_screen_test.mocks.dart @@ -203,6 +203,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -368,6 +373,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart index cbd3c0795..18318af3e 100644 --- a/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/send_view_screen_test.mocks.dart @@ -245,6 +245,11 @@ class MockManager extends _i1.Mock implements _i8.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -410,6 +415,15 @@ class MockManager extends _i1.Mock implements _i8.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i11.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart b/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart index 892ec66ec..a20a9a381 100644 --- a/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart +++ b/test/screen_tests/wallet_view/wallet_view_screen_test.mocks.dart @@ -205,6 +205,11 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -370,6 +375,15 @@ class MockManager extends _i1.Mock implements _i5.Manager { returnValue: _i7.Future.value(false), ) as _i7.Future); @override + _i7.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); + @override void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/widget_tests/managed_favorite_test.mocks.dart b/test/widget_tests/managed_favorite_test.mocks.dart index 89d6ae344..eb1112bad 100644 --- a/test/widget_tests/managed_favorite_test.mocks.dart +++ b/test/widget_tests/managed_favorite_test.mocks.dart @@ -2320,6 +2320,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -2485,6 +2490,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i21.Future.value(false), ) as _i21.Future); @override + _i21.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/widget_tests/node_options_sheet_test.mocks.dart b/test/widget_tests/node_options_sheet_test.mocks.dart index d18c5165e..b4a020078 100644 --- a/test/widget_tests/node_options_sheet_test.mocks.dart +++ b/test/widget_tests/node_options_sheet_test.mocks.dart @@ -9,14 +9,12 @@ import 'dart:ui' as _i12; 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/models/node_model.dart' as _i16; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i14; +import 'package:stackwallet/models/node_model.dart' as _i15; import 'package:stackwallet/services/coins/manager.dart' as _i6; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/wallets.dart' as _i8; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i15; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i14; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i9; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i13; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' @@ -416,20 +414,6 @@ class MockPrefs extends _i1.Mock implements _i11.Prefs { returnValueForMissingStub: null, ); @override - _i14.ExchangeRateType get exchangeRateType => (super.noSuchMethod( - Invocation.getter(#exchangeRateType), - returnValue: _i14.ExchangeRateType.estimated, - ) as _i14.ExchangeRateType); - @override - set exchangeRateType(_i14.ExchangeRateType? exchangeRateType) => - super.noSuchMethod( - Invocation.setter( - #exchangeRateType, - exchangeRateType, - ), - returnValueForMissingStub: null, - ); - @override bool get useBiometrics => (super.noSuchMethod( Invocation.getter(#useBiometrics), returnValue: false, @@ -503,12 +487,12 @@ class MockPrefs extends _i1.Mock implements _i11.Prefs { returnValueForMissingStub: null, ); @override - _i15.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i14.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i15.BackupFrequencyType.everyTenMinutes, - ) as _i15.BackupFrequencyType); + returnValue: _i14.BackupFrequencyType.everyTenMinutes, + ) as _i14.BackupFrequencyType); @override - set backupFrequencyType(_i15.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i14.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -672,15 +656,15 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i7.SecureStorageInterface); @override - List<_i16.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i15.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i16.NodeModel>[], - ) as List<_i16.NodeModel>); + returnValue: <_i15.NodeModel>[], + ) as List<_i15.NodeModel>); @override - List<_i16.NodeModel> get nodes => (super.noSuchMethod( + List<_i15.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i16.NodeModel>[], - ) as List<_i16.NodeModel>); + returnValue: <_i15.NodeModel>[], + ) as List<_i15.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), @@ -698,7 +682,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { @override _i10.Future setPrimaryNodeFor({ required _i9.Coin? coin, - required _i16.NodeModel? node, + required _i15.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -715,40 +699,40 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: _i10.Future.value(), ) as _i10.Future); @override - _i16.NodeModel? getPrimaryNodeFor({required _i9.Coin? coin}) => + _i15.NodeModel? getPrimaryNodeFor({required _i9.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i16.NodeModel?); + )) as _i15.NodeModel?); @override - List<_i16.NodeModel> getNodesFor(_i9.Coin? coin) => (super.noSuchMethod( + List<_i15.NodeModel> getNodesFor(_i9.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i16.NodeModel>[], - ) as List<_i16.NodeModel>); + returnValue: <_i15.NodeModel>[], + ) as List<_i15.NodeModel>); @override - _i16.NodeModel? getNodeById({required String? id}) => + _i15.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i16.NodeModel?); + )) as _i15.NodeModel?); @override - List<_i16.NodeModel> failoverNodesFor({required _i9.Coin? coin}) => + List<_i15.NodeModel> failoverNodesFor({required _i9.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i16.NodeModel>[], - ) as List<_i16.NodeModel>); + returnValue: <_i15.NodeModel>[], + ) as List<_i15.NodeModel>); @override _i10.Future add( - _i16.NodeModel? node, + _i15.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -800,7 +784,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ) as _i10.Future); @override _i10.Future edit( - _i16.NodeModel? editedNode, + _i15.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => diff --git a/test/widget_tests/table_view/table_view_row_test.mocks.dart b/test/widget_tests/table_view/table_view_row_test.mocks.dart index 829d3a81b..0f89fb269 100644 --- a/test/widget_tests/table_view/table_view_row_test.mocks.dart +++ b/test/widget_tests/table_view/table_view_row_test.mocks.dart @@ -2045,6 +2045,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -2210,6 +2215,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i20.Future.value(false), ) as _i20.Future); @override + _i20.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i20.Future.value(), + returnValueForMissingStub: _i20.Future.value(), + ) as _i20.Future); + @override void addListener(_i22.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, diff --git a/test/widget_tests/transaction_card_test.mocks.dart b/test/widget_tests/transaction_card_test.mocks.dart index a650dee57..5f33e0a53 100644 --- a/test/widget_tests/transaction_card_test.mocks.dart +++ b/test/widget_tests/transaction_card_test.mocks.dart @@ -16,20 +16,18 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i11; import 'package:stackwallet/models/balance.dart' as _i9; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i21; import 'package:stackwallet/models/models.dart' as _i8; -import 'package:stackwallet/pages/exchange_view/sub_widgets/exchange_rate_sheet.dart' - as _i25; import 'package:stackwallet/services/coins/coin_service.dart' as _i7; import 'package:stackwallet/services/coins/firo/firo_wallet.dart' as _i22; import 'package:stackwallet/services/coins/manager.dart' as _i6; import 'package:stackwallet/services/locale_service.dart' as _i23; import 'package:stackwallet/services/node_service.dart' as _i3; -import 'package:stackwallet/services/notes_service.dart' as _i28; -import 'package:stackwallet/services/price_service.dart' as _i27; +import 'package:stackwallet/services/notes_service.dart' as _i27; +import 'package:stackwallet/services/price_service.dart' as _i26; import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i10; import 'package:stackwallet/services/wallets.dart' as _i16; import 'package:stackwallet/services/wallets_service.dart' as _i2; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i26; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i25; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i24; import 'package:stackwallet/utilities/prefs.dart' as _i19; @@ -548,6 +546,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -713,6 +716,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i18.Future.value(false), ) as _i18.Future); @override + _i18.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i18.Future.value(), + returnValueForMissingStub: _i18.Future.value(), + ) as _i18.Future); + @override void addListener(_i20.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, @@ -2164,20 +2176,6 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i25.ExchangeRateType get exchangeRateType => (super.noSuchMethod( - Invocation.getter(#exchangeRateType), - returnValue: _i25.ExchangeRateType.estimated, - ) as _i25.ExchangeRateType); - @override - set exchangeRateType(_i25.ExchangeRateType? exchangeRateType) => - super.noSuchMethod( - Invocation.setter( - #exchangeRateType, - exchangeRateType, - ), - returnValueForMissingStub: null, - ); - @override bool get useBiometrics => (super.noSuchMethod( Invocation.getter(#useBiometrics), returnValue: false, @@ -2251,12 +2249,12 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i26.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i25.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i26.BackupFrequencyType.everyTenMinutes, - ) as _i26.BackupFrequencyType); + returnValue: _i25.BackupFrequencyType.everyTenMinutes, + ) as _i25.BackupFrequencyType); @override - set backupFrequencyType(_i26.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i25.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -2406,7 +2404,7 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { /// A class which mocks [PriceService]. /// /// See the documentation for Mockito's code generation for more information. -class MockPriceService extends _i1.Mock implements _i27.PriceService { +class MockPriceService extends _i1.Mock implements _i26.PriceService { MockPriceService() { _i1.throwOnMissingStub(this); } @@ -2514,7 +2512,7 @@ class MockPriceService extends _i1.Mock implements _i27.PriceService { /// A class which mocks [NotesService]. /// /// See the documentation for Mockito's code generation for more information. -class MockNotesService extends _i1.Mock implements _i28.NotesService { +class MockNotesService extends _i1.Mock implements _i27.NotesService { MockNotesService() { _i1.throwOnMissingStub(this); } diff --git a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart index aaa0a2baf..7d84b5547 100644 --- a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart +++ b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.mocks.dart @@ -2257,6 +2257,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -2422,6 +2427,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i21.Future.value(false), ) as _i21.Future); @override + _i21.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, 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 index 2f252b0a8..86ffa6c63 100644 --- 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 @@ -2257,6 +2257,11 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: false, ) as bool); @override + int get rescanOnOpenVersion => (super.noSuchMethod( + Invocation.getter(#rescanOnOpenVersion), + returnValue: 0, + ) as int); + @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, @@ -2422,6 +2427,15 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i21.Future.value(false), ) as _i21.Future); @override + _i21.Future resetRescanOnOpen() => (super.noSuchMethod( + Invocation.method( + #resetRescanOnOpen, + [], + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override void addListener(_i23.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, From e78fc3ef9e83d41e0124acafe940027317f2baca Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 8 Feb 2023 16:51:13 -0600 Subject: [PATCH 131/191] wallet to exchange nav fix --- lib/pages/wallet_view/wallet_view.dart | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index 33d5fdd0e..c5768c659 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -29,7 +29,6 @@ import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; -import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; @@ -292,10 +291,9 @@ class _WalletViewState extends ConsumerState { unawaited( Navigator.of(context).pushNamed( WalletInitiatedExchangeView.routeName, - arguments: Tuple3( + arguments: Tuple2( walletId, coin, - _loadCNData, ), ), ); @@ -369,17 +367,6 @@ class _WalletViewState extends ConsumerState { } } - void _loadCNData() { - // unawaited future - // if (ref.read(prefsChangeNotifierProvider).externalCalls) { - ExchangeDataLoadingService.instance.loadAll(); - // .loadAll(ref, coin: ref.read(managerProvider).coin); - // } else { - // Logging.instance.log("User does not want to use external calls", - // level: LogLevel.Info); - // } - } - @override Widget build(BuildContext context) { debugPrint("BUILD: $runtimeType"); From aec279cb6ba22a46e74c1255566c8974a6fd40d6 Mon Sep 17 00:00:00 2001 From: ryleedavis Date: Wed, 8 Feb 2023 16:59:06 -0700 Subject: [PATCH 132/191] desktop oled name fix --- lib/utilities/theme/color_theme.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/utilities/theme/color_theme.dart b/lib/utilities/theme/color_theme.dart index dfd62a6a0..ce8a471f9 100644 --- a/lib/utilities/theme/color_theme.dart +++ b/lib/utilities/theme/color_theme.dart @@ -35,7 +35,7 @@ extension ThemeTypeExt on ThemeType { case ThemeType.oceanBreeze: return "Ocean Breeze"; case ThemeType.oledBlack: - return "Oled Black"; + return "OLED Black"; case ThemeType.fruitSorbet: return "Fruit Sorbet"; } From 86ca402401d231bdca3d59c32a60d26a05a73b61 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 9 Feb 2023 07:31:31 -0600 Subject: [PATCH 133/191] close exchange step 4 back to wallet or exchange home view --- lib/models/exchange/incomplete_exchange.dart | 2 + lib/pages/exchange_view/exchange_form.dart | 1 + .../exchange_step_views/step_4_view.dart | 1073 +++++++++-------- 3 files changed, 561 insertions(+), 515 deletions(-) diff --git a/lib/models/exchange/incomplete_exchange.dart b/lib/models/exchange/incomplete_exchange.dart index f24f52bc1..864a25490 100644 --- a/lib/models/exchange/incomplete_exchange.dart +++ b/lib/models/exchange/incomplete_exchange.dart @@ -15,6 +15,7 @@ class IncompleteExchangeModel extends ChangeNotifier { final ExchangeRateType rateType; final bool reversed; + final bool walletInitiated; String? _recipientAddress; @@ -68,6 +69,7 @@ class IncompleteExchangeModel extends ChangeNotifier { required this.receiveAmount, required this.rateType, required this.reversed, + required this.walletInitiated, String? rateId, }) : _rateId = rateId; } diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 98ae53171..ba40f4d0f 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -558,6 +558,7 @@ class _ExchangeFormState extends ConsumerState { rateType: rateType, rateId: estimate.rateId, reversed: estimate.reversed, + walletInitiated: walletInitiated, ); if (mounted) { diff --git a/lib/pages/exchange_view/exchange_step_views/step_4_view.dart b/lib/pages/exchange_view/exchange_step_views/step_4_view.dart index 1278d1ddb..2507ac2d4 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_4_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_4_view.dart @@ -12,6 +12,7 @@ import 'package:stackwallet/pages/exchange_view/send_from_view.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; import 'package:stackwallet/pages/home_view/home_view.dart'; import 'package:stackwallet/pages/send_view/sub_widgets/building_transaction_dialog.dart'; +import 'package:stackwallet/pages/wallet_view/wallet_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -105,551 +106,593 @@ class _Step4ViewState extends ConsumerState { super.dispose(); } + Future _close() async { + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + await Future.delayed(const Duration(milliseconds: 75)); + } + if (mounted) { + Navigator.of(context).popUntil( + ModalRoute.withName( + model.walletInitiated ? WalletView.routeName : HomeView.routeName, + ), + ); + } + } + @override Widget build(BuildContext context) { final bool isWalletCoin = _isWalletCoinAndHasWallet(model.trade!.payInCurrency, ref); - return Background( - child: Scaffold( - backgroundColor: Theme.of(context).extension()!.background, - appBar: AppBar( - leading: AppBarBackButton( - onPressed: () async { - if (FocusScope.of(context).hasFocus) { - FocusScope.of(context).unfocus(); - await Future.delayed(const Duration(milliseconds: 75)); - } - if (mounted) { - Navigator.of(context).pop(); - } - }, + return WillPopScope( + onWillPop: () async { + await _close(); + return false; + }, + child: Background( + child: Scaffold( + backgroundColor: + Theme.of(context).extension()!.background, + appBar: AppBar( + leading: Padding( + padding: const EdgeInsets.all(10), + child: AppBarIconButton( + size: 32, + color: Theme.of(context).extension()!.background, + shadows: const [], + icon: SvgPicture.asset( + Assets.svg.x, + width: 24, + height: 24, + color: Theme.of(context) + .extension()! + .topNavIconPrimary, + ), + onPressed: _close, + ), + ), + title: Text( + "Exchange", + style: STextStyles.navBarTitle(context), + ), ), - title: Text( - "Exchange", - style: STextStyles.navBarTitle(context), - ), - ), - body: LayoutBuilder( - builder: (context, constraints) { - final width = MediaQuery.of(context).size.width - 32; - return Padding( - padding: const EdgeInsets.all(12), - child: SingleChildScrollView( - child: ConstrainedBox( - constraints: BoxConstraints( - minHeight: constraints.maxHeight - 24, - ), - child: IntrinsicHeight( - child: Padding( - padding: const EdgeInsets.all(4), - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - StepRow( - count: 4, - current: 3, - width: width, - ), - const SizedBox( - height: 14, - ), - Text( - "Send ${model.sendTicker.toUpperCase()} to the address below", - style: STextStyles.pageTitleH1(context), - ), - const SizedBox( - height: 8, - ), - Text( - "Send ${model.sendTicker.toUpperCase()} to the address below. Once it is received, ${model.trade!.exchangeName} will send the ${model.receiveTicker.toUpperCase()} to the recipient address you provided. You can find this trade details and check its status in the list of trades.", - style: STextStyles.itemSubtitle(context), - ), - const SizedBox( - height: 12, - ), - RoundedContainer( - color: Theme.of(context) - .extension()! - .warningBackground, - child: RichText( - text: TextSpan( - text: - "You must send at least ${model.sendAmount.toString()} ${model.sendTicker}. ", - style: STextStyles.label700(context).copyWith( - color: Theme.of(context) - .extension()! - .warningForeground, + body: LayoutBuilder( + builder: (context, constraints) { + final width = MediaQuery.of(context).size.width - 32; + return Padding( + padding: const EdgeInsets.all(12), + child: SingleChildScrollView( + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: constraints.maxHeight - 24, + ), + child: IntrinsicHeight( + child: Padding( + padding: const EdgeInsets.all(4), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + StepRow( + count: 4, + current: 3, + width: width, + ), + const SizedBox( + height: 14, + ), + Text( + "Send ${model.sendTicker.toUpperCase()} to the address below", + style: STextStyles.pageTitleH1(context), + ), + const SizedBox( + height: 8, + ), + Text( + "Send ${model.sendTicker.toUpperCase()} to the address below. Once it is received, ${model.trade!.exchangeName} will send the ${model.receiveTicker.toUpperCase()} to the recipient address you provided. You can find this trade details and check its status in the list of trades.", + style: STextStyles.itemSubtitle(context), + ), + const SizedBox( + height: 12, + ), + RoundedContainer( + color: Theme.of(context) + .extension()! + .warningBackground, + child: RichText( + text: TextSpan( + text: + "You must send at least ${model.sendAmount.toString()} ${model.sendTicker}. ", + style: STextStyles.label700(context).copyWith( + color: Theme.of(context) + .extension()! + .warningForeground, + ), + children: [ + TextSpan( + text: + "If you send less than ${model.sendAmount.toString()} ${model.sendTicker}, your transaction may not be converted and it may not be refunded.", + style: + STextStyles.label(context).copyWith( + color: Theme.of(context) + .extension()! + .warningForeground, + ), + ), + ], ), + ), + ), + const SizedBox( + height: 8, + ), + RoundedWhiteContainer( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - TextSpan( - text: - "If you send less than ${model.sendAmount.toString()} ${model.sendTicker}, your transaction may not be converted and it may not be refunded.", - style: STextStyles.label(context).copyWith( + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + "Amount", + style: + STextStyles.itemSubtitle(context), + ), + GestureDetector( + onTap: () async { + final data = ClipboardData( + text: + model.sendAmount.toString()); + await clipboard.setData(data); + unawaited(showFloatingFlushBar( + type: FlushBarType.info, + message: "Copied to clipboard", + context: context, + )); + }, + child: Row( + children: [ + SvgPicture.asset( + Assets.svg.copy, + color: Theme.of(context) + .extension()! + .infoItemIcons, + width: 10, + ), + const SizedBox( + width: 4, + ), + Text( + "Copy", + style: STextStyles.link2(context), + ), + ], + ), + ), + ], + ), + const SizedBox( + height: 4, + ), + Text( + "${model.sendAmount.toString()} ${model.sendTicker.toUpperCase()}", + style: STextStyles.itemSubtitle12(context), + ), + ], + ), + ), + const SizedBox( + height: 8, + ), + RoundedWhiteContainer( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + "Send ${model.sendTicker.toUpperCase()} to this address", + style: + STextStyles.itemSubtitle(context), + ), + GestureDetector( + onTap: () async { + final data = ClipboardData( + text: model.trade!.payInAddress); + await clipboard.setData(data); + unawaited(showFloatingFlushBar( + type: FlushBarType.info, + message: "Copied to clipboard", + context: context, + )); + }, + child: Row( + children: [ + SvgPicture.asset( + Assets.svg.copy, + color: Theme.of(context) + .extension()! + .infoItemIcons, + width: 10, + ), + const SizedBox( + width: 4, + ), + Text( + "Copy", + style: STextStyles.link2(context), + ), + ], + ), + ), + ], + ), + const SizedBox( + height: 4, + ), + Text( + model.trade!.payInAddress, + style: STextStyles.itemSubtitle12(context), + ), + ], + ), + ), + const SizedBox( + height: 6, + ), + RoundedWhiteContainer( + child: Row( + children: [ + Text( + "Trade ID", + style: STextStyles.itemSubtitle(context), + ), + const Spacer(), + Row( + children: [ + Text( + model.trade!.tradeId, + style: + STextStyles.itemSubtitle12(context), + ), + const SizedBox( + width: 10, + ), + GestureDetector( + onTap: () async { + final data = ClipboardData( + text: model.trade!.tradeId); + await clipboard.setData(data); + unawaited(showFloatingFlushBar( + type: FlushBarType.info, + message: "Copied to clipboard", + context: context, + )); + }, + child: SvgPicture.asset( + Assets.svg.copy, + color: Theme.of(context) + .extension()! + .infoItemIcons, + width: 12, + ), + ) + ], + ) + ], + ), + ), + const SizedBox( + height: 6, + ), + RoundedWhiteContainer( + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + "Status", + style: STextStyles.itemSubtitle(context), + ), + Text( + _statusString, + style: STextStyles.itemSubtitle(context) + .copyWith( color: Theme.of(context) .extension()! - .warningForeground, + .colorForStatus(_statusString), ), ), ], ), ), - ), - const SizedBox( - height: 8, - ), - RoundedWhiteContainer( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Text( - "Amount", - style: STextStyles.itemSubtitle(context), - ), - GestureDetector( - onTap: () async { - final data = ClipboardData( - text: model.sendAmount.toString()); - await clipboard.setData(data); - unawaited(showFloatingFlushBar( - type: FlushBarType.info, - message: "Copied to clipboard", - context: context, - )); - }, - child: Row( - children: [ - SvgPicture.asset( - Assets.svg.copy, - color: Theme.of(context) - .extension()! - .infoItemIcons, - width: 10, - ), - const SizedBox( - width: 4, - ), - Text( - "Copy", - style: STextStyles.link2(context), - ), - ], - ), - ), - ], - ), - const SizedBox( - height: 4, - ), - Text( - "${model.sendAmount.toString()} ${model.sendTicker.toUpperCase()}", - style: STextStyles.itemSubtitle12(context), - ), - ], - ), - ), - const SizedBox( - height: 8, - ), - RoundedWhiteContainer( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Text( - "Send ${model.sendTicker.toUpperCase()} to this address", - style: STextStyles.itemSubtitle(context), - ), - GestureDetector( - onTap: () async { - final data = ClipboardData( - text: model.trade!.payInAddress); - await clipboard.setData(data); - unawaited(showFloatingFlushBar( - type: FlushBarType.info, - message: "Copied to clipboard", - context: context, - )); - }, - child: Row( - children: [ - SvgPicture.asset( - Assets.svg.copy, - color: Theme.of(context) - .extension()! - .infoItemIcons, - width: 10, - ), - const SizedBox( - width: 4, - ), - Text( - "Copy", - style: STextStyles.link2(context), - ), - ], - ), - ), - ], - ), - const SizedBox( - height: 4, - ), - Text( - model.trade!.payInAddress, - style: STextStyles.itemSubtitle12(context), - ), - ], - ), - ), - const SizedBox( - height: 6, - ), - RoundedWhiteContainer( - child: Row( - children: [ - Text( - "Trade ID", - style: STextStyles.itemSubtitle(context), - ), - const Spacer(), - Row( - children: [ - Text( - model.trade!.tradeId, - style: - STextStyles.itemSubtitle12(context), - ), - const SizedBox( - width: 10, - ), - GestureDetector( - onTap: () async { - final data = ClipboardData( - text: model.trade!.tradeId); - await clipboard.setData(data); - unawaited(showFloatingFlushBar( - type: FlushBarType.info, - message: "Copied to clipboard", - context: context, - )); - }, - child: SvgPicture.asset( - Assets.svg.copy, - color: Theme.of(context) - .extension()! - .infoItemIcons, - width: 12, - ), - ) - ], - ) - ], - ), - ), - const SizedBox( - height: 6, - ), - RoundedWhiteContainer( - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Status", - style: STextStyles.itemSubtitle(context), - ), - Text( - _statusString, - style: STextStyles.itemSubtitle(context) - .copyWith( - color: Theme.of(context) - .extension()! - .colorForStatus(_statusString), - ), - ), - ], - ), - ), - const Spacer(), - const SizedBox( - height: 12, - ), - TextButton( - onPressed: () { - showDialog( - context: context, - barrierDismissible: true, - builder: (_) { - return StackDialogBase( - child: Column( - children: [ - const SizedBox( - height: 8, - ), - Center( - child: Text( - "Send ${model.sendTicker} to this address", - style: STextStyles.pageTitleH2( - context), - ), - ), - const SizedBox( - height: 24, - ), - Center( - child: QrImage( - // TODO: grab coin uri scheme from somewhere - // data: "${coin.uriScheme}:$receivingAddress", - data: model.trade!.payInAddress, - size: MediaQuery.of(context) - .size - .width / - 2, - foregroundColor: Theme.of(context) - .extension()! - .accentColorDark, - ), - ), - const SizedBox( - height: 24, - ), - Row( - children: [ - const Spacer(), - Expanded( - child: TextButton( - onPressed: () => - Navigator.of(context).pop(), - style: Theme.of(context) - .extension()! - .getSecondaryEnabledButtonStyle( - context), - child: Text( - "Cancel", - style: STextStyles.button( - context) - .copyWith( - color: Theme.of(context) - .extension< - StackColors>()! - .buttonTextSecondary, - ), - ), - ), - ), - ], - ) - ], - ), - ); - }, - ); - }, - style: Theme.of(context) - .extension()! - .getPrimaryEnabledButtonStyle(context), - child: Text( - "Show QR Code", - style: STextStyles.button(context), - ), - ), - if (isWalletCoin) + const Spacer(), const SizedBox( height: 12, ), - if (isWalletCoin) - Builder( - builder: (context) { - String buttonTitle = "Send from Stack Wallet"; - - final tuple = ref - .read(exchangeSendFromWalletIdStateProvider - .state) - .state; - if (tuple != null && - model.sendTicker.toLowerCase() == - tuple.item2.ticker.toLowerCase()) { - final walletName = ref - .read(walletsChangeNotifierProvider) - .getManager(tuple.item1) - .walletName; - buttonTitle = "Send from $walletName"; - } - - return TextButton( - onPressed: tuple != null && - model.sendTicker.toLowerCase() == - tuple.item2.ticker.toLowerCase() - ? () async { - final manager = ref - .read( - walletsChangeNotifierProvider) - .getManager(tuple.item1); - - final amount = - Format.decimalAmountToSatoshis( - model.sendAmount, - manager.coin); - final address = - model.trade!.payInAddress; - - try { - bool wasCancelled = false; - - unawaited(showDialog( - context: context, - useSafeArea: false, - barrierDismissible: false, - builder: (context) { - return BuildingTransactionDialog( - onCancel: () { - wasCancelled = true; - - Navigator.of(context).pop(); - }, - ); - }, - )); - - final txData = - await manager.prepareSend( - address: address, - satoshiAmount: amount, - args: { - "feeRate": FeeRateType.average, - // ref.read(feeRateTypeStateProvider) - }, - ); - - if (!wasCancelled) { - // pop building dialog - - if (mounted) { - Navigator.of(context).pop(); - } - - txData["note"] = - "${model.trade!.payInCurrency.toUpperCase()}/${model.trade!.payOutCurrency.toUpperCase()} exchange"; - txData["address"] = address; - - if (mounted) { - unawaited( - Navigator.of(context).push( - RouteGenerator.getRoute( - shouldUseMaterialRoute: - RouteGenerator - .useMaterialPageRoute, - builder: (_) => - ConfirmChangeNowSendView( - transactionInfo: txData, - walletId: tuple.item1, - routeOnSuccessName: - HomeView.routeName, - trade: model.trade!, - ), - settings: - const RouteSettings( - name: - ConfirmChangeNowSendView - .routeName, + TextButton( + onPressed: () { + showDialog( + context: context, + barrierDismissible: true, + builder: (_) { + return StackDialogBase( + child: Column( + children: [ + const SizedBox( + height: 8, + ), + Center( + child: Text( + "Send ${model.sendTicker} to this address", + style: STextStyles.pageTitleH2( + context), + ), + ), + const SizedBox( + height: 24, + ), + Center( + child: QrImage( + // TODO: grab coin uri scheme from somewhere + // data: "${coin.uriScheme}:$receivingAddress", + data: model.trade!.payInAddress, + size: MediaQuery.of(context) + .size + .width / + 2, + foregroundColor: Theme.of(context) + .extension()! + .accentColorDark, + ), + ), + const SizedBox( + height: 24, + ), + Row( + children: [ + const Spacer(), + Expanded( + child: TextButton( + onPressed: () => + Navigator.of(context) + .pop(), + style: Theme.of(context) + .extension()! + .getSecondaryEnabledButtonStyle( + context), + child: Text( + "Cancel", + style: STextStyles.button( + context) + .copyWith( + color: Theme.of(context) + .extension< + StackColors>()! + .buttonTextSecondary, ), ), - )); - } - } - } catch (e) { - // if (mounted) { - // pop building dialog - Navigator.of(context).pop(); + ), + ), + ], + ) + ], + ), + ); + }, + ); + }, + style: Theme.of(context) + .extension()! + .getPrimaryEnabledButtonStyle(context), + child: Text( + "Show QR Code", + style: STextStyles.button(context), + ), + ), + if (isWalletCoin) + const SizedBox( + height: 12, + ), + if (isWalletCoin) + Builder( + builder: (context) { + String buttonTitle = "Send from Stack Wallet"; + + final tuple = ref + .read( + exchangeSendFromWalletIdStateProvider + .state) + .state; + if (tuple != null && + model.sendTicker.toLowerCase() == + tuple.item2.ticker.toLowerCase()) { + final walletName = ref + .read(walletsChangeNotifierProvider) + .getManager(tuple.item1) + .walletName; + buttonTitle = "Send from $walletName"; + } + + return TextButton( + onPressed: tuple != null && + model.sendTicker.toLowerCase() == + tuple.item2.ticker.toLowerCase() + ? () async { + final manager = ref + .read( + walletsChangeNotifierProvider) + .getManager(tuple.item1); + + final amount = + Format.decimalAmountToSatoshis( + model.sendAmount, + manager.coin); + final address = + model.trade!.payInAddress; + + try { + bool wasCancelled = false; + + unawaited(showDialog( + context: context, + useSafeArea: false, + barrierDismissible: false, + builder: (context) { + return BuildingTransactionDialog( + onCancel: () { + wasCancelled = true; - unawaited(showDialog( - context: context, - useSafeArea: false, - barrierDismissible: true, - builder: (context) { - return StackDialog( - title: "Transaction failed", - message: e.toString(), - rightButton: TextButton( - style: Theme.of(context) - .extension< - StackColors>()! - .getSecondaryEnabledButtonStyle( - context), - child: Text( - "Ok", - style: STextStyles.button( - context) - .copyWith( - color: Theme.of(context) - .extension< - StackColors>()! - .buttonTextSecondary, - ), - ), - onPressed: () { Navigator.of(context) .pop(); }, - ), - ); - }, - )); - // } + ); + }, + )); + + final txData = + await manager.prepareSend( + address: address, + satoshiAmount: amount, + args: { + "feeRate": + FeeRateType.average, + // ref.read(feeRateTypeStateProvider) + }, + ); + + if (!wasCancelled) { + // pop building dialog + + if (mounted) { + Navigator.of(context).pop(); + } + + txData["note"] = + "${model.trade!.payInCurrency.toUpperCase()}/${model.trade!.payOutCurrency.toUpperCase()} exchange"; + txData["address"] = address; + + if (mounted) { + unawaited( + Navigator.of(context) + .push( + RouteGenerator.getRoute( + shouldUseMaterialRoute: + RouteGenerator + .useMaterialPageRoute, + builder: (_) => + ConfirmChangeNowSendView( + transactionInfo: txData, + walletId: tuple.item1, + routeOnSuccessName: + HomeView.routeName, + trade: model.trade!, + ), + settings: + const RouteSettings( + name: + ConfirmChangeNowSendView + .routeName, + ), + ), + )); + } + } + } catch (e) { + // if (mounted) { + // pop building dialog + Navigator.of(context).pop(); + + unawaited(showDialog( + context: context, + useSafeArea: false, + barrierDismissible: true, + builder: (context) { + return StackDialog( + title: "Transaction failed", + message: e.toString(), + rightButton: TextButton( + style: Theme.of(context) + .extension< + StackColors>()! + .getSecondaryEnabledButtonStyle( + context), + child: Text( + "Ok", + style: + STextStyles.button( + context) + .copyWith( + color: Theme.of( + context) + .extension< + StackColors>()! + .buttonTextSecondary, + ), + ), + onPressed: () { + Navigator.of(context) + .pop(); + }, + ), + ); + }, + )); + // } + } } - } - : () { - Navigator.of(context).push( - RouteGenerator.getRoute( - shouldUseMaterialRoute: - RouteGenerator - .useMaterialPageRoute, - builder: (BuildContext context) { - return SendFromView( - coin: - coinFromTickerCaseInsensitive( - model.trade! - .payInCurrency), - amount: model.sendAmount, - address: - model.trade!.payInAddress, - trade: model.trade!, - ); - }, - settings: const RouteSettings( - name: SendFromView.routeName, + : () { + Navigator.of(context).push( + RouteGenerator.getRoute( + shouldUseMaterialRoute: + RouteGenerator + .useMaterialPageRoute, + builder: + (BuildContext context) { + return SendFromView( + coin: + coinFromTickerCaseInsensitive( + model.trade! + .payInCurrency), + amount: model.sendAmount, + address: model + .trade!.payInAddress, + trade: model.trade!, + ); + }, + settings: const RouteSettings( + name: SendFromView.routeName, + ), ), - ), - ); - }, - style: Theme.of(context) - .extension()! - .getSecondaryEnabledButtonStyle(context), - child: Text( - buttonTitle, - style: STextStyles.button(context).copyWith( - color: Theme.of(context) - .extension()! - .buttonTextSecondary, + ); + }, + style: Theme.of(context) + .extension()! + .getSecondaryEnabledButtonStyle( + context), + child: Text( + buttonTitle, + style: + STextStyles.button(context).copyWith( + color: Theme.of(context) + .extension()! + .buttonTextSecondary, + ), ), - ), - ); - }, - ), - ], + ); + }, + ), + ], + ), ), ), ), ), - ), - ); - }, + ); + }, + ), ), ), ); From 14b2424c3fc37a279ac7852d559a55fbf58ae8ad Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 9 Feb 2023 10:26:58 -0600 Subject: [PATCH 134/191] epic address fix --- .../coins/epiccash/epiccash_wallet.dart | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index e7659a13e..4bd4f4b31 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -2094,12 +2094,14 @@ class EpicCashWallet extends CoinServiceAPI height = null; } + final isIncoming = (tx["tx_type"] == "TxReceived" || + tx["tx_type"] == "TxReceivedCancelled"); + final txn = isar_models.Transaction( walletId: walletId, txid: commitId ?? tx["id"].toString(), timestamp: (dt.millisecondsSinceEpoch ~/ 1000), - type: (tx["tx_type"] == "TxReceived" || - tx["tx_type"] == "TxReceivedCancelled") + type: isIncoming ? isar_models.TransactionType.incoming : isar_models.TransactionType.outgoing, subType: isar_models.TransactionSubType.none, @@ -2122,6 +2124,38 @@ class EpicCashWallet extends CoinServiceAPI .filter() .valueEqualTo(address) .findFirst(); + + if (transactionAddress == null) { + if (isIncoming) { + transactionAddress = isar_models.Address( + walletId: walletId, + value: address, + publicKey: [], + derivationIndex: 0, + derivationPath: null, + type: isar_models.AddressType.mimbleWimble, + subType: isar_models.AddressSubType.receiving, + ); + } else { + final myRcvAddr = await currentReceivingAddress; + final isSentToSelf = myRcvAddr == address; + + transactionAddress = isar_models.Address( + walletId: walletId, + value: address, + publicKey: [], + derivationIndex: isSentToSelf ? 0 : -1, + derivationPath: null, + type: isSentToSelf + ? isar_models.AddressType.mimbleWimble + : isar_models.AddressType.nonWallet, + subType: isSentToSelf + ? isar_models.AddressSubType.receiving + : isar_models.AddressSubType.nonWallet, + ); + } + } + // // midSortedTx["inputSize"] = tx["num_inputs"]; // midSortedTx["outputSize"] = tx["num_outputs"]; From 75c5a1d7d9f7518913b3a95e456aed03e1480bb1 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 9 Feb 2023 10:27:39 -0600 Subject: [PATCH 135/191] epic transaction migration --- lib/utilities/db_version_migration.dart | 78 +++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 6 deletions(-) diff --git a/lib/utilities/db_version_migration.dart b/lib/utilities/db_version_migration.dart index 778406ba8..67e76ef29 100644 --- a/lib/utilities/db_version_migration.dart +++ b/lib/utilities/db_version_migration.dart @@ -1,8 +1,10 @@ import 'package:hive/hive.dart'; +import 'package:stackwallet/db/main_db.dart'; import 'package:stackwallet/electrumx_rpc/electrumx.dart'; import 'package:stackwallet/hive/db.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; +import 'package:stackwallet/models/isar/models/isar_models.dart' as isar_models; import 'package:stackwallet/models/models.dart'; import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; @@ -14,6 +16,7 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:tuple/tuple.dart'; class DbVersionMigrator with WalletDB { Future migrate( @@ -195,6 +198,7 @@ class DbVersionMigrator with WalletDB { final prefs = Prefs.instance; final walletInfoList = await walletsService.walletNames; await prefs.init(); + await MainDB.instance.initMainDB(); for (final walletId in walletInfoList.keys) { final info = walletInfoList[walletId]!; @@ -205,6 +209,64 @@ class DbVersionMigrator with WalletDB { const receiveAddressesPrefix = "receivingAddresses"; const changeAddressesPrefix = "changeAddresses"; + // we need to manually migrate epic cash transactions as they are not + // stored on the epic cash blockchain + if (info.coin == Coin.epicCash) { + final txnData = walletBox.get("latest_tx_model") as TransactionData?; + + // we ever only used index 0 in the past + const rcvIndex = 0; + + final List> + transactionsData = []; + if (txnData != null) { + final txns = txnData.getAllTransactions(); + + for (final tx in txns.values) { + bool isIncoming = tx.txType == "Received"; + + final iTx = isar_models.Transaction( + walletId: walletId, + txid: tx.txid, + timestamp: tx.timestamp, + type: isIncoming + ? isar_models.TransactionType.incoming + : isar_models.TransactionType.outgoing, + subType: isar_models.TransactionSubType.none, + amount: tx.amount, + fee: tx.fees, + height: tx.height, + isCancelled: tx.isCancelled, + isLelantus: false, + slateId: tx.slateId, + otherData: tx.otherData, + inputs: [], + outputs: [], + ); + + if (tx.address.isEmpty) { + transactionsData.add(Tuple2(iTx, null)); + } else { + final address = isar_models.Address( + walletId: walletId, + value: tx.address, + publicKey: [], + derivationIndex: isIncoming ? rcvIndex : -1, + derivationPath: null, + type: isIncoming + ? isar_models.AddressType.mimbleWimble + : isar_models.AddressType.unknown, + subType: isIncoming + ? isar_models.AddressSubType.receiving + : isar_models.AddressSubType.unknown, + ); + transactionsData.add(Tuple2(iTx, address)); + } + } + } + await MainDB.instance.addNewTransactionData(transactionsData, walletId); + } + // delete data from hive await walletBox.delete(receiveAddressesPrefix); await walletBox.delete("${receiveAddressesPrefix}P2PKH"); @@ -224,12 +286,16 @@ class DbVersionMigrator with WalletDB { key: '${walletId}_mnemonicPassphrase', value: ""); } - // set flag to initiate full rescan on opening wallet - await DB.instance.put( - boxName: DB.boxNameDBInfo, - key: "rescan_on_open_$walletId", - value: Constants.rescanV1, - ); + // doing this for epic cash will delete transaction history as it is not + // stored on the epic cash blockchain + if (info.coin != Coin.epicCash) { + // set flag to initiate full rescan on opening wallet + await DB.instance.put( + boxName: DB.boxNameDBInfo, + key: "rescan_on_open_$walletId", + value: Constants.rescanV1, + ); + } } } } From d1f22cdc06c81a605080287cf9fd6806bbfc99c3 Mon Sep 17 00:00:00 2001 From: ryleedavis Date: Thu, 9 Feb 2023 14:37:25 -0700 Subject: [PATCH 136/191] prep for adding in forest theme colors --- assets/svg/forest-theme.svg | 63 +++ assets/svg/fruit-sorbet-theme.png | Bin 0 -> 4202 bytes assets/svg/fruit-sorbet-theme.svg | 29 +- lib/main.dart | 4 + .../appearance_settings_view.dart | 2 + .../settings_menu/appearance_settings.dart | 2 + lib/utilities/assets.dart | 3 + lib/utilities/text_styles.dart | 376 ++++++++++++++++++ lib/utilities/theme/color_theme.dart | 7 +- lib/utilities/theme/forest_colors.dart | 345 ++++++++++++++++ pubspec.yaml | 1 + 11 files changed, 803 insertions(+), 29 deletions(-) create mode 100644 assets/svg/forest-theme.svg create mode 100644 assets/svg/fruit-sorbet-theme.png create mode 100644 lib/utilities/theme/forest_colors.dart diff --git a/assets/svg/forest-theme.svg b/assets/svg/forest-theme.svg new file mode 100644 index 000000000..1472bcbf5 --- /dev/null +++ b/assets/svg/forest-theme.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/svg/fruit-sorbet-theme.png b/assets/svg/fruit-sorbet-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..9bd0c6e975a82d62cccfb35fe247995b66324320 GIT binary patch literal 4202 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 A-~a#s literal 0 HcmV?d00001 diff --git a/assets/svg/fruit-sorbet-theme.svg b/assets/svg/fruit-sorbet-theme.svg index d8680aec9..a9e8a3e2a 100644 --- a/assets/svg/fruit-sorbet-theme.svg +++ b/assets/svg/fruit-sorbet-theme.svg @@ -1,28 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 493347263..6582fd6a8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -58,6 +58,7 @@ import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; import 'package:stackwallet/utilities/theme/color_theme.dart'; import 'package:stackwallet/utilities/theme/dark_colors.dart'; +import 'package:stackwallet/utilities/theme/forest_colors.dart'; import 'package:stackwallet/utilities/theme/fruit_sorbet_colors.dart'; import 'package:stackwallet/utilities/theme/light_colors.dart'; import 'package:stackwallet/utilities/theme/ocean_breeze_colors.dart'; @@ -347,6 +348,9 @@ class _MaterialAppWithThemeState extends ConsumerState case "fruitSorbet": colorTheme = FruitSorbetColors(); break; + case "forest": + colorTheme = ForestColors(); + break; case "light": default: colorTheme = LightColors(); diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart b/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart index cefde08bb..386190c5b 100644 --- a/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart +++ b/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart @@ -34,6 +34,8 @@ class AppearanceSettingsView extends ConsumerWidget { return "Oled Black theme"; case ThemeType.fruitSorbet: return "Fruit Sorbet theme"; + case ThemeType.forest: + return "Forest theme"; } } diff --git a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart index b754f5c28..de7ae8623 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart @@ -171,6 +171,8 @@ class _ThemeToggle extends ConsumerState { return Assets.svg.themeOledBlack; case ThemeType.fruitSorbet: return Assets.svg.themeFruit; + case ThemeType.forest: + return Assets.svg.themeForest; } } diff --git a/lib/utilities/assets.dart b/lib/utilities/assets.dart index 5a0427782..9f8a0ba7d 100644 --- a/lib/utilities/assets.dart +++ b/lib/utilities/assets.dart @@ -92,6 +92,7 @@ class _SVG { "assets/svg/${Theme.of(context).extension()!.themeType.name}/tx-exchange-icon-failed.svg"; String get themeFruit => "assets/svg/fruit-sorbet-theme.svg"; + String get themeForest => "assets/svg/forest-theme.svg"; String get themeOledBlack => "assets/svg/oled-black-theme.svg"; String get themeOcean => "assets/svg/ocean-breeze-theme.svg"; String get themeLight => "assets/svg/light-mode.svg"; @@ -261,6 +262,8 @@ class _SVG { class _PNG { const _PNG(); + // String get themeFruit => "assets/svg/fruit-sorbet-theme.png"; + String get stack => "assets/images/stack.png"; String get splash => "assets/images/splash.png"; diff --git a/lib/utilities/text_styles.dart b/lib/utilities/text_styles.dart index 8b756e984..a6979f812 100644 --- a/lib/utilities/text_styles.dart +++ b/lib/utilities/text_styles.dart @@ -39,6 +39,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark3, + fontWeight: FontWeight.w500, + fontSize: 12, + ); } } @@ -74,6 +80,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 20, + ); } } @@ -109,6 +121,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 18, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 18, + ); } } @@ -144,6 +162,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 16, + ); } } @@ -179,6 +203,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 16, + ); } } @@ -214,6 +244,12 @@ class STextStyles { fontWeight: FontWeight.w400, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w400, + fontSize: 16, + ); } } @@ -249,6 +285,12 @@ class STextStyles { fontWeight: FontWeight.w400, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w400, + fontSize: 16, + ); } } @@ -284,6 +326,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 16, + ); } } @@ -319,6 +367,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 16, + ); } } @@ -354,6 +408,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).buttonTextPrimary, + fontWeight: FontWeight.w500, + fontSize: 16, + ); } } @@ -389,6 +449,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 16, + ); } } @@ -424,6 +490,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark3, + fontWeight: FontWeight.w500, + fontSize: 16, + ); } } @@ -459,6 +531,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark3, + fontWeight: FontWeight.w500, + fontSize: 14, + ); } } @@ -494,6 +572,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textSubtitle1, + fontWeight: FontWeight.w500, + fontSize: 12, + ); } } @@ -534,6 +618,13 @@ class STextStyles { fontSize: 14, height: 14 / 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textFieldActiveSearchIconRight, + fontWeight: FontWeight.w500, + fontSize: 14, + height: 14 / 14, + ); } } @@ -569,6 +660,12 @@ class STextStyles { fontWeight: FontWeight.w700, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textSubtitle1, + fontWeight: FontWeight.w700, + fontSize: 12, + ); } } @@ -604,6 +701,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).infoItemLabel, + fontWeight: FontWeight.w500, + fontSize: 14, + ); } } @@ -639,6 +742,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); } } @@ -674,6 +783,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); } } @@ -714,6 +829,13 @@ class STextStyles { fontSize: 14, height: 1.5, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textSubtitle2, + fontWeight: FontWeight.w500, + fontSize: 14, + height: 1.5, + ); } } @@ -754,6 +876,13 @@ class STextStyles { fontSize: 14, height: 1.5, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + height: 1.5, + ); } } @@ -789,6 +918,12 @@ class STextStyles { fontWeight: FontWeight.w400, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w400, + fontSize: 14, + ); } } @@ -824,6 +959,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).accentColorRed, + fontWeight: FontWeight.w500, + fontSize: 14, + ); } } @@ -859,6 +1000,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).infoItemIcons, + fontWeight: FontWeight.w500, + fontSize: 14, + ); } } @@ -894,6 +1041,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).accentColorBlue, + fontWeight: FontWeight.w500, + fontSize: 12, + ); } } @@ -929,6 +1082,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 12, + ); } } @@ -964,6 +1123,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 12, + ); } } @@ -999,6 +1164,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 12, + ); } } @@ -1034,6 +1205,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 12, + ); } } @@ -1069,6 +1246,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 10, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textError, + fontWeight: FontWeight.w500, + fontSize: 10, + ); } } @@ -1104,6 +1287,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 10, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textSubtitle1, + fontWeight: FontWeight.w500, + fontSize: 10, + ); } } @@ -1146,6 +1335,13 @@ class STextStyles { fontSize: 40, height: 40 / 40, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 40, + height: 40 / 40, + ); } } @@ -1186,6 +1382,13 @@ class STextStyles { fontSize: 32, height: 32 / 32, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 32, + height: 32 / 32, + ); } } @@ -1226,6 +1429,13 @@ class STextStyles { fontSize: 24, height: 24 / 24, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 24, + height: 24 / 24, + ); } } @@ -1266,6 +1476,13 @@ class STextStyles { fontSize: 24, height: 24 / 24, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 24, + height: 24 / 24, + ); } } @@ -1306,6 +1523,13 @@ class STextStyles { fontSize: 20, height: 30 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 20, + height: 30 / 20, + ); } } @@ -1346,6 +1570,13 @@ class STextStyles { fontSize: 20, height: 30 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w400, + fontSize: 20, + height: 30 / 20, + ); } } @@ -1386,6 +1617,13 @@ class STextStyles { fontSize: 20, height: 28 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w400, + fontSize: 20, + height: 28 / 20, + ); } } @@ -1426,6 +1664,13 @@ class STextStyles { fontSize: 24, height: 33 / 24, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w400, + fontSize: 24, + height: 33 / 24, + ); } } @@ -1466,6 +1711,13 @@ class STextStyles { fontSize: 20, height: 26 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).buttonTextPrimary, + fontWeight: FontWeight.w500, + fontSize: 20, + height: 26 / 20, + ); } } @@ -1506,6 +1758,13 @@ class STextStyles { fontSize: 20, height: 26 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).buttonTextPrimaryDisabled, + fontWeight: FontWeight.w500, + fontSize: 20, + height: 26 / 20, + ); } } @@ -1546,6 +1805,13 @@ class STextStyles { fontSize: 20, height: 26 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).buttonTextSecondary, + fontWeight: FontWeight.w500, + fontSize: 20, + height: 26 / 20, + ); } } @@ -1586,6 +1852,13 @@ class STextStyles { fontSize: 20, height: 26 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).buttonTextSecondaryDisabled, + fontWeight: FontWeight.w500, + fontSize: 20, + height: 26 / 20, + ); } } @@ -1626,6 +1899,13 @@ class STextStyles { fontSize: 18, height: 27 / 18, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 18, + height: 27 / 18, + ); } } @@ -1666,6 +1946,13 @@ class STextStyles { fontSize: 18, height: 27 / 18, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w700, + fontSize: 18, + height: 27 / 18, + ); } } @@ -1706,6 +1993,13 @@ class STextStyles { fontSize: 16, height: 24 / 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).buttonTextPrimaryDisabled, + fontWeight: FontWeight.w500, + fontSize: 16, + height: 24 / 16, + ); } } @@ -1746,6 +2040,13 @@ class STextStyles { fontSize: 14, height: 21 / 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textSubtitle1, + fontWeight: FontWeight.w500, + fontSize: 14, + height: 21 / 14, + ); } } @@ -1786,6 +2087,13 @@ class STextStyles { fontSize: 14, height: 21 / 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 14, + height: 21 / 14, + ); } } @@ -1826,6 +2134,13 @@ class STextStyles { fontSize: 16, height: 24 / 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).buttonTextSecondary, + fontWeight: FontWeight.w500, + fontSize: 16, + height: 24 / 16, + ); } } @@ -1866,6 +2181,13 @@ class STextStyles { fontSize: 20, height: 30 / 20, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textSubtitle2, + fontWeight: FontWeight.w500, + fontSize: 20, + height: 30 / 20, + ); } } @@ -1906,6 +2228,13 @@ class STextStyles { fontSize: 16, height: 20.8 / 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark.withOpacity(0.8), + fontWeight: FontWeight.w500, + fontSize: 16, + height: 20.8 / 16, + ); } } @@ -1946,6 +2275,13 @@ class STextStyles { fontSize: 16, height: 20.8 / 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 16, + height: 20.8 / 16, + ); } } @@ -1986,6 +2322,13 @@ class STextStyles { fontSize: 16, height: 20.8 / 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark.withOpacity(0.5), + fontWeight: FontWeight.w500, + fontSize: 16, + height: 20.8 / 16, + ); } } @@ -2026,6 +2369,13 @@ class STextStyles { fontSize: 16, height: 20.8 / 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 16, + height: 20.8 / 16, + ); } } @@ -2061,6 +2411,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 8, ); + case ThemeType.forest: + return GoogleFonts.roboto( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 8, + ); } } @@ -2096,6 +2452,12 @@ class STextStyles { fontWeight: FontWeight.w400, fontSize: 26, ); + case ThemeType.forest: + return GoogleFonts.roboto( + color: _theme(context).numberTextDefault, + fontWeight: FontWeight.w400, + fontSize: 26, + ); } } @@ -2136,6 +2498,13 @@ class STextStyles { fontWeight: FontWeight.w400, fontSize: 12, ); + case ThemeType.forest: + return GoogleFonts.inter( + letterSpacing: 0.5, + color: _theme(context).accentColorDark, + fontWeight: FontWeight.w400, + fontSize: 12, + ); } } @@ -2176,6 +2545,13 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 16, ); + case ThemeType.forest: + return GoogleFonts.inter( + letterSpacing: 0.5, + color: _theme(context).accentColorDark, + fontWeight: FontWeight.w600, + fontSize: 16, + ); } } } diff --git a/lib/utilities/theme/color_theme.dart b/lib/utilities/theme/color_theme.dart index ce8a471f9..1e7b3ab82 100644 --- a/lib/utilities/theme/color_theme.dart +++ b/lib/utilities/theme/color_theme.dart @@ -1,12 +1,13 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/theme/dark_colors.dart'; +import 'package:stackwallet/utilities/theme/forest_colors.dart'; import 'package:stackwallet/utilities/theme/fruit_sorbet_colors.dart'; import 'package:stackwallet/utilities/theme/light_colors.dart'; import 'package:stackwallet/utilities/theme/ocean_breeze_colors.dart'; import 'package:stackwallet/utilities/theme/oled_black_colors.dart'; -enum ThemeType { light, dark, oceanBreeze, oledBlack, fruitSorbet } +enum ThemeType { light, dark, oceanBreeze, oledBlack, fruitSorbet, forest } // adjust this file @@ -23,6 +24,8 @@ extension ThemeTypeExt on ThemeType { return OledBlackColors(); case ThemeType.fruitSorbet: return FruitSorbetColors(); + case ThemeType.forest: + return ForestColors(); } } @@ -38,6 +41,8 @@ extension ThemeTypeExt on ThemeType { return "OLED Black"; case ThemeType.fruitSorbet: return "Fruit Sorbet"; + case ThemeType.forest: + return "Forest"; } } } diff --git a/lib/utilities/theme/forest_colors.dart b/lib/utilities/theme/forest_colors.dart new file mode 100644 index 000000000..835d92e3f --- /dev/null +++ b/lib/utilities/theme/forest_colors.dart @@ -0,0 +1,345 @@ +import 'package:flutter/material.dart'; +import 'package:stackwallet/utilities/theme/color_theme.dart'; + +class ForestColors extends StackColorTheme { + @override + ThemeType get themeType => ThemeType.forest; + + @override + Color get background => const Color(0xFFF7F7F7); + @override + Color get backgroundAppBar => background; + @override + Gradient? get gradientBackground => null; + + @override + Color get overlay => const Color(0xFF111215); + + @override + Color get accentColorBlue => const Color(0xFF0052DF); + @override + Color get accentColorGreen => const Color(0xFF4CC0A0); + @override + Color get accentColorYellow => const Color(0xFFF7D65D); + @override + Color get accentColorRed => const Color(0xFFD34E50); + @override + Color get accentColorOrange => const Color(0xFFFEA68D); + @override + Color get accentColorDark => const Color(0xFF232323); + + @override + Color get shadow => const Color(0x0F2D3132); + + @override + Color get textDark => const Color(0xFF232323); + @override + Color get textDark2 => const Color(0xFF414141); + @override + Color get textDark3 => const Color(0xFF747778); + @override + Color get textSubtitle1 => const Color(0xFF8E9192); + @override + Color get textSubtitle2 => const Color(0xFFA9ACAC); + @override + Color get textSubtitle3 => const Color(0xFFC4C7C7); + @override + Color get textSubtitle4 => const Color(0xFFE0E3E3); + @override + Color get textSubtitle5 => const Color(0xFFEEEFF1); + @override + Color get textSubtitle6 => const Color(0xFFF5F5F5); + @override + Color get textWhite => const Color(0xFFFFFFFF); + @override + Color get textFavoriteCard => const Color(0xFF232323); + @override + Color get textError => const Color(0xFF930006); + @override + Color get textRestore => overlay; + + // button background + @override + Color get buttonBackPrimary => const Color(0xFF232323); + @override + Color get buttonBackSecondary => const Color(0xFFE0E3E3); + @override + Color get buttonBackPrimaryDisabled => const Color(0xFFD7D7D7); + @override + Color get buttonBackSecondaryDisabled => const Color(0xFFF0F1F1); + @override + Color get buttonBackBorder => const Color(0xFF232323); + @override + Color get buttonBackBorderDisabled => const Color(0xFFB6B6B6); + @override + Color get buttonBackBorderSecondary => buttonBackSecondary; + @override + Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; + + @override + Color get numberBackDefault => const Color(0xFFFFFFFF); + @override + Color get numpadBackDefault => const Color(0xFF232323); + @override + Color get bottomNavBack => const Color(0xFFFFFFFF); + + // button text/element + @override + Color get buttonTextPrimary => const Color(0xFFFFFFFF); + @override + Color get buttonTextSecondary => const Color(0xFF232323); + @override + Color get buttonTextPrimaryDisabled => const Color(0xFFF8F8F8); + @override + Color get buttonTextSecondaryDisabled => const Color(0xFFB7B7B7); + @override + Color get buttonTextBorder => const Color(0xFF232323); + @override + Color get buttonTextDisabled => const Color(0xFFB6B6B6); + @override + Color get buttonTextBorderless => const Color(0xFF0052DF); + @override + Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); + @override + Color get numberTextDefault => const Color(0xFF232323); + @override + Color get numpadTextDefault => const Color(0xFFFFFFFF); + @override + Color get bottomNavText => const Color(0xFF232323); + + // switch + @override + Color get switchBGOn => const Color(0xFF0052DF); + @override + Color get switchBGOff => const Color(0xFFD8E4FB); + @override + Color get switchBGDisabled => const Color(0xFFC5C6C9); + @override + Color get switchCircleOn => const Color(0xFFDAE2FF); + @override + Color get switchCircleOff => const Color(0xFFFBFCFF); + @override + Color get switchCircleDisabled => const Color(0xFFFBFCFF); + + // step indicator background + @override + Color get stepIndicatorBGCheck => const Color(0xFFD9E2FF); + @override + Color get stepIndicatorBGNumber => const Color(0xFFD9E2FF); + @override + Color get stepIndicatorBGInactive => const Color(0xFFCDCDCD); + @override + Color get stepIndicatorBGLines => const Color(0xFF0056D2); + @override + Color get stepIndicatorBGLinesInactive => const Color(0xFFCDCDCD); + @override + Color get stepIndicatorIconText => const Color(0xFF0056D2); + @override + Color get stepIndicatorIconNumber => const Color(0xFF0056D2); + @override + Color get stepIndicatorIconInactive => const Color(0xFFF7F7F7); + + // checkbox + @override + Color get checkboxBGChecked => const Color(0xFF0056D2); + @override + Color get checkboxBorderEmpty => const Color(0xFF8E9192); + @override + Color get checkboxBGDisabled => const Color(0xFFADC7EC); + @override + Color get checkboxIconChecked => const Color(0xFFFFFFFF); + @override + Color get checkboxIconDisabled => const Color(0xFFFFFFFF); + @override + Color get checkboxTextLabel => const Color(0xFF232323); + + // snack bar + @override + Color get snackBarBackSuccess => const Color(0xFFB9E9D4); + @override + Color get snackBarBackError => const Color(0xFFFFDAD4); + @override + Color get snackBarBackInfo => const Color(0xFFDAE2FF); + @override + Color get snackBarTextSuccess => const Color(0xFF006C4D); + @override + Color get snackBarTextError => const Color(0xFF930006); + @override + Color get snackBarTextInfo => const Color(0xFF002A78); + + // icons + @override + Color get bottomNavIconBack => const Color(0xFFA2A2A2); + @override + Color get bottomNavIconIcon => const Color(0xFF232323); + + @override + Color get topNavIconPrimary => const Color(0xFF232323); + @override + Color get topNavIconGreen => const Color(0xFF00A578); + @override + Color get topNavIconYellow => const Color(0xFFF4C517); + @override + Color get topNavIconRed => const Color(0xFFC00205); + + @override + Color get settingsIconBack => const Color(0xFFE0E3E3); + @override + Color get settingsIconIcon => const Color(0xFF232323); + @override + Color get settingsIconBack2 => const Color(0xFF94D6C4); + @override + Color get settingsIconElement => const Color(0xFF00A578); + + // text field + @override + Color get textFieldActiveBG => const Color(0xFFEEEFF1); + @override + Color get textFieldDefaultBG => const Color(0xFFEEEFF1); + @override + Color get textFieldErrorBG => const Color(0xFFFFDAD4); + @override + Color get textFieldSuccessBG => const Color(0xFFB9E9D4); + @override + Color get textFieldErrorBorder => textFieldErrorBG; + @override + Color get textFieldSuccessBorder => textFieldSuccessBG; + + @override + Color get textFieldActiveSearchIconLeft => const Color(0xFFA9ACAC); + @override + Color get textFieldDefaultSearchIconLeft => const Color(0xFFA9ACAC); + @override + Color get textFieldErrorSearchIconLeft => const Color(0xFF930006); + @override + Color get textFieldSuccessSearchIconLeft => const Color(0xFF006C4D); + + @override + Color get textFieldActiveText => const Color(0xFF232323); + @override + Color get textFieldDefaultText => const Color(0xFFA9ACAC); + @override + Color get textFieldErrorText => const Color(0xFF000000); + @override + Color get textFieldSuccessText => const Color(0xFF000000); + + @override + Color get textFieldActiveLabel => const Color(0xFFA9ACAC); + @override + Color get textFieldErrorLabel => const Color(0xFF930006); + @override + Color get textFieldSuccessLabel => const Color(0xFF006C4D); + + @override + Color get textFieldActiveSearchIconRight => const Color(0xFF747778); + @override + Color get textFieldDefaultSearchIconRight => const Color(0xFF747778); + @override + Color get textFieldErrorSearchIconRight => const Color(0xFF930006); + @override + Color get textFieldSuccessSearchIconRight => const Color(0xFF006C4D); + + // settings item level2 + @override + Color get settingsItem2ActiveBG => const Color(0xFFFFFFFF); + @override + Color get settingsItem2ActiveText => const Color(0xFF232323); + @override + Color get settingsItem2ActiveSub => const Color(0xFF8E9192); + + // radio buttons + @override + Color get radioButtonIconBorder => const Color(0xFF0056D2); + @override + Color get radioButtonIconBorderDisabled => const Color(0xFF8F909A); + @override + Color get radioButtonBorderEnabled => const Color(0xFF0056D2); + @override + Color get radioButtonBorderDisabled => const Color(0xFF8F909A); + @override + Color get radioButtonIconCircle => const Color(0xFF0056D2); + @override + Color get radioButtonIconEnabled => const Color(0xFF0056D2); + @override + Color get radioButtonTextEnabled => const Color(0xFF44464E); + @override + Color get radioButtonTextDisabled => const Color(0xFF44464E); + @override + Color get radioButtonLabelEnabled => const Color(0xFF8E9192); + @override + Color get radioButtonLabelDisabled => const Color(0xFF8E9192); + + // info text + @override + Color get infoItemBG => const Color(0xFFFFFFFF); + @override + Color get infoItemLabel => const Color(0xFF8E9192); + @override + Color get infoItemText => const Color(0xFF232323); + @override + Color get infoItemIcons => const Color(0xFF0056D2); + + // popup + @override + Color get popupBG => const Color(0xFFFFFFFF); + + // currency list + @override + Color get currencyListItemBG => const Color(0xFFF9F9FC); + + // bottom nav + @override + Color get stackWalletBG => const Color(0xFFFFFFFF); + @override + Color get stackWalletMid => const Color(0xFFFFFFFF); + @override + Color get stackWalletBottom => const Color(0xFF232323); + @override + Color get bottomNavShadow => const Color(0xFF282E33); + + @override + Color get favoriteStarActive => infoItemIcons; + @override + Color get favoriteStarInactive => textSubtitle3; + + @override + Color get splash => const Color(0x358E9192); + @override + Color get highlight => const Color(0x44A9ACAC); + @override + Color get warningForeground => textDark; + @override + Color get warningBackground => const Color(0xFFFFDAD3); + @override + Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); + @override + Color get myStackContactIconBG => textFieldDefaultBG; + @override + Color get textConfirmTotalAmount => const Color(0xFF232323); + @override + Color get textSelectedWordTableItem => const Color(0xFF232323); + + //rate type toggle + @override + Color get rateTypeToggleColorOn => textFieldDefaultBG; + @override + Color get rateTypeToggleColorOff => popupBG; + @override + Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; + @override + Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; + + @override + BoxShadow get standardBoxShadow => BoxShadow( + color: shadow, + spreadRadius: 3, + blurRadius: 4, + ); + + @override + BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( + color: shadow, + spreadRadius: 3, + blurRadius: 4, + ); +} diff --git a/pubspec.yaml b/pubspec.yaml index 69ddc1111..22b2c629d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -347,6 +347,7 @@ flutter: - assets/svg/ocean-breeze-theme.svg - assets/svg/oled-black-theme.svg - assets/svg/fruit-sorbet-theme.svg + - assets/svg/forest-theme.svg # light theme specific - assets/svg/light/tx-exchange-icon.svg From 8fa5aa779ae9f4c7af5fae118605ee626d31cbb6 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 9 Feb 2023 12:40:22 -0600 Subject: [PATCH 137/191] json object serialize/deserialize --- .../isar/models/blockchain_data/address.dart | 41 ++++++++++++++ .../isar/models/blockchain_data/input.dart | 30 ++++++++++ .../isar/models/blockchain_data/output.dart | 24 ++++++++ .../models/blockchain_data/transaction.dart | 55 +++++++++++++++++++ 4 files changed, 150 insertions(+) diff --git a/lib/models/isar/models/blockchain_data/address.dart b/lib/models/isar/models/blockchain_data/address.dart index cbdc6b2a1..0d29f28a7 100644 --- a/lib/models/isar/models/blockchain_data/address.dart +++ b/lib/models/isar/models/blockchain_data/address.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:isar/isar.dart'; import 'package:stackwallet/exceptions/address/address_exception.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/crypto_currency_address.dart'; @@ -71,6 +73,45 @@ class Address extends CryptoCurrencyAddress { "derivationPath: $derivationPath, " "otherData: $otherData, " "}"; + + String toJsonString() { + final Map result = { + "walletId": walletId, + "value": value, + "publicKey": publicKey, + "derivationIndex": derivationIndex, + "type": type.name, + "subType": subType.name, + "derivationPath": derivationPath?.value, + "otherData": otherData, + }; + return jsonEncode(result); + } + + static Address fromJsonString( + String jsonString, { + String? overrideWalletId, + }) { + final json = jsonDecode(jsonString); + final derivationPathString = json["derivationPath"] as String?; + + final DerivationPath? derivationPath = + derivationPathString == null ? null : DerivationPath(); + if (derivationPath != null) { + derivationPath.value = derivationPathString!; + } + + return Address( + walletId: overrideWalletId ?? json["walletId"] as String, + value: json["value"] as String, + publicKey: List.from(json["publicKey"] as List), + derivationIndex: json["derivationIndex"] as int, + derivationPath: derivationPath, + type: AddressType.values.byName(json["type"] as String), + subType: AddressSubType.values.byName(json["subType"] as String), + otherData: json["otherData"] as String?, + ); + } } // do not modify diff --git a/lib/models/isar/models/blockchain_data/input.dart b/lib/models/isar/models/blockchain_data/input.dart index b530da61a..c97cff73d 100644 --- a/lib/models/isar/models/blockchain_data/input.dart +++ b/lib/models/isar/models/blockchain_data/input.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:isar/isar.dart'; part 'input.g.dart'; @@ -30,4 +32,32 @@ class Input { late final int? sequence; late final String? innerRedeemScriptAsm; + + String toJsonString() { + final Map result = { + "txid": txid, + "vout": vout, + "scriptSig": scriptSig, + "scriptSigAsm": scriptSigAsm, + "witness": witness, + "isCoinbase": isCoinbase, + "sequence": sequence, + "innerRedeemScriptAsm": innerRedeemScriptAsm, + }; + return jsonEncode(result); + } + + static Input fromJsonString(String jsonString) { + final json = jsonDecode(jsonString); + return Input( + txid: json["txid"] as String, + vout: json["vout"] as int, + scriptSig: json["scriptSig"] as String?, + scriptSigAsm: json["scriptSigAsm"] as String?, + witness: json["witness"] as String?, + isCoinbase: json["isCoinbase"] as bool?, + sequence: json["sequence"] as int?, + innerRedeemScriptAsm: json["innerRedeemScriptAsm"] as String?, + ); + } } diff --git a/lib/models/isar/models/blockchain_data/output.dart b/lib/models/isar/models/blockchain_data/output.dart index 375905ad8..959fc37a2 100644 --- a/lib/models/isar/models/blockchain_data/output.dart +++ b/lib/models/isar/models/blockchain_data/output.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:isar/isar.dart'; part 'output.g.dart'; @@ -21,4 +23,26 @@ class Output { late final String scriptPubKeyAddress; late final int value; + + String toJsonString() { + final Map result = { + "scriptPubKey": scriptPubKey, + "scriptPubKeyAsm": scriptPubKeyAsm, + "scriptPubKeyType": scriptPubKeyType, + "scriptPubKeyAddress": scriptPubKeyAddress, + "value": value, + }; + return jsonEncode(result); + } + + static Output fromJsonString(String jsonString) { + final json = jsonDecode(jsonString); + return Output( + scriptPubKey: json["scriptPubKey"] as String?, + scriptPubKeyAsm: json["scriptPubKeyAsm"] as String?, + scriptPubKeyType: json["scriptPubKeyType"] as String?, + scriptPubKeyAddress: json["scriptPubKeyAddress"] as String, + value: json["value"] as int, + ); + } } diff --git a/lib/models/isar/models/blockchain_data/transaction.dart b/lib/models/isar/models/blockchain_data/transaction.dart index a3496d715..191f62b46 100644 --- a/lib/models/isar/models/blockchain_data/transaction.dart +++ b/lib/models/isar/models/blockchain_data/transaction.dart @@ -1,3 +1,4 @@ +import 'dart:convert'; import 'dart:math'; import 'package:isar/isar.dart'; @@ -133,6 +134,60 @@ class Transaction { "inputsLength: ${inputs.length}, " "outputsLength: ${outputs.length}, " "}"; + + String toJsonString() { + final Map result = { + "walletId": walletId, + "txid": txid, + "timestamp": timestamp, + "type": type.name, + "subType": subType.name, + "amount": amount, + "fee": fee, + "height": height, + "isCancelled": isCancelled, + "isLelantus": isLelantus, + "slateId": slateId, + "otherData": otherData, + "address": address.value?.toJsonString(), + "inputs": inputs.map((e) => e.toJsonString()).toList(), + "outputs": outputs.map((e) => e.toJsonString()).toList(), + }; + return jsonEncode(result); + } + + static Tuple2 fromJsonString( + String jsonString, { + String? overrideWalletId, + }) { + final json = jsonDecode(jsonString); + final transaction = Transaction( + walletId: overrideWalletId ?? json["walletId"] as String, + txid: json["txid"] as String, + timestamp: json["timestamp"] as int, + type: TransactionType.values.byName(json["type"] as String), + subType: TransactionSubType.values.byName(json["subType"] as String), + amount: json["amount"] as int, + fee: json["fee"] as int, + height: json["height"] as int?, + isCancelled: json["isCancelled"] as bool, + isLelantus: json["isLelantus"] as bool?, + slateId: json["slateId"] as String?, + otherData: json["otherData"] as String?, + inputs: List.from(json["inputs"] as List) + .map((e) => Input.fromJsonString(e)) + .toList(), + outputs: List.from(json["outputs"] as List) + .map((e) => Output.fromJsonString(e)) + .toList(), + ); + if (json["address"] == null) { + return Tuple2(transaction, null); + } else { + final address = Address.fromJsonString(json["address"] as String); + return Tuple2(transaction, address); + } + } } // Used in Isar db and stored there as int indexes so adding/removing values From 7cbcd9a4fcc8bc4a3d7088e6261488e773346b10 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 9 Feb 2023 16:17:56 -0600 Subject: [PATCH 138/191] square temp svg --- assets/svg/fruit-sorbet-theme.svg | 66 ++++++++++++++++++++++++------- 1 file changed, 52 insertions(+), 14 deletions(-) diff --git a/assets/svg/fruit-sorbet-theme.svg b/assets/svg/fruit-sorbet-theme.svg index d8680aec9..9ae18fa40 100644 --- a/assets/svg/fruit-sorbet-theme.svg +++ b/assets/svg/fruit-sorbet-theme.svg @@ -1,28 +1,66 @@ - - - + + + + + + + + + + + + + + - + - + - + - + - + - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - From b2a4a2dc5e6a43b4e607fde4a804a6c380566942 Mon Sep 17 00:00:00 2001 From: ryleedavis Date: Thu, 9 Feb 2023 16:12:09 -0700 Subject: [PATCH 139/191] forest theme colors added --- assets/svg/fruit-sorbet-theme.png | Bin 4202 -> 0 bytes assets/svg/fruit-sorbet-theme.svg | 67 ++++++++- lib/utilities/theme/forest_colors.dart | 188 ++++++++++++------------- 3 files changed, 160 insertions(+), 95 deletions(-) delete mode 100644 assets/svg/fruit-sorbet-theme.png diff --git a/assets/svg/fruit-sorbet-theme.png b/assets/svg/fruit-sorbet-theme.png deleted file mode 100644 index 9bd0c6e975a82d62cccfb35fe247995b66324320..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4202 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 A-~a#s diff --git a/assets/svg/fruit-sorbet-theme.svg b/assets/svg/fruit-sorbet-theme.svg index a9e8a3e2a..9ae18fa40 100644 --- a/assets/svg/fruit-sorbet-theme.svg +++ b/assets/svg/fruit-sorbet-theme.svg @@ -1 +1,66 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/utilities/theme/forest_colors.dart b/lib/utilities/theme/forest_colors.dart index 835d92e3f..ad4942a80 100644 --- a/lib/utilities/theme/forest_colors.dart +++ b/lib/utilities/theme/forest_colors.dart @@ -6,7 +6,7 @@ class ForestColors extends StackColorTheme { ThemeType get themeType => ThemeType.forest; @override - Color get background => const Color(0xFFF7F7F7); + Color get background => const Color(0xFFF3FAF5); @override Color get backgroundAppBar => background; @override @@ -16,17 +16,17 @@ class ForestColors extends StackColorTheme { Color get overlay => const Color(0xFF111215); @override - Color get accentColorBlue => const Color(0xFF0052DF); + Color get accentColorBlue => const Color(0xFF077CBE); @override - Color get accentColorGreen => const Color(0xFF4CC0A0); + Color get accentColorGreen => const Color(0xFF00A591); @override - Color get accentColorYellow => const Color(0xFFF7D65D); + Color get accentColorYellow => const Color(0xFFF4C517); @override - Color get accentColorRed => const Color(0xFFD34E50); + Color get accentColorRed => const Color(0xFFD1382D); @override - Color get accentColorOrange => const Color(0xFFFEA68D); + Color get accentColorOrange => const Color(0xFFFF985F); @override - Color get accentColorDark => const Color(0xFF232323); + Color get accentColorDark => const Color(0xFF22867A); @override Color get shadow => const Color(0x0F2D3132); @@ -34,43 +34,43 @@ class ForestColors extends StackColorTheme { @override Color get textDark => const Color(0xFF232323); @override - Color get textDark2 => const Color(0xFF414141); + Color get textDark2 => const Color(0xFF333333); @override - Color get textDark3 => const Color(0xFF747778); + Color get textDark3 => const Color(0xFF696B6C); @override - Color get textSubtitle1 => const Color(0xFF8E9192); + Color get textSubtitle1 => const Color(0xFF7E8284); @override - Color get textSubtitle2 => const Color(0xFFA9ACAC); + Color get textSubtitle2 => const Color(0xFF919393); @override - Color get textSubtitle3 => const Color(0xFFC4C7C7); + Color get textSubtitle3 => const Color(0xFFB0B2B2); @override - Color get textSubtitle4 => const Color(0xFFE0E3E3); + Color get textSubtitle4 => const Color(0xFFD1D3D3); @override - Color get textSubtitle5 => const Color(0xFFEEEFF1); + Color get textSubtitle5 => const Color(0xFFDEDFE1); @override - Color get textSubtitle6 => const Color(0xFFF5F5F5); + Color get textSubtitle6 => const Color(0xFFF1F1F1); @override Color get textWhite => const Color(0xFFFFFFFF); @override Color get textFavoriteCard => const Color(0xFF232323); @override - Color get textError => const Color(0xFF930006); + Color get textError => const Color(0xFF8D0006); @override Color get textRestore => overlay; // button background @override - Color get buttonBackPrimary => const Color(0xFF232323); + Color get buttonBackPrimary => const Color(0xFF22867A); @override - Color get buttonBackSecondary => const Color(0xFFE0E3E3); + Color get buttonBackSecondary => const Color(0xFFC2E2D5); @override - Color get buttonBackPrimaryDisabled => const Color(0xFFD7D7D7); + Color get buttonBackPrimaryDisabled => const Color(0xFFBDDBCB); @override - Color get buttonBackSecondaryDisabled => const Color(0xFFF0F1F1); + Color get buttonBackSecondaryDisabled => const Color(0xFFBDBDBD); @override - Color get buttonBackBorder => const Color(0xFF232323); + Color get buttonBackBorder => const Color(0xFF22867A); @override - Color get buttonBackBorderDisabled => const Color(0xFFB6B6B6); + Color get buttonBackBorderDisabled => const Color(0xFFBDD5DB); @override Color get buttonBackBorderSecondary => buttonBackSecondary; @override @@ -79,7 +79,7 @@ class ForestColors extends StackColorTheme { @override Color get numberBackDefault => const Color(0xFFFFFFFF); @override - Color get numpadBackDefault => const Color(0xFF232323); + Color get numpadBackDefault => const Color(0xFF22867A); @override Color get bottomNavBack => const Color(0xFFFFFFFF); @@ -89,17 +89,17 @@ class ForestColors extends StackColorTheme { @override Color get buttonTextSecondary => const Color(0xFF232323); @override - Color get buttonTextPrimaryDisabled => const Color(0xFFF8F8F8); + Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); @override - Color get buttonTextSecondaryDisabled => const Color(0xFFB7B7B7); + Color get buttonTextSecondaryDisabled => const Color(0xFFBDD5DB); @override - Color get buttonTextBorder => const Color(0xFF232323); + Color get buttonTextBorder => const Color(0xFFBDD5DB); @override - Color get buttonTextDisabled => const Color(0xFFB6B6B6); + Color get buttonTextDisabled => const Color(0xFF22867A); @override - Color get buttonTextBorderless => const Color(0xFF0052DF); + Color get buttonTextBorderless => const Color(0xFFFFFFFF); @override - Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); + Color get buttonTextBorderlessDisabled => const Color(0xFF056EC6); @override Color get numberTextDefault => const Color(0xFF232323); @override @@ -109,13 +109,13 @@ class ForestColors extends StackColorTheme { // switch @override - Color get switchBGOn => const Color(0xFF0052DF); + Color get switchBGOn => const Color(0xFF2DAB9C); @override - Color get switchBGOff => const Color(0xFFD8E4FB); + Color get switchBGOff => const Color(0xFFD6F0E8); @override Color get switchBGDisabled => const Color(0xFFC5C6C9); @override - Color get switchCircleOn => const Color(0xFFDAE2FF); + Color get switchCircleOn => const Color(0xFFDEFFF2); @override Color get switchCircleOff => const Color(0xFFFBFCFF); @override @@ -123,29 +123,29 @@ class ForestColors extends StackColorTheme { // step indicator background @override - Color get stepIndicatorBGCheck => const Color(0xFFD9E2FF); + Color get stepIndicatorBGCheck => const Color(0xFFBBF0DB); @override - Color get stepIndicatorBGNumber => const Color(0xFFD9E2FF); + Color get stepIndicatorBGNumber => const Color(0xFFCDD9FF); @override - Color get stepIndicatorBGInactive => const Color(0xFFCDCDCD); + Color get stepIndicatorBGInactive => const Color(0xFFD2EDE5); @override - Color get stepIndicatorBGLines => const Color(0xFF0056D2); + Color get stepIndicatorBGLines => const Color(0xFF90B8DC); @override - Color get stepIndicatorBGLinesInactive => const Color(0xFFCDCDCD); + Color get stepIndicatorBGLinesInactive => const Color(0xFFBCEAD9); @override - Color get stepIndicatorIconText => const Color(0xFF0056D2); + Color get stepIndicatorIconText => const Color(0xFF22867A); @override - Color get stepIndicatorIconNumber => const Color(0xFF0056D2); + Color get stepIndicatorIconNumber => const Color(0xFF005BAF); @override - Color get stepIndicatorIconInactive => const Color(0xFFF7F7F7); + Color get stepIndicatorIconInactive => const Color(0xFFD4DFFF); // checkbox @override - Color get checkboxBGChecked => const Color(0xFF0056D2); + Color get checkboxBGChecked => const Color(0xFF22867A); @override - Color get checkboxBorderEmpty => const Color(0xFF8E9192); + Color get checkboxBorderEmpty => const Color(0xFF8C8F90); @override - Color get checkboxBGDisabled => const Color(0xFFADC7EC); + Color get checkboxBGDisabled => const Color(0xFFB0C9ED); @override Color get checkboxIconChecked => const Color(0xFFFFFFFF); @override @@ -155,89 +155,89 @@ class ForestColors extends StackColorTheme { // snack bar @override - Color get snackBarBackSuccess => const Color(0xFFB9E9D4); + Color get snackBarBackSuccess => const Color(0xFFADD6D2); @override - Color get snackBarBackError => const Color(0xFFFFDAD4); + Color get snackBarBackError => const Color(0xFFADD6D2); @override - Color get snackBarBackInfo => const Color(0xFFDAE2FF); + Color get snackBarBackInfo => const Color(0xFFCCD7FF); @override - Color get snackBarTextSuccess => const Color(0xFF006C4D); + Color get snackBarTextSuccess => const Color(0xFF075547); @override - Color get snackBarTextError => const Color(0xFF930006); + Color get snackBarTextError => const Color(0xFF8D0006); @override - Color get snackBarTextInfo => const Color(0xFF002A78); + Color get snackBarTextInfo => const Color(0xFF002569); // icons @override - Color get bottomNavIconBack => const Color(0xFFA2A2A2); + Color get bottomNavIconBack => const Color(0xFFA7C7CF); @override - Color get bottomNavIconIcon => const Color(0xFF232323); + Color get bottomNavIconIcon => const Color(0xFF227386); @override - Color get topNavIconPrimary => const Color(0xFF232323); + Color get topNavIconPrimary => const Color(0xFF227386); @override - Color get topNavIconGreen => const Color(0xFF00A578); + Color get topNavIconGreen => const Color(0xFF00A591); @override - Color get topNavIconYellow => const Color(0xFFF4C517); + Color get topNavIconYellow => const Color(0xFFFDD33A); @override - Color get topNavIconRed => const Color(0xFFC00205); + Color get topNavIconRed => const Color(0xFFEA4649); @override Color get settingsIconBack => const Color(0xFFE0E3E3); @override Color get settingsIconIcon => const Color(0xFF232323); @override - Color get settingsIconBack2 => const Color(0xFF94D6C4); + Color get settingsIconBack2 => const Color(0xFF80D2C8); @override - Color get settingsIconElement => const Color(0xFF00A578); + Color get settingsIconElement => const Color(0xFF00A591); // text field @override - Color get textFieldActiveBG => const Color(0xFFEEEFF1); + Color get textFieldActiveBG => const Color(0xFFE3FFF3); @override - Color get textFieldDefaultBG => const Color(0xFFEEEFF1); + Color get textFieldDefaultBG => const Color(0xFFDDF3EA); @override - Color get textFieldErrorBG => const Color(0xFFFFDAD4); + Color get textFieldErrorBG => const Color(0xFFF6C7C3); @override - Color get textFieldSuccessBG => const Color(0xFFB9E9D4); + Color get textFieldSuccessBG => const Color(0xFFADD6D2); @override Color get textFieldErrorBorder => textFieldErrorBG; @override Color get textFieldSuccessBorder => textFieldSuccessBG; @override - Color get textFieldActiveSearchIconLeft => const Color(0xFFA9ACAC); + Color get textFieldActiveSearchIconLeft => const Color(0xFF86898C); @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFFA9ACAC); + Color get textFieldDefaultSearchIconLeft => const Color(0xFF86898C); @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF930006); + Color get textFieldErrorSearchIconLeft => const Color(0xFF8D0006); @override Color get textFieldSuccessSearchIconLeft => const Color(0xFF006C4D); @override Color get textFieldActiveText => const Color(0xFF232323); @override - Color get textFieldDefaultText => const Color(0xFFA9ACAC); + Color get textFieldDefaultText => const Color(0xFF86898C); @override Color get textFieldErrorText => const Color(0xFF000000); @override Color get textFieldSuccessText => const Color(0xFF000000); @override - Color get textFieldActiveLabel => const Color(0xFFA9ACAC); + Color get textFieldActiveLabel => const Color(0xFF86898C); @override - Color get textFieldErrorLabel => const Color(0xFF930006); + Color get textFieldErrorLabel => const Color(0xFF8D0006); @override - Color get textFieldSuccessLabel => const Color(0xFF006C4D); + Color get textFieldSuccessLabel => const Color(0xFF077C6E); @override - Color get textFieldActiveSearchIconRight => const Color(0xFF747778); + Color get textFieldActiveSearchIconRight => const Color(0xFF22867A); @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF747778); + Color get textFieldDefaultSearchIconRight => const Color(0xFF22867A); @override - Color get textFieldErrorSearchIconRight => const Color(0xFF930006); + Color get textFieldErrorSearchIconRight => const Color(0xFF8D0006); @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF006C4D); + Color get textFieldSuccessSearchIconRight => const Color(0xFF077C6E); // settings item level2 @override @@ -245,39 +245,39 @@ class ForestColors extends StackColorTheme { @override Color get settingsItem2ActiveText => const Color(0xFF232323); @override - Color get settingsItem2ActiveSub => const Color(0xFF8E9192); + Color get settingsItem2ActiveSub => const Color(0xFF8C8F90); // radio buttons @override - Color get radioButtonIconBorder => const Color(0xFF0056D2); + Color get radioButtonIconBorder => const Color(0xFF056EC6); @override - Color get radioButtonIconBorderDisabled => const Color(0xFF8F909A); + Color get radioButtonIconBorderDisabled => const Color(0xFF8C8D97); @override - Color get radioButtonBorderEnabled => const Color(0xFF0056D2); + Color get radioButtonBorderEnabled => const Color(0xFF056EC6); @override - Color get radioButtonBorderDisabled => const Color(0xFF8F909A); + Color get radioButtonBorderDisabled => const Color(0xFF8C8D97); @override - Color get radioButtonIconCircle => const Color(0xFF0056D2); + Color get radioButtonIconCircle => const Color(0xFF056EC6); @override - Color get radioButtonIconEnabled => const Color(0xFF0056D2); + Color get radioButtonIconEnabled => const Color(0xFF056EC6); @override - Color get radioButtonTextEnabled => const Color(0xFF44464E); + Color get radioButtonTextEnabled => const Color(0xFF42444B); @override - Color get radioButtonTextDisabled => const Color(0xFF44464E); + Color get radioButtonTextDisabled => const Color(0xFF42444B); @override - Color get radioButtonLabelEnabled => const Color(0xFF8E9192); + Color get radioButtonLabelEnabled => const Color(0xFF8C8F90); @override - Color get radioButtonLabelDisabled => const Color(0xFF8E9192); + Color get radioButtonLabelDisabled => const Color(0xFF8C8F90); // info text @override Color get infoItemBG => const Color(0xFFFFFFFF); @override - Color get infoItemLabel => const Color(0xFF8E9192); + Color get infoItemLabel => const Color(0xFF838788); @override Color get infoItemText => const Color(0xFF232323); @override - Color get infoItemIcons => const Color(0xFF0056D2); + Color get infoItemIcons => const Color(0xFF056EC6); // popup @override @@ -285,7 +285,7 @@ class ForestColors extends StackColorTheme { // currency list @override - Color get currencyListItemBG => const Color(0xFFF9F9FC); + Color get currencyListItemBG => const Color(0xFFF0F5F7); // bottom nav @override @@ -295,25 +295,25 @@ class ForestColors extends StackColorTheme { @override Color get stackWalletBottom => const Color(0xFF232323); @override - Color get bottomNavShadow => const Color(0xFF282E33); + Color get bottomNavShadow => const Color(0xFF388192); @override - Color get favoriteStarActive => infoItemIcons; + Color get favoriteStarActive => const Color(0xFFF4C517); @override - Color get favoriteStarInactive => textSubtitle3; + Color get favoriteStarInactive => const Color(0xFFB0B2B2); @override - Color get splash => const Color(0x358E9192); + Color get splash => const Color(0xFF8E9192); @override - Color get highlight => const Color(0x44A9ACAC); + Color get highlight => const Color(0xFFA9ACAC); @override - Color get warningForeground => textDark; + Color get warningForeground => const Color(0xFF232323); @override - Color get warningBackground => const Color(0xFFFFDAD3); + Color get warningBackground => const Color(0xFFF6C7C3); @override Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); @override - Color get myStackContactIconBG => textFieldDefaultBG; + Color get myStackContactIconBG => const Color(0xFFD8E7EB); @override Color get textConfirmTotalAmount => const Color(0xFF232323); @override From 1b5d2ce97fcadd1878a3b055b0a5eee49be22bca Mon Sep 17 00:00:00 2001 From: ryleedavis Date: Thu, 9 Feb 2023 16:15:19 -0700 Subject: [PATCH 140/191] placeholder icons for forest theme --- assets/svg/forest/bell-new.svg | 5 +++++ assets/svg/forest/buy-coins-icon.svg | 18 ++++++++++++++++++ assets/svg/forest/exchange-2.svg | 4 ++++ assets/svg/forest/stack-icon1.svg | 5 +++++ assets/svg/forest/tx-exchange-icon-failed.svg | 7 +++++++ assets/svg/forest/tx-exchange-icon-pending.svg | 6 ++++++ assets/svg/forest/tx-exchange-icon.svg | 4 ++++ assets/svg/forest/tx-icon-receive-failed.svg | 7 +++++++ assets/svg/forest/tx-icon-receive-pending.svg | 5 +++++ assets/svg/forest/tx-icon-receive.svg | 4 ++++ assets/svg/forest/tx-icon-send-failed.svg | 7 +++++++ assets/svg/forest/tx-icon-send-pending.svg | 6 ++++++ assets/svg/forest/tx-icon-send.svg | 4 ++++ 13 files changed, 82 insertions(+) create mode 100644 assets/svg/forest/bell-new.svg create mode 100644 assets/svg/forest/buy-coins-icon.svg create mode 100644 assets/svg/forest/exchange-2.svg create mode 100644 assets/svg/forest/stack-icon1.svg create mode 100644 assets/svg/forest/tx-exchange-icon-failed.svg create mode 100644 assets/svg/forest/tx-exchange-icon-pending.svg create mode 100644 assets/svg/forest/tx-exchange-icon.svg create mode 100644 assets/svg/forest/tx-icon-receive-failed.svg create mode 100644 assets/svg/forest/tx-icon-receive-pending.svg create mode 100644 assets/svg/forest/tx-icon-receive.svg create mode 100644 assets/svg/forest/tx-icon-send-failed.svg create mode 100644 assets/svg/forest/tx-icon-send-pending.svg create mode 100644 assets/svg/forest/tx-icon-send.svg diff --git a/assets/svg/forest/bell-new.svg b/assets/svg/forest/bell-new.svg new file mode 100644 index 000000000..8cef32715 --- /dev/null +++ b/assets/svg/forest/bell-new.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/svg/forest/buy-coins-icon.svg b/assets/svg/forest/buy-coins-icon.svg new file mode 100644 index 000000000..d9613bccb --- /dev/null +++ b/assets/svg/forest/buy-coins-icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/svg/forest/exchange-2.svg b/assets/svg/forest/exchange-2.svg new file mode 100644 index 000000000..7baeaf87f --- /dev/null +++ b/assets/svg/forest/exchange-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/svg/forest/stack-icon1.svg b/assets/svg/forest/stack-icon1.svg new file mode 100644 index 000000000..f316012d7 --- /dev/null +++ b/assets/svg/forest/stack-icon1.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/svg/forest/tx-exchange-icon-failed.svg b/assets/svg/forest/tx-exchange-icon-failed.svg new file mode 100644 index 000000000..a54836bba --- /dev/null +++ b/assets/svg/forest/tx-exchange-icon-failed.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/svg/forest/tx-exchange-icon-pending.svg b/assets/svg/forest/tx-exchange-icon-pending.svg new file mode 100644 index 000000000..5f9aa4256 --- /dev/null +++ b/assets/svg/forest/tx-exchange-icon-pending.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/svg/forest/tx-exchange-icon.svg b/assets/svg/forest/tx-exchange-icon.svg new file mode 100644 index 000000000..fcd3ef9dc --- /dev/null +++ b/assets/svg/forest/tx-exchange-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/svg/forest/tx-icon-receive-failed.svg b/assets/svg/forest/tx-icon-receive-failed.svg new file mode 100644 index 000000000..189bd15c9 --- /dev/null +++ b/assets/svg/forest/tx-icon-receive-failed.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/svg/forest/tx-icon-receive-pending.svg b/assets/svg/forest/tx-icon-receive-pending.svg new file mode 100644 index 000000000..64ea8da3d --- /dev/null +++ b/assets/svg/forest/tx-icon-receive-pending.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/svg/forest/tx-icon-receive.svg b/assets/svg/forest/tx-icon-receive.svg new file mode 100644 index 000000000..1076d8d57 --- /dev/null +++ b/assets/svg/forest/tx-icon-receive.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/svg/forest/tx-icon-send-failed.svg b/assets/svg/forest/tx-icon-send-failed.svg new file mode 100644 index 000000000..9751b61e8 --- /dev/null +++ b/assets/svg/forest/tx-icon-send-failed.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/svg/forest/tx-icon-send-pending.svg b/assets/svg/forest/tx-icon-send-pending.svg new file mode 100644 index 000000000..e4ec777e3 --- /dev/null +++ b/assets/svg/forest/tx-icon-send-pending.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/svg/forest/tx-icon-send.svg b/assets/svg/forest/tx-icon-send.svg new file mode 100644 index 000000000..ee32aa6b4 --- /dev/null +++ b/assets/svg/forest/tx-icon-send.svg @@ -0,0 +1,4 @@ + + + + From 7a4832e873af65b6b7f73f77868c4984ac3f26fa Mon Sep 17 00:00:00 2001 From: sneurlax Date: Thu, 9 Feb 2023 17:49:42 -0600 Subject: [PATCH 141/191] wrap theme column in SingleChildScrollView is this... it? surely not. surely we need more than this --- .../settings/settings_menu/appearance_settings.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart index b754f5c28..28eaf9d08 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart @@ -27,7 +27,8 @@ class _AppearanceOptionSettings @override Widget build(BuildContext context) { debugPrint("BUILD: $runtimeType"); - return Column( + return SingleChildScrollView( + child: Column( children: [ Padding( padding: const EdgeInsets.only( @@ -145,7 +146,7 @@ class _AppearanceOptionSettings ), ), ], - ); + )); } } From 8cd431a71cdb7764c30567d8072b929470086ec7 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Thu, 9 Feb 2023 18:00:15 -0600 Subject: [PATCH 142/191] key favorite cards and what Julian's already done automagically reorders the cards according to their order in the list in the edit view so you can list which favorite is your favorite --- .../my_stack_view/desktop_favorite_wallets.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart b/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart index 5694c66ed..97e901747 100644 --- a/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart +++ b/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart @@ -64,12 +64,14 @@ class DesktopFavoriteWallets extends ConsumerWidget { children: [ ...favorites.map((p0) { final walletId = ref.read(p0).walletId; + final walletName = ref.read(p0).walletName; final managerProvider = ref .read(walletsChangeNotifierProvider) .getManagerProvider(walletId); return FavoriteCard( walletId: walletId, + key: Key(walletName), width: cardWidth, height: cardHeight, managerProvider: managerProvider, From 0a42e2aa1775daab5e5d8786248b78dbcbc20d1b Mon Sep 17 00:00:00 2001 From: Diego Salazar Date: Thu, 9 Feb 2023 17:43:22 -0700 Subject: [PATCH 143/191] Bump build (123) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 36f39082f..bac178729 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Stack Wallet # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.37+122 +version: 1.5.37+123 environment: sdk: ">=2.17.0 <3.0.0" From a3486b46fc42f22ca196ae3e9038c72f9aac7577 Mon Sep 17 00:00:00 2001 From: ryleedavis Date: Thu, 9 Feb 2023 21:32:06 -0700 Subject: [PATCH 144/191] mobile theme order --- .../appearance_settings_view.dart | 248 ++++++++++++------ 1 file changed, 165 insertions(+), 83 deletions(-) diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart b/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart index 386190c5b..d25a650e3 100644 --- a/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart +++ b/lib/pages/settings_views/global_settings_view/appearance_settings_view.dart @@ -7,6 +7,7 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/theme/color_theme.dart'; import 'package:stackwallet/utilities/theme/dark_colors.dart'; +import 'package:stackwallet/utilities/theme/forest_colors.dart'; import 'package:stackwallet/utilities/theme/fruit_sorbet_colors.dart'; import 'package:stackwallet/utilities/theme/light_colors.dart'; import 'package:stackwallet/utilities/theme/ocean_breeze_colors.dart'; @@ -26,10 +27,10 @@ class AppearanceSettingsView extends ConsumerWidget { switch (type) { case ThemeType.light: return "Light theme"; - case ThemeType.oceanBreeze: - return "Ocean theme"; case ThemeType.dark: return "Dark theme"; + case ThemeType.oceanBreeze: + return "Ocean theme"; case ThemeType.oledBlack: return "Oled Black theme"; case ThemeType.fruitSorbet: @@ -279,87 +280,6 @@ class _ThemeOptionsView extends ConsumerState { const SizedBox( height: 10, ), - MaterialButton( - splashColor: Colors.transparent, - hoverColor: Colors.transparent, - padding: const EdgeInsets.all(0), - materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - ), - onPressed: () { - DB.instance.put( - boxName: DB.boxNameTheme, - key: "colorScheme", - value: ThemeType.oceanBreeze.name, - ); - ref.read(colorThemeProvider.state).state = - StackColors.fromStackColorTheme( - OceanBreezeColors(), - ); - - setState(() { - _selectedTheme = "oceanBreeze"; - }); - }, - child: SizedBox( - width: 200, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Row( - children: [ - SizedBox( - width: 10, - height: 10, - child: Radio( - activeColor: Theme.of(context) - .extension()! - .radioButtonIconEnabled, - value: "oceanBreeze", - groupValue: _selectedTheme, - onChanged: (newValue) { - if (newValue is String && newValue == "oceanBreeze") { - DB.instance.put( - boxName: DB.boxNameTheme, - key: "colorScheme", - value: ThemeType.oceanBreeze.name, - ); - ref.read(colorThemeProvider.state).state = - StackColors.fromStackColorTheme( - OceanBreezeColors(), - ); - - setState(() { - _selectedTheme = "oceanBreeze"; - }); - } - }, - ), - ), - const SizedBox( - width: 14, - ), - Text( - "Ocean Breeze", - style: - STextStyles.desktopTextExtraSmall(context).copyWith( - color: Theme.of(context) - .extension()! - .textDark2, - ), - ), - ], - ), - ], - ), - ), - ), - const SizedBox( - height: 10, - ), MaterialButton( splashColor: Colors.transparent, hoverColor: Colors.transparent, @@ -441,6 +361,87 @@ class _ThemeOptionsView extends ConsumerState { const SizedBox( height: 10, ), + MaterialButton( + splashColor: Colors.transparent, + hoverColor: Colors.transparent, + padding: const EdgeInsets.all(0), + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + ), + onPressed: () { + DB.instance.put( + boxName: DB.boxNameTheme, + key: "colorScheme", + value: ThemeType.oceanBreeze.name, + ); + ref.read(colorThemeProvider.state).state = + StackColors.fromStackColorTheme( + OceanBreezeColors(), + ); + + setState(() { + _selectedTheme = "oceanBreeze"; + }); + }, + child: SizedBox( + width: 200, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + children: [ + SizedBox( + width: 10, + height: 10, + child: Radio( + activeColor: Theme.of(context) + .extension()! + .radioButtonIconEnabled, + value: "oceanBreeze", + groupValue: _selectedTheme, + onChanged: (newValue) { + if (newValue is String && newValue == "oceanBreeze") { + DB.instance.put( + boxName: DB.boxNameTheme, + key: "colorScheme", + value: ThemeType.oceanBreeze.name, + ); + ref.read(colorThemeProvider.state).state = + StackColors.fromStackColorTheme( + OceanBreezeColors(), + ); + + setState(() { + _selectedTheme = "oceanBreeze"; + }); + } + }, + ), + ), + const SizedBox( + width: 14, + ), + Text( + "Ocean Breeze", + style: + STextStyles.desktopTextExtraSmall(context).copyWith( + color: Theme.of(context) + .extension()! + .textDark2, + ), + ), + ], + ), + ], + ), + ), + ), + const SizedBox( + height: 10, + ), MaterialButton( splashColor: Colors.transparent, hoverColor: Colors.transparent, @@ -600,6 +601,87 @@ class _ThemeOptionsView extends ConsumerState { ), ), ), + const SizedBox( + height: 10, + ), + MaterialButton( + splashColor: Colors.transparent, + hoverColor: Colors.transparent, + padding: const EdgeInsets.all(0), + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + ), + onPressed: () { + DB.instance.put( + boxName: DB.boxNameTheme, + key: "colorScheme", + value: ThemeType.forest.name, + ); + ref.read(colorThemeProvider.state).state = + StackColors.fromStackColorTheme( + ForestColors(), + ); + + setState(() { + _selectedTheme = "forest"; + }); + }, + child: SizedBox( + width: 200, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + children: [ + SizedBox( + width: 10, + height: 10, + child: Radio( + activeColor: Theme.of(context) + .extension()! + .radioButtonIconEnabled, + value: "forest", + groupValue: _selectedTheme, + onChanged: (newValue) { + if (newValue is String && newValue == "forest") { + DB.instance.put( + boxName: DB.boxNameTheme, + key: "colorScheme", + value: ThemeType.forest.name, + ); + ref.read(colorThemeProvider.state).state = + StackColors.fromStackColorTheme( + ForestColors(), + ); + + setState(() { + _selectedTheme = "forest"; + }); + } + }, + ), + ), + const SizedBox( + width: 14, + ), + Text( + "Forest", + style: + STextStyles.desktopTextExtraSmall(context).copyWith( + color: Theme.of(context) + .extension()! + .textDark2, + ), + ), + ], + ), + ], + ), + ), + ), ], ); } From 218017ca51177c38ed62411724a8f8bc69922d8b Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 08:04:12 -0600 Subject: [PATCH 145/191] populate initial values in exchange form --- lib/main.dart | 3 ++ lib/models/exchange/exchange_form_state.dart | 2 +- .../exchange_currency_selection_view.dart | 4 ++ lib/pages/exchange_view/exchange_view.dart | 10 +++- .../wallet_initiated_exchange_view.dart | 11 ++++- .../desktop_exchange_view.dart | 11 ++++- .../exchange_data_loading_service.dart | 49 +++++++++++++++++++ 7 files changed, 83 insertions(+), 7 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index b83a89354..11c694fff 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -294,6 +294,9 @@ class _MaterialAppWithThemeState extends ConsumerState await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()) { if (Constants.enableExchange) { await ExchangeDataLoadingService.instance.init(); + await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( + ref.read(exchangeFormStateProvider), + ); unawaited(ExchangeDataLoadingService.instance.loadAll()); } // if (Constants.enableBuy) { diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index c96f7df34..32578ebd9 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -163,7 +163,7 @@ class ExchangeFormState extends ChangeNotifier { } } - void setCurrencies(AggregateCurrency from, AggregateCurrency to) { + void setCurrencies(AggregateCurrency? from, AggregateCurrency? to) { _sendCurrency = from; _receiveCurrency = to; } diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index 6d1956256..069e863e4 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -108,6 +108,8 @@ class _ExchangeCurrencySelectionViewState return ExchangeDataLoadingService.instance.isar.currencies .where() .filter() + .isFiatEqualTo(false) + .and() .tickerEqualTo(ticker, caseSensitive: false) .group((q) => widget.isFixedRate ? q @@ -150,6 +152,8 @@ class _ExchangeCurrencySelectionViewState return ExchangeDataLoadingService.instance.isar.currencies .where() .filter() + .isFiatEqualTo(false) + .and() .group((q) => widget.isFixedRate ? q .rateTypeEqualTo(SupportedRateType.both) diff --git a/lib/pages/exchange_view/exchange_view.dart b/lib/pages/exchange_view/exchange_view.dart index 054ced189..f96ed39c3 100644 --- a/lib/pages/exchange_view/exchange_view.dart +++ b/lib/pages/exchange_view/exchange_view.dart @@ -36,7 +36,10 @@ class _ExchangeViewState extends ConsumerState { ExchangeDataLoadingService.cacheVersion) { _initialCachePopulationUnderway = true; ExchangeDataLoadingService.instance.onLoadingComplete = () { - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( + ref.read(exchangeFormStateProvider), + ); setState(() { _initialCachePopulationUnderway = false; }); @@ -51,7 +54,10 @@ class _ExchangeViewState extends ConsumerState { ExchangeDataLoadingService.cacheVersion) { _initialCachePopulationUnderway = true; ExchangeDataLoadingService.instance.onLoadingComplete = () { - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( + ref.read(exchangeFormStateProvider), + ); setState(() { _initialCachePopulationUnderway = false; }); diff --git a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart index e6ee7d3a3..bfdb5e9cd 100644 --- a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart +++ b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/exchange_view/exchange_form.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; +import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -48,7 +49,10 @@ class _WalletInitiatedExchangeViewState ExchangeDataLoadingService.cacheVersion) { _initialCachePopulationUnderway = true; ExchangeDataLoadingService.instance.onLoadingComplete = () { - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( + ref.read(exchangeFormStateProvider), + ); setState(() { _initialCachePopulationUnderway = false; }); @@ -63,7 +67,10 @@ class _WalletInitiatedExchangeViewState ExchangeDataLoadingService.cacheVersion) { _initialCachePopulationUnderway = true; ExchangeDataLoadingService.instance.onLoadingComplete = () { - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( + ref.read(exchangeFormStateProvider), + ); setState(() { _initialCachePopulationUnderway = false; }); diff --git a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart index 19484e376..39680fab0 100644 --- a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart +++ b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/exchange_view/exchange_form.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart'; +import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/utilities/text_styles.dart'; @@ -32,7 +33,10 @@ class _DesktopExchangeViewState extends ConsumerState { ExchangeDataLoadingService.cacheVersion) { _initialCachePopulationUnderway = true; ExchangeDataLoadingService.instance.onLoadingComplete = () { - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( + ref.read(exchangeFormStateProvider), + ); setState(() { _initialCachePopulationUnderway = false; }); @@ -47,7 +51,10 @@ class _DesktopExchangeViewState extends ConsumerState { ExchangeDataLoadingService.cacheVersion) { _initialCachePopulationUnderway = true; ExchangeDataLoadingService.instance.onLoadingComplete = () { - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( + ref.read(exchangeFormStateProvider), + ); setState(() { _initialCachePopulationUnderway = false; }); diff --git a/lib/services/exchange/exchange_data_loading_service.dart b/lib/services/exchange/exchange_data_loading_service.dart index 3d29e038d..f6d2876c9 100644 --- a/lib/services/exchange/exchange_data_loading_service.dart +++ b/lib/services/exchange/exchange_data_loading_service.dart @@ -1,12 +1,16 @@ import 'package:flutter/foundation.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/hive/db.dart'; +import 'package:stackwallet/models/exchange/aggregate_currency.dart'; +import 'package:stackwallet/models/exchange/exchange_form_state.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/models/isar/exchange_cache/pair.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; +import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; +import 'package:tuple/tuple.dart'; class ExchangeDataLoadingService { ExchangeDataLoadingService._(); @@ -50,6 +54,51 @@ class ExchangeDataLoadingService { ); } + Future setCurrenciesIfEmpty(ExchangeFormState state) async { + if (state.sendCurrency == null && state.receiveCurrency == null) { + if (await isar.currencies.count() > 0) { + final sendCurrency = await getAggregateCurrency( + "BTC", + state.exchangeRateType, + ); + final receiveCurrency = await getAggregateCurrency( + "XMR", + state.exchangeRateType, + ); + state.setCurrencies(sendCurrency, receiveCurrency); + } + } + } + + Future getAggregateCurrency( + String ticker, ExchangeRateType rateType) async { + final currencies = await ExchangeDataLoadingService.instance.isar.currencies + .filter() + .group((q) => rateType == ExchangeRateType.fixed + ? q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.fixed) + : q + .rateTypeEqualTo(SupportedRateType.both) + .or() + .rateTypeEqualTo(SupportedRateType.estimated)) + .and() + .tickerEqualTo( + ticker, + caseSensitive: false, + ) + .findAll(); + + final items = currencies + .map((e) => Tuple2(e.exchangeName, e)) + .toList(growable: false); + + return items.isNotEmpty + ? AggregateCurrency(exchangeCurrencyPairs: items) + : null; + } + bool get isLoading => _locked; bool _locked = false; From c275f0986976c85eebbdd4e9888f645a74edce36 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 08:25:03 -0600 Subject: [PATCH 146/191] WIP restore mnemonic password ui --- .../restore_options_view.dart | 140 ++++++++++-------- 1 file changed, 82 insertions(+), 58 deletions(-) diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart index 213bee484..884ee09e0 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart @@ -468,9 +468,10 @@ class _RestoreOptionsViewState extends ConsumerState { header: Container( color: Colors.transparent, child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 8.0, - horizontal: 16, + padding: const EdgeInsets.only( + top: 8.0, + bottom: 8.0, + right: 10, ), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -504,67 +505,90 @@ class _RestoreOptionsViewState extends ConsumerState { ), body: Container( color: Colors.transparent, - child: ClipRRect( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - child: TextField( - key: const Key("mnemonicPassphraseFieldKey1"), - focusNode: passwordFocusNode, - controller: passwordController, - style: isDesktop - ? STextStyles.desktopTextMedium(context).copyWith( - height: 2, - ) - : STextStyles.field(context), - obscureText: hidePassword, - enableSuggestions: false, - autocorrect: false, - decoration: standardInputDecoration( - "Recovery phrase password", - passwordFocusNode, - context, - ).copyWith( - suffixIcon: UnconstrainedBox( - child: ConditionalParent( - condition: isDesktop, - builder: (child) => SizedBox( - height: 70, - child: child, - ), - child: Row( - children: [ - SizedBox( - width: isDesktop ? 24 : 16, + child: Column( + children: [ + ClipRRect( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + child: TextField( + key: const Key("mnemonicPassphraseFieldKey1"), + focusNode: passwordFocusNode, + controller: passwordController, + style: isDesktop + ? STextStyles.desktopTextMedium(context) + .copyWith( + height: 2, + ) + : STextStyles.field(context), + obscureText: hidePassword, + enableSuggestions: false, + autocorrect: false, + decoration: standardInputDecoration( + "Recovery phrase password", + passwordFocusNode, + context, + ).copyWith( + suffixIcon: UnconstrainedBox( + child: ConditionalParent( + condition: isDesktop, + builder: (child) => SizedBox( + height: 70, + child: child, ), - GestureDetector( - key: const Key( - "mnemonicPassphraseFieldShowPasswordButtonKey"), - onTap: () async { - setState(() { - hidePassword = !hidePassword; - }); - }, - child: SvgPicture.asset( - hidePassword - ? Assets.svg.eye - : Assets.svg.eyeSlash, - color: Theme.of(context) - .extension()! - .textDark3, - width: isDesktop ? 24 : 16, - height: isDesktop ? 24 : 16, - ), + child: Row( + children: [ + SizedBox( + width: isDesktop ? 24 : 16, + ), + GestureDetector( + key: const Key( + "mnemonicPassphraseFieldShowPasswordButtonKey"), + onTap: () async { + setState(() { + hidePassword = !hidePassword; + }); + }, + child: SvgPicture.asset( + hidePassword + ? Assets.svg.eye + : Assets.svg.eyeSlash, + color: Theme.of(context) + .extension()! + .textDark3, + width: isDesktop ? 24 : 16, + height: isDesktop ? 24 : 16, + ), + ), + const SizedBox( + width: 12, + ), + ], ), - const SizedBox( - width: 12, - ), - ], + ), ), ), ), ), - ), + const SizedBox( + height: 8, + ), + RoundedWhiteContainer( + child: Center( + child: Text( + "If the recovery phrase you are about to restore was created with an optional passphrase you can enter it here.", + style: isDesktop + ? STextStyles.desktopTextExtraSmall(context) + .copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ) + : STextStyles.itemSubtitle(context), + ), + ), + ), + ], ), ), ), From 8da63b6f3deaedc930302356b186c8828c02617f Mon Sep 17 00:00:00 2001 From: ryleedavis Date: Fri, 10 Feb 2023 09:36:15 -0700 Subject: [PATCH 147/191] add forest theme to background.dart --- lib/utilities/assets.dart | 1 + lib/widgets/background.dart | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/utilities/assets.dart b/lib/utilities/assets.dart index 9f8a0ba7d..00bab1115 100644 --- a/lib/utilities/assets.dart +++ b/lib/utilities/assets.dart @@ -53,6 +53,7 @@ class _SVG { case ThemeType.light: case ThemeType.dark: case ThemeType.oledBlack: + case ThemeType.forest: return null; case ThemeType.oceanBreeze: diff --git a/lib/widgets/background.dart b/lib/widgets/background.dart index 353e3d138..aa8836570 100644 --- a/lib/widgets/background.dart +++ b/lib/widgets/background.dart @@ -23,6 +23,7 @@ class Background extends StatelessWidget { case ThemeType.light: case ThemeType.dark: case ThemeType.oledBlack: + case ThemeType.forest: color = Theme.of(context).extension()!.background; break; case ThemeType.oceanBreeze: From 279d37c06eeff8b128d38681ab94db41dbb9b244 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 11:51:54 -0600 Subject: [PATCH 148/191] paynym send bug fix --- lib/services/mixins/paynym_wallet_interface.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/mixins/paynym_wallet_interface.dart b/lib/services/mixins/paynym_wallet_interface.dart index 697e00b53..dd5a2a814 100644 --- a/lib/services/mixins/paynym_wallet_interface.dart +++ b/lib/services/mixins/paynym_wallet_interface.dart @@ -306,7 +306,7 @@ mixin PaynymWalletInterface { {required PaymentCode paymentCode, required int satoshiAmount, Map? args}) async { - if (!(await hasConnected(paymentCode.notificationAddressP2PKH()))) { + if (!(await hasConnected(paymentCode.toString()))) { throw PaynymSendException( "No notification transaction sent to $paymentCode"); } else { From 92062fa14a937e528d430c93671c5337558df4e3 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Fri, 10 Feb 2023 12:07:30 -0600 Subject: [PATCH 149/191] add forest text styles --- lib/utilities/text_styles.dart | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/utilities/text_styles.dart b/lib/utilities/text_styles.dart index d33ee2cd5..11a1c3a97 100644 --- a/lib/utilities/text_styles.dart +++ b/lib/utilities/text_styles.dart @@ -1123,6 +1123,12 @@ class STextStyles { fontWeight: FontWeight.w600, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w600, + fontSize: 14, + ); } } @@ -1158,6 +1164,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 14, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 14, + ); } } @@ -1234,6 +1246,12 @@ class STextStyles { fontWeight: FontWeight.w500, fontSize: 10, ); + case ThemeType.forest: + return GoogleFonts.inter( + color: _theme(context).textDark, + fontWeight: FontWeight.w500, + fontSize: 10, + ); } } From d5f401132bd7476f2046ff5b9ef950847797bc12 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 12:07:57 -0600 Subject: [PATCH 150/191] Desktop paynym ui and some bug fixes --- lib/pages/paynym/paynym_home_view.dart | 1 + .../subwidgets/desktop_paynym_details.dart | 11 +- .../send_view/confirm_transaction_view.dart | 159 ++--- lib/pages/send_view/send_view.dart | 38 -- .../paynym/desktop_paynym_send_dialog.dart | 197 ++++++ .../wallet_view/sub_widgets/desktop_send.dart | 613 ++++++++---------- 6 files changed, 557 insertions(+), 462 deletions(-) create mode 100644 lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart diff --git a/lib/pages/paynym/paynym_home_view.dart b/lib/pages/paynym/paynym_home_view.dart index 9292b8acb..b989ba9c5 100644 --- a/lib/pages/paynym/paynym_home_view.dart +++ b/lib/pages/paynym/paynym_home_view.dart @@ -559,6 +559,7 @@ class _PaynymHomeViewState extends ConsumerState { height: isDesktop ? 56 : 48, width: isDesktop ? 490 : null, child: Toggle( + key: UniqueKey(), onColor: Theme.of(context).extension()!.popupBG, onText: "Following (${ref.watch(myPaynymAccountStateProvider.state).state?.following.length ?? 0})", diff --git a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart index 2f7f05e9a..ad01b1f7e 100644 --- a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart +++ b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart @@ -11,6 +11,7 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/paynym/dialogs/confirm_paynym_connect_dialog.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart'; import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart'; +import 'package:stackwallet/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -102,8 +103,6 @@ class _PaynymDetailsPopupState extends ConsumerState { builder: (context) => ConfirmPaynymConnectDialog( nymName: widget.accountLite.nymName, onConfirmPressed: () { - // - print("CONFIRM NOTIF TX: $preparedTx"); Navigator.of(context, rootNavigator: true).pop(); unawaited( showDialog( @@ -148,7 +147,13 @@ class _PaynymDetailsPopupState extends ConsumerState { } Future _onSend() async { - print("sned"); + await showDialog( + context: context, + builder: (context) => DesktopPaynymSendDialog( + walletId: widget.walletId, + accountLite: widget.accountLite, + ), + ); } @override diff --git a/lib/pages/send_view/confirm_transaction_view.dart b/lib/pages/send_view/confirm_transaction_view.dart index f56911a63..8ad9f90fc 100644 --- a/lib/pages/send_view/confirm_transaction_view.dart +++ b/lib/pages/send_view/confirm_transaction_view.dart @@ -586,7 +586,9 @@ class _ConfirmTransactionViewState crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - "Send to", + widget.isPaynymTransaction + ? "PayNym recipient" + : "Send to", style: STextStyles.desktopTextExtraExtraSmall( context), ), @@ -594,7 +596,11 @@ class _ConfirmTransactionViewState height: 2, ), Text( - "${transactionInfo["address"] ?? "ERROR"}", + widget.isPaynymTransaction + ? (transactionInfo["paynymAccountLite"] + as PaynymAccountLite) + .nymName + : "${transactionInfo["address"] ?? "ERROR"}", style: STextStyles.desktopTextExtraExtraSmall( context) .copyWith( @@ -606,6 +612,64 @@ class _ConfirmTransactionViewState ], ), ), + if (widget.isPaynymTransaction) + Container( + height: 1, + color: Theme.of(context) + .extension()! + .background, + ), + if (widget.isPaynymTransaction) + Padding( + padding: const EdgeInsets.all(12), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Transaction fee", + style: STextStyles.desktopTextExtraExtraSmall( + context), + ), + const SizedBox( + height: 2, + ), + Builder( + builder: (context) { + final coin = ref + .watch(walletsChangeNotifierProvider + .select((value) => + value.getManager(walletId))) + .coin; + + final fee = Format.satoshisToAmount( + transactionInfo["fee"] as int, + coin: coin, + ); + + return Text( + "${Format.localizedStringAsFixed( + value: fee, + locale: ref.watch( + localeServiceChangeNotifierProvider + .select((value) => value.locale)), + decimalPlaces: + Constants.decimalPlacesForCoin(coin), + )} ${coin.ticker}", + style: + STextStyles.desktopTextExtraExtraSmall( + context) + .copyWith( + color: Theme.of(context) + .extension()! + .textDark, + ), + ); + }, + ), + ], + ), + ), // Container( // height: 1, // color: Theme.of(context) @@ -725,7 +789,7 @@ class _ConfirmTransactionViewState ], ), ), - if (isDesktop) + if (isDesktop && !widget.isPaynymTransaction) Padding( padding: const EdgeInsets.only( left: 32, @@ -735,22 +799,23 @@ class _ConfirmTransactionViewState style: STextStyles.desktopTextExtraExtraSmall(context), ), ), - if (isDesktop) + if (isDesktop && !widget.isPaynymTransaction) Padding( - padding: const EdgeInsets.only( - top: 10, - left: 32, - right: 32, + padding: const EdgeInsets.only( + top: 10, + left: 32, + right: 32, + ), + child: RoundedContainer( + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 18, ), - child: RoundedContainer( - padding: const EdgeInsets.symmetric( - horizontal: 16, - vertical: 18, - ), - color: Theme.of(context) - .extension()! - .textFieldDefaultBG, - child: Builder(builder: (context) { + color: Theme.of(context) + .extension()! + .textFieldDefaultBG, + child: Builder( + builder: (context) { final coin = ref .watch(walletsChangeNotifierProvider .select((value) => value.getManager(walletId))) @@ -770,64 +835,10 @@ class _ConfirmTransactionViewState )} ${coin.ticker}", style: STextStyles.itemSubtitle(context), ); - }), - ) - // DropdownButtonHideUnderline( - // child: DropdownButton2( - // offset: const Offset(0, -10), - // isExpanded: true, - // - // dropdownElevation: 0, - // value: _fee, - // items: [ - // ..._dropDownItems.map( - // (e) { - // String message = _fee.toString(); - // - // return DropdownMenuItem( - // value: e, - // child: Text(message), - // ); - // }, - // ), - // ], - // onChanged: (value) { - // if (value is int) { - // setState(() { - // _fee = value; - // }); - // } - // }, - // icon: SvgPicture.asset( - // Assets.svg.chevronDown, - // width: 12, - // height: 6, - // color: - // Theme.of(context).extension()!.textDark3, - // ), - // buttonPadding: const EdgeInsets.symmetric( - // horizontal: 16, - // vertical: 8, - // ), - // buttonDecoration: BoxDecoration( - // color: Theme.of(context) - // .extension()! - // .textFieldDefaultBG, - // borderRadius: BorderRadius.circular( - // Constants.size.circularBorderRadius, - // ), - // ), - // dropdownDecoration: BoxDecoration( - // color: Theme.of(context) - // .extension()! - // .textFieldDefaultBG, - // borderRadius: BorderRadius.circular( - // Constants.size.circularBorderRadius, - // ), - // ), - // ), - // ), + }, ), + ), + ), if (!isDesktop) const Spacer(), SizedBox( height: isDesktop ? 23 : 12, diff --git a/lib/pages/send_view/send_view.dart b/lib/pages/send_view/send_view.dart index eab3d0638..fb05f3a38 100644 --- a/lib/pages/send_view/send_view.dart +++ b/lib/pages/send_view/send_view.dart @@ -297,44 +297,6 @@ class _SendViewState extends ConsumerState { final manager = ref.read(walletsChangeNotifierProvider).getManager(walletId); - // // TODO: remove the need for this!! - // final bool isOwnAddress = - // await manager.isOwnAddress(_address!); - // if (isOwnAddress && coin != Coin.dogecoinTestNet) { - // await showDialog( - // context: context, - // useSafeArea: false, - // barrierDismissible: true, - // builder: (context) { - // return StackDialog( - // title: "Transaction failed", - // message: - // "Sending to self is currently disabled", - // rightButton: TextButton( - // style: Theme.of(context) - // .extension()! - // .getSecondaryEnabledButtonColor( - // context), - // child: Text( - // "Ok", - // style: STextStyles.button( - // context) - // .copyWith( - // color: Theme.of(context) - // .extension< - // StackColors>()! - // .accentColorDark), - // ), - // onPressed: () { - // Navigator.of(context).pop(); - // }, - // ), - // ); - // }, - // ); - // return; - // } - final amount = Format.decimalAmountToSatoshis(_amountToSend!, coin); int availableBalance; if ((coin == Coin.firo || coin == Coin.firoTestNet)) { diff --git a/lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart b/lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart new file mode 100644 index 000000000..df24e69c3 --- /dev/null +++ b/lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart @@ -0,0 +1,197 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/models/paynym/paynym_account_lite.dart'; +import 'package:stackwallet/models/send_view_auto_fill_data.dart'; +import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart'; +import 'package:stackwallet/providers/global/locale_provider.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/providers/global/price_provider.dart'; +import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart'; +import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; +import 'package:stackwallet/utilities/clipboard_interface.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/format.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; +import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; +import 'package:stackwallet/widgets/rounded_white_container.dart'; + +class DesktopPaynymSendDialog extends ConsumerStatefulWidget { + const DesktopPaynymSendDialog({ + Key? key, + required this.walletId, + this.autoFillData, + this.clipboard = const ClipboardWrapper(), + this.barcodeScanner = const BarcodeScannerWrapper(), + this.accountLite, + }) : super(key: key); + + final String walletId; + final SendViewAutoFillData? autoFillData; + final ClipboardInterface clipboard; + final BarcodeScannerInterface barcodeScanner; + final PaynymAccountLite? accountLite; + + @override + ConsumerState createState() => + _DesktopPaynymSendDialogState(); +} + +class _DesktopPaynymSendDialogState + extends ConsumerState { + @override + Widget build(BuildContext context) { + final manager = ref.watch(walletsChangeNotifierProvider + .select((value) => value.getManager(widget.walletId))); + final String locale = ref.watch( + localeServiceChangeNotifierProvider.select((value) => value.locale)); + + final coin = manager.coin; + + final isFiro = coin == Coin.firo || coin == Coin.firoTestNet; + + return DesktopDialog( + maxHeight: double.infinity, + maxWidth: 580, + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.only(left: 32), + child: Text( + "Send ${manager.coin.ticker.toUpperCase()}", + style: STextStyles.desktopH3(context), + ), + ), + const DesktopDialogCloseButton(), + ], + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 32), + child: RoundedWhiteContainer( + borderColor: + Theme.of(context).extension()!.background, + // Theme.of(context).extension()!.textSubtitle4, + child: Row( + children: [ + SvgPicture.asset( + Assets.svg.iconFor(coin: coin), + width: 36, + height: 36, + ), + const SizedBox( + width: 12, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + manager.walletName, + style: STextStyles.titleBold12(context), + overflow: TextOverflow.ellipsis, + maxLines: 1, + ), + const SizedBox( + height: 2, + ), + Text( + isFiro + ? "${ref.watch(publicPrivateBalanceStateProvider.state).state} balance" + : "Available balance", + style: STextStyles.baseXS(context).copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + ), + ], + ), + const Spacer(), + Container( + color: Colors.transparent, + child: Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + "${Format.localizedStringAsFixed( + value: !isFiro + ? manager.balance.getSpendable() + : ref + .watch( + publicPrivateBalanceStateProvider + .state) + .state == + "Private" + ? (manager.wallet as FiroWallet) + .availablePrivateBalance() + : (manager.wallet as FiroWallet) + .availablePublicBalance(), + locale: locale, + decimalPlaces: 8, + )} ${coin.ticker}", + style: STextStyles.titleBold12(context), + textAlign: TextAlign.right, + ), + const SizedBox( + height: 2, + ), + Text( + "${Format.localizedStringAsFixed( + value: (!isFiro + ? manager.balance.getSpendable() + : ref + .watch( + publicPrivateBalanceStateProvider + .state) + .state == + "Private" + ? (manager.wallet as FiroWallet) + .availablePrivateBalance() + : (manager.wallet as FiroWallet) + .availablePublicBalance()) * + ref.watch( + priceAnd24hChangeNotifierProvider.select( + (value) => value.getPrice(coin).item1)), + locale: locale, + decimalPlaces: 2, + )} ${ref.watch(prefsChangeNotifierProvider.select((value) => value.currency))}", + style: STextStyles.baseXS(context).copyWith( + color: Theme.of(context) + .extension()! + .textSubtitle1, + ), + textAlign: TextAlign.right, + ) + ], + ), + ), + ], + ), + ), + ), + const SizedBox( + height: 20, + ), + Padding( + padding: const EdgeInsets.only( + left: 32, + right: 32, + bottom: 32, + ), + child: DesktopSend( + walletId: manager.walletId, + accountLite: widget.accountLite, + ), + ), + ], + ), + ); + } +} diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart index cc63c67a8..09ed16610 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:bip47/bip47.dart'; import 'package:decimal/decimal.dart'; import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:flutter/material.dart'; @@ -7,6 +8,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/models/contact_address_entry.dart'; +import 'package:stackwallet/models/paynym/paynym_account_lite.dart'; import 'package:stackwallet/models/send_view_auto_fill_data.dart'; import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart'; import 'package:stackwallet/pages/send_view/sub_widgets/building_transaction_dialog.dart'; @@ -20,6 +22,7 @@ import 'package:stackwallet/providers/ui/preview_tx_button_state_provider.dart'; import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; @@ -51,12 +54,14 @@ class DesktopSend extends ConsumerStatefulWidget { this.autoFillData, this.clipboard = const ClipboardWrapper(), this.barcodeScanner = const BarcodeScannerWrapper(), + this.accountLite, }) : super(key: key); final String walletId; final SendViewAutoFillData? autoFillData; final ClipboardInterface clipboard; final BarcodeScannerInterface barcodeScanner; + final PaynymAccountLite? accountLite; @override ConsumerState createState() => _DesktopSendState(); @@ -93,78 +98,12 @@ class _DesktopSendState extends ConsumerState { bool _cryptoAmountChangeLock = false; late VoidCallback onCryptoAmountChanged; + bool get isPaynymSend => widget.accountLite != null; + Future previewSend() async { final manager = ref.read(walletsChangeNotifierProvider).getManager(walletId); - // // TODO: remove the need for this!! - // final bool isOwnAddress = await manager.isOwnAddress(_address!); - // if (isOwnAddress) { - // await showDialog( - // context: context, - // useSafeArea: false, - // barrierDismissible: true, - // builder: (context) { - // return DesktopDialog( - // maxWidth: 400, - // maxHeight: double.infinity, - // child: Padding( - // padding: const EdgeInsets.only( - // left: 32, - // bottom: 32, - // ), - // child: Column( - // crossAxisAlignment: CrossAxisAlignment.start, - // children: [ - // Row( - // mainAxisAlignment: MainAxisAlignment.spaceBetween, - // children: [ - // Text( - // "Transaction failed", - // style: STextStyles.desktopH3(context), - // ), - // const DesktopDialogCloseButton(), - // ], - // ), - // const SizedBox( - // height: 12, - // ), - // Text( - // "Sending to self is currently disabled", - // textAlign: TextAlign.left, - // style: STextStyles.desktopTextExtraExtraSmall(context) - // .copyWith( - // fontSize: 18, - // ), - // ), - // const SizedBox( - // height: 40, - // ), - // Row( - // children: [ - // Expanded( - // child: SecondaryButton( - // buttonHeight: ButtonHeight.l, - // label: "Ok", - // onPressed: () { - // Navigator.of(context).pop(); - // }, - // ), - // ), - // const SizedBox( - // width: 32, - // ), - // ], - // ), - // ], - // ), - // ), - // ); - // }, - // ); - // return; - // } - final amount = Format.decimalAmountToSatoshis(_amountToSend!, coin); int availableBalance; if ((coin == Coin.firo || coin == Coin.firoTestNet)) { @@ -304,7 +243,19 @@ class _DesktopSendState extends ConsumerState { Map txData; - if ((coin == Coin.firo || coin == Coin.firoTestNet) && + if (isPaynymSend) { + final wallet = manager.wallet as PaynymWalletInterface; + final paymentCode = PaymentCode.fromPaymentCode( + widget.accountLite!.code, + wallet.networkType, + ); + final feeRate = ref.read(feeRateTypeStateProvider); + txData = await wallet.preparePaymentCodeSend( + paymentCode: paymentCode, + satoshiAmount: amount, + args: {"feeRate": feeRate}, + ); + } else if ((coin == Coin.firo || coin == Coin.firoTestNet) && ref.read(publicPrivateBalanceStateProvider.state).state != "Private") { txData = await (manager.wallet as FiroWallet).prepareSendPublic( @@ -321,8 +272,13 @@ class _DesktopSendState extends ConsumerState { } if (!wasCancelled && mounted) { - txData["note"] = _note ?? ""; - txData["address"] = _address; + if (isPaynymSend) { + txData["paynymAccountLite"] = widget.accountLite!; + txData["note"] = _note ?? "PayNym send"; + } else { + txData["address"] = _address; + txData["note"] = _note ?? ""; + } // pop building dialog Navigator.of( context, @@ -338,6 +294,7 @@ class _DesktopSendState extends ConsumerState { child: ConfirmTransactionView( transactionInfo: txData, walletId: walletId, + isPaynymTransaction: isPaynymSend, routeOnSuccessName: DesktopHomeView.routeName, ), ), @@ -439,9 +396,9 @@ class _DesktopSendState extends ConsumerState { _cachedAmountToSend == _amountToSend) { return; } - _cachedAmountToSend = _amountToSend; Logging.instance.log("it changed $_amountToSend $_cachedAmountToSend", level: LogLevel.Info); + _cachedAmountToSend = _amountToSend; final price = ref.read(priceAnd24hChangeNotifierProvider).getPrice(coin).item1; @@ -457,6 +414,7 @@ class _DesktopSendState extends ConsumerState { } } else { _amountToSend = null; + _cachedAmountToSend = null; baseAmountController.text = ""; } @@ -475,87 +433,19 @@ class _DesktopSendState extends ConsumerState { } void _updatePreviewButtonState(String? address, Decimal? amount) { - final isValidAddress = ref - .read(walletsChangeNotifierProvider) - .getManager(walletId) - .validateAddress(address ?? ""); - ref.read(previewTxButtonStateProvider.state).state = - (isValidAddress && amount != null && amount > Decimal.zero); + if (isPaynymSend) { + ref.read(previewTxButtonStateProvider.state).state = + (amount != null && amount > Decimal.zero); + } else { + final isValidAddress = ref + .read(walletsChangeNotifierProvider) + .getManager(walletId) + .validateAddress(address ?? ""); + ref.read(previewTxButtonStateProvider.state).state = + (isValidAddress && amount != null && amount > Decimal.zero); + } } - // late Future _calculateFeesFuture; - - // Map cachedFees = {}; - // Map cachedFiroPrivateFees = {}; - // Map cachedFiroPublicFees = {}; - - // Future calculateFees(int amount) async { - // if (amount <= 0) { - // return "0"; - // } - // - // if (coin == Coin.firo || coin == Coin.firoTestNet) { - // if (ref.read(publicPrivateBalanceStateProvider.state).state == - // "Private") { - // if (cachedFiroPrivateFees[amount] != null) { - // return cachedFiroPrivateFees[amount]!; - // } - // } else { - // if (cachedFiroPublicFees[amount] != null) { - // return cachedFiroPublicFees[amount]!; - // } - // } - // } else if (cachedFees[amount] != null) { - // return cachedFees[amount]!; - // } - // - // final manager = - // ref.read(walletsChangeNotifierProvider).getManager(walletId); - // final feeObject = await manager.fees; - // - // late final int feeRate; - // - // switch (ref.read(feeRateTypeStateProvider.state).state) { - // case FeeRateType.fast: - // feeRate = feeObject.fast; - // break; - // case FeeRateType.average: - // feeRate = feeObject.medium; - // break; - // case FeeRateType.slow: - // feeRate = feeObject.slow; - // break; - // } - // - // int fee; - // - // if (coin == Coin.firo || coin == Coin.firoTestNet) { - // if (ref.read(publicPrivateBalanceStateProvider.state).state == - // "Private") { - // fee = await manager.estimateFeeFor(amount, feeRate); - // - // cachedFiroPrivateFees[amount] = Format.satoshisToAmount(fee) - // .toStringAsFixed(Constants.decimalPlaces); - // - // return cachedFiroPrivateFees[amount]!; - // } else { - // fee = await (manager.wallet as FiroWallet) - // .estimateFeeForPublic(amount, feeRate); - // - // cachedFiroPublicFees[amount] = Format.satoshisToAmount(fee) - // .toStringAsFixed(Constants.decimalPlaces); - // - // return cachedFiroPublicFees[amount]!; - // } - // } else { - // fee = await manager.estimateFeeFor(amount, feeRate); - // cachedFees[amount] = - // Format.satoshisToAmount(fee).toStringAsFixed(Constants.decimalPlaces); - // - // return cachedFees[amount]!; - // } - // } - Future _firoBalanceFuture( ChangeNotifierProvider provider, String locale, @@ -773,7 +663,10 @@ class _DesktopSendState extends ConsumerState { @override void initState() { - ref.refresh(feeSheetSessionCacheProvider); + WidgetsBinding.instance.addPostFrameCallback((_) { + ref.refresh(feeSheetSessionCacheProvider); + ref.read(previewTxButtonStateProvider.state).state = false; + }); // _calculateFeesFuture = calculateFees(0); _data = widget.autoFillData; @@ -799,6 +692,10 @@ class _DesktopSendState extends ConsumerState { _addressToggleFlag = true; } + if (isPaynymSend) { + sendToController.text = widget.accountLite!.nymName; + } + _cryptoFocus.addListener(() { if (!_cryptoFocus.hasFocus && !_baseFocus.hasFocus) { if (_amountToSend == null) { @@ -845,21 +742,6 @@ class _DesktopSendState extends ConsumerState { final String locale = ref.watch( localeServiceChangeNotifierProvider.select((value) => value.locale)); - // if (coin == Coin.firo || coin == Coin.firoTestNet) { - // ref.listen(publicPrivateBalanceStateProvider, (previous, next) { - // if (_amountToSend == null) { - // setState(() { - // _calculateFeesFuture = calculateFees(0); - // }); - // } else { - // setState(() { - // _calculateFeesFuture = - // calculateFees(Format.decimalAmountToSatoshis(_amountToSend!)); - // }); - // } - // }); - // } - return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -975,6 +857,36 @@ class _DesktopSendState extends ConsumerState { const SizedBox( height: 20, ), + if (isPaynymSend) + Text( + "Send to PayNym address", + style: STextStyles.smallMed12(context), + textAlign: TextAlign.left, + ), + if (isPaynymSend) + const SizedBox( + height: 10, + ), + if (isPaynymSend) + TextField( + key: const Key("sendViewPaynymAddressFieldKey"), + controller: sendToController, + enabled: false, + readOnly: true, + style: STextStyles.desktopTextFieldLabel(context).copyWith( + fontSize: 16, + ), + decoration: const InputDecoration( + contentPadding: EdgeInsets.symmetric( + vertical: 18, + horizontal: 16, + ), + ), + ), + if (isPaynymSend) + const SizedBox( + height: 20, + ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -1020,6 +932,7 @@ class _DesktopSendState extends ConsumerState { ? newValue : oldValue), ], + onChanged: (newValue) {}, decoration: InputDecoration( contentPadding: const EdgeInsets.only( top: 22, @@ -1108,199 +1021,204 @@ class _DesktopSendState extends ConsumerState { const SizedBox( height: 20, ), - Text( - "Send to", - style: STextStyles.desktopTextExtraSmall(context).copyWith( - color: Theme.of(context) - .extension()! - .textFieldActiveSearchIconRight, - ), - textAlign: TextAlign.left, - ), - const SizedBox( - height: 10, - ), - ClipRRect( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - child: TextField( - minLines: 1, - maxLines: 5, - key: const Key("sendViewAddressFieldKey"), - controller: sendToController, - readOnly: false, - autocorrect: false, - enableSuggestions: false, - // inputFormatters: [ - // FilteringTextInputFormatter.allow( - // RegExp("[a-zA-Z0-9]{34}")), - // ], - toolbarOptions: const ToolbarOptions( - copy: false, - cut: false, - paste: true, - selectAll: false, - ), - onChanged: (newValue) { - _address = newValue; - _updatePreviewButtonState(_address, _amountToSend); - - setState(() { - _addressToggleFlag = newValue.isNotEmpty; - }); - }, - focusNode: _addressFocusNode, + if (!isPaynymSend) + Text( + "Send to", style: STextStyles.desktopTextExtraSmall(context).copyWith( color: Theme.of(context) .extension()! - .textFieldActiveText, - height: 1.8, + .textFieldActiveSearchIconRight, ), - decoration: standardInputDecoration( - "Enter ${coin.ticker} address", - _addressFocusNode, - context, - desktopMed: true, - ).copyWith( - contentPadding: const EdgeInsets.only( - left: 16, - top: 11, - bottom: 12, - right: 5, + textAlign: TextAlign.left, + ), + if (!isPaynymSend) + const SizedBox( + height: 10, + ), + if (!isPaynymSend) + ClipRRect( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + child: TextField( + minLines: 1, + maxLines: 5, + key: const Key("sendViewAddressFieldKey"), + controller: sendToController, + readOnly: false, + autocorrect: false, + enableSuggestions: false, + // inputFormatters: [ + // FilteringTextInputFormatter.allow( + // RegExp("[a-zA-Z0-9]{34}")), + // ], + toolbarOptions: const ToolbarOptions( + copy: false, + cut: false, + paste: true, + selectAll: false, ), - suffixIcon: Padding( - padding: sendToController.text.isEmpty - ? const EdgeInsets.only(right: 8) - : const EdgeInsets.only(right: 0), - child: UnconstrainedBox( - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - _addressToggleFlag - ? TextFieldIconButton( - key: const Key( - "sendViewClearAddressFieldButtonKey"), - onTap: () { - sendToController.text = ""; - _address = ""; - _updatePreviewButtonState( - _address, _amountToSend); - setState(() { - _addressToggleFlag = false; - }); - }, - child: const XIcon(), - ) - : TextFieldIconButton( - key: const Key( - "sendViewPasteAddressFieldButtonKey"), - onTap: pasteAddress, - child: sendToController.text.isEmpty - ? const ClipboardIcon() - : const XIcon(), - ), - if (sendToController.text.isEmpty) - TextFieldIconButton( - key: const Key("sendViewAddressBookButtonKey"), - onTap: () async { - final entry = - await showDialog( - context: context, - builder: (context) => DesktopDialog( - maxWidth: 696, - maxHeight: 600, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Padding( - padding: const EdgeInsets.only( - left: 32, - ), - child: Text( - "Address book", - style: - STextStyles.desktopH3(context), - ), - ), - const DesktopDialogCloseButton(), - ], - ), - Expanded( - child: AddressBookAddressChooser( - coin: coin, - ), - ), - ], - ), + onChanged: (newValue) { + _address = newValue; + _updatePreviewButtonState(_address, _amountToSend); + + setState(() { + _addressToggleFlag = newValue.isNotEmpty; + }); + }, + focusNode: _addressFocusNode, + style: STextStyles.desktopTextExtraSmall(context).copyWith( + color: Theme.of(context) + .extension()! + .textFieldActiveText, + height: 1.8, + ), + decoration: standardInputDecoration( + "Enter ${coin.ticker} address", + _addressFocusNode, + context, + desktopMed: true, + ).copyWith( + contentPadding: const EdgeInsets.only( + left: 16, + top: 11, + bottom: 12, + right: 5, + ), + suffixIcon: Padding( + padding: sendToController.text.isEmpty + ? const EdgeInsets.only(right: 8) + : const EdgeInsets.only(right: 0), + child: UnconstrainedBox( + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + _addressToggleFlag + ? TextFieldIconButton( + key: const Key( + "sendViewClearAddressFieldButtonKey"), + onTap: () { + sendToController.text = ""; + _address = ""; + _updatePreviewButtonState( + _address, _amountToSend); + setState(() { + _addressToggleFlag = false; + }); + }, + child: const XIcon(), + ) + : TextFieldIconButton( + key: const Key( + "sendViewPasteAddressFieldButtonKey"), + onTap: pasteAddress, + child: sendToController.text.isEmpty + ? const ClipboardIcon() + : const XIcon(), ), - ); - - if (entry != null) { - sendToController.text = - entry.other ?? entry.label; - - _address = entry.address; - - _updatePreviewButtonState( - _address, - _amountToSend, + if (sendToController.text.isEmpty) + TextFieldIconButton( + key: const Key("sendViewAddressBookButtonKey"), + onTap: () async { + final entry = + await showDialog( + context: context, + builder: (context) => DesktopDialog( + maxWidth: 696, + maxHeight: 600, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.only( + left: 32, + ), + child: Text( + "Address book", + style: STextStyles.desktopH3( + context), + ), + ), + const DesktopDialogCloseButton(), + ], + ), + Expanded( + child: AddressBookAddressChooser( + coin: coin, + ), + ), + ], + ), + ), ); - setState(() { - _addressToggleFlag = true; - }); - } - }, - child: const AddressBookIcon(), - ), - // if (sendToController.text.isEmpty) - // TextFieldIconButton( - // key: const Key("sendViewScanQrButtonKey"), - // onTap: scanQr, - // child: const QrCodeIcon(), - // ) - ], + if (entry != null) { + sendToController.text = + entry.other ?? entry.label; + + _address = entry.address; + + _updatePreviewButtonState( + _address, + _amountToSend, + ); + + setState(() { + _addressToggleFlag = true; + }); + } + }, + child: const AddressBookIcon(), + ), + // if (sendToController.text.isEmpty) + // TextFieldIconButton( + // key: const Key("sendViewScanQrButtonKey"), + // onTap: scanQr, + // child: const QrCodeIcon(), + // ) + ], + ), ), ), ), ), ), - ), - Builder( - builder: (_) { - final error = _updateInvalidAddressText( - _address ?? "", - ref.read(walletsChangeNotifierProvider).getManager(walletId), - ); + if (!isPaynymSend) + Builder( + builder: (_) { + final error = _updateInvalidAddressText( + _address ?? "", + ref.read(walletsChangeNotifierProvider).getManager(walletId), + ); - if (error == null || error.isEmpty) { - return Container(); - } else { - return Align( - alignment: Alignment.topLeft, - child: Padding( - padding: const EdgeInsets.only( - left: 12.0, - top: 4.0, - ), - child: Text( - error, - textAlign: TextAlign.left, - style: STextStyles.label(context).copyWith( - color: - Theme.of(context).extension()!.textError, + if (error == null || error.isEmpty) { + return Container(); + } else { + return Align( + alignment: Alignment.topLeft, + child: Padding( + padding: const EdgeInsets.only( + left: 12.0, + top: 4.0, + ), + child: Text( + error, + textAlign: TextAlign.left, + style: STextStyles.label(context).copyWith( + color: Theme.of(context) + .extension()! + .textError, + ), ), ), - ), - ); - } - }, - ), + ); + } + }, + ), // const SizedBox( // height: 20, // ), @@ -1368,9 +1286,10 @@ class _DesktopSendState extends ConsumerState { // ), // ), // ), - const SizedBox( - height: 20, - ), + if (!isPaynymSend) + const SizedBox( + height: 20, + ), if (coin != Coin.epicCash) Text( "Transaction fee (estimated)", From d8c833548d413f282b7be2f1261d4aefe4f6ff36 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 14:06:44 -0600 Subject: [PATCH 151/191] gap fix --- lib/pages/wallets_view/sub_widgets/favorite_wallets.dart | 4 ++-- lib/pages/wallets_view/wallets_view.dart | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart b/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart index 073747386..5f1098ce4 100644 --- a/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart +++ b/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart @@ -106,12 +106,12 @@ class _FavoriteWalletsState extends ConsumerState { ManageFavoritesView.routeName, ); }, - ) + ), ], ), ), const SizedBox( - height: 12, + height: 20, ), !hasFavorites ? Padding( diff --git a/lib/pages/wallets_view/wallets_view.dart b/lib/pages/wallets_view/wallets_view.dart index ed970134a..1c7f99e4f 100644 --- a/lib/pages/wallets_view/wallets_view.dart +++ b/lib/pages/wallets_view/wallets_view.dart @@ -5,6 +5,8 @@ import 'package:stackwallet/pages/wallets_view/sub_widgets/all_wallets.dart'; import 'package:stackwallet/pages/wallets_view/sub_widgets/empty_wallets.dart'; import 'package:stackwallet/pages/wallets_view/sub_widgets/favorite_wallets.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/providers/ui/color_theme_provider.dart'; +import 'package:stackwallet/utilities/theme/color_theme.dart'; class WalletsView extends ConsumerWidget { const WalletsView({Key? key}) : super(key: key); @@ -22,8 +24,11 @@ class WalletsView extends ConsumerWidget { return SafeArea( child: hasWallets ? Padding( - padding: const EdgeInsets.only( - top: 20, + padding: EdgeInsets.only( + top: ref.watch(colorThemeProvider).themeType == + ThemeType.fruitSorbet + ? 6 + : 20, ), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, From ece0b1d1a78cdadd0b3572926e3b02025d85745e Mon Sep 17 00:00:00 2001 From: sneurlax Date: Fri, 10 Feb 2023 14:12:09 -0600 Subject: [PATCH 152/191] flutter_libmonero ref update --- crypto_plugins/flutter_libmonero | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto_plugins/flutter_libmonero b/crypto_plugins/flutter_libmonero index af88796d5..e81b1b7c2 160000 --- a/crypto_plugins/flutter_libmonero +++ b/crypto_plugins/flutter_libmonero @@ -1 +1 @@ -Subproject commit af88796d5e4988c03422320c3842af5cf6c049ef +Subproject commit e81b1b7c2d8114435a9458ab2e439f4393f626e7 From 24cdb0ac36d538cb89aa7c3f54e4d664f402cc28 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 14:17:40 -0600 Subject: [PATCH 153/191] "all wallets" color fix --- lib/pages/wallets_view/sub_widgets/all_wallets.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/wallets_view/sub_widgets/all_wallets.dart b/lib/pages/wallets_view/sub_widgets/all_wallets.dart index b63e8eb6e..4c6e3174f 100644 --- a/lib/pages/wallets_view/sub_widgets/all_wallets.dart +++ b/lib/pages/wallets_view/sub_widgets/all_wallets.dart @@ -21,7 +21,7 @@ class AllWallets extends StatelessWidget { Text( "All wallets", style: STextStyles.itemSubtitle(context).copyWith( - color: Theme.of(context).extension()!.textDark, + color: Theme.of(context).extension()!.textDark3, ), ), CustomTextButton( From 8bda6640bd88520d08f54720fd96aa78af662794 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 14:49:23 -0600 Subject: [PATCH 154/191] mobile settings item text color update --- lib/pages/settings_views/sub_widgets/settings_list_button.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/settings_views/sub_widgets/settings_list_button.dart b/lib/pages/settings_views/sub_widgets/settings_list_button.dart index 5081e0f76..2602ced25 100644 --- a/lib/pages/settings_views/sub_widgets/settings_list_button.dart +++ b/lib/pages/settings_views/sub_widgets/settings_list_button.dart @@ -72,7 +72,7 @@ class SettingsListButton extends StatelessWidget { style: STextStyles.smallMed14(context).copyWith( color: Theme.of(context) .extension()! - .accentColorDark, + .textDark, ), ), ), From 30ec2cfcabd460ef765a7fa5e8d7768566af7a63 Mon Sep 17 00:00:00 2001 From: julian Date: Fri, 10 Feb 2023 14:49:37 -0600 Subject: [PATCH 155/191] forest assets fix --- pubspec.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pubspec.yaml b/pubspec.yaml index 45e11600f..73a4b1c26 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -432,6 +432,21 @@ flutter: - assets/svg/fruitSorbet/buy-coins-icon.svg - assets/svg/fruitSorbet/bg.svg + # fruit forest theme specific + - assets/svg/forest/tx-exchange-icon.svg + - assets/svg/forest/tx-exchange-icon-pending.svg + - assets/svg/forest/tx-exchange-icon-failed.svg + - assets/svg/forest/tx-icon-send.svg + - assets/svg/forest/tx-icon-send-pending.svg + - assets/svg/forest/tx-icon-send-failed.svg + - assets/svg/forest/tx-icon-receive.svg + - assets/svg/forest/tx-icon-receive-pending.svg + - assets/svg/forest/tx-icon-receive-failed.svg + - assets/svg/forest/exchange-2.svg + - assets/svg/forest/bell-new.svg + - assets/svg/forest/stack-icon1.svg + - assets/svg/forest/buy-coins-icon.svg + # buy - assets/svg/buy/Simplex-Nuvei-Logo.svg - assets/svg/buy/Simplex-Nuvei-Logo-light.svg From 9a1717859a94a3dd7005609bcbef08023b3cfb8e Mon Sep 17 00:00:00 2001 From: ryleedavis Date: Fri, 10 Feb 2023 14:10:00 -0700 Subject: [PATCH 156/191] forest bg + themed coin.png --- assets/images/{ => dark}/bitcoin.png | Bin assets/images/{ => dark}/bitcoincash.png | Bin assets/images/{ => dark}/doge.png | Bin assets/images/{ => dark}/epic-cash.png | Bin assets/images/{ => dark}/firo.png | Bin assets/images/{ => dark}/litecoin.png | Bin assets/images/{ => dark}/monero.png | Bin assets/images/{ => dark}/namecoin.png | Bin assets/images/{ => dark}/particl.png | Bin assets/images/{ => dark}/stack.png | Bin assets/images/{ => dark}/wownero.png | Bin assets/images/forest/bitcoin.png | Bin 0 -> 475560 bytes assets/images/forest/bitcoincash.png | Bin 0 -> 396727 bytes assets/images/forest/dogecoin.png | Bin 0 -> 968546 bytes assets/images/forest/epic-cash.png | Bin 0 -> 492452 bytes assets/images/forest/epic.png | Bin 0 -> 492452 bytes assets/images/forest/firo.png | Bin 0 -> 370290 bytes assets/images/forest/litecoin.png | Bin 0 -> 329261 bytes assets/images/forest/monero.png | Bin 0 -> 588705 bytes assets/images/forest/namecoin.png | Bin 0 -> 550732 bytes assets/images/forest/partcl.png | Bin 0 -> 552307 bytes assets/images/forest/stack.png | Bin 0 -> 50834 bytes assets/images/forest/wownero.png | Bin 0 -> 511134 bytes assets/images/fruitSorbet/bitcoin.png | Bin 0 -> 397157 bytes assets/images/fruitSorbet/bitcoincash.png | Bin 0 -> 363022 bytes assets/images/fruitSorbet/doge.png | Bin 0 -> 881465 bytes assets/images/fruitSorbet/epic-cash.png | Bin 0 -> 376447 bytes assets/images/fruitSorbet/firo.png | Bin 0 -> 323670 bytes assets/images/fruitSorbet/litecoin.png | Bin 0 -> 329261 bytes assets/images/fruitSorbet/monero.png | Bin 0 -> 291093 bytes assets/images/fruitSorbet/namecoin.png | Bin 0 -> 359452 bytes assets/images/fruitSorbet/particl.png | Bin 0 -> 342818 bytes assets/images/fruitSorbet/stack.png | Bin 0 -> 614472 bytes assets/images/fruitSorbet/wownero.png | Bin 0 -> 380070 bytes assets/images/light/bitcoin.png | Bin 0 -> 397157 bytes assets/images/light/bitcoincash.png | Bin 0 -> 363022 bytes assets/images/light/doge.png | Bin 0 -> 881465 bytes assets/images/light/epic-cash.png | Bin 0 -> 376447 bytes assets/images/light/firo.png | Bin 0 -> 323670 bytes assets/images/light/litecoin.png | Bin 0 -> 329261 bytes assets/images/light/monero.png | Bin 0 -> 291093 bytes assets/images/light/namecoin.png | Bin 0 -> 359452 bytes assets/images/light/particl.png | Bin 0 -> 342818 bytes assets/images/light/stack.png | Bin 0 -> 692832 bytes assets/images/light/wownero.png | Bin 0 -> 380070 bytes assets/images/oceanBreeze/bitcoin.png | Bin 0 -> 397157 bytes assets/images/oceanBreeze/bitcoincash.png | Bin 0 -> 363022 bytes assets/images/oceanBreeze/doge.png | Bin 0 -> 881465 bytes assets/images/oceanBreeze/epic-cash.png | Bin 0 -> 376447 bytes assets/images/oceanBreeze/firo.png | Bin 0 -> 323670 bytes assets/images/oceanBreeze/litecoin.png | Bin 0 -> 329261 bytes assets/images/oceanBreeze/monero.png | Bin 0 -> 291093 bytes assets/images/oceanBreeze/namecoin.png | Bin 0 -> 359452 bytes assets/images/oceanBreeze/particl.png | Bin 0 -> 342818 bytes assets/images/oceanBreeze/stack.png | Bin 0 -> 692832 bytes assets/images/oceanBreeze/wownero.png | Bin 0 -> 380070 bytes assets/svg/forest/bg.svg | 40 ++++++++++ lib/utilities/assets.dart | 39 +++++---- pubspec.yaml | 92 +++++++++++++++++++--- 59 files changed, 145 insertions(+), 26 deletions(-) rename assets/images/{ => dark}/bitcoin.png (100%) rename assets/images/{ => dark}/bitcoincash.png (100%) rename assets/images/{ => dark}/doge.png (100%) rename assets/images/{ => dark}/epic-cash.png (100%) rename assets/images/{ => dark}/firo.png (100%) rename assets/images/{ => dark}/litecoin.png (100%) rename assets/images/{ => dark}/monero.png (100%) rename assets/images/{ => dark}/namecoin.png (100%) rename assets/images/{ => dark}/particl.png (100%) rename assets/images/{ => dark}/stack.png (100%) rename assets/images/{ => dark}/wownero.png (100%) create mode 100644 assets/images/forest/bitcoin.png create mode 100644 assets/images/forest/bitcoincash.png create mode 100644 assets/images/forest/dogecoin.png create mode 100644 assets/images/forest/epic-cash.png create mode 100644 assets/images/forest/epic.png create mode 100644 assets/images/forest/firo.png create mode 100644 assets/images/forest/litecoin.png create mode 100644 assets/images/forest/monero.png create mode 100644 assets/images/forest/namecoin.png create mode 100644 assets/images/forest/partcl.png create mode 100644 assets/images/forest/stack.png create mode 100644 assets/images/forest/wownero.png create mode 100644 assets/images/fruitSorbet/bitcoin.png create mode 100644 assets/images/fruitSorbet/bitcoincash.png create mode 100644 assets/images/fruitSorbet/doge.png create mode 100644 assets/images/fruitSorbet/epic-cash.png create mode 100644 assets/images/fruitSorbet/firo.png create mode 100644 assets/images/fruitSorbet/litecoin.png create mode 100644 assets/images/fruitSorbet/monero.png create mode 100644 assets/images/fruitSorbet/namecoin.png create mode 100644 assets/images/fruitSorbet/particl.png create mode 100644 assets/images/fruitSorbet/stack.png create mode 100644 assets/images/fruitSorbet/wownero.png create mode 100644 assets/images/light/bitcoin.png create mode 100644 assets/images/light/bitcoincash.png create mode 100644 assets/images/light/doge.png create mode 100644 assets/images/light/epic-cash.png create mode 100644 assets/images/light/firo.png create mode 100644 assets/images/light/litecoin.png create mode 100644 assets/images/light/monero.png create mode 100644 assets/images/light/namecoin.png create mode 100644 assets/images/light/particl.png create mode 100644 assets/images/light/stack.png create mode 100644 assets/images/light/wownero.png create mode 100644 assets/images/oceanBreeze/bitcoin.png create mode 100644 assets/images/oceanBreeze/bitcoincash.png create mode 100644 assets/images/oceanBreeze/doge.png create mode 100644 assets/images/oceanBreeze/epic-cash.png create mode 100644 assets/images/oceanBreeze/firo.png create mode 100644 assets/images/oceanBreeze/litecoin.png create mode 100644 assets/images/oceanBreeze/monero.png create mode 100644 assets/images/oceanBreeze/namecoin.png create mode 100644 assets/images/oceanBreeze/particl.png create mode 100644 assets/images/oceanBreeze/stack.png create mode 100644 assets/images/oceanBreeze/wownero.png create mode 100644 assets/svg/forest/bg.svg diff --git a/assets/images/bitcoin.png b/assets/images/dark/bitcoin.png similarity index 100% rename from assets/images/bitcoin.png rename to assets/images/dark/bitcoin.png diff --git a/assets/images/bitcoincash.png b/assets/images/dark/bitcoincash.png similarity index 100% rename from assets/images/bitcoincash.png rename to assets/images/dark/bitcoincash.png diff --git a/assets/images/doge.png b/assets/images/dark/doge.png similarity index 100% rename from assets/images/doge.png rename to assets/images/dark/doge.png diff --git a/assets/images/epic-cash.png b/assets/images/dark/epic-cash.png similarity index 100% rename from assets/images/epic-cash.png rename to assets/images/dark/epic-cash.png diff --git a/assets/images/firo.png b/assets/images/dark/firo.png similarity index 100% rename from assets/images/firo.png rename to assets/images/dark/firo.png diff --git a/assets/images/litecoin.png b/assets/images/dark/litecoin.png similarity index 100% rename from assets/images/litecoin.png rename to assets/images/dark/litecoin.png diff --git a/assets/images/monero.png b/assets/images/dark/monero.png similarity index 100% rename from assets/images/monero.png rename to assets/images/dark/monero.png diff --git a/assets/images/namecoin.png b/assets/images/dark/namecoin.png similarity index 100% rename from assets/images/namecoin.png rename to assets/images/dark/namecoin.png diff --git a/assets/images/particl.png b/assets/images/dark/particl.png similarity index 100% rename from assets/images/particl.png rename to assets/images/dark/particl.png diff --git a/assets/images/stack.png b/assets/images/dark/stack.png similarity index 100% rename from assets/images/stack.png rename to assets/images/dark/stack.png diff --git a/assets/images/wownero.png b/assets/images/dark/wownero.png similarity index 100% rename from assets/images/wownero.png rename to assets/images/dark/wownero.png diff --git a/assets/images/forest/bitcoin.png b/assets/images/forest/bitcoin.png new file mode 100644 index 0000000000000000000000000000000000000000..695b1d0ed6d3ca93f23a20515b8a4ad64130225f GIT binary patch literal 475560 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%0A{WSB_R!i$!eKT? zW%i#u@$A4Ur726>LazwC=x32Olyr>^WK+4!Dc=VCWJq zxs%(Ff;C!$jXa@YnN&VVEkN+)-pSk1PDDMS7(sAqx^+`b1W|6gJ-0*9K|b7$J7PNvQlCg0MN#6egc=8Ke4CXt(Z zBO!;S%;TZ+xdL-MK5q+rMyL?ibF+)YXq*zg*I8+Fke11FG3!)K*}TdmH>S>mDUWhy zR=9P4=lKXLU!%o_j^@czvNlz{NqMCkGnr(0F{UN9eRx$H)Q4rtCmta`V2ppcgm3fDHNQYcyhsWYIs z`NZeRyjP(8Yc-)pTZzqr0-DJ8evVo7uf0$b@!dWEtnR2^hPqUF?Mje}eZafl$9yds9`yI-$ zzuV~u&T=QAH0we+GUAH%8aQyfo|@&|yJzWU$U<-|@+BgL1aIrJlFc6uz9pP~IJAby z`n+Eyb(R~qI1-n7|NqMlllm=jDOs3rNq~99mst$}89wt#I*UzH>SP>Rv``?9?R&VZMhroTw}-SkBDWv&y7(p0D-GP(iV#LpYnb#`5_c`u^{HTxctjZWI?IkzF5a*@;DbRZiRgk=OI z2m6PXny0s$eH3JCj#A?{&_pu6c^6>?w?d7O>z+MNj~{_l(H~ zQp=D0%Z}W>b4+WjsV=Ky*E2BW+D#>9tCg2D-A?RmawyTG_*%ZvZH|bwYMN(R^H$G& zhyBuJv4~T|XOtN|ee~eW`-*@V&r84WSmaa(ho7h?E8wVM?63c8H|rBX>Cf&-gC`9GUy@Cp^YEd4UEioru5yjb#1(((AnnN4JX?Ns>cb|Kogxs?;rp)23>st#OQg{P| z%=vK-BnK{>>DJ5fhiXYhtXfp+N0QxzcTm1N~1NN!|x& zof+5TW*wy6`dWYK*;=OYYDtSPQq{+e()HLN6?}br4Og+VmnHW z7cPMDa>G`25WO_1eN|}?3Fd<|qdjMTi;C*p$NJs)VA;T8mHN;eO zV%v+E_H}T_CG|bafeWDDyk9Y?!Wbc(FMmsE#d0|1#74BdzHCtcT*)#4H^5Hd9Ecz# z-DBTlW?_6F`4R|+GEJ5fC`JgGzas1fmeWN!1MG$5*lnKAwOhA-6~;sGVbKoo-?}WW ze24!x{Y;bv{G%hmNExk!iD@#}JnqT97#L`RKq1U4* zk~XoVTqZ&s-3~vEAU7#Xut>>g+;UJ>(!$IxJ}1PE40<+Fb~?UJ5+6yT4Yk5UBd%H| z&LtcO;ZxgX790tn-H&=Pracy@jpBV7;pXNn#yNcS&Vgak)L*Pn_k{{qskX>(S1Ja> zXCoaDYph4phzd|%m1q!T$zVj&RV>17U=lV^a5W&zlT2H0B1;52*EbLp7Zk*RgsUZz zN)r?eURF3AArd`fzDpJb8t!l&2yZDYt8iMYNYDDfp+JoM!HPBclCwaumrx1w@kLJi zAY73~JBPP!Y!&8ED%v*oqRpEKF%a}!d<1Syg}{Wg87td9fJyUlgGEiZUOu@_jx<)F zKv)3CE)Zd7_WY6U-ycBwko%l=ZOwy12&cbcC*S*EiZ^) zua=Tmj*4hu;C98{Bf$+X?#Cx2)!pCjr2flh_}G3hX~wuEfukR%lYj!@P9R?C!cEhe z8iE}-B!&%gm3^u%S%XHE2mU06Y)g&_e7BO5s_kZun*NvKUhDqCpX=7~X*x7g@#Eza zN2wakT1nfblDy_VCq)&Z4BeNh)%Z_?F4C>nL%$6J-VO5ZlYLtbE6#AHt6Y~od*(ji zcX%_-@)PXha16?%I%OsL34=Tt?w#`XgFjE4#0G7K3xN|gQh{y8ksO}mnRL%`;rpIq z3ZscjfX4E19G(TDSswh4lT2Nn`mh?FNUDAQ*af;o5U9_;objNmLoYYH)`fG1ebc7R z$aHtNy+)8-GOd94*^9eW=zEhk;p!MlnP{?jMbhaGjR=lD?O4=YpH~gKT-R$9vHi)x zz-=BFuv*%2NJJt~JCpPQAJaA;V9l{RDJDeLk|HE6T<1f13`gep4r)>Z;e_14vYocnKnix#1VV;z}>(CYE|)@Lw@^c zGZeO8)4hDIAHsjaQdrP(o(af|G!hdrEkP|M)GC}ptD!$h)js93>9nhA@sXh5zAvLI zm#kuf*26nfAm>a8nJQ4Sjzp-CiHo(a@fGr3Q*^6cvA`r^URHL@)zKF>P>N?NHN&yc z@pqY(N4N|XC>u_s%4!+xu9E~nwW@JfdN6&&qri^brqah<^|%myMi&sN9% zW{FB6fNNr07z+PG_iIQ=PB_*BU^M8f?tCSy>s{?b@#b3RdyL2mmBv*lpfO7M5jIcw5wgoA|drNroJ5 zn9!2mIPj>0n8=R$5!%4_D4}33CLzlsz@En8DCfXKK5ITddDqM7&2%nezXWcNOMXk2 zz6%L7z60&_NI|zvluDwI=+Tv6O5XEK^zgHzzKXaLU7vRQGS+!2WgS z=2`wNvsQLbDb+{lqox+&u}U~^i-v8&XfKMJ59+Mt_`sNs`j{7ZqmphuK?bOGY~C>U zoR>xx@a@NNCBN5i;N*Rp+xKpS8&n>w&QcT9<@Z%{YP&^7UtBK%=V<&)Y!TXZ7CGrm zYrN5{>hOm@r}b&eeI&}j4Zsgy)&h`(v+mWV z3nY`^U2`ceI>KNBh_oT^DY(K{WKe(6_t!(1^p-tYxuFrc(3+d`7OlQwWc$uZd__oP z?IdNg+M*rvOb#{?@3AFE{u}}cCaW^ML>mxDQO2#7Ar{c{Eef;R$KA7 ze6){PcNnu&+c3pbT?VSsap#)$fG^*Hm2ssMNQ=_`c<(stc7?Zg%7wBTeqm^>$w`s6 zIg~IAjws4C?JDrx*`rN%g{@2RqQoNoHTEj$C;lpw@#E^BcH$O1o81NZeSmWCQ85bx zqCskb%i}U5J$DCEns02@xh`oJiAUSXtdxlM4%uxNX7KNG$!r`SWvsp>L*F|tugWK4 zwo}sAmmL=-A0fm~9^@=YC~t08{6^&1?o6FLa4y}Y)62_q=Q5I^^~T}=l%E3;EN^ssJ8-FYhfSksuQ7}F@;n`J7y7OU{9P`8KWsF+Ak3Q5E=G^d6EKA zzTclki5`StX1as@Xz>H0JIg!G`&_1K**rUD40UOFH@(&QMP6=ALcCt0cknNcpU)w^ zNp-b1SF`9S)8#auA%@dR9Ll|Z-ik`S$@@2OO(IkqG;DPYZ@W>N&ej3Co{uBM)&Y78 z$|M*}{O1+4=)(BLW2tNq9u$+4N_Q!WwnPO0jl2GuN(5bQWd7>`W$_5@&&gMkG6bbV zQe5U(elW%745d;495;c-w)7mI&w${aTSbm4+=zOY7fmoeWT35p2xPBcFf; z)0^6&f36=H=^b|?nqkNgFBNa^?Tn<@)ps?fDMPBL$w|!Lv`XrHtUNeRhS$dY zpF^3OGgC$(FF8r}Zf+cC*H*vhkh;Hou(=;FPn%V$u<9V_8ox`G%y_E`6qJ2SSzgzS zENFIAp@keu)7Y9kSH7GUBnbNRn!nZ6t}M4zC~tGuh=bERc5ItG1EL#{1sxo;lJHBCOC`()J_#*k%6 zcj!7~Um~Z?vL`GJZOaw1^CcW}n~=TZbu_udMuxwePfzwz*LOqu;)QBqq?{gGUsmxA zhvWQqP;fG|Br(t$4%^-DH%;KBh0zd#J*wg)Lzk@Bb9RInf^(c$e-Jg(QOBiP8O0~y z4LF|#D^{A+!R%k-0XN$8uTmZrlxHpIE9}90#?{+p4)JsqJ9xm*dHxS@{4ex@|AwB5 zVa1wQRdiCzeHL5Gq!AKbA_S2xxYD3h*($S2_pS_9sF$5VNtB7Ayf}{uSlq)DYFw(4 zA|_ioY+Kqb9^lmlX^TTXLm_OmT7(3 z(O8JSIv6?&Bde`$7=&ID}?*I$$RlN&zxh?3HMU6$AqB%qEYJ zYXbQA;e@^e-6h@KN0onj2=Je}djD-6#dmFC$@IMk|pufjneFzd0 zzsiEbn>yhStJ4OB|8h|^4XktSR}QeIoPx1npm0pb$j?WcNBHr=wg4Y!f_!C^cuyMm`CFmpayo!E*g`z^y6jUl+&wSb zx+uVeAu+u(LaV3+$UI3RV*jagFCiwsPh z=YR;}3Znt4F~kydql zS1}oZL4R{o%7soRe?RMf7CF-&)(b?Rrf>wgW5XPf-2^R&DF;9_Wb_7Ve=oV zNn!pgdH&nt+;6X8kq3M}1Nse0K_8Mnil1~I10 zpl2o=XM6b{{Bj5}W)9qN|HmmtnxHsUVSSR%X000`p6sHPCZ5x@240n|_UW2;33vq) z2K(8o$i}N~^qLNX>1)t#r__8uHuEZxGjz^JuAWJSwiaMWg!dqu-Ii7GlnkBrop2F& zk?bgxbzUjIA56oR^rEsocM#!P022#ej?I}p9tP))BJu*-6k(?kG2kBT4v#C20)Nd; z6u2l68u~^i7a}D|GTma*d$PQ6VnFQP-Mn`$t<+Cx)wM4M@@X1el38;hH@mTOP^JL& zGe=@_&fCL*S>tQ3{mCGhuzZ{Yon7zR7Z{$;P5?q9cb2IL@@X_6T;U0~ z>XXqHH1lc4A@u(u2KQgYL{Y!1;VnRftK~;H{1Su62sns-4r3r!%RtS@w@WTLkxfWR z(jQ-8`tFeNsDrDqr0oCK#@lN2YpW%av%)dBYe1ZjsEx$BTf@xPTJ805w;ub}z^GZ? zbTl8D3CUV4K#94COn}t9bF;g|HK_r(^-B>FKhbZYmhS;w;#rG{>-6}}H&!rjleI&z z`+H4Um_&(r+!P=p8qz|5k4akq3;jiM_@0QK{emT(`ArbK+vuU?WE zBF~vSRG#7sBfQfW^X!CjQJ6ZFL#undI>&>9e58%0NO5I)hsq^Z$G+>pFRVz^GF+si z7qa0y49Qv{u6WUrX#5#YKIlSQpuMCF)X^0dobcdr#y_}TIE7%?mRqka{aV8juSug} z3(E*rl{jjqq}b@A6eYBLqxgX_6sC(w1c@vdy6B_Ln(JZT6nJl>-MlgB9jnRds0e<6 zo2&~=OaDcr$T!K6g9vJfnXAA>i6PyURoQ|^nm`-B==dD4Veabb!z%|T&n{79{e!l& zr(@ontkW#a1?(_amb^IdxPudse8G9-yiJ7e<&W~+)ARD_Lb^qR zHy=-A-3Uv3nJ%ul3u6fX)X30ZytLwdc{POm@epLMeGnpo+~ur0JW@ zrA=K+Wdg$nhEOXnmf8J+Y2;>a^{V5srB}V`2agPQeskp=Y}a=e0M%FoB3(G-`9z6l zdW=O?Zs#+j`rf*Ab%AOsjs?KHHCc&VR~1&VPB(n`I?2-WR&Ot zOcqszAj^p%sOQuTR#VyH<{m?*`!k8KbKhUi^*7uT{^?+|&=l9)nv?h%GN3s+V@!j> zKk=wvu~`)UpyvgAO6@rDrPkJz{k`48!N$*DYdKNl&y-4v8ewbY!WaD+)vy6%e!fHg zCv+MI|LYu3kzj&!g?BkIojuhgc=cBe)6b%^aisw1!Ppr2n-Ov~qY5nd;z++FwL!!U zhN&KXRr`$s3cl+KbT^;QZT83?8NwzkyRHFT!vW6=1R_<_@j-U(U;%P>?6N(ESj$1ae`n{{c0NzEnb%vHHtZ16^Xb^$Ufz+9+%_$e;Ct4Tsa*&Pbq z#ho&T&#S@$Tm_Fl^V>+$+vG9o{X7TBbvNG@1)FfQ=4B zo)Y606SnT0pRn|pll^XA-r3MShQ#%D zRu;D`rZW2IrkymI7W@b^f7eN1rg20F_=bd|y3rR@71(Y4oR*irIwcjTMPavlJbkuz z^sm3pfe%oz8e+2B~xSU1VSyiUl9h7cVbe-E4P14wDY&W*;q;b-yvCYP|**3P_*tTsOC+3OuPVc>MjPoxefA;?N z!klx>1w@ka)eL8lvGEk!t|`8N?;E;FK}9}RKIf(>X~HOW&vs|-K!&u~VoHP9F<1;DmzWazP5v!UuQOmdURI%^+>ays)#UT|Oc~SfUR>=kADxTpKpf zFnEBs$6B^Vmqo?h#q{G%z*+fc( zm~&7}Q(Fa}hM2e&PipOQc1&~K1<{JlKi2u7=fq4|5wzltqnKZBKVet2O|@1J=7O`K zv4Ko;P*{cyB+pi!oT0n$10G>M&=>E#lJe$t2{&-(=duZ?|9ZnR$CRX7C6L{dOo%jL ziGcgyNw55bsd91`Zb6{ylZFn_MI3sSYp(lja9=V4dH5&gL;6|gJFH87Wu6BvhG<4x zsr6h+cADEC=2c>Gqe09HhyioGo5@1l#rQ!^13ZlDZX|2LTi9sjq}QpB@tmm-kh+sE z+9#`Pe?3YM^4}*ew_ynZYWRzK(ALN>MG`2L{72)?F)1s77pnO4{hl9R^&M?M%i0i~ zZ2Z3@!HZ=8AN^N_dfzf2mOFkDNoOAx{GR5F5v<@_Z>+e9Erq7-%fs6tAS@iUs@XI= zYWTGn{7nh|#L?5OCA3uz83z2O1MHJmiH?Y+Hg@`669zc`0_TkO?1i>AJ=d+zkUe3s zMm3Cs0EGcoA7oeEm-JMeMQ#N;GZ}K(aH@&3xumW~R9>fI_M>Sq#9hw!sJcR9$NK8V0Jts8-dk85;4g2m(AI8EONjSGE` zGXc_WK8uHQ^?-U@xac;K-F@Ozcta~Iij*L~lGam=9~WWFa^vr0YRRt>PK;580coBI zXMUy*%#Sy98XF(fe-&xtez+YS*e5p;9Nxs9CQrrbOlwyR29ij*s2_M^q`${g_HqIU z-V-*bWN5gE`p0JALc4-l5Rn`I#vDuSarJG(mk9IZzC%Pp)Fd@G27Nv&h*At%vfHWQj${na@QW?u5Sw5ZN=@b4b+8N zq7`jo3#$#eaNRP1uR?rg%1tT63kN^l9g5q=SCPI@a;~aLZX(EvbPEy~JK1O2EFSW>` zp;FDP*c6@7Xscnphxk`C}q@o+^tBE_Y2R)sL{!))k1_b^k|}xE=YV zzf>2YIMVyk7E}Y1vi&+vyRXnkd?RrN(Y2532$RJ<4>CB4Bw0^+Zr)ejTYd-VVtPgYXfkm^BmRXLXV4zM zo30i22mG?L@)9K77?t{}(%JEajx$6TX~M{gFS4#IJhmt;TqeI)5OVD9d+ltz@sJJ~ zotef#{D=-l5Ads`vGFO!RpTWtj0IK8Y0%UkCjCovsi=sdCblfX*&)tY*}N9kl&7@YG3{B`m#I=dz;#G1$+Jo0A|EB6m)!~!eT>=D5On97NBcbW0m`L@!-(Y> z?5OMqQ;=r!Xc9T(qhbD9{)Un;j-tQZ7*BMbhwiM^{f0Di9$O~Z2_BDDt%cs)aDwOs z?Tv-Yf;4#_Id5fwmJ@66FD|`Kzllk>Vj%GAs*}BZ1%eQfUi`)iC90%OS%WH%N(L{LD#Id%lvzkGL9Q#vxGAtIAVfS#}9z>DY3#Ata<|PdqTE zGTxWp0QII9;)kMAxNYZp7;Ep=L*x2NyVvzzBppR!KPKjKzEKPGdVf{D{_amton7k= zUywtz`(W2;^j1}?-syEvQw#%ZpEI!}cKsb`4(`36CB;|TW3?rq{@;0`J*W-%m0cseQ%DE?do(YeWM{hQA7MJ=pKCh-}Y~fL4xj zMP_ttH%6bp&B5Z7mF9h@-4*MqjuU7cV|vgeh5EDA6(vqrfaseDNtRn5cGWt>e>q&& z;P2FaQBMzXyX&*C$^~-CD_BSxr&fZ@93_Qe#e_DCVe(zXS+DI%S8@JWKrfF-OULgf z(3)E){5I<|{)(U0d@JouCbty+i_+WKWMJ(O9?DZ{kXt=OwM#p;41x*bal+XrS&a{Z zdUEImQH^r+k|QwkKbcdz42Kv^B{GxyEuHbi+K`+JXk7E|=K4hZ13LU!MFmE$!U5`h zt?rdvVd@_2Z&mwYT8ZxGR`l@a+x!r^{9J9*{C2j)0z;<2Kc?T0vCkjJiz@Dxxrpxr z)(#Wh6m+lii~}JU3zTok@bFl5H=7D_^qMX+Ty!L~@qR0Y@rzR(4nd)2ceyOI4$abT zG~Fy~s7x$P-LR!hujBq}NV7J9rAcAjO^0wz1@ll@z5m<`T2-5!*VbLt z7GphZY;7|YYXl&XceU|qkxp`8wV|GHrxHgKtC2mH`j2Hg`G+h#qShA|QuJUl9KL~r z-#FHiquMYLnA++pg~rtC8mHtGs{Zuug(vr^19u%h_cP`bsJ{xUSDGrC1>Grfyy)}n z`WU|pqMtmXN(gyng<2rpyz3@3mZxC;^j+phtCnVz&s2Gy;A@pxsU-Rl0XS;dk()7- zM;++2%|@Q)tXP(EY<&=+DRHApRS{@-cZmcjXqUuT=Mu(Afu?8(8@@;898W0V)ul9R z%iZ8$)hNu@Sijv{Yg1TW#@nY6dPTt-HK$W?Ht8dfi51XL zkpE^w7~-@fCEPKoa1xEfvUY6r3}@i*7LhEdw2<(+@Ec_tnztKo;1vOSvlN<;5jf!nZ*)<6 z__xnV!Or@RZ9}1&jHKZpEuhY*quDpzIdRrL5gtO%7vF(!yJXYxY1bB~zJR=D!WCPF z)rL`C1{~>{^(b{7&&xH;h$&BxzTeSu_Nl@`sg1m`6XaQ5#k5l7y$hwhc)KlzV=h-S zK|~4adO{t3Zl-TQ?k(WTkBL-;66-QLmxXpm!RN^^GZ^}=bFG1zK#O|IRF}sBtXYMy z3+vw~)cp%#T_1}dA<^S+R|p?skdLmcFA%GVXmzo0n`n4o$H4?=>BlKTbx)CZOKtE1 z)i>dNH_JfUfJd2gDOovAL^!C4Hisf}vUzwgW`evYL5%USGm!wHFs0XeQ}c`BA@BQ6 zUmVH9%9Ia=n=5%Gbn-{4B>!yt7Mne~092<wq~~;S@JrJHDY=JjIbOvpuEk5X4eBK&O;f272#j)8m6G0%gRW~b!^PK@}WYS);SSBUC;ouR%@aJC^71Y4ifs-Gh93s8LooL!)9q3yI} zDmsGh;{q&bfuW+v0xgxj5O_l%Oii1s#0?gy% znw{G*?3`Olx)nY*IyanHQ$sl6OLGEYP|jxcv*K>gvdPYR4j-!=8gCTz@F#LX!hpl; znlD+hqWy}Wq5!5^fnW!He*XZRAnbk~{GTd7@)LN3Ds`U6G#y)RG6$dBXK`65k>$~F zy=8TWd49ivRn^4S2w^338mR;wt~%KLh@}h%;UB9`WB3hvwasc6Hpk{8o92<$-gK!r z_3pHqd^uH47jPR=eN8v27Y31@$k~0>6j#_1ZV70|->U7bmKGJI!W2^noXBtR?);+R zQ_h&4f-B;|_hp}nkTHrqL2y!RrDvsut;Sp|Lvl=6-qZ}nqwXFwy4&3!#F{P7fK4UH zCJ_c_mymQYli=0jL%ntjqJ0BOBvjnQ%@QGh1^=&dQZz+l;5D5;`%Ihk8sCvqJ?1G< zhAmGuwp>r$ z`C*g2Hcl_yo~j5wsd7bw-L@XO1be*ln`l`XWXp)*FvN66)1*}&O9ka!>EUUHf%Qcz z@E)OW)5%VHY#Ea>#{}a9%{4LoQvi(ipb*kbgN7mhqfJ}_h+)k@Y&{h4?aGBIpYI+; zq;d(LhM=fF?`Jb~!}KOC&aV@*A8v&udE|=neTa8Hfi<%JSd-6~q-wB*2@G;n(!7?$ z;bK_9X{$0S^KSLOYpF&G3kCC&-QwIWOOt`XMHtylm@)oPm(*5iVU>vP^`BD(3GImrC> z$G595YpYDf@l53AW}_23;wx42R>Ot}ryS$;c}{{qd8XZmw>D})yX(hzVu@YL*Q6RQ{Y0KZ8Q$KMn z%%}&_eb31@BdQYRXL_@?tSu=IVP(yPbQy0*Ac6qZT9`9y7`_6rVU0=zOHQx@Wqt;c z+mzV{7?(Gsf$swTA%evxrAu_0;&lvlKEO!85!wt=kXB}1+r{nvg;*aJFPp69&S9UB z`wKq~^dW<`Bbvvf9<`+5BH*Qr`K7f|KM3Zifd=F1U0c24MWqn#_wr>6aCm?slmP<* z5RYyi;I#3u++pK}FSlONBYN+72OqICVUthPjK;i&`(QUoJZ>>eW4u{YPpe!oBB>fO59X(aX%KU2a#HVt`=*e~g>aHjml3%IypzS@05E zg>Tsi1p^h0g>S)6v>lQ71#ccA!CTMk6efjCA}kEP*v(XTlJ6bCS$!A2c@|a1e*QX6 zAVZvs;f7wXCOoLx2!JO$ua(-K6uCG>Q51*(uo(4H_TYxh96H2`*fY`$wrcxBnU%aX zU(4FXtfa%&0dxq`t6DEO53=6!)dM5+iL&cyvl&|0Dif$fPSNuFU6tr`MgDnO|5M*^ z1`3l065Les?BNeo#l&q%#GT#B>=Z_?6U&=}G=}m;Kh=rmw$l`HkzjLWK&EtsK-_4i ziK_haZ38q%e8WjK?BM`{Zl%yQc5CGah3KQ$7|FWx{1EXn)Jr&MP04LPm=jmLlkN0T z`1U+Qazz(r3d`88Q<9$K(g^Fk$*kDERYhb-MCb}aSLp+$1 z?dT^svUqpopA^u1uXUriLui>_^Nmfn#%P|?slZ0x#hnfm<EDn!0_EY9Jb`xB- z)kW5!fL0*Ch)vS2F28hZ_1SaKiVwW|Ak7gQy0xXJmgo;+LbfP~R`u^b%p_u7GiKj2 z%zUcXN=|cKWGGm%#|rspNNyi!W%nB77(0JkY4*~>U3q1L4XrL4L{8rGu3L1#Rm9n# zX(R@cT7V}E(L%Y1h@4i48~9~fnnkLdO(@=G_NP#BuYWMs%C#kHEkk_Xs)*bR7c z7B5~>)!>bEBEx)t8>fEfVp`hkrfgi6N_Vf0I7^sTGK%yFv49HW;0Z3;%=!$D?R!+^ z`PvcNK@vo7(id1R!me5t@mtov_Bp-1+Bw&_AR8!hP~WKV-T5L!7IHVv!U_Iw4Kpcl zy7)&Bc@Xv=8Il&lo7?n5)Jpf`kuAIv)%%5PwoS>U_P-AxA1U^)sTM9JEZS=fMy%kf zjcgQbTu?n7eqqjvdzZyLQyGQyPEkn=GNDrPXhs#BVWn{hNo-c zPrhHy0%(5i@WOA)yS={oj%)<^+ROttuu!o-Gn;e-K{0HjA3ojiMn4F#Z|oM^4zAxtxN5; zVl0DS=y>!Sk}+iwf@O$nT*IjX++_rlTHC*X+Y(0{#>HQ{&2hXbo^0}ohc^Kbc7zn( zm&y5Zz*BF3Nyw5QZh_^4kvg!4zshBP_nSzx#?Gz-*6}Cufu2Hu;He+DG3@6lq48Z0 zT3Zja&YzoAQ2)ZPMP}R(p!V7cN7dHN_hL=rbs zq)I85Jay$ck!GBRhFc`y5O1q!Dse8{Q@|m7%8@Nn)K81XnxKhomd_g4;<0YZ$0U;78gsAMx_6G7asL-t+O0Pf2OruZ>{v2FnK0x!3A?i%IoFq{S8P|c{#%F zc};pU_+Sr0qwb`k>@Rswj?B7^S%Qtl{iT#A$cKCSa+?nUCJV>oF-t$>Z*}L-wU6%* zIeX@&#nJv;TGrqCZZJwgTuTtX>o0#i4BGNy!i0@ zk-s$I=elO16zl2(Rn6nI+-}RIh`;l-j>`ynmPVskcYpxc4Q5O>fx%e+SJk+@xfnVU zHGZzq!brfcC>}}?9?78}No;lDfJ%8bQe}QO6k-s@>riZ@(ydz^w=&%zBG_wcYqM1i?lm zf);8&MDoahk?ao26r~XDPHznwF>u#9tkYZV8J#&b?pa9hi%&dH2$q}@SHd6tGv#%V411qT{_u1LGgJd@z<;mU#*5C$4_f{)G4U%Gy4=- z>8v)Cxd2>$IGCfxY1@{R@PU%MPF>{)`dyDgzf6?`{6-F0gxyC}d-c6Bzz%zJZ; z#l(#?h)66EL=0%%D{06i$r_vR?n>I8D`ATQ6rm)pqw1JoO%YlqA-KLzqB>gV_AG-? zzsL|>1dR(KfBa)DA7sQkkr|7Lm!rH(>cX$TG$W5(;=UFy{Q^!g0T{Ktu_Ld#n*OXh zIB`H{)tSWu&#z~#zo*olO$*?9vb%3L+lI}(yiITabbsf-A@oDIt8<_H$A9Rz1CVp| zl@Y@{74+##gS#pCXIUFW3qN#!fEZZ+kkZRb_TmYo#N93uj^Hw7ywCYiQ_ltY=+Fz%Jggr_*u1MK8Ss zf82ReeB`FVdfX<>>Vo)CZ4K(lZZpiX2xrQ+{J1hxDI8*%C^c;j;eN%I!1 z&^2CAQlNvPrw|f1dYxaKg>ForQ%tDFKjh3dDOV5mXw=kPRXh9A75h4E>n8T8HrHBg z>u`)KL*b$eVgK`nn1r?wnWuxauUk@P(w&L=0$xWJCG#U4+_4{jgY}N81qH-%dWwEK zVI=>4Tp+YLs5EmN{rF^vL4vvkk0|yR{&o`$f0#M^Yttbu;{Q0uwD<=k*zV)=H=p?v zS_HAH`Ts-x*W4^WJeKP{0YlK6dQ}=@fS_0V_h!(7g-B?1@}JuP?VdVQ2bFE$nA>F0 zM#1sP;pzen9u0c~gd7hd2|(*orz$*rB&`U;qR>G5D2!hGem>b!fGU}fG3roDqWt`3 z{`@{dWl-T#eU;Hd8o5|l8=K#PRw1TxS)zhcb&;2g55GL6QP*XZMGuwXdYz~#Hi)+P z;WD;JKiP=)qR?qxk=Mo$l{TlbW`Van66{one7fh9=T&Ga; zGh+Q5?nB*+OeaX^$&g(2F?y(WD(ydb2S!7f6k1(2b~$w;ieTve^FEsx5mIqNxAPHy znmXr75xlJOKA>l0x_ewx&`*$X+^_p+yJn)??p2UkE}~&c=ZOKYi#TWE9CT)TR48PR z?9pgR?bf9jfr^ktwBr87|M?fFu>FI(Mf3JoB+6%tT3_UgiATGt)gW)=8A$`{^S;e| zd&pxC_@U!0aX7Ht$@qrHnUI#W98q}_nM!YI)rw0~(O|Bgqw#|1565c2QhkfKcZ6C& zM`@a+L#HE|m0p?nynH7kZWfg>mZDxD$_<++k~^ttz&Y18QN?fdYeS|qi3XJcPKi|` zmKPf|;M;l&dw49Yn^5^!1`sj3Uaz;!V3X%ok3)z=!T&1aeYr;|^7f-Upkq`F)|Afh z+Aut;V&HC@1BF46{|Po?K>6HSN)uA!ftRg;h`Fs_SzS5uR`ouPS!TK2s?P||$G&hv zK*?{E>r?PfE@%ea^rCiv@9WnO{pF$IyXj2aK{mdC?tPcp2M$qhBoaO7!T=HKU?%8L zmhT{|0w%Zs!0aL0-vfmt*7KSu_C+y0Qx+<-F{0X~%=0I)=$aQu*&~f}tw-BV=%W^0X}esaiyn6^38VLB8Gu}j_P(qS$(TebXgnE8jbOfYaTU_an6^}9OjkgTUsQVR^+Xi^verybBsLp0G~SL1g*`Way9T`?PXj9AOgkZ|<<5I4Otf3u_!4a{1H^ z4r~NV(c<2201YJ|gZ={grKJ7CN}46iAh!_5pWP*7MTU|TA1w2=N}BD}s7=cJ&i3JZ z=Xb!Dn`=hSEYa#$o$#H8^sZr`T^@b zI3#w^*l#4D%xO@8J}X^f8nw3p6A<+=;`_^o24nzt5{JCGkn!X7r2fGQ?RE$APKeD) zuN;Qx_mGMWtH)XCz|qG`oZgR@d}jC+@26(~eE&nxGuStduV_9LA

%tGt}z%{~`5 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

f53kAocWU#BW%Z4zu%3oE* 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%0D9a7RhxlDr+SQS16Ktgn$ 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 oF~ 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�LMT6ca3%U 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 literal 0 HcmV?d00001 diff --git a/assets/images/forest/bitcoincash.png b/assets/images/forest/bitcoincash.png new file mode 100644 index 0000000000000000000000000000000000000000..103ae537afc4a4e3c7322b2706d946a5d560e7c7 GIT binary patch literal 396727 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 z­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"ZVezewbW_Xh}V4rzP3{Wuu%|vP14#? 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

nd@t1FeSl#FT+Ks7$Q!@ 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 z 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

y(JyGl2pcB=A?JDZ%(@R8<; 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 z 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

0FzZ)|G-G(Zz($v*vMxRu}z+d(m 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%0DhAF{k+fZ}J!m0hi=S5C8k>Ypsg8+xqdrz1Z#;9w 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�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

WjA(hV!FG|d_^wU(dQHT_frLlF<`xL#w~{B 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


cC@Q|@&I_eG(2 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 JQF#>n{{V5eH{}2T literal 0 HcmV?d00001 diff --git a/assets/images/forest/epic-cash.png b/assets/images/forest/epic-cash.png new file mode 100644 index 0000000000000000000000000000000000000000..75b75c26726de86435eff8cb6cacd5f2a2abdf76 GIT binary patch literal 492452 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 z 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 z%0A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

  • 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%0DTu76VwnF#8U+&m_YhT6)v>C4eLywA@}3O; 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 w{}q8@2~3p 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 z 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 z%0A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

  • ae|>|FEinlw~?m6(%E?KsPXr4q?UBI~Cp;1@)M-$n2yf+?u;uIIR?VByr% z`EQ%N@DU+DDvEHx`79pdH^T9XCgJy7>1aM&?+$t=R03!xaz!W!c!g+zV1h42&?N#Xys5;o3RtNywLv;C@ND zQImkpzxYvfo*Rpf0PJhew8*pyO(S@yL{c`HLefx%?2x~(X66mJxefQRbfKbMgtdbM8QLQp?(-__sioge zS+xlWX;8qde3>aIQ(SGDJG4fNPJ18sod%L7xI27t$28n|WSr3O+L)962`qy|SxoyZA&74vkY>4fx?kcAa-O)Kt56UOV;2Tq7}zRY$vY z3uc(H!>BI|EfaaN#*Qq{hntlBHBX~f|H&_^^Fg^A)+k9jWF00r6vnVD70AOL8bYH% zzY#<#CFJH(y5d!|*VW#!q6-L-0DrNMTejmALIyrv&Ton9VfA@1J2GW=}nhP^Q7C#-@Y$$ zb8RDFtVBFAY<;75|1T?s0)dw)B;j%AGOXz#^eVI07@!#9%rwv2Nvw}?Q=bCPz8dmi zUV5)U6$RXP~MJ{r*2-CXrbsid*#bUMDRW>H$nwOG}-M1t@CVQ!< zS@>2n>!Qj*K2z1@nqaq=P+|LjzDB4PeZkk|osgG0IkE4_eSD5QJ$X5>`j47B&KIxE zBjTaRR5kOUi=Vjru_d*(<|yHrEM7h$7aF24Cz~od$06mG;kWlI#B@J=%Lj1d5;hDm}~*~ewZLhC9bFLbHKWVmSC)TJt!dfxfkidJMc2M=_n zuCpgYYe$du@Vd>@n653C-g0fl0j*3pk?2SFUj%)|*#y-09|Jo(dS&6~@3fJ@Rh=&X>cTZ1=!F=LC2~f#i*jJzMGSF0L>X`lnT@7VTF6VTmPqE%)foH3?J9p zC0KOKqA4BZk(=2YFp*w--K-jw$pT*zlISG*O;Xqxh3<4x2}voyn)I4%@cH>|n`S=oySH)-%bHwW-wY zaK7KI=gdTNS{kvobIYq63`Ri2{F0KXBOGjHMBLXKi^vpimF2K#%q(o1SnaDK;lpd2 z=lC>C`7T7FMXw!#wOm?o_t^lhT|l8MT2z!PVeR%L*Zg&mjvT%LUKs(M;lNU0d3}e>VDRk)agFHSalpc-N4(U3U1FFnuUx=`pR!aYD_@#y|S^>>T+`N9*V^Gj4!>&8QW{k{Fm^JTj+UdW9L zV`q@){7)@05q)lJ-mibkDG4qH3??dY5=s)vsLFxT(g!LVCx zy4#+ST9t?CeR)hmG-uh){5v^a7P&yLDsG$+PeZ0=`7VZU3bEy){)U$*a4E9?9?)eJ zzMl^U40v~*PD+0b;c~=8a#-HqjQJHTBu(nwtILlVS-facr`x{E=S`B6 z5Kf_n)hKHaCmz&Se9FFR^Fn`;y@3RR*jDPlf|o7EVR zkY3)mj9obYquaulGt}FWwFk0M!~Yy}vc=WwIV7=L=xVnVO-y+s@SQs=mZGZZ;WDy7 z^S$rd)VC+f&<~8!6>dBT!MjRFi3T;U6i5u5B9vVtWt{8@Z=Lm!c2NNu@<13P-Lzb~ zaVm)aa)}lyI3vKJDZDn=bl%Gs2^nm`ACtfI$asIVH|T8?UNF)N@!r^S z$;HLn$U$}dKt87(iB)(J4V~^_lM)X6%pBva>aFoEmLUDwwf5K)zOkV?aa0n;3Q$WG zN&qStqVH!LYkHT_trrLUz_9F1fb_DzqA=v}5@dN|!qT#6;B{Y|siT9DM>I(d0z;Ps zS=qf+X)@-bR9^zfoppM(4&Tg;SA34apKu4UAs~WI2NQk)sA+hV7Dw6i3tvQfu>gCl zw3EeO))fy=o1(>UTQYOZc}0rO#}ZPd6*VI^pOmt!h>GQl8CXIm3%{O*Lx{35HqQvP z&i>I+TBf4Z6b^C53NIe{wAuWL51_Iv+5C&H*I}|1S}^2k>nAkh&u}I*)mRFeg6`0G zr*hGTUF4HN1f~Co2@${55FltIKo?n%{%lV1U4rdutX1zKGZDpp>iJ^fgYJ}Vtflg3 z%XzvSv#@G@-uXe1>T`?#d}jr^kD+tvuKm#^ z3d&+SpqNJ5H`Af0hUM_B|3`=wstrGLJ|ApELR(NXy!vMb+DU!jPm7j>`vf?KNqVgx z`vYNQ!6uQ4jYQGZfi51(5pg z8A^5tw{dn~SzU#W9-Hxsdc?w@+T}GOM$_qrIr{vJ^)fBO5dOHQS!(&3{qWt1TQ=p{ zH1zI3r&U+Me7H9ZNJ}TKwXIx@UdIVvFS3@{ToRX|1HV|dN`$vVtOE@VJ`RK>AT++W z310(I_WI?uCBq(~pU?3Ue7cUc88UtmE}5b01P1ho@C)Mo^Z*_0`RN$Ny{J-IARPr? zP?;}i$pA2%Fb^2yK&U~rQ?vT=wZ!GA@chRhVxo;9V}?ILIQsomNv0&MAw<2b0>VG_ zE2tVN=?_Xs1<m}$xg=Y$Lp4$Pck<=}?gT@d;KCDJ>=@jV?m z7c-$AMwIByljWm7Le~PcH{K<;YxETqBeUI+JY{cJM?m;sZt>LZ_K}h-_W2L2(G#Go zH&PJqP{E51@#-^es~*8Mv1N_wg)|4MQmGngDV2Vn=fK#Fo|Hq(vgT_1nMXOTFIDW2};B zrJ+Zf_?Utoxh#my{gckeE_nhsIn@NhkGX3JbIWyOXjM1$dA^@nzR~ z%oGVSUDAE-xxmNRc0Mwwl+iw0GIbZPsJ3ZcQj>+R?o(t1S#8{}dwqYpDjzw1yv zHXK;C0{4)ieET;$&TA@haVpWhrJbL;_hRrJW*uH|yELkm@A2lM>5zy@Vao0GwWUZ*I6X|3 z4{wzGnW0SR_KRq|%-z1X0vWY@xW=~rIi9$x_yx}ERZ%#z@&`=oC7I8}t=+783;8&O zA`JaUcE7ko(oDtnNxI9P=|Q%f1imGto%b z*BRpr7C}Qse#Jj6T$H8eqAsduOc8oCQC#rUhcCV|#FOFzGl&F#W@_J+5Eh(zZASGr znf7xkY~pqQYmLlSZ+8$ZaVbRi4j%+PjC=BaANN=BPv7KKTQ(!5?_l0GiW^y;|;1ZID?7?0A$-HV*J618{* z6W?ehNO~E6SO2}=Rrm8?rCO~B@A~W7k$#?(lT3mO5ttDywZ7)o_V?Oo!{ji$G__!6 z?Q3EXs7W=&gDS&$$P1VLwQo+12}u2zf+~_BXIhDI;BN(y%Otk+zs{!yowUCvO`-3Z zfty|h2;>a+$v-ZPNe#z>N1gzDn@B4Zz4+?&f;z>TLkMowj~s<-UUKoMATT^ySb0%@ zy4c&N>|~F`Ftk5c!q-ID+mXVX8>vM6i*9>6084_DzU?+|+wK z-8EC1NAB^SuygQC12|t?0w91P-0d10`5bQ~9QuZO&0|^)Oe|Uu#(D6kh=_-EHwt0T z;Ec<+seormkD1$Wni|+ib1eH{*yxiI?PpcN$8q>+tF5!cAV>QJ(@s4wm055$AzsUiK4FeKVCg z@pP5E{@5pmO-V!}!L(D@1vrLh-SsG!WX?d2apV=ZTXEdW{^bGY=t=a^L!7>Hj_Bs%ec7gyWA1KC zCO=k20@aP>??^kTjx~Vi=*M2>@!w8-2PQm2l#P1n%5q%C3Z{4iy8%|$9&Pj7JFC|< z49{;~>$q@PU~RXSe6c92kMtN=R@uaZ44oY{;PC3i^W{`7zcECh$=iq0*vPleA8=(j z9)+=y+HubVL>eNwhJ5)CH}J_s*>M|xf{+pKN9L#O@g!P+=IcMIB)M)Vvcd`XYY&Ak z|7nJ$H_3Gl?zM}aDjSk!98Ha-;Pkqo3eFAQ>qN9v^TeQr&3>^#W#{3b&ptch$!uw7 zk*6NNnr$x9OXY$=?oFd5_81%&&R8h%OI2U_K)#m7toj?CF57Oxp1yD-TX5iZC+h8bd76aaB3jdZa zI#;~se`Rn4PzINM~;ecH;)``3>N_cngZOBIF-kTzzdanzSdKQ+-Ho}_hj=|jmr?{9@Y+=PfHM(i>0O(SR)=rnq=RHL zRN)*u65(t^`wkgu&W+9LZT8;=q~0zq?$!6!skS*R!NWMaQAb!XBHHAR)U>0{sN(KX zNyT}(2}WZ(6qsMVM2Y{UQA_N>x02M&DVE+W>qILw>WLSI7gU?laq938HI@GK$mETz z$fO>JetMUuuauGHzQ_;3q(7T%9xtga!LLm<0nD#l@>< zuqGPnE}BMcJHc=~6;50aVbmWEhhR0l4LLGEPt!YCOlPF{$$GJN zQOc{4zgzbHp#guuJ8 zUnZ3|rKsr;8a8zRtG|0GB&!-krybi5!U-|{u~r=Kl?3ymJY2F*Y~BwNw7ceiPq)Td zfEli8&pp+?)|0HnW3qpgBd#t=q_S){g{sl9}HlSAKL@I0UY!gk@c`l?* zf#@TVIq8r2`f&fddG24&jKfq^KOVE00G(pS9Nkj|{xMsm4wJXFIuba8biu;zOD0BD zi_jSf2LoUBmawP*xV{nC62bA(u&8GrMpCAs8rEuaS-C$HIR7XL)H#F z7EWgo6AHTQdrtfzl&`@uLN_vlRns`bR!npQeH~)`wns#!?f3_N_6WjXuEJ7jw@9oB zWdQQL&p&A6#~Ns;eHU=Li~;~3GaFv|=7|{s?;*~s?qCAk)%O;WLq&djEX^xje=!(` z#dKJ6R>uZ1kTD;~Qj^9ty7S{R}o#JgL)heiD{fD+jnuj!{&~6=!PyKY2M9j+# z_HlakCoD=X)(+#_c#CDv%_Pl#j` zw~*#~%mE<|APVE;jok|Dc0U_VSbyBi?dn1lV^x%D)KO}B z=;eIg#{^aaA9;#}k`~qh$=h@`&-qYCI9%G1EGg41_s@q`@u)reJxe~@Jhr@?BQ^$~ z&^WsSZg}wra%3p98s2F`=7UR)>aa}FToYiv`VH}Ya)(t7?t}htOv~t$+||@)c7CFY zlg;e?f28LIvUcs)f`X%}Zou|&9OZTr`SrW9quQe_fzrj(elj5%Wp=LsP(968lz(wr zjOb6E_@WcF%~Y*C;+_4|epgd(+|1Uvh%cm)z)KfajbLcKn9-${0|Z4`hLOHQB%M+9 ztGMtDYac157#ao4{~w@x(9ZhYa}CzS8a+h^ywZr%XA2nqfz%`zHp6s z>=+R8jsmFOCYe_fynwTK2vd8OD~WcK=f+P4hVH*3KsVc(aWubO%}u!yts4vq28JE> z17AoVXI~y+jYM8oauHd^)su>lfO|GoO(t*$CT(F^I^Oy$#R3h;^`ExIdVsm59J0I= z=AVhgkOf;}aw3EGXSl!%X6BluJx66Nco94-ZCcrNNPC4a#g3nz^NzuX%lVkT5NqOL@idU)8UFD` z)sJ|r&50QJieY=XWm*_lAEtPCsyySIC`ffX!Qlyie&-Az=k@V-kOej5`>}`@^#&F7 zIUw{D4U{CCA%bJX*FOcq0`eXJH4={HoOM$w$rZfv_nUEW9?L7A2lp;N!M1)35Ox;$ z*a-_l9=a!+QvzKW8pP&l?Rk>^tmsNR6PmQ~cjIMlK46;7&f0o=L?gR2EO>*z$j(!? zerP}x`#$Xp3EBz+2i4!S9=0RQvdt!YyMJO-*0vt48UdiJKblRy=wMjmA&{le)$=b0 zQXYst)alcHuRBDTtr+Ova4W5R1-;}L<3(N>gCnzS%BWv0O+jMO3(_@sBIUi)JIV|v z^#w*7TwS)&?fPQc$lCW85|7u6iDWbAJ^dJ)lp%G z_g>JclFc!M2;3DQ@(((9;7Gp9lKKj0R+va>(*oCnP~jxDDtq5;9?Q@~kf2bW=M}y@ z@IU^LmD3FPxt7As97xwjU~dE--wKLn#c(OtRT*`yGh#vBo-R3!Iw6UopMbvqkZMPr z(?q{~+Uw+6{M-C!CQN4ccdN0Ll)3809UxE|T}1*K)GTYPNi*}1+L&n)X~I;k}P zyh%LrxRuEB1#ho9RkH)5%$B#eF}OdQn)QbQ4G?))ALe3%Oecocu{z}K;+WkhiCa;c zx0mXH#Z0s&*kXU*p`7six-eMjHOE#m^d<=ycx7x_zUDZSsc@RYJl8j*3 z;&I{BV@hwz-_DXl0aVxoqWIeD>i90$I@XF2$jrn}q-WKph$O??;4f<^f^pl4<(nO| zwb#q;J7s2l=_GDC$+!NISS!nBo&PSc?1tVSS$e^-(Zr-+*?sF}ezrD5~R$SV$4mY$o z1BUbU00~A!8Nbp7CbgL;D+T!*4SWX`_RY&;rd!yge>O|_wjL$ntD4{YO9A_5g{U$6 z@ov_DDs`6JiPjn#j11!?-Mpw#*p_=L>=kZbxH;oT!o!ve28;H_x_0c&vx<|ipkKz% zB(K6G&U9cNEH|OAc1zjBmMWr*jz%~D*GE6r+GXDaR{|tB+K6HH)r%rg%1w^ir+U}3 zB;cK-pkRmav%n4k%_|MMtr%cHjBaL`L>`W&fo!y7)dMFo`%Ct>V_!k)jdwKY)3`jV z!!WnADKPsbV5Gm6OK+ZdAv`68d{2Mr>aYS;KPdBy5VjARk;CCoj>Ov3#F6G&;3aA? z4!|nmmVLTVqb);mZ>VDGbbBw_F4*BOUil#R^Bk9_auj&kH2LTDdtXY8CvpPc0{;u| zn^#0=W$h8j0X*&T8gQgBElZ9WcvI{VDf(0exCx!Hi;;ohK6V`U-kns zy>8!lX#VkZ&uiHc^SWjpHAu&X^K68luO#j0HQt(C($F_%up21i;b3Y9T;WEPI1N<>h~B4TnH_K0uO+S{_^tGznm+oRodce=uA}*^g(?lxJ1v zL&J3r6J|%F&j3QAojp`@t{rPu8R~u0BPUE}4+d)IBRJdqsIh+7XA8KiF3V>lZs zkc+;9q;l1O1tIH@nJiz+KivwjV3tPNBo*W{KX&yyd{16*EkoTSa?$kf^Wjw04|CCQ zZk?`6C&KsFm~l_4KuDT?bNIn34I~XP^e=4g&-p^VJ&nOkq@^6Ho81k%Txkr2!3Lr6 zo7s@B4nTvF=i8p}xO$E(UQIZ1#PrU*FV5(Kw^3$d)Ny)iaK%_4yzepla?TUapSD7uhY3O#+12>oocbeY96_@ zwuOmOFa4iCqn2@VsH>CEn{ zeRvDp3fs4%zs=Kp`mr7a&t5)q#%yBBoL*684-ix3IpU9Tdu-u-Np@MQ@jDDwnLwo( zaSkK__UyVDw6b?WysIRyfR1h_KpRjIx)hv{9(Pebua0frZiv4ohvxjQ!JkCSnY!_t z;fhqk_rEArbI>8@Iz-?K=df<%GJ0k zrkaN3VcL|6Y&JP-8^;n|M1c0XZ*CJ4j17ga%DIn$amSELMOp>gx5@$@s%oZ!{P2T+ z_>;s`9+_Oe5Nes>Cpa)LwzLCTA+fU!I)IiLs&_=T28e=2{%D*Nm&D)g<{G1mKC(Qp z$58C}_G!=%NelRXMo?{Y(?FZIjDIurrI`cqyULJ;BvQGhe}=cOByP@vh=vlWRz zM`M=fGC?}f>!*aYi@e*nTe4CR?me{b%bI}&`vnD|u<6;>d)13g!uf~=(ipJ)6;sU1 z0e;QL1=*b2^fpwUK#Hg&q|Git5^48$NMXZJ^iq*zqehN3KO~x3hauU%g$&`c8D00G z*UdqgEzGSQpcpZ<@-Q1%wZ-#whip{%90$j;<6$c4;o(d3*C2&GO+( zH&M=$ZHPX+4sXAPB-^*IEaB+gZYld39(9Z1CC@S9oFqrOY)(hW!6x`C953lM!8q>{ z#W%`NhXNVOo}V9(B8|XhMZem4Gid+)MUA!Q1pZ9VAc($8`X!0$Lo z^>!_#e;E6CYo8*!{Md1xdA6#M*K=mc0!P4AkX58(7rYtK=@SzunMsjBy%R&<7d_Ev zuo_LT5AWvu_vIA4X7D8Y8t#w`0MU`hn+!?grO-Rea8Xgz~hgxDy+bOaKvETmQ+G9=Sj3;!-Q4pCcx|UZ1U%q&IDO8>Um>!^0v^Vk!Rg^h)v@7DDoDEk?t^&7(GWl*IC=o}JJQRt zDL?3NpM=jXeJgul&j-5-@yfsnutr7~B&%JO!y)Xw)2K?jA}O2oPL{6O4U7HRB)WVl z#Z`SC4QFFL`6fE%Qe)C0s_I5>Z*A^AX7Q>sbv3eq>YeRW;#N8y=8p^$gTpO1aFtle zipa-)GH3l{0?C_H0;hCkVFm)}%<4t7tDTpC)ejQ)B3jZ*+gbBBEczgfqgB!Cz||%Ahp@G7U1p!~q7*#F)snjT^dH&~<+6=k~_huHeS@GXbDi@O
    =2XqcScnE@D>0nlp{}clama8-;zxmigNz1f2pgB&B7bUkRK8lb@WMP4A$W}CP zQ`SrvM^6`dM@N+==I-+eXOvKDUivTROx{SzfGVY1m%Wy;Ps+$U?GH5x7#BfHK@nu5 zz8SQqkM%wWIXBH{L|-_&i!`c3RoA?`NqZW$8JW@jQIm~m{3#2qwSk&uX^dCB8O~o1 zZ%)l8NCv07VehNkCE3yxJa_?AhK{K&2R^j3VWTZ6h4&~&rObaz>3kuJ3z13Kj&mkv zB{}pr-V3XCY{KV+4S{IS4fD3lToD=gBa)o%@q+p zh}w*CB<{iwV6vL`2c%uH9w10zJ^X`wsei#ctitPy$t!Oqb8J)R&kPX2n95=>prI$qk z)^=!|?uzsrz5^KWXY2h($-s9M&!V@tV}QP9_0R4!N(?pmN_C=Qo1UdB&KU2fFRLZ+ zkG7SPHNeEGy+pZvF;8;F+u?%Tx=88E7MgUWKS0f+o%@1vz5EoQd%~NECgALa6nI~Y zxj7ej!wry&Xgz;}5MT%6j*+8+jk(?^P8?S})9$3;5bbgnG|s${H5-XOc5q%UPaf4o zEO!;{BhBVhN(F7vs-E|{!9XbR7D`1>|_Qg_CdNA(eXpv+OyLxhJJ?M=@W7KU~ zj=uG8JsA4PTIMu~-PfQo;#2HV`nP5C(FZx+bupeVR3_uw2O9)8N3La$I7c_|oG(jo zN1;(2A5#!LlA3pzN@PHl$ag*03Ju+$<_~138v?*U>-sUP$oCLiu$53OG^Lz$O=aRp zM)KJ>z(+Jf&=3XuiEmNoaIwHP7x(O+s-|2tVYF zO#1&V8H;x9nmJSJpKyUsvYjC>4`q%J(u6jEAP26lHEZ(zXAbZ1APOXNKlTW5=T_Gm z;&yuko+ubeoJGHF>bg#4+6f!MOt$ukw+ zk)*yS4-$rfbGKEU!>_(%L-0!cm>-n-bCo?eW)L}%a!s53WxgK@x6MjG-FVzlFkMUD z?-h#GoA2{*O`8pKQDEo%g8esrc>Fh4)C)1N9xXaV>PpQQCyDBF^@MWu@Ft}um$O-k zPx9`i8FbfS$k;YvF>$WMyvaeS8o#iH`Z@wK@KvJYU*%(j_>q_ph6 z!8Bsws8%Y`vYx>U{hqmPVd2|v6sT7eG@Zyek0fd=jB6G#E^Vhsrl{Y6=$`Sn5sj?t zj3)ZUpQ;^RL$8Z~4#zWi9MlHjO84u@ZyUvT>-uqnF{D7G?Ydv{KfcEEg7Ki*`8HWRhwC2OU@j@*JU`B~= zr|nb2*xoiw@mWh3?!6iVmF4u!{m%g5bIpB>RU9 z-Z{%4Lt}{a!e#2^qZ;Hy8^>!lX$nd6>55cnlx*B%=5Fow6gRyRyTUKV?L?N38_;@4 z)IvkH_#K;5-zy=XAmPLW8!|^6@rdblw8+YG^P5Uj*R^F@LX{PN$rcj(75_FexKDeW z94N23{+&p9zhXi3+@?&}$+V5`5r#3ig+N6Epn4Ow`N zfuO0&tCUM{(xNNsbC-iC_rQVxqHZA7 zS>8M`-rnZ*Ho6(P>qe31Ap~^N<&12V)n^%HRg-!#fV`#do4T;c@mNd4i!;DrxM2KO zrra@9pN@x*Z-J4xR&g&um#{q+_FY{}zlI&Q3jb?6``H4>^$t6V*$1<)rv4s;O&Y%o(AKJcW7fBIXY0Fs`zSte3qEj067NEZE+ z=~&__RZ3MVEhJ>rdVRU*Ejjb^rq8r!=(H>Z>;CqFQueEK`pi+RhQ(miUCWFNHA+=m z@oNQ5Z6j!0;37cXpP(nx1<*Q46VR(RnVS3dcN7HWyA$lGJ!d%c?Xsxb^$Cs9H6@0d zbsn|WSz4)ktqfoZC0FAdF9#D&JZHDR$ZnymgBPJopG2pR;VmeeNF7n6On|{RTITgx z#o7i3&%Y`IQ^J|Q=grO`%iBOt|KKIl-cJ?e%w^n3ynhX_|Gs=N$wwD-v#yVjDCNiN z`}W)38WoeLsdRBxcpsZUy4$|%ig-{y2(UB!PEkrzK=3*wMTCffU8nqY)XWXZiGhL+ z!p=9|dSM|7@mi%^KT*yjd{`rOm%EjX>Wh%gnwpx@v^qE&OdDeV(}~+BX(^hIg3$yW z)31(-u!wVE5+$vQ?5EcCdFOVux{jaAE(Ij2_iXJ<$rYrrU`?9UmZWrF8LlzuveyNl z){vO&XX{zn2;^3Gv}8Gc;mK8FbJCR~eZ`dazHmmiU*a%)c#Z zFQ{Ojhg{Bn{Q_c2>hZZ~W2xS)t6T7) zHiPL7MFEjai1XXig^@2}`(4#j5TQ{kfP*F~;QcLB1Cv|XD5cWR z49(dxL#PlS>B|-ZAf5BZZ%PTKrI<gl2wb9q3uswQ34>iDAq1ty9>$P*e=XhW<^*t;f>7a^^DyVTK@u*Y8OPLI(( zne|dqG;&0!2GU5_AkSW2y zZD`cBm5?iL%)Jd(q`G+d-1gxCZJ$|CF5h*nQr>X8TZP5n`r3pRt{~W|zNzVA^?tq=8Lr&r8q`1IX1gF9aGdy?_kY zQ}y1H{QnmqlY1^iB-%b^SW)F2tp6j&^_)I1#`X0w^Hcfa@fUFmlc z^-%`wj^unvXI;UHz!~c?>i~P(52+fMeu~LLQl~7z62zR=(fa{yQlY|heY_Hdg;V-# zV=jqcnl?}<($p(Q$4Dob41hv+e=Fkv>53a&>39GU;oBnBa_{8hWtEL01V#4)CHbUj z`&pDk(+JXmsPFy6yBy*OAp`t4e5u^>?e9{SqB41oNC9Rx;3JObe5nFf2O2d1t{X%_ z=vL8(v9=E3VdHMiu^_uG!!3;&oRdwSYqr83g}azAqT2*iei;J5oB@qhrxK00>N|%n z0QB~kE>q4loqF}~BL6p`E3X&Ol@r9{@FSr}R<8}21+r8iBBQC1aAwVan$9lOiEM?} zB%3+tQI5oCMn~Ls-j^Jaa%?T%>vBY!rW0-8#ObL$dDCl7eS8h$B6R__$kJt@TM7i^ zhx;|ZJw_%siqz$rHGy_n6u`ut)Mq!Xj3{Ur3fke#dw1A~`{^)B6er5gIVi@?0uB`NTxqbCO3B7t2eba9k^48K#MT**c2=k-OpOsq!{!NN=*K zxPzBz0So)fns8d!PaDg1#?n4*hiK^Q2Y-Cqa~bh*t-#foc5QUL29qdnZV!ru0;=NG zXuPQ1;RIx%?3})?0HXS4tGGnnY}Wp!N8e^YRPiHKih)n=ds4uP^lvik^!!DC2u9KB z74R&M3-V$W2_mXA6*4KO&H z(JOUaOe*8|a_wl!R-@Jgv7|rw&;~+y;K4gTFt;j@u#o9yF8bKst$E)8V!XPZFupOX zSP`#AtfHSq8n49wy(EG6kgatzAKQ1qvQ}Hbl(t4#-N`US+QspQ(w#}eFTD7+T=i-F zW0#+tKsIvN&16MuJYot8)?~{t|e;k*l_Toij|$CF3BUOWT&X~;$iAvyB;Te95&nw}MM{260Dzc7PNle@o;B%P ze_lLH_@XI&M^cF=y*rv_Gm#ol_{EHDU+FC7Fbo^=&p*K5k~RobAs3BEoOb{V ze1`qYEkf#;wKTHxFb{SC&Y3F$$Be`Zo9gBfWQhCSsX5`A_9=}r3Q#%c=0cT^^P-6D zUiw~!X{E{8win>{^=iTi#sBS2O9DO`~^qZB;eImtl>|2%9(^73EoCtXrw!TZPBd?u0l=Uo~QNCP>9wUGPwOU z9q~Gt{LE4T4>K>U-msZA=S*0S=XuqtFNkskBl@pz&iB|gAXm5^GVFq9QK?vVPWZ?PZTBS9?xo#tm%7ojC=0gt6gcyFK2C=y%HUcGIN2L){+kh57mC$Glz| zP-2q(i2FPvL+@s&MC<-c>#~|X5 z8D!k%C>6viG5eS#z6TL2)?+!&+xGnv35^O)^vyRgL27XG3vRE?xq z5VpTai6S9CUwaTo@K$Lwg5rn-R?JRDA(S^vms8tcnFZmjM!DQ5b0Pm+_(S1i(e~3Y z(pp0m&f?+UFY1xi1`uz%_cC0qgG14+W}HpjsO=MN;0slvQsE7{Cg+;%v1J?o#^3y_ zPgg+V*ZwU?EY6xRJ7qoNtUN~3J)0VzEcmx^P`l<6Tb=%K6oOyt=hg(QF+ zxH+FCoK~zU71Mo-WCXoNIJGn=Z$wz)dlDUuPZv(;ZKw1+779dPiF1If#ZI|u&JMl8n~H? z7gk3;f83`DZ{^>2Psfh`*0Uska`63=s>6wwRt5IKkOvVOlpJMZ_-Nv9Pg+A{Ca%KWn|~s+S_l1GI*= z;Ge(VeZ?P}C**1vbGqvT1Q+cASGZ(WJ0WM2S28X1;^zWt$xc%-x~{p?s3%}N#_DN@ zgMf-pR|coMIo1**O=Zw<--l|unBAPG#YBoeC?oE_04nA9r7uSNoCX+{b@%9tJ6crS zuFXu^eDsXP#_&9tlu864BTt6F)DyiO06!TAC+e_7mRoTFewxN%;y@LVBP`erdHTiM z3|vsFAe>N)av``)N}uvpzgK~)&kyF|=*|#&({bSRbFnDEX;DQnvR^^bWzZ#MAOSVH z+zr;Wf z^X67K`PPjLF;)V0EQZ?$w`VFw*)5$2pI+r(yBbXnLkxi{G67hR0+u(pLw*WT{Pz3qGhr=mH|MBv3qA@mWYrtlexbNOzZf3* zxTAV6bU6X3MyWs7UGWYA4w1S_InJF(k&cGX{vG)f_wbIZ6w{r)rKwL zP6*^Jfc}@EX&mM2oNF4K0zH11rivb`pPqZFhfCV0EAF~+yJu%p)WT`zjr=GA<2 zviMrM;#@$+5{m)_x>>579SsSkTm2530JZP8?4;96h^V+PV7A()HftVP9c4(Frz!*9 zl(OHLNMy6$PiIRZ|FvYtxm{(a#PfI#5co46hun_yD}uGIZD^#3yVdAU_1|V~Nx79Ln>-68~DuU}3Cr z;l67cXYrkh@i(d+wHPy2%Ee}>KGe))HF)KRaG|Mp5%|SY$OLwak2U@63(i@9#bNld zO#6~Ox0M6ThQR+k{=vpY-La!-mP?`eQ9iogJH5=qxt{bB7h~+Pm`(jyF;TgqsD`2NY3W(aNfIl>N`wTcq4d5hI z8{f_}2zwleakUT86cpdPpk*n8Ub8|VsgV} z^HRB!v?xZl@f)xynMduL???8fI=WBc1sWdoLKUAxLulq8PW;LJVxmk&;WRW?ccBfm z*Xl;?!3IA)JHEL+StA*?k%{K-9I#1K-%3(P$Njv%luX3%PDkY3=kIqfM{thNHdI*I zkFPwxAG<-OepTmQ)3lrRd8iHtHowzwrRBs%{|^aI@(dX_el6*AoI0(xwe-L-YVo8a zcqlR$n;`aCX@SO_r44vZ{nV$$&y!tCS$@6}k7!1^oGy@c zXPeC)qfB5YIi~)|Z>CS#dKvQHj%*3azTc>4XyDvsT)&d&dr}4-61qFy8F|8r%=kAr zk<|G;CSE&c)P~oGP9={SiRf@-Oowq)m)+R;B36YF@jI93cFFylulylGR8wP=VWw78 zKL&HD1Rr(*k=Tlo-?ja0^2RNS!CMvh^&WU5D5Za9U>5lJ#{6Z#DstO}%XNb%&4vqvzcEk9x-OvxR2`?9?BZ8>%dtb2X-Mn-Tt;nRmm_4Yid;PVKI==p(1 z2W*b=WB^6{(Ma&-Rw8spalm%UbjO;!%;8};uY?r) zzS8R|wZ|277n}9a?P^%X2r~AAG#oX5U(>X(I^iORTkdw#HYgWP3IlCr_36|H?YwrS zLgWhmIhzlN?NAv~NoO__bo6{BVl}K>Dfh!jn>qTRmz$k)*c~qJpY;nU?W+s50)8KL zUxcu|6x9#uZ7}X&tL+7Z^QbbW3(wNnWVt#wy!n&>gH$L1)hRkp^5|#$A4UN_Xz%~1 zww@~Mr;Yoe{0u&8&`Mi=>mZzX0nQj{HucMFdc}0&SVZPCRg>lSrNM^Xd8Px&_oH>c0$#Mc z4DRJ*&P?R@Em$~^Pnw9I6Q4}$Dv$-K1{h4~NLSeWjXs18W|7rinJgCT$nUWU zR})P7*iiceqicCcr|GkpjEy6p@`ZUhpEW*Vw^cTu?EB+bv%ouEps;a>f8XYPm*wAh z8yvAFGychUbW%5f+SU{;2&0p`Q0?LhEt5KMJ zDGCc!8si1-XcOHuWmHI7,e0xKf!G31QvValu(5tJ_JxJkNQV9;D96m-r*vtAL8 zqO+%Fm3KGKm<;?xJX^?_%!weCu;9ncbbZ`C2E>eoedCjt&`zly>vMiL;>nPutj_Fa z1@OGmyj?3nM4tVwGgf?{|M6Xf4iB^JUhY8AUjCOL_u6Tc5XNKGH}-jvdX@tNhi&uwCI=^Tbkzo z6{m09q|sQYH-j5qfp*k_b1w({CCdMDLf4n7ih@+hWz$j*3Cd-rp|3{Iote8<8q_Qk z#M3$wxEK^(Z zv^6BUkrk&WFwXzLITu!^fidr3QBU4_uo;7xfNP@8%Y+y~n2-zJ z$x$llRP4IRAz}la2=-UCqp4L#y}d&h=x|qzI!kM-AOp3srx^ujk#UBeT^Lhkq(aiR z#i^-LM&PLUW5-h!p|>tbe2slORpni<2An*DeVU)KMHIoHe2;xRE=n_%)}P90*T*Wj zz>s5~%{Jub5-ApZqK`beGAu?gQ&u1Q*2F|4Dh7LCm7B1>$l^?XsE>_1UZC7ZFs=g_ zx5fQM8=$cOWI~0U)NYErVkID(hcLz?P>*XSd9kAZ6SFF^_iFChsp2{iO5gce1FeJF z`)4Y>H75*(WwLJh>f#hK`IvLZX`_h}`=3=C;bpso6 z$(1^~#`(M4i6z7{gi9rPVS}b^K1??XvBH3G5Y+(VfwgwW-RjI~p^YGqyM>)RE(pEL zOE+)&r^wjn>r~O~_UST6?s}42a?Q5=c7U{HOxgvf@i&AEou(xTJ~#=6uPn?<*HP$5 zhnzNdJad@k5ea?R>6nEEsHN^sv#}p5HpSILtw;Lgc|*+QfU-v+(2rZA zfF0Ld&GOZ>pCLY(9Z8(IBrY(|c?GyWbhCx3g!5j}Dk+EBD&bk2#4CDmDL=KuV4R1W zxN^N3w}R9nUAe6M{$8$75l!!Y(fhI-k~&S8kYR38!WXd7yFZBW6BN*(6L8JBT`8h5 zr_Tr6d(1LTBrR*p=tDV1VXwo%$hGJ`#kJmTrhoZBlpTtZis4NTT5y{Pf%oHfu1%sz zY!a68cJ7~~M+p5u{~eHHdtQe@A;S73DAdD;B7w!I!r+>0dbs)ockfJvg!$CJJU(nW zUS4+w=>+}WEJ!#z)F*lBQi2A#g6Sktimm;M|LFHcSF_> zcrVsHT0C%0{RQU|e_yn1{^%=9+3j_qTA(QxsChu&dn%75JGJieWf%2yT>O3%9wp$d zpd9Hy9r~3MR&PN*v1Tp;`!SYuqxD=y|Jh)B7q0Vjp_6V|CoWj{5_xE z_2*=$1&#>bL9Tc)tTBOXyVvG`Jyg1|$XNnAbBymZ6MuAY9scAOC5D(@@*493LOQ7`i?#jvYSB0R9eu6m+8R?w}sx}IC`sgp? ztb!=&#eiU8`*U&$sU{>bY{8R#_xp!LMHqB^`g!aYM_A@swp2El-S;VxxbJe#;fRV( zH#N-UgKp}H&?+)INa}dti%5o0b!fk#-Zid;znp(+-Xjd>>~KA5^KK8gv^hkB4mwWA~ZrC z#&3g}+Mv?YrhuGJKvhFJy;nm>BBErJ2!aFt5vr(;IMzTcrRxDmfBDC!bi|gO16N*~ z2y35U)PN((^wQd7!wu=zj~7j6Pg{SE%h)V&wDbci^fpqsN>A z8*&vj!|=&^S5CvF91nbhAW2VnKU)DIHF6*h*V|q;wAj>T@2ppVAPp7_Hk^VbX6xA~ zx)7(-=m3Wke6;&ZT5(@gy17)Qr?9~>^c|**sJkpq=w1Mql-J9Q@!=I!{=+ZuT*&+5)E(?E3MnLCUp+C097tif$kaPfrfUt z4+t3;L7>2==AX1+oeUYi7_*MlX7Ue#M0Pjx>H=8>*hBf+F+S7NAX8?9kL%;hfMGqF znxVA)2{L=IRh}Bt-M%W`*`Nv;*{|HOFHvM>)v%k5=r_X#XQs~lXhzChe)+&yyMt12 zCXfehCa-)&aU56XLn1ti_FCz{c~u&S8CX|KW1Nc~qeLGLs3I&$tKuZNy~|G8Mjf|l z#SpR)O2itU|7xAXuOQ22!7=S!2nH91*h->t68V2i6@Q_UVnW`?nRpuOe_`YMQ z1(b5MJ4mrd4ivH8EiJVp%x2845El#kU2zfYP*Iyy4PTtKarU2JIqUH-1RP%4IT=}s z=v$_j9;&N13IxsEdr7KPc|EuOURKG@@g%^{l@IR*5VLGwK02+CD&-Hi-qB@`d8=@y zAZERxGinNHq;3CsHSx7I^mX~QB7u02TWvOxhbKvX>Ih|m{*D%*xv}-&(mZ<#mnzxx zuIL6*W4vPyF3?R7{LgyDaaWFr_fl~-`VbH4s8a8Eu>D%I<*^O^x|vlZ&`$XDS&Js= zR5XWplDn{JlLyoVUj2a?b2(`G5fGJ>VPOWeZ6P8)asoijy5wP~#Ih+`NxZ?} zWE?G7=Y*UmJ$19Lp4myFVfXkGk1J=wrZ6UwMx1s|C;Ib9l{Y^<9xz#TJRVar zNCsbP1-3Km&e-8ArDnfiP0Pe0_mlW75qlK?Q&wG``r6no@%jty-%TOsM-BN0dxZriCRiCA7&Tug?hge`mNt!qJ&b}a!tr-7GW)NoOz zeTU!wZC1rtJkl`^%FuaTEwF40@fl0um{{)ql}UsoM0Dl}Mm3c51>RoVzbMXz2|ooE z(@87e|A};4)o%VWzK3TgbTChByFgG%VSwR|>%-9I&8|L&@CC>A=%`BeqU8)br11FO zSvr)={52i@wG@*r2pJ2|DDdJCL8cv_q!C?zv0d)rcl2j2A3 zL`C=a`ji!m#RYSbnm#mxgojwNc|5mrPWVMhvY9WUQV~r%yDK*4~z>{hfd|mWa9mCLLN3^%@q+V zo;CXe|J6cYB%HSQcvQ_PJeZw}kAltJvJi$1(>wE1os`MHl*qM(yk|CIhM99&XYn+l zM%s<^iQRdg&Lc1nQ*71k>;vdLk#3uLIi?`|JI+X}bs zUHuG3C}N?kdg%exW?y zBf>k0W`px=cn5uh&I5pqyw1pED67Q7aTwDKE7@F; z&aaspe6C#_{9e<0F7lApHmU1m4i^LZ#p!-^)6Tnz{G&LvE@zHi$a5>mz#97^i!boI_w0^bmNz_!_;u58Yb*?dvAavYF z<0wJA>C`vR^0)^-|7iFT3-@R0FSpkx4T+NjlX3r`t={KiV(nisfxnuY*+}Gj%_?&2 z&h&>InD$eNy=?+WlSj^ot|E2rE?Erex z4G%bb5s_yi0lDfqT@h96)WTxz4x@HO%}u#08xx#cMQbaX(@x2@#~&N;Pz{;r_?h_X zy;EqZGTMK`+-IrS({oPfS{(Z0ZN{wg|00s!#e1Bj`EWSqjV~jamf)bHO0xQ&L_Bz) ziCFxorSi~2(y#+B@Y_^Vd=$Y ziDkTvVU5^I%neR(C(N=Dt?lQqA;l@feI2|Vfk^(R4%TO8(co+;tMP^QhtaL{is`>g z_pH(>4;{6jC@?z!(0#32O3+v%g2=PWh!LYq=pbQXD8R;(nT2+yn@Chp8yv9E50M)v z*e8eQoZ(2^eN(~duQqnt!9vNy!q6-n7il{bU(Qr*#c3B&u$0&S;83_RIfu%`c|Ii4z>sn$2*LpYxW}mg%o4CPGekxPTYJ_XI zjwdYZLgA7!H6ut0h5$+MS5GX1zD}qtk7J%1xijQrbHDQno0UV&V%W_GGC~6Czn)fb z=|r!r_a}{4Y)z-Mk2%)`-R3xsa#0*~8wGKyp#_U8%IL-rFTU) z?mUjc+pI<@J;{tvXk8(Ll$U4k7sk=mQM~({Uq#UGhL$zD=oDU`c+fmHSOZE|iOQL8 z@;tN&JTD`#T)He096Hp5q)_b z+Wl*MeF3UDoDx&}aCP^)lK7Ts;}yspz+c21@w$edgmioU+1`8K^>reSDMQWc9$@^M zvjnj7k&4mlFFD~)3Oqe};Z?5=JWLUInz`|YYj_aKQ4X@})K)gjktXUUhoiDnz7uu2 z*zfOH24-gky~c0=M5p9@l)vg#|bcID} zL+czvwpX;TbU&HqHBU~0E){Nu#H;&*R}Bn!-}#^8#qhd?3}&!DKj-c|_8rdaQa5J+ zBdzzb3*UvSf>}c4?dDw0PUT*HDjBGSok7=t1u?s6Y4S_Ifctl=QUC{0a%W@2sEmHg zev+zY0*|uOgpP#uP%xw^lm;rp+o>pcA;$37ECE@p;L17sW*BPA>i-}HY9LF#GhIIy z_EpHZOC#F~x_Z6ZGEP4!z^cJpm~`nt1Fjb8EpaonH3QJYGopBH;4i+PJpC{b z*Dlc|?~?5ro#9%m3|Ql@83`OaD_BZO{{&rgE2Z%fUlaZ-h@N-MYFvN<(e0|y;?++J zT_O4m?mQ#k^9hZxp`Sm67^+m-74|iyKPbf;H`0&4|Ke*KP~2;-cChJrv>&txTDH_1 zJ%t|h#$Z-IV*O~#<4on9MswO_+K~ui+ONn6KE(BO`4B7W$(M?#Pib&L6N>^Sl&oTN z&?KYNW!D~k)fh$E+Snf=5OFA~SBm=h0fEDb@xN<3+waVWc6}}&P}Qs=Nh$6uSdoCG zX2?ip%hgRI_JMkJHy|07wtD5Fmp?bx_-5>Wa+d8Sm#$HB2G#d8Tkc!}vxkFgho*YS zbP>15n-p<+Lj(NuslKTq=!!QYz<2GiVD@@)MP2o(>`PKv2lZW*5_ZGdvLrffCuLnG z`W*~Q>=pGmnZ)<^OjY!ou)p_dHLk6t@k9`64Hz8>;;KIh#&#%#`1vSVGSV~++t+T( z-5R_!A*ZH_A37gfaWYpzRQyL6V#u5f11|6jV3~5sd47V_)2${mhWfZ`y2W0*5}=xQ z+NMl4?{7;xUsB9`_2qM6uN6;InT4H8PTKuK)yM5A1N2hJO?Ayr4Cb%pyM_toQ9YIl zXd8jz=XsZPNy9~uI9@_2F=2T_kC)Si*RMmNJC!i=W!v#{lZ)}D_-^qKaq`wJhY4Wl zu2jZrZVA>JE~lByWeVVS?VEh5?#k2;gQf9;N;UeaQw0QzI~ckaOIUB}Pgsf%_2XqN zRsR{lVniiIKAVOia(cG&Jlei({sX{YDfVHeiD6bnyuuPn!(!@z#b1QyR>4+p2s~QwMDYC z`xZOWM1v?bOV)*CVyxQ7#1mZ0%kV?=!p%?~`Z28Q|mk`e<>lr*o?I zc1bsxeBv5|?E^ps{#8F1EY-%?KA4@j(0`*1Y>AB%R75z(jC%?DR=IIgnCkIf&Z1civ{Naz;C?}R69l-jX1oi-idBYD1`>@46eS(1{?*ht3e(cLx7 zh0+Wo#x(HbL?fJs6Zsd(N4VxTs4%<4&P*XXfK`TETO(|v&|by$NbP-O_?9etJ!YO) z$sLkvva*vPU4Ru?$abUzgKWWT7r{Ogr2LLzR$$BiFz~TpZr3pwLBl;-dONm`@cXOh z2*AJpU_w-|>vg#%l!?u}nb~)nmtjL!fHRjjZxx>?-Rq*J%sc&6A9(cz-*oy%4i9WQ ztPhDrX&aihp_GCShY12Xrpjm-JB~&k#kkx8sy>8ZVcjff2vALsjya0vyvy#yNMG_V zU%eX>cIFACC4iWI{)+K*RI0QZq?FNpzW=1a6_**2o{1Bi2|c!R+hYU6uLmtvHG+ z@yV6y<84eoQMU|&&@3pJ%E(d-f{XjE^!$%o9+tbJ@f6dCy;)`^&Be_j6#NF3-4C2T zRl9O4yQhpezUvmrun|b4OC>HtIzTY{yJ}Z)Jl0xUJixBlwG8GGh-lR&0re z-*R2I0`$@0m>H6uTlz!cRe5B&VN5@-7i8_(n|y464rSMoipN7O7dPnYs`H@EWRi4! z?im^hd==Whxgqcq9O1&|yv+_l>S02XAwAw(VZx%X`i`_z>2?jXG^GzBgi-AZhkHOL z`OE2J&gxDh^0ZKeir^{@fgcK|uJd325Ki@@HVra2XC?-Q9P6pvxjRK7HgJWChyFXj z8irQuN)smpZ`c6+ZH$Dxt=-hxZ$l0e1Aa@vZ0&8LtP$iuwHVa4(xGp_v{2uboC(%A zmKELOejDZ(x@Cmdb<>`PNnP^evtzTK*AY|53n082{^(eq$POy-Uxo z>f>_<=klye)2$xRey4pzs3!f`2%f3ASmxBp#EU@Oz+D~Ccxutl@ukYtv+4YWlc~g! zcf>b_SwHwg7WSU>7`7gBo@9ndDjqcRY2YFJBFD63QiV**#T+N7XSkI{{QOXsn~;+! zuM|IY5`rM4O(w#~f6G5Z+N_L506{^zx|9|5cpu&KpZ+UwbBhUmOfqpX&*!*9z~YgE zFMxKa*#i)>w94~&wFroM=*;_jNU_QXeCF%1d@tt5_hkMDS*0z>0xT&c9xy7n8Xh9t zpeV~FP5IrKsZQHPn}FJ*rbl!RZ|lHf%4EeB{`QcQo;nQ|Z*ggTNw_mm{2;oYXp;ju zpBtiC;0aVX`@h(Z6u^MyD5pyOH=+ESu6a1-bYmKYcChCOxGycCtJhM&n7TQ8h1` zBhRUv=_llrIahD$?+|UWk^%h=7uJj+1qj$RoQ?KJ>D>)`*DU^BDhovEfHOAmugaH+ zUetgDEs6!AzDee-Hj&DTV!bXe!ixa>&!v2BHuar_Fi) z5U%>tWe(3U;`-8NPqX~`^1YirC+U;{KJ0Vy+w}ui+@;go)*=GQbb>;2TPY1G2ArYd z!NrgGPiA$N*yps-CBJrPsBN7@#gED)tG@?0Yd8*u3p*(8_s!)jZX^0p2pJ6VdRV+L zi-i+5LI(Cg&qoP7dYot0>SDJd)yx;dNmrhf)2WpuWE9Rsg11Fl^j6K&mQfcO)lSC# zumE%%Wv|CW+7y+7H|Wvx}rmiS2p2HUbhuFg@v z-*JIzj>fw`Yt?DVmbyA;N}NOLSf|(IRu(3Qw!URx_~A_-R_>I5z>H8wwh$5DDTuEi zZil0^H`1H@m;59b#Pu8~GkB|pXmQfg7b9}tg#~a_H`d>=d*$9_0&^l;K!m3NBTCCF z1c1sR`aakPO@3m#4^g)ERps2%kCKbF>2wU7oi_ZCvys`iJuO;MFKsKhYF&9u{$cC^g&)>GkF)`u=b2fl-*QQBcNCp;s!Y`@6-Qk0xN zTm0shp;8eYXlbtH#yFEZB~>~Yz%OQH1Z z)7de-5g}9*qB7lLkOzx1VmQ_qx^~jfwqOb@&mDj!?`sebSV*b zQuIdoPnG1mNu{oQ!_%Sn_K^(~;B5Pxuk*DyCeW1wsshjahTkqecJ&&ep~Fa)Zo0|d z6(4^3khat?q)EDqt|S#6KaM^uCj0;~{Xv2e8I}2nKo}^`?_#8z>v!sc6)(mB_08jj z&se14+h(PRtRC;!TKorX8F0H(m^tu@!#HeGXD-iqPDz-?^TPJM!TUe5g z>XU=iOAl_7Xc%H;QAX34`Wz-PM$zru%3ZZlyJ7nn16ub!?~Dilm+J>2?P7(W?-w zm2D=xT=*Ojw<(bFgY}a`l`o+;!v}3Ly2J`a7~?V+(dhB^nP>=PG!<0ESOQAk70Dnm zqvI@+Nkic!+dwi&|4&|DiiKT*{g^@hwMO*oy-%ysSy}C^g@e?z@aulN#Xy^jP|dN8 zeMcIy-Gu(`+>!pf7D1PV)%5C0I*6=wnF(s$?#PZ%(cVIxKVRIPEd-MJx`Z4uw^i<6 z^-j3G@ng^`+?U<7*iVWke9UhBu^p#Yq8?>9;93TKt~@NPbhle^*>$}n<@Rrird&-- z^FHp}5m8Ey!hp%l2*aN(Kaj|ur7-GZL-dDzLW&F#KqDxL|NAq_|2K>y)56sPcj_vS zv-m2ckglgpVj)bns1>j^mDAUxodxA2jwQ6Qzt&@Bah6DANT~O$)X;$Ooor@fcwNA* z%eK^ctX&x3+~gkNC{pDZ`BQWeS|^Vf0;bcqX>zo(-`z6vP8oOujGr(gFxvREVz$$j zH^9(Fg?_jgEoSlXHDZh)r|2+MO7FX(6nRDf17FSRG!QNo%c6{JAk5URy5Ej#+tvh9PC*QasvAw4n1+i`)4Ub z!Q=y>!n+Hsm~C8``{un_e9d>BkkJi&x>tz?b=My8zclvMRqylW^qLV<^0!@UPcj~a z!0U6IKdR>8Kfo!yBuFjDioly32n{d|mMHbDl;G}Z)KU|t)0WmE+?m^s-K!l#ifGH- z)^@8O54>tyGbCG@j(l7qxWCx)0W7JX&rOztUcA2k=vOXOcY#fpD(6s=-f@n!cm&za z@#Wr^&nmGpmoO6_y622G_w~k?Qg?~5+L)$cxiU9vqJ9UA76I)1JaS(R2_;AN2gIKi zwvkhC%SCUJQk~onNUM81aJgyMhwKH2!gh16F%+8>OLB$z@w-bZes$gaU?tLNCoo^cPqg;Ep1RE_s9nvmpUd4=6l9nBKcg~>pW11?O2+!gr8`2 zHqDD9t5{iDY!r`5UI)YdX5AT5h@5}cS`IL0F%3ere@gET4mI804gaV03BV6XaXgmm zM*@(LzE+Y#>`pMA>5!}#bTLGw<8upr^US{h=ss)&$r1G%AfF$@mT6a9?82U5mC12| z$v4Do%dG3R$7Wv-C)9^l>1t7B9?6g!B?CLVv5wB!^(A~AvW2(Yh8=3t&QBtt)C^}} z6WFr$GC3=o!g09WgPjK9EKgnU;XI$MD|#SgGPe`KP!UvVfluuoQSo78XM!b1fW$>L z%@_3hqtfz67W9LBlx=ml#d`hOeysN)ec5*#XLJu_N1bf)i_gMBY{WO`egBW9uZ)VS z{oXd{Zj|njlI|M1Q$RYDlF$yS$)Ov`A%`3~-ox|zziYA9eBjf}ea_zd zzV;QZR|ROp{#cm)(ktb}&lOZ}T5(3yWMOk(bnV^`=`?lxAXirkP)mHumgc8i&zav? z6TGW&cPE}1?dIX_ba&M)-D<*)+^mg^ap}ZJl6ENqRuM(LS{T3Yc>wbkR?FP71H*;@ z^ca_-I~rW}o8*BFqpa_BEtmow$o#nbymB+rg1Q`w)lMR?N`h}q6Y>1W9NPj17)AY=%@yiVHv@{2Fu z0Hdg0J<%gXs_qE3_*68yROvLLDl4YFG@E7Rn3OM=dma_OPwRVDsx?j4H zOzeBa%%y7pwsZLa{s$xo8QZg69YaIAb9#FcFh%^4{+oP1$^)ysO$&?`hn!jFwmHwn z9d6xi^ezL#ND92FF6kp6|F;CgHFp%rgmqprP*_R&GU`}w2*>I(A>p}9H)jKU%V@L~ z`ig+H(4}eR^zjq?vHe%mJfI=US<82?L5k{p5 zQU7ssqeud&4DGMA%VuM+qBMM+e@<&eqQWZ0PJq_~y&DuHu0x&JcfDXOU6Nvn)^16w zYwLexLSFm|BT{h5rVn<2epbD8!)@zZObk$Y*_OuqBLe!@H|j#}hepf(E;5){^bh{u zGEU{pg^}qrMKCw+e*xYIY6=f4U~wUSf!LvBLzc0=BHg{vH|ALyN~{)j%G{YMX~oa= zbdmS!(mI-rGV~1q5Q{F`05+pk)b}7MyWoA%t4PgD&mX$-RaX%j7$|vM9LD~8@n&6r z-1t8&qi6KM0Qlb=M8Rher4X*7xVP5j_yAvQk zCn3EfF56lS$p;9UWuQlpN5KuOkg5v#Toq4eG-)Gnmc&c~*SSBX0I#;;n`K&Uc0R zpzqx88`9xmpj=nfZfk8E$;nGi>r(1dVCBJDcB?*g7I48dvmrIA|bHU<#v2xiqMdfLI>{jH0R`r;qe&LM)kc4WGn ztCfgXVKh{=gG_%q^~1?Z%B~J0dUKbxp?pp&Fzqi4e0iN}|S72xmIL!t}a-9`5c zfBw!SMX**&nvhiVJn^xi#zQ{7*hv zV+?&x$GZNS`-T`Su~)b_pOrRuxvaoDlM22PPNm+|a-)%trb~onNpT%{Iec!VCU$O? z#`fTz#nPm_1z6EkQ}b$32#Z1s7fyqHj7%;U-m>zWR=-CYvG~LKXUnJ|8=#M9FEP*|4q0q80dxY}xRaj@d-bTaE1X&mtAg)Wy42q$mZ~H9Z)~&-o_z!cqyvpS#>c?r^QKF;Sx(i(_>1mqYKNMBk@Pq=iq@p0pnR z-HkTR_Xf}ecG8rOKM1odv9hcpjINaX$OsT~ZC_^q(m@=mR*gapRbW;_+?I|F_4(EA z;lwicxF;AH59TzigdmFKK2BWmp#YaLH_BhY&T*@~m@3f0w#)QvNS^gtTm3c=uJLH=If$Z{91Fu;Iv04V}t4>jB^ zKlRSm7hyEI!~!cs@)825-vOT|LRi5}Nq${iB@Rx+FCf&*;c44qvgKX`U?_%|I`WsR zmwOwzGbxk2@6#w|-Kr^`_}_wjH^7hy3jNUKkQGX@=Y)h>Sc-rX^A-Fp2_jPL^>0hB z&m?lOSPpX=i488Y+uyqV<5`CFx;t`r2Ap+NmUVI&Z%~YjaGKaZuGH!_a5yccouNTY z5BaBJiBC9x`zgipnuj|Hdb0@rj*b7dwFtT~AkIjQl}f93(lF7!?xe)kC7KUik^41I z_?d_bh&?*6#Jf;PQYfTIxt#{_Wh2v5G#ge`3v9&REJ|_2S>TU|^|sxo)}Z zcTT)nJ&sbwY327c`A6$@o?C&ZH-Ln6#J<9uw@h{!)=r_vCMePy8!=m5N zx#|vC`E847kInJ31@mIM{!34x=X_dzkVGSW3zT95ntERM!y3MltRb0$1L3OZ&GCZQ z(ZdaF@lRv3(q0|)u+L7lbU8ZLIyB)C3Ws)=W+%)`(aJT@)l8+ETfk>P5aXn$vfIt) z?t1yA&5q!iSv)ozei$Ek+U;3|%#aER6Ruqn^>>lu zb{XU@C&1klpYu(W#CSGouq9W7eNGW|(~XXsR5?4xvp6AKziq{ug1nhML@nBy2gZ(a zyJ(t(=Ge902@_&>=0F(9~ zD!Jbk7X+|N6gO6;VE|rRa5@OJh+?h!G&IXn-1!iQ^}S@xJq_S}pfyLsqpsxMq%Sea2EJnSfO<3FeVjD=7pd6r%yT00V%&-A^LgA)o{2B7o$8A<*Cxifktrzi zpZKFUetN~InYpxmaj}|`OML6nR8?l;d_Qyj!an-nQ>^93U`H+)GJ)BYW%IW1CH*HqWf@PnPKLK>Upu~( z<;l1qWtz9fN$AeZm*l52JTmXTgzV0+QLj5U{GXoXN7T>htXdr0GmaSY> zm`H4DyHro&L9ZCpWpT~Cx-zRUSL)NY#w^^Kbf=+QC6wDd^3jR6bk~&$!Wzg#*LAtv z2R99d-|CPo5$)HWKzYrhRWU;o5~lSSLlG4%?dL39+aQ5g#sACv%fVre@ZDnbs*B6TG29%(-Y7WL$4dUSoHng=d-Yx08MhDgYvpU+he`Z(`k@uY!om> zON+m3H_UPGzHG|mF}dhoc0%J|(g1vb!m6+nggNVytKEj-MdTE=R3VLq&b9S#4dY02 zt+fqzy@dl_h413X-6@xNH1r|f@=$eufz8T#R8QUzsp?y7wioY4Aij9rc8Y7u=oFdBeRW zkV`$C3`k;;Tr*aVw_~n@6OoX>@o@L*xoL-P`O2lZDiO#u-=_;=)r0-Km{<-w?U;7o zp4rCVgfNTIOGmLNv$&n`nx3fP-i4w!t<-PF0a1@U^&Gl8b48;P>oht>&wEeBc5&fG05pR$>wkvWlyYu@rMCLyL zU-6g%xdKqM>?kUK&5Yz|F`Bmtk&<@dkEj=Yhn$o3G8hiLvA|}A+w$r;Rz+>>1{laTRr?@!{xh`}PfP45PG(s$f5RU&+EX;sjkIHEBpY5Z_> zooj@MWrm8^(5^9v?1#_shpReaYjECiKhtc z;V&OtpP!!=OJ0^5|EpJu(jpgU&}U|4>@GGkBHqp{Sb-XdSRZ+#4JWXEs^>F5{Bxj4 zS5LOgTO#FR_%=k{YKv<4QMacHYBsa+>{Uv!cvGd!yTGb7>phRJfuT5?8{}BX!2`JACJ?xdWUh@yYJkG zb6MAM6f}K!IH*dd)mi$f2(2lS_~<`2Zwq)sksYZwLJ+p6bCvh`EO8(Shi5&G>~5Jl zUGz2KefUnBA^oVAx{B@6v1XMvqWzNWF?$XbX2jz;z)sc(SG{Fu{H91|h?$^WMS5Ro}AKPR?Z z^c|@yyYNt~soVH**UdV)??wb8x$9!l5FV$*>BesfXOE4b^~i&fV(N1_tm&woCE`oV zy|+a7A*x-p$KP_6!=EaTH!n8j-#{u${f!DwZvG(K4BWW2l688$AmkqG?!UFeFKk2e zHkTqCXlQL^{Hxmo&pkc{q=Yz-F<*49uGoGbPB42`tU#WWOFDo^*FafT7wIi!`cCTk zl0-do3kNA$8Wl`jDb=_UTl)TEUsl1Hj*Fe5AvoX0xpW631+L)9=_uG%|bD3 z{*P8ZhxcqRm6?$tA!XBZm~z>CS|M*eO_f#BNw^=jsr99bCZfs+GL_N>3jSR)`;L|6 z!-=ti(e7{CTCEFSSA}0HQRi0TnFG7jAP;(WX6E3l`cty#Dk<{B8)a9|={LSKodi*% z9~UXEow}AOVqW8VWg;{OH(N7W!>5N1HX~F}nhITkm~lq{$cc)V&KQ5cIZjcl7L7^ZMZ^X_M}CeYkCH+d5og zO*1F_Z`n%Bo_iHe;cmzZXQ-M2zDOzF6d|BDyzN9!)B2I`U|lZ+TL$ z3^%Num&eK=EqSF8A%1zMiyhDb zZ;9IT-1XF(F8_;&PMP}QnP)teb*k2qLMFUhRV&0ssvs^`4nt60OaC`9m15%it9sW2Q0wXoH$HtEl`Y4Zh=JE-QAX+jZ1Z^R^3d0%cxViJ{ls zMZ3q)e3Pm?G-mpcb^|!>pl9p2_a|bh zR80%7%BucQf86jmNR|*0%X_%9IdhHATEo>NJfBaFFXcD+MlS(Aq~UYtzf|7@m0=+d zM<~K_<$^0{A&8_@=o|(!Q+){nI1|8b5CvxfIZeN=ZJ6PZw}?e*d4xssi;`V0)8^*M zLrnpmkut_b_20jG!y%n-S1qSzpUe~av|OgP%ESE?bn9ig4&p7bkG~`m_#Qq>_IUD~ zWmKCx;7-q#NoGRTYkoFxr2^y`z4DKjr|;A-(#dV?m4Ts=tF)Mh?(AMGDL(} zg7h)f9P2%o;J9jx##EzEzNzXJ#@#{CD+-CF+oO_%J7xLYxxz2PDZ3oVVhgc!lzO^q zO-LJ-*k0I$G5?7v;LqGKuhTV(`l`aG2PUF+w>~z`$!I6O?a+rhhol%lUB~ZQi2Gy; zSL&?5?QOjw9c@d&SYHt|NIGTFx}J^+3&pqfw@W9IBH~0Nc2XbW&5}Z6f>z~(-3lX5 zzLoYTjf1>kIXdo{!-3-l?o8_B!jwNVLJB{%yW9zMo{wpG+_k)b+?2AvDdMZvZShQ7 z3~~OFfZ`~$zcEsIvJTnut^D)`ZPv5J)Lp=EpY@T5;cputC3?!Y^?WKIFVkK#oPYZ# zIEQDj;h9~&`ZVD=1fJ}kB z*3@B%S2)`NU{3Lb}9a7yA^9~V}gg2QQR_AXY-Exm;9t0%2QQwx zp^T9e4^?Z|HX0?EQH?XmXZ5e~khDs}4M9IVTl)4c4}MCBsjzjCjEvp4luW_9;EYue z;Eb)lTbo5G&XjU4yh+qZIXj#Y-9x3JuGYUeNQo@4)PP@L?#Lj)3dDQ7y5-{}PnK-uB8G?-%{}|;{p%tP z!CZ0M#I@@7S9(}K8drJtHVwMTUir6abiX`P6!G?wucmUYcT(j?M;zVin>o#^N#5wo4#{?xJoE?KSPcpced-nTTPnmX?K5|IH zRpF1$^k`xoUnf}=zM%FccvuUCdu_OOXgOvv*D|=oPl_nw>S^^LD|&5BJt_ySn)5vT|X_Yl@G3oYYg~t@c&WCWc7JO z^!`2GVtC0ODe4X1E0@uR1IV>0DaIFh`x^YznFr~|iLFsIEU}iuGe%o};rBRD6^+L@ zX%v&0>s`U<&wkOp+Rif@Lb8o0?(83aN0obSM;&E0=BT_S*AhpE7n*Pyc|tbUs$8OA z-OZ z0Y({#eOs>^jW@hDO)Ghkt3{bZ+|4l2)#c9Sw|_W6i8HY#7ZowyrQ))g!C}rnT@F|Q zC#U5YI7%jp$-D4fCo$w{3vLQOrULi;FiENy$;qJM5fxL{C+T4r*cF5Zcr}Xw4tO!7 zBz@3sH=(ObPyJQ_WZ=n-1(a-UM9~Sx$~Db+BZgKr8ES|jGgU<+4kGK4l4N zH=Z($*egoZ)==B23lP90Iuyzs?pR-}So-nCMRJFI1ukMObuN=mSD%>a$m7s@Hot2b zDL?mylTb-9?N{{1uH>0(mqmz(?}jgFW&6&&DGbDtOTp!70b@&CsO;~>AQn#SFPHqG1Lw8g^O zW$Ih}#OsHl*edCi5Pgj=-j0b1`X=#hx@w0>Iaq|PhDfr?#h+a$h-)mW@x6S%lEMon zH626ycv+RUABflG-$+N%LB8!*H0xf5OPTSTV{0SormIor+4O0v^+YIZYAF7h6W6j~Sf>U_H?aJ%MfZPMAozYGmS@^?PSyg^ zlOJ&zNzhBK4k&XX#0VHW4xRAE-wUmO>P?oyg2B%Us|DoEDSf6YNfAP3uH0U;NLvv& z+UM>5_Mw7ZjC*`SAA?#q*iwi{5eY05@YT^ToKAz=(RY3))e=kNtPj;`+{Q`&9QO<_ zfnT0r?~+I^gB2cUf8>*0?B;%^l1&VtJrCj9pguCf9mfsnC+@4Ce8PVzj{g%cXJ9@- z`{w&eS5N!bmv?@oQj12>_{oRMA@(cSsjhg_{oR1F#w+y*<@|MJ4pHnOld2<*765zJ zoBZxV_66}-e3(!n+3Vlpwb+Q>t_*14B9+nW5|2D)f;-^ib|?DCOTbibrpZ2~?83m1 zS6q_(>%V@n1nL-E2c3mvkk%$Tf^L9XyIxlC7Psd~o z0n^Wh?g$K2vb`Glz^sw-M7V5Shkk3+-}4FbXHwFP`gn4Ne`2sTYtk!m>K9RL%2*KG zLx1Vhm5F&oszSTPF90@U%vo@V# zA?MNC#lwiz?ih5=SD>F|oRHK(YKByqi>_txuv}rJ8aG%fSQDz+-T?M*bmk~kW=gmc z10dvKt4^9ZPAxOsIzDnE5{~^Nxk6*D4eA$>}k)>ozEWCzI!l5{&Pc zvWI?xd(8KD?$g|qzQiNCTuxOELw2QaC%#kavMrrUV_UU%H9ST-vLfuZB|qq91X8uV zDoik7W=Z~WH-ot)y@U6K_p6arPx2|NdZdzO7j#W`X|2KjucLYXu9IPk=cE>Zv z(G`!^nQc(%<$swB@R4p^_cvrm>(fF0Fx;wc(T9t~o4IQv0IE4K1q?NtFcuww6qOfX z#;Zcp{w6hIsg$>z?VoPag6Dq!*Zg$@ort_l=Iuo^-FK)9>?Om_wkEiLx85v&pgo&3^rb%y9_lU5krMHMh4zBRgwLksOBGX3T{XFj*o4ngd zKFpbOALc0P>l&41>OBoe3*e{-8#oee2e=mrzN^C>b`0zl-z9BmS0R_a`eT4YU6vl7 z3MGwS%4}h<{)Rp%Xr>9cG1R>^e$iP)o+~`B4`npp-`t^R-y4y34F7}%<=w(~*n2pb z4V@y>YdcPGCck*sNDJ~=)x-&`X(eK_jJcs*ap&gGB1`+OtWN)^GD^b=l5Rn~vr;t% zcv?jmzTJgf4Vw(qkh>$pW*jc4Yo_&@eeW-ta)_)_LUhdNHa0@GOQfonmn? z=-XNR=P?&+Zy~RB7qUx@)Zfxw&TGx?Q$;)`Z2nUogqwVjO$aJNy7_h+6lc@E1Zq->>hDPt_*Lb}R*?4Uxae-LFS3 z1gPV*&-yqCKMK?U1g*bO8sXbChNR!Pw}g9@b2vm;R*5cKcV1oTlbh17WxrltetdU&z+z1|Oo&mKon^k^|jX9traEfrF** z_He5Oh>!30^92(Q)-U+Etp0B5&`YUW#n(LHZCr4!@@5Eg?yQkuiH#W{TeQz zBpYiCIv-iw)>k3EB6~a})URU_)=W2T!4MsIsK`Bv?!|JXl}PjJ+Lb$}qL3?vRzo<= zmX2iK@(WK;VSLnmw~>gIet8*q*I3j!a>ERXFuzc=Bv zriDOqmVapr(OZMjZJ5P`BC0hsu-&)`b_)uZ& z4HH5jsDvD|ib0>lFueDBBe_zHeYitM6ks(5KmUL&|D2KA1gQ7XUVEC%Bd1HHv#XiR zR&^etNmZX5u$$xc2IbO>>l-R~RfmhP&GNY~DiDra8MX~J5zJ?e*2-CC(}8_xu)^33 z{qsDDB0o+v2`4$}Fh%!Qj`8z{_*tyW@46P>ZC*a9pN*z8+71bsxZ5}@o8}Nf#A~{e z_xRR>Z|ePluQ`el@ZX6{usx0Q;U}+Z>R+9RtT|hJ$n`9?Z0V2=!izW<+cd|Sz%MJ# zQk&M&$zhx2Rsn9PUAwIAf-EmOyS7#Mvcl@6Xhqvoa_DlH(cPW1se_O|qKzX*%++g& zwbXya?7A~7c}75zC1r`YjC@URoAC$A7pz%WRyMXDWCOaJ1@^Ntl$0I)EUQgsE*KjA}Z(q#voRXcC!7Z8%5oc^sr_& zlX!jYg!PE1g{1UZ4#Ar!`s3jaHwGK)T&%25PCpG(s|c=(vY%C`0fe}w1r`|znaP*8 zM#&yEolt$w2yW`f-#Or7>W?=`e22N%iK||IXGNJc{pD3@G?ck!z%vbqvK`^2`b>{o z9&YPv&K`Q}kXLk=Mu>vE*Ftf|L!br;b>P~y1B?zA^C82&h9AJH^77cs2skI1O05~N zWvk_|hi$%CCemE;Xz^?Rmu4aHU$aQt4(j4O%WL*_+_K5Oe}uBKr`;KUDD>>`@DdY( z5|9f2{lIH8cTk$L_Emjh)$nvMLA7$a$8tt){JaREY@5~I*6Gi;O^sXSe-&+lr(+6< z@Q*A~wN2N=&U2khC=q)Vz6g|m1`Ec4JIB-7XIr$Tg4ed6u)xzl^qS{Y~UwDKkx+Ha=Q|Av~sH z;VzGxA_jv(>x?NGdm;bIyIpoXsfH{?3uD~&Mq8iDP8G#u+kY>f68yc(F|B<`N_Z%C}Qh2k|yecElg+-SwJWCAN|BIAkl(-};9LkDp|+uJgmMvu(SIG=o1P zLr~Akk&$Vgb`&rtm;nuidDx#)R6s4&%l0ro%;cZapCrRqnl;-j zq;x#QYoY_&6_(0yor^;x(0Rg-mRB~2ja0>C*Q>*SYL$U4r>R=RF{An^kavJpu#1hu zXX8n2)}Ayq@)NSyYL}0=b#;ZUxhD3{4{dD`hFHqpj_18dLbY z|HA<1%`P>7b-8hDQ=K^Ng{ay|rc6^vykfI(y-J7yjmY2mROQw%{ex;0l6g8;TO+{QH;Qsns$(N{X9Sut=V4f zH!`#?ys}<7JLs)3iH2O0&zmIg7P+Ryegv%3y+(LHu7 zkGMrkj5q4=en;-TsW0A8_WME-Ht?G@nZ%NZd(4_=IpLI*RujKPx_6ch8T&D-09zS9 zTKT8KfA1j;uA?N#P|?s2=fbQiui->z7$l&SU~T6j-_+gd_Asi_PM{*>{hB_zBmBQW zR2UjEO9v~EHy*45)xjNMK~NfCxH8?t1Nl&5)Jc}|s1$j^yOhtSo6F~e^%rt(qLVV; zuPYChEo`)qMmgv5QQqUHGHU}3KUy_-sA&1Eut#3?Eu2WxE+mNTP? z`vb5xm*`kVlMhsmDhX}}-VZ&JAeU;0@#;B0+ifr(uFfz{CZGTEZNbR|2ovWZbWjjOni42@7MS;kvmW6GcE4xh|yQq zeOvc^V;G@}Jq~ra644m?M(6mK*E11$pQq@`+GB(xu(;Y%*A!gq+D-Yb-=F4hG!g=0 zeWRXNOf%GZ#f)M9T{dO=@{w+n?U46vAL%Ej+zT#=_JOIO(I)3@Ro4kcr~mmU$|9pa zSo~)|V<)lYjc221>WRre60&Cswn2$BVI#oVL8a6Tf|s*O-)W1SKj?eKEq-5C`D)&R zD?Y)r*_|p(PYGU0lQO*7<54h2#(%f0)cfG>?L?;wuyAd<3Jo)BJDLnZ0HPQmd5d^Pa$+jwi>_G+tAuY z@R;u>o(|IOL59XO8w6JD*jGWD5_HKaQ3T7(JkMJ;!&?>kR)F(n6D!k{du75nqGX6HmjO zr{wtX{d1b^KV;g|V0yL^E{vly^L$ z%}BZ9Jn34ZDk@tZSU=7Lk|ikhii0yPVZY^7CwFs?NjgFK~qa|uDsuJ=V=WX z9J4F60txEAm$JX_sExTuF3YjNM(H0xhO)k{s_HMrMxdZ?Xo-dLadYbzu_v-^kb7Ps zM0FU{I&0dqI(Yr>CRaS8jW3j3*q5MqB6?#+0k9&q?qNo_9WGG-Xs>X)fwQ-rQkv z6`*QfJic&YNR{yG)lYx6zauee(1J~8Q;dMb#)h%C63GZfNtX=IAg@xUn8|eB zxH&G!Xzqy>-|cvYJfpcT6E7*Gs8~|{Jy(Rvd1$7u9?X0tZK8C{9xyBY^6lO8=E>Oe z3$ykAA3)^pjVMdFVA{s*U`ZY3Dyr?ldW7~mMOG7)e;U2UpwC_(Ydcp1oPYgCLOgUd zX61q4Nec$MNy>&@p*#i;qLp~-Z!9#yzjRiy1LJgRie1&(St;41>y{X3Uq)Y2JJfw9 zfB=f)%xm;B__Fb7ivd4KJa$VawA#KIaSIpK0CsLC_w$YT5Z7q8~{`3)?<$c?T|@vnahvA!BN^ln(TUc5;074K?>ZVi`7R z73W2^G2Ui67_%|o6$e4F8f>#|Yy=;i9c=k^=W!W-_R(CGM(LYQvvvzBXo zf0G-@L|5HLm+0_z;hEzu%5URrN!XM+xIsER7@J87<{#ptQ@sVS&T1Ay`ll z2~N8wQ8Te{=~fj!(~mnPKmE40uIG)eN>$)TZ!6)$i`~)zej>4Ls(y`Y7S7 zq6N-+DkO+?$n{S?x-}{2^0kA%b;C0$1eMe+=; z!1Wl5mc{uZRD`;92`#d9d}~vPo2hf6p=NB^LYkz?LTgLMu*%*LDGiOO5%ET@=Ck%{o$x9?w8NEY zRY0_)vDDkVwG8?Qz4pC+n7GZBek;5j1;bsZ>h!y~4@D(kx%mL^m)?<@$F2Z1+AaWa;6jjv3&; zkPt1fI@5p4`shdiUSBVux+6%6+@~s-4{MLh%A36{bJ;yxF9hdfPXBrGW@>ar?EapO zaYS6;>wULhX?DNAEb780d^XDO^|TY^Vr!ZO*Nq&yeG30PVSQN#f4A^^ zQtjt%iwZfZU5EFtNv9u8^_dfnod(5*W;|q)o~2Q>?(&5L7uO*6EG^o6zL4Jyoe)_% zk4ogbtlrPtvMQ4aERV`R+hjn+)0|U~l@BH&Pt-Db+g!4QoLt_+%z{j|pLT4LDw^Li zQx);vN8NieL&;&&r{A;NF$gk?rx29J&G(jO#s2D19XmHZA~R)N$Bf+VY)b*>FOF7Qpj+$gi4}3TDJdX4Tj17 z>(0yv=B}ccjwys3NYRXhtp_KLm4G`s)kzp4aMIGx5^ zl@@*O*B~k9@YiS%N~a}{avCCOdK1Wqu)fkQfJR`Z*Ny)rdy9@}eMGxpUPe~MX=qDf z4bN8$vo)`)I~l2yHctlvahVCJCw%`!7tBju-25BXMyK(Va;=L$06R0LM|! zK$U|EoXV@?1)~Ra(Z}esztjeJIpk)rBl3&+rnu3IO7k2R$?NE=DO6n4p95FsrPqOgJ1!6_}=yI!;F2ixU|3Ct0wBA zC?I+V_%{bzLDv&r1MG+T{HfZ(y0c8bsX#du;(go97E};pYW;o=aSzDe!t;fqvc*&U zd~?-)jTT~QUu=XNYDoX6dMN8ZqpybpCs~}Px*`FqD*llW7oVWAyuxn@{Qlj!TP?o? z`#02G&h=kwM>-k9Wu?1Y!1$Lw|Kdl`qsZOqFZt4Im{Of5^9Fw|Kwc|Aa!&Q?vckiF zPwMxWf&fca+nwGnc6WfK))234> zf%;YO1!j8P$T>GZ9t^Mi*V>zi%V^7W45lmfM6!X=zemd#i+@D?#lr$J|H&i^ zY}GW76eiww1)NRw=Ls!s;FAe5XiXk2LE0%0G9U9}Co<^8v4RPtg7L+%;0SY9FBb9r z?zn}1ILG>YpRMyBtLh3MC#7jl@Q3|Vy90OW7kLaUMb905A^>9|Fe84zV&2;&?pm~Y zZ+&w1L9gx@BvgBrpGma-4nZ@UZROR$;u1WL1D@gem%Z;Bg?i4=rQHSm|6UV$*$JnA zc27jM%qr7IJA_uJe*}N~pJc{p7Urwm37!ap+{uhiuZ;sXgevl z%SKP$qfFO4QJ_oumU>N*CfqLP1Wwu4DzcRDT0A?`ApN`#uKA(qxAc0en1x~%Qus05 z_`BhH6!LWgwpb6?vh5Z|^ky`*g{Gp2=tRdD{ky{&?zz^C3Q@%C6zwUOul<=FP@CaB zH6Sg-`DbA{y|SBj`}kFQlG?-1)DKspVa8qlTw=L7oPv0o{%kd`ZU>TP&=qc2aD?2l z_5Mzx8D;Y$^1$_%hB-siQS9?7+AdpD<+;|f;Cv?@zph-Lb~dfNMYu|1;`$TM0JBn) z>*Pr3^26e^I=L#%f(VLFy)Iopb0>CqINdSz2?WZP?mO&BcyTQKNVj{7t{xR5c0*s6 z?-uv5r=+LXr}N$s`Wp@`-?qSJ-utnJ9j5#1zx_gR-yf`RHIc~nDlynGLk2iMD74nu zb0&H%4}r`DyejhDbt3JNc#~noi}SMxT|2c!)3t*+h|YfV5z>ERes$6ocuU%pFy4~w z%T3iWw)#Dl0cETYbk{M{bz(OdeA$aAV>zKC+HpwQG}T`=eVIBTD&r69Pm!}^nH+g| zivLJ@grOQ1RXQ5=`rfT>bTGY6eoFDgYTw^3cKLp6@wqq6$15LJ`i+uIMrpxYB3yvm zwrZ&%e&0OzcFypEg{qpx+n0UT!3_R{JOV37%}A|w zmO@fr_zU!SLmmp&izU!U*Zv2^z}kI5DZ40D8nPjz`Vws2z+BPHqjx}S46ihKBBwfD#=`sP4n zrB~s6;8zwIqqCxYXh!UvzUjUpQkkjOIQ8rv>=pjL7mw2L0**n~DcqQ$u+-aoXl}sc zH6K+0;#)r=;{C$-4YF3)DTD92*-37duy3*D~4qXdTb)d{+! znxlI!lGw2xAiokU*0iK^frj(y%H?KAFTkl1$IjE&^DCVktKgVxp}+mFj2^Mo7J~c? ztwmid(%r&UG99J<$o^^df8Ow#aVyslbi6rWppXTL_T^VcGk=10%-)BJaLFun$& z>N_$!rY;Nlvj*5KT}Pw*S@eCLwH^1{MpbPs4-C5;$*8vmuLTx%=)0QUY-ErhmXLG^ zr2pi>#@O1Zf&HTnDn;o~S9Of>gCKnJi?LfI%&EyupZ}!kA_#sA6rDQtfYOy=ci8ejfq`J>L&;&8LH7O$NmqzV$mbk>mJ zg?A8JIeAWSdi=WT?_cQw_iwbtcYdEx@mFSCbkDc7RLL3@ zon06emPAcVpKiE2iH-A93X@<=t-6!s2->g9%+nL>d3Rn2Jnj%07O?pqf5J%%%c@R! z>aJ0~3w=~0vbtWSdC2{Ju<3O8X$V7VY<+;0%gWwdb0MXSM5%S=eP+5|0(YiEscj^z^D6+WB+FksOO7OBZxOkf;$23C7ExsfY6TjQe|>j zCWTz+HZ+ux9AC>}!HLI3N&xQzW$f9K8RD?n!<()LWk0lpa%`pHSYN1TWZ^Nqpz*L> zBV=CLfx4MC&%U^BqKuI5e)di6c1=dCbhK7H*j=NP!yx$b zZgayjgBJ_nOkxU{A9rSw$dGTH;brpsCq3OMuuUrzvw`(eisdYYCVL+Y%&_kU-QB?5 zm11g48%YJq6H2-^>)@k5e#BJq?>}Y=bCYTNmZwMS-Eu-tn1vB@&SB964ey#H;;yMq zfJD%*V;#RH_xnrcS{wg(UrRHX=3U?7kY^L>yZMl9@;6aic5=h@T}baCuMMBv#stL4 z`~8N~IqQvll22@Gw?vrq17tAQ>etmR+~rsZ`#;b6X6iJ=j=U#)!ReA+iUT>tDvQql z-W|cf-5sw{;4`qt=S}&&w&WvCX>lsEjs8w1c_d#Ftq%SmK{=}B4D%51UCgv`Itf>4 z_`-xxKBNsHW-_VK?-v>%fIF`AGx|hrBwMOuG)2tXor8u-uQCctq(BO!z~2i5-UqVd zaTTN8V)6l-tras-kTmqU$Ng5pSqUp7^xp~jx{SZWK|)2jw@wY_S#;67bkeKZw)?>c zE>TD4Nn2O(;sz;$#Xgy(D5QO&5_#AE$J1B%McF@H3rI^!cZ!mtbS>T8A)p{3-L-Uw zfS`1TfJ=jPEFdA>-MRF#?9%nF_w)O_f5Kj~^PO|f%$z}B$>@nZM{x0qLtIFnLr?iN zQpv6pZmP)YJ=QINRw4@^>GelrWURhz|25%mk($>^dYr50bHfcs0BK)NiPN+=#zpR% zUac#8(*h*l*AIJKUbx;aSGP->-yeP=d7eR+v!pVTJ=8U$op_q+_hdw@%jlWSBQcz1sS9!Tf1Ix|3bRrFG=yT2|@D=4;^y zQs1H&h)WMVCFV>1v;6wltsA_y%N9=l^@+CyWrN`r8bkSe^8qFVfx`+Q;?KJ2`s zfQhZv%@c6L7hk;qRTB1pt2vWeMbpPViBg9U^=l__;`w-D_H4z&+E7)a|0Dd=AB=eI z9CkYYK$3Jaf#;=Pieww+e0cM*c}uMdW%g$-dbh=p>z>RU^PlD0^#}wm`931U9&xPV z{7sX(kW;_IIp~KIlz@HH?#@BCioo^#)n%g!Puvip)M)7QFhQ~`9TH>_5n#7k3$>f9 zR(x`wHgx4~9@^f!cttDdh3%jZ$@-ENZ|OcOHz*3Fz}GSFUFn}+aL97~l~DQKpH8ik zK(TI;eW7QozU#|oO2+epy7_W!ptExk+SNkKPl4A(eY6b@>tnPEK4PBh{&@LU!hZQ# zj6++8j!~gAWEZ;r1`&7ShQGmq!g3kJUi-X{^){(feCB9vmpS3fVl(gCfkCOC3h1#9 zoX{#4m5s7xSj;k=D#AP6U|+eUOv<$>p7AE_)!Bn%e(uz^gaDrIX0pYfEOfqr{H-l#?@`u#MwtdJUowIAcXxq zWWObCz4$$(deY|UQjRzqQ~CyzK=z<95CP(%b2#N;-dAn-cmb;ogr@)vQP+*_)QNrr zwm3LGSCwYg*L9k$Oj(Y#JPX)0Q4_-~>k?qjEpiM;T8ROpq)YnTN8Z#pfIIcU;{=;D z9b@7t$a$1JfLV^3c7+nHNG1^r0aSQRUVk%(!Ajg!fos`&YSIg?mZw~0_~z-(U+fDF zm{rk~b}cqS5epK>nQh*j&eAbbkLMmCWqaK6YZx819&@Ks z=8G1=cGwVGl_*1W&gCrf6CI{pBn5Ae$71-G4qv`j2ZkkL_ys0IH-dhEMgFdXR`S%! zaKJ%_!~qxQFBVxT=E}ThobUGPbXjk`7z!2I+Cf*Xi|Y~87c`i!&qTM5g!Kx{-ULKO z(ft)RSv-2xc%?$l*b!)(Spu30=*Ge;((of?M^c+92>JZ}sEQ7PJm`V*KfbL=Sw?Z6 zV6v1V4*V9jzgyDgHd|Llc0ZJYH`Fk3u|Rr06;`xYKAzPAxDWWVS%*zx1JUNIonN6W{0{PDR2x3HeHEDRXvENdXS`xK#unQa zV=;Sa!q5`nTIag=k_D81)uM0NfCh`vrSUrPt7p^Ze3dwg7aPot6?!J{pBRGG_;yU} zT*lw#{8MKhV5mIi2ULIo0GsETvYYChH81{C^sf2DLSGh>a6-!};cH;|C9KS0Tv}6O z=VZ+lZdW=^5tX28jxdusmsYM_T{A7CryEr<3ksG`5ZkfML*x`sQD$Zv7aNS5{~W&` z#YG_8$rayXf`q|v+bH6mPl*n@{YM=@W>z4P%m&aE)ZoVlXlIjlM1jNK_qs>#kN(BH zR2Vcbq@ketlg5pFz;ctk=vR3O-+4Za4%8#gJ(7*Fe<%3}nw#u;7;)Y}AV($vCoKE4 z5;N9LiE&<(JZJuG$j;g6+!{l?=d~`eK5PE&pOoDfre?pK*Dq5eG}cd`Ck372jMGmn zMSURa#m*cP0*o)sPkZ)^xqm0&)ud~d$CQ`Tk3@hQ|CD&8m2$4?T9?4u-+FgsHuH5J zxsW_nw3VP2v}fcF3K-Px3mI)OAsvC9d1hGIGD7oK)A8;)hKCROxXnA2JcsPH;Kfa5 zq}!UW#VIoqsxqudKKDSPqyna|^@;xUJZyl0qy|x0MQ2WRHLl60yJK_{i*vGlZ;Uq2 zwuJ-q`MF&^eOEKEH3yI;)Gr|{CqvatSHqR?^&gAQjO}M%tgAPFS_&VyG4o-9m{!S) zZLc(EZ;R1P$0u*)rH$GFH!Hq=H?zZtoqC8;b4EgbRHxJhAAu3sXw&{q9&E#~cpu!S zdpU9;R9R{=;MXL&^V8e7Od`?74YA{sotbnQ97VVE@{O?9oVKu^b)hi8yz-_i_hkFCC`g_ZW{Ef z@E!StR7l+{UrZTmJrWV&B_W?3mzTt}WXOuZE-m`F2-qwIERswGg_zT`)p|K&ozfl@ znB0jR^xU&AS~+SNP+peFH-)vr){dH33Y{zV4?`Xy%|!Ted}Pl@F$sw#g8NvXUu!;J zhwVA83qSilyjR~#v=ZE$i0Lrb*y|Z?U1cZ2{HCaKe2A$J|X>O8gSfsgS=GobvQi;&6a zN@ch-jn!uH%y@AAwDOj4v-^ZU)ctHu8?JBEqujPaL44%po?qQW38OIy#^rkbR$38R z2}%tk9OYohXQ0&D4x$+R-n9at_{T8?7qT$V&Fb0uJ6qrBby?&3<4fMXNgHDbIDHe2 zTR=8_2<{Ck`H#e%eAOYea(9-EV*Io(UWpx!V)~kL)6$TkMlUa zgdgYgV%uy0WAj(e{{U+ZZVV2xNMI%ONZ$f>cX!EecDY!NR96RKt0#$%yYL?)`d(qn zqFY6pGl6E$QE_m;8(EDfP^*{cKT(0E9;A-Qpsc(CFZ*F5130rs{d-sK{(t4u_^AxP zf8yjLrz1FCmEm(64%2J!R;Wf8ipjmy!9}bLJ5LFdO_~dNCV|aZn%tY&x(c156AMbs~H532TRX~AtJJs!?#pzZNm7Rk$7J*#xwVti0$vZ=$M>y zuYwsS*~{ZkwP|_)yYdtDByiIM?sh+ze}*^sTfz+nX;)3H!V^MPpftI8i!v~0u%&pv zu9X4%y3-k2s;F?#ix(6fvFqV^mjm7T8^REezjEI>5p};fjcrvP_>nW8bGd`Gq@V42 z4H`fE#%j?iwVJE=ODtqhp4!rJ)$H(iSv-+}5x5r%OkN(kAdYfrpOEYr=ZM!c{1l*M zAcs-alW)%kkZ8(7rcJo%e+)ZxRA925duSXIk|Dy1k0!6#ZSZZhi z&LXP6C%;T|a!_FsD-vdgeo!y{z%IWHp(~A<&nvvlodhkk0mbO-oRPQC6fP%{WQu;* zQ5A8_TOUAkh19CETa=wYWEaP$i{4@beYrbwW9fru++1sG?E|GMO~_uV2X&xhLKmm^lRogO6DXobI>QJEXtcr(CH- zVBzz&6Kn3`#d)#4YjUlBAtg>Yr(4pl|1&3^2bm=CWuhD=Yy~$Hd|c}s;)EreNXqR5 z?fmZXN+nL^h%;YfBJW}MJz^xzd1}cIeqkTk>>Aw{Z*mtp^eC`j`FQcvjW(G)*8w5d z=IdM%xm;B=T$uh8SWzf_Zm;$sAP}ml7~f{W@cFLib7-n5gRTDetJ8Q*q_aYL!nSW~ z9}R8r;x-!5O~fk=?yk!c61n zH{twjc0{#F5;K7pY>h+vZ2Uej%t<`+=cQMe8PWhNj-w%K8S~EHFPSqR z^C4wbr$D@G$03qC-bBS#v>~}bP@rx`GU236Qm=6we7C_MG|dtK{bYMcv$K?fK}tY++a?xlmD9#fiv8!6B3nk&~V z%j5}~Ai$C$K+eEXc7E=z7Vv=(_o*D?B!h^^)RtQph$;iIcaqWjsnG%Rq!PZ>oIPGe z3#7**@G2h&gEpu1A^81{&Pg8n%mE5{Pg8H~J}1-~K8BzT!7rj#7k&SzWsQJw~)o^$3mGBH^2-Vb0}*wn{C zK0Rh%5u`n}FHl)JRnFa`2LF{m}u)r~$0vGB$6s?{Jk=5%1}zYHi; zd~S$TqRJ@yZxrYXvM=dxb{UE7#-0Lim;z3QIEA~8{E55~rv+mnGJ4g@QM2}(sl_)DdLr(dQ~@VP zko_AS=gE;3oLOpJw!pKGKTc_|CK+&P2%U(oABJWP`;-*)U(erB&F!S6nwmV+;bxOZ z^H_(xh41*lg=rmXZR*)P->mKMy0k>}2kS-N+(raDS!XDShO<@iLw#!hgj7AF<^8mp z&^fQ6!SaL4yMBuLa>`VUY)H?SS?gKqiTd)4O#Ax!LFr?3T8|#tD4wMW^nA41{SesC zO{BBzU=;p=OKq9By@9&NyAn0r$7E4Wik9^7J++asGb(I`9qsOq$MT=mHt>30(ZgN+ z&a(cL$F1~~cH)`x8C-lapeaiCr%#s5+&oM+Va!ZbYozd-*cjv~V)w;Qs+ME_mn%A# z@uX!k+f5Rpxms6^qxi%VNu1^mW3kl`Ti+7i=Loler5uLu?`)k`W(Uj7MUaV-g=}X? zy^h8DPn#O$9g{d;Zh!vpGH_8|TJ7f7I9O37W+)6wSc*yTe8!!1X6Y1PD&(WAPRB}8 z<>`ezJ5g6XCI8A{lo@eCyzTwI=_{(7w8|e7_g!nNM{pgJaa%K0?`DHrb&rIFDrXj3 zr@#m^{|lxZzmsO5Lp!IJph_y5`xw$7S*52u{>Ya5b})AROhRVUE%=}J~V zfug+QZG)`&%oTR)-klSM&krlI+4@<{fa^a%rWySnYbuNBwCdku6g4gX`}>tu}9MHGnvczkQOn)EGDV-lnoW2pPnnvDf z5gttSL98};PIOm2YpCtgIs}QoPb(a}SklY(|I=AU%pU9NDy&AHW?XvS{DJ2>r)%#1 zW^k_|E7IlBi45tBXz^9yt4hIJ=puDNnbOgve)-No^KJh-d~%Zyrh|N*9O2s!QdX2^ zASR+yGzesxkG_fR>&DwldH)&mOKm~GTWCEXlp>+ZaCcmhiMVHBbIm{)uBQagephvrp)1zZ!n}pr8brwC{Ho za}QBh6V^Gvw)c4clD$Da3!JMZKAA#cvtOgtk>w**#$V%caf{05hu8#ND6bEC z@jk@Zj89UMO@q&8DC=-RD2W8&`R~N z9%Oo@WVLgxcQ^JbF+640gVzVEjCW!ruQqe#JxO7A+4#)5sp>w$;yY4?#7Ta?gti;; zPWLnT-L|TnSEW?vsA%LLVX`my6Ep ztC_Atn)zGQ#Myezch;F3tpl|(g;aCKBkNjZTMQMVjG*o9qOCxQs`BRqERuX^QKv`w zwaWs|&ir9cfD#=Wh0Uvk_xJbZ*vc&BPm3790FNEXV1Kha8w@CX#ANPd3FS5$(DJP$ ze9ix8@vNZd)IKJjhD%Klys#vASoD!dp*S5?=g$pS^IjA%}Q*)`-6JKE}I$0-Fy5x!$8cqy_&O=mEV)- z%qJ2$Tf*t_vjVn}S07^S%d1X1d|uW#H8JIe9oc7;kfrj<4+re^`5=XKru=b4uo8@h zw7v3G?z$)mvM*KiAoV^PvS6_Zm#pY>U&teGWwyHgx_#J9pZNQ3Hf-OT=)>}5VQ!lc zi>jLQ=Yt+;_m*d6$~VPqF`)T<)%C?30d2CA#ezcKW=ri4<%gJ{`HG zk)N-yjGFCh$;V**-=0Pwlh&m;vJe4HH(jYJ zTnNazFI@KEw0(nn3&$b2+_F+S7pY=W2yYWFkcdX3R_JUNX%3Ndt8ETJsw^dn46Qwj{f zFicQ4S6m8A-1iQ2WmXv#LGwnOKQ`H1b{b^HBR>j?))pSb?m z@mLu1BIOzNV+-u7Wo;4$Wbr%O9vu@hIl4)-Ly+<$G6G0)d0*qYS6ltf`kwsJEj=6r ztLk__T<=o)S$>Moem3XH0XI6NssT4hO8y2;D43aVBMj=56SmpwfiH|r2B*&Ijc}sG zX2cJFCWNrB9Niusy$E`&H@9X`ayuJq1M{WD=|J9XceI4TJ=Q zAtpMa4l2o!4V3EKpEKw0z6f`Gen!{h_xJO~jj?idh7bNkVh2g(Oz91hl(52RY_J1D zvMBvm+-9fuQ8>45oPMhfJH3~|P#|brtz^kftU2?~FK_orsJ$4G-PYaR_M>oA=&MUZ zrMrsRU6#_uG{$MKP1l!p;i$E;DamzDvzLW_jxHU#>e;J`r2+YU-GK@9q(0W_m;33hdfH zv*i1zV~pv@(#l`0={N}EqeBRjB}tz17trIDFfql%RXdfvw1v2W%KOt(?@qjHhX>|= zG)9#f71>A+ozS%P_P>34uO0-Q-kE+1bzWRklAc9ck*=u&9$UzT@{d&|nHw{=vy5{@ z?l{WZ`|;`qmJRh?^_4t`Oas1^LEI9OkvQ;@3%@;IIj;}VC_ywGv8Q0vZZoZ{YM#|5 zuTu>ewYYuliJ&iwP4Dciku@+AmibP;R-BUIJ5)RkIvyCA4c};`Y?N&@t_7F>uF3l- z^;7S7*)?HgLDkuYu}bvS4~qM8PrAB{x0pR)_nA>&J8!=Bz7{+4e&HOLUG^1EtkGgG z(#|z2$fYJDO?p=`)W%%oX(?+A;6FGz?{Bx6tqH>8dY&@BmpMGtqTdeWEcDaM`eeZ+ zqeIR0lEz>Qe)7;=CynN34-m{K`!c1;sA<(%J*`2TMLOt&F&htaP;bbU1VHsM-LL1w z=q`b_6|1GmuP40Mh75!G#d@!EUDCCU7B+15w~#;>C@T^$BQXMG!HaowvrdooJKS;q-b9;UwJsR z)Nb~XrbuLs-XqXa(yi;ppO&cj!m`x!Y7&FbVek;VYC=44D!JaXWVBE%0#E!+MgeFj@UKB! z{j)8CslQy%LZnow&r;0uRbwher+RXvkK=bgYHMySw*bu{{sfo!9`Z1tM?!9=nJD%4 z6*Q5I^cgQ(Uar!V!^lG+y@Nkvr13BI(6g%)j=73u#=z1d*L8^VQ_H(QEu%tr;EQdI zAEyId#nh(VFRvKv#rD7>M+QCU+q83ggs!-?wH4Ec((qRS3Zmk2v^yW|C4iNIF%mw` zIS-v6-5eWjj8W5Z&FM>$nt`9lXAb|r&|v?P{J+qgT$es&xb96tggfuCAM3t9AGk?H zPH<(|!#zB$!m?2>k17hZfZkSHF3qbl0cP}Essgpay@K~KPKD(Ju5XXtX$_EI4hr=r z8xH>(IPT*_@1gR1;q%LWL4|HH16xhC)4WB!MK`;DTwHygM@)*g19(mbeRcO!!^}q| zX3yQATF2irzB+9vG#RsX1oyg{XHLCLY>N7|kvJ|dn6%gZtV?l0+l8cd%&qVp`{3sD ztM##FeZB{_y4cMpR+UtSzypSo$vTg0*2IL8_@9Or%-+{Z)D(;jo znd?FY)giHd`^1%j$>i~~VR06rF?kUcz{L&un@UmY zXTd2z6N6pSId&QU6?B2LGI{e?R1$D6{#!4?ed&$L%K4&RgrscamrzkjE0JEf7eWOJ z@cEvet5jlpKZ4%scl&}%eN2p!_EXf-$(zbatdm?hcArpBh z^6rnBS_`20YHaeYXH-SyOZQsNoJ`-gE8o;Un2(0pTLmj&&ILWW7M0Qot}Gu7FC9b3 zr{#{&wg#L*Phj8JZwTN9QjOUm?F18aD0rTt|fD+oha^8xR!u!N(=ELVNPzg-~o zf)-7R^*I?D6b(9Xf<#mk-A?Y8wBmSwHc)CrRPVc7^ zI*X_(5<%m2(q+3*L~VHAFNdOE9YcW(#&vEIDFXW$2FJMjpCmA@=y0{VoSk`9S=>SM z!fOhw?d?cS(@@fTIwd$@=d3`o`{DC@HeaAmIzAm%86-#YV{VJ~-S{kE&tS|!Jxo}% z6Er>KZ*P2cMwCNU+7e(cDpmQ(krgX+TUOyw=bY-ztS3!Bluu#C-~XhKErE}PM~|3(5w|b@-C$noI0GDETa<@3Y$Ft` zwPR*BPVu`oT0#9nO+m7ta$Ut#hK{ugSNc7X$okQ$We7G%X?#&2+a9&N&`1{UDrqJaMokA2}y3JftKssfI{!xWw!W zBltx$@z-|#wP5QFdCiOZ*M*gE_`A5n_w6OBn@4*|LK|~u_?;!A(U5Chazhe(B&buz zw?+;T{VGfG!MBN7z6+ZnD;r0*cL08J2#6P8mU|r0tj4=|LHhwhZnWlXZD^_nLpyn< zX_{bDYw7$Vl~@EoYz3`hO%Aw*_*Oy=I5V=URNV3=`qF$KWTkfgd zf-$K?KeBLnG!zb&AP3H!*QD=%AWhJelP_H~X?o%*&r&CtTl6ic!vmrR`Xm$eql26< z0=|G<&5LdOHXL|x_ripY5BXjby;Fp|;U*oQ>?!Vj^dh!{YeH+{vwb+>Vk3L&iaHEq z02|gPtlo1nSUkoGi?oD$L0mZpB`Zl2&J|vio;gfgG7ISb=4XOh1GW!;tIca!Q_g$? zj)mVHIAWt)UZLnGvafiY1_aPgNA~iRw0!JCE-nb;4sygE+sQB(`ia94?rPsxD_oWJVaydT2gsoWAD+7c5SmTS(+;8(CzX^>6ol|{w@59zr(R>Twb;npaI{hNxW+$cv zid=Ab-YxLILPGnG&@ja9mNblq@c7A1+gfYhFUK-$%Sqif0NW&aZfiqx6OUcJ?P;Y^lF#*!V=p zW8LR&_^v70Cy)ns*18vt%U|cH0F2!f0Ql0ZMRr+;ri@P7#YW^btHWUxARO}W9L`rB zfh@XAn3t$%T6rJ=9?ZGoNiTXl`69lCTs_hQeXMhd_HRD;B89uqfOi5P@J_9@I@|uN zQ3V5IAZGD8@AU4kw#v|Natn(_RZi|HnHUr6qOagoC)>h{+k*ykPlpEjA2@Q+%#-fe zb0GQFB;zQ?6{N^tzG}t+YcJwi4>B$9akLltG|}_9|KLp9XfeX$hcfix6p=MnPlAYoH5XMeoGmH+Awt$|Z_j z2LC+ymUpF`^GoQm=m$H(YugRvzWuNd%U>ozyWd;S{)Wd`1pFYMb-(|3GCRH;x*>07 zIPgcc$KYpI=1K*+&~dg&!9zD05?%ZdGQ_bRA>Y&Ct2Hx)`8SU$AZLYBY!99rDlmML zdC}3BS<>+1^90sh@LgAiaK*1Ttv@j@PXlpoN3aioq7Qt%mVW+RGURC^Y90ZYakz_< z(MVI?!VUzQcjOzY#-{E8=T;B#4izziTFnp#tPMsCzbkkFYoYc!jMucf!9+yN~&c6XVtG z6IS*;?}!HWNZ@3>22A~goT+VmlM{8+&wDwi_T5r#xLVEUvu|3;{vPyX(;0HkrRe{w zseBf8Hjq;v9EIoO{ddJCyz92-2RtSyerT05S7w6)-H#pIkGkbh;RnY-xc&aQ@6lC7 z`v(IKn~{&?=CWZwRp7!hY42kaqPsJsSYId2ufb-d9c1{|jAo~0y4~@E9U)8gU)WZp zZGq&?dK#b6;8&cpJ1ADUO&cet)xoWYyxxy1Phd))KTGkiJR?=kb*1ceXbca}wD!vC z(ud#m*PUFQOa6JQ!`rP3YmBu?I*E3u%h#GSH$bhGC#GL(T)ZflZ;>YHmEXbdo=A|p zby%eT6ANaL!FfP#K@1T4LlEZI!*8)k-!G6A63|c;^0W)f%}U1XN4^)IToyVDd*Nl+ z+7{tKJ=yypOY47qw^kS{IqnmkeefKU)cV{D8i=1P*J`8*z0xc*eePMnXG$d;C(NQDmGpTtwr=ru@Q~~CBB1zuzMM1kum7{T2x!uJ@JG#H^s9(b^47ubb zKN`V4adn%4O-*T|7E1{e`}2Kh`28TLu~aheAj~xITz`Kazra7_>UA|w@tY(r05@z| zll2(Vg2u#l+=5n?JiA8r*m$L&z$&_A`C0Cpvu{v+A*hC>p>6{ zKS%3~k~xshB!c0&IU>ipm6%?Vv8Cqf?!lhA@ zKPKA!?D+*ZLBoab>lMaOzj8E_%Z22s=kQ(;+`TtNZ*Db;$ZJUNHsXf)&+^uG#zLl` zcpWj{xj{8%)ML01MU0`8Hw>5Q*=}`A`RmVSP12iAo-ux|RmQeaOn=*G)HMJ+Utc$? zOu+HftL#jz{xFX-!c}8JcXF0>o73!+OXW-pqtUzBCB}78&CU91;HWNz8|nQbt7(o0 zqt`JyBdu|?kFbl;&Y66U+8enE+e z3A8wwX76!BZUBT6wha3m*EY>B>iivxeLK{OeF)Ou&fF=pxRXFS7#=zM6TvxZS|Ic) z%9SEA(Y1`v@EC}q2thcmVH2dxZp-)WR>7$hk8i-`cZt}L&yvSBnGFO1q#1~)3nK@$g#iX*qU%MRnX3Gs4& zg6j1O@EK_zrvI4c#)f)IZx?~I3|_Ei79|R^k7ZS^^W8p^F?CC@lkIUP!FV(B)WHe5**Fw>{UW^gaJNmY=M6FwB$tnk_ z`J#Y2{XtBn;}ef3dI!m_@4KyGgA^eDXk%L_Ed$M=e5ZCmid=1kY^t2LDd&z!bl57& z()jk012J7P;3Ib8PE!IS0qtGM$3gJZ+Fj8OS8ZB9h5zAhGw77NH7FtDPZh0WZ#D*3z(jdRMncf&+t=MXqs&3quof`$e<6|mPu}?u;d(il2Pu8Z zLiQ2Z_r}M~iokvWp`gJD6tHE+LGv%<`SRwoTqU)EiA1RbE}yI1XyVDZj=be!HH8a)hX z*hTQmrcLr&g4OxuWZ89J_Q@pGdxnS>47~$IMae$iTl2X5(?F*qT;y`8_2o+nyz)0W zb55gL1BwSnThw&_me6W3fm?ls-2lqVx z%e8;S+BB`^_b{tJsIg$(Ktn@N8#y|G}Ex$ETZ_k-u|<# zn|s;FcW=lse809|oSacIX^6+3_(JwqE3^sZwF<_1{L-TQr53dXn3~Cm?Xw<+1z#u+ z;H7-tDtZ1rs-J1dc$Tw_LR2uX(6|OXT+J>J$2-t7@+)KSFd%m~vA!A~s_ z7V3B+MIK6OD%+MKfSPCuN zZzlhuO(iix@o&*>d>YfAySh^IwSYX&&&cs?j0aLv!LoOGrX%d#{=RBWDbcALf@e3s ziro@zNk#lRK+fKb$-GFDgv?TifM23F;^dLj2%0_& z#e!H}Zy~#!>(au-@kelrwWb9> za?G*u&@HWBj8R>tSU@E-46N}XPK!%&Me#**5C?Kq4op+vI4fK$Ema>Rc$<-0bC?w6wT zcHLP)P~rLq<#Mwv^=;YN7V2)d%#d`tdA+AgL-}40L8ODl6cQsepvNXYU4L4$$4g!N zh=;h|zcf)cX)hwaznORPN)+;AP-I5Cgm*CxX^dMPOkE7kjj`|u^W1t;IoI+x>jE<( z204Fjjk>OGzkhKIgSy>zciMe=Cv))GN)T%S%t+M9-qVugEE;y_Tfmv79_VmNmJkr5 z7mH*qq~C_b{{5d*kgXYHD@E3Mn>vP`p@8Whr5rOE*q?^oU@@yQP^%(+n#z@h+O}>|IpUTjnJ_;Po+)|}SH?TNoW0Rb?B}zy zxfpn##as#FY0BEShMndXXb$F%DCI&m#$SD5J-DZXC~5>>dZQ!%^rcPZ{9ki|YHo_@ zv&yonDX(W@>804-~>WfOIj3Uud=|U?1(*Rw*T! zNY&98Mo8v<5d2|S#Xfukj8x}ZeMz;IoFa@ichUeNIZpJs(YhC~=dGHak>4Iu+PCi% z7_sCTv8;$y{xNQI8U-<4X?VHao}N-csc)JttN-<+&~IK`V(8;n*w2z$&3rEEos7)^ zj|4IItXM}h)HXy>M@Vu&dfNA!K!|!1^CcYW53z0jJnQ)8#~lG!5P`RznFlZQF{2ni z=N&&MpV(#?Di{~)^s?jn!-#t)HbaTf1WuG!K#Kwsi2>!4&a?mmb(AO|sz<(PzN`U@ zLQG#9u(=L3DvECv=}v-THs93m*}A@xA0Iw!u2Lqs-c#k1U~iic0Y93iG)~l$czky+ zY;FOg8E?HiuU1CAyR<;gO4P&pAz0yF<98DOMIv8=|i==od>LB>rN;XdVJOP_(;q{b&6;EmjR8 z7}ScAhWEHqwPurJwlg9kcC7VUPOEZv)z5M}h*%NnR$+Z#arrB*J3GM5%>`qm%9Oa6#_iLMuIpUedvfz-n)SDqs?y4qx0nZO1xp5T2W0+TJ|~&vZUQPaq)v zsarRbz``1RAmb=;h{J#1vp>8qOdX?0PYzs?9n; zyL}@v6)T=ifWf2GcA3lSZj$yH`eHPv-x~i7shc z6f<&b?|BH6+w7@|Xvi;j*UFg(8JiT9_lUviG@5FES_z5;E8eIs0B9hGSmV=s2_V<@ zDaiEEq1#g;*G4G)2vtzas;||k;dD2>Q1Bc1%tJwYUm@T}lToh_Y=LK@f+}}Z`Cj&& zIe!9gWjIXDmBx~Iw!viXXiL{L7r8sfN61hAQQni;FCJp&;Q*z;nzRLOUPU#z1WNn_ zZBj>Ed@4*4_Z7q~>i3TPZrTi9f~MMv<`qo8r$z~Rd{C3z6_ zfiE@V|CYQ{(S9qf8AuF2ttsW=9S(H{;5PfP3K+}C4*11+HW3o$WwBBMUGjnqmdO{! z$6*03V?Do)k0Cd;t0pNx&I(#s15M>fjEfWQpXc`w+0V$#vNSoLD~jbE#on1{_copR=? z48sCnG7uoX6m~Y1{n9F|%dPH-+)#zBLe!QW!a?C)8fJ=f=pln`jK%A#FUW-uZc7$NQKj%Kh!68ySCHgE%ZYHW|>oZ z<>#RildG+R2y)KalvPy zZKD!J3=OYDic2tkp|1AM-|)TA_YdtNxmEHIC75^eC;2yEb0^MEfW_&9pJ+w#jJbd& z8L@%l?+%5z>nX(Cll7fOD<3AV{7ZfCCuw4$kzI?0dKn=F)qg#+^_DO)2%E{OGraXMtw>07!Di5Bz z*o6v}8!re;pr4Zlhen5Y{Pgu4=3*+#i1g!H!RD+FNr2)H{SAVga?^P z5og&Q?NkLr1>Nx_`H6P|&R!F8QFzm33-7p}o&rzDW@4?oM@)cxIPTWz`4L_+?h=}r z0>^YM{s&`u4aZ-K&ibwL9Ue!RBdhWlH;=ofSF*~dCUs)3bk9rsTvL^)5hEO9u@Igb zAG&pz1VeMrU@__I-Pn3hjir5Ak@G74?YT z5{?>L#jMlRz?R>m>1w=m?rX&QRRP{5!|(I;q0NWg|jEMk=uZh`L2%8*d{i zSti98Rt5bbH&-qXo1B<8v94_o)#^}jNAB3Ht{AujV5loLz!yVzd_g?E-NBg+wSkp% zTne20JWGEuWo=x8N=sJf)#t8PyTT$+uO2Gfu6%{1D7HYl0-4Ugiy=0>!A#ctmK}MB z*!S-gF|9Ady!NG!0J$SZxOF$vmMcVp90inG|NH?@f#9lRnqDV_6RSfAd3|x0@Ptc@ zFU6}0D9*dz*#i3=1EfSINHy(yD&i6gsHK>o3#NNAWypo%x;rwSMC@{Ajz1Qs?)V0| zV3NNl#7GJMMFWmwPT$MhiK4d2kTbmb%p7}VhlXb4@Au5Rwr$>gGhSgR9NG1)4wL7&iTRY@#4kV(6dAoYe}<2m3}-y|Wszmp<;D3f{0U z*NX8JrO`JYZSAn}X|k%+a~UCfH4MdkF=zO0^WHMx+uuKFUT;&I{G9W4T}?|2-H|3> zdbv@t$5s{@G#$0+ULW$Se$NX_BJJoaotwXYgeMGWW+mc#W4@+3(-q6vT3LTjqAhS< zwlyG3PL-#a7PWLcVh+eT*(Db)w^V{WjN(?a(m1NQBN-;1#wLAq=X&L{iscTurJ*i2 znlYAmb!fD+0WoFxQ;z;YGx&60#@Rj5&Q*`}tN-~n4pd%xLGNJ&U{NC-%GcT0nk(#_D_-Q6kOEiJ9o z(A@|_cg;}W;PZaJ?*I33#lH4l>s)Xvj{`xi)5=fd@=Z9(s>L5djKg$=vh+8qd_^3H zZaqSd*H5s~tmTsPI#M0GHs6fyrF4P2hxcR9iFA7fL`kEdJOTXXWq9jyVnKe2?KU;? z-*@M^GJj0E-@~O?e|z!+iCp}Ml;DysHMh0~M58PJp1eaBxnh&$Q}Mxw+|liM?$YlH#0e_w13q!61OA%pSx0+k zlgnYG*!8|9K>2pkcD}Fl1S`x_*%r37W~P?zwXK}>%R&50!rX#LR;jJpA%;pd8r8~h82G=hc zyiO4d_BafgUtibc>SQ~s8(tU$xlnk7E4B^5(lY1yWMM+3rSD5PY4^o&%#+e&KW=IT zfB6q?8w$*1-R!X@g<^P#a#ou)U|MbJdzlClBq#jFeFRKkUPjrsIRN8%w+|M|!x&<| z<4tasGVeOePn=;L8GIirE2h}>cdoWf6q{lemOD&f+6T|H=1)3&xs`D+%~V}- z$9X#td(S$0`YHhG(nW^?%*MYJ4Tb&xexwU__6PVu75iFH)}ay=w$03b?yy+u^LWQu zjLNUGu`ZOFZthQ|7M|<8=8>q~#N&`ig9S|S`jVf5y&wL}`V>6}J|uWwx-NS011VyeKJF^~8~R+Qzt!Z<=$ zkdj6r)jsCId4=44D&`dU%B-IW61z9Zr9O&0=mG5!YeeF{eQJRo(5ZLF%sF)`;YS)3 z>r4m`{32mHwu@7Sp1eOdhmjO@N%}lu9BxFa4N*OIi5>iKE?C#hVYvmV&SM2{$VAr5{BJt4R#E z-odOHon)iCAnxaGv4+^TbOks#`!I{MDD!WGt-T|^FftabtQg*6P_c}2#xS_|!OClh z%-hM!z}317HU68P$A?g@$b~oz8><0PQZTphUT%9D0Dn*2qbz=j?KScCS$cX4ML8PG zc9Y=V$E$jpOv^^&L5Nso$Z}beT2IIBLP)dn1@to|fFVDl`TW{3+HRx%Lc*-XN0%>Y@Hn5NrN>UCN!|p_>>ELpRumI>p z910pYDucl%scv=%EvNel#6*T$dz7jx#K`>a`3g6=>bd+taTBaaT^t~2hcCyVtTQJV z_w)l2ZnK^A9GEC-&P!OY4=g2YFs$e<4dOl^pOy=Bc+r2@=7nVUaW$ui@Z-}l9BSe> zgslAL37-JD%%v60wGijTnb9ZD)AN|CJn$KyqT?TjaIM57%Rv~VBXO_PW{`CiBO>+C zk707VNlSan;$opVrj9hZUmjj(>t#+~%5O4haS)DDG#+j-CFH}V8`Csh+IddDI&Bgi z>15h~fEs&e#cHPpes7IpV0$UMfZ!eR4|eMD;ftJ`U6v#RUPE_J-{wY3BshJIskD-s z)$&JqsUBipUrMvMGrU5u(p(48Jzc0_|x?=Zjl(Fvc@>8=AoY$CXCVeq#rzg-Y(t$byYH|QdKf3Zs0 z$YZx)?Cin&&2dl&yYbc)qCxb&Qi&<>$~n&CxAjF!e(NZK^$T@vKyCNws;@C+!OSQl z!DWVaP(u2yE8l~+q~0GxpI?yWaPlQ|AE4VQ(fN~=Mpo&21ZD*@ONf*1nqQQ=zRR9- z-rbYm^+hq~zXce1JoN908SVG`rF<-?bMOEKe%~wZtkG{qpIT^(%_t%w>pr`m`=Tz1 zOlaS2jI#UVW?bgsZ^SEed*GeAohj7rr|S3PCtn20jyatb<8phBTWo0gOrbj|aCRNW zuxU;Ct>h3wV00Owb9>swr>)LEM2=uZl>Isi7k&r9`lBC#7hHZ_%>#gIfaFS=oG4H; z9OedY!KFRM;^58HeUL=b-QQaK{_WwQkbCaqD2Ayy6TnF*4Y;yVmXA{{=Wm|o)_5_8 z4|oKDxn4!*fC2N?V}DB!i*Nc!#5Kea6@%r5YPgzi&ecV|Tjr?qQSc=b@Q`J?&LY^H zu6d$1vQ}$k>)7E>8tIc}!F4m5pihiQ- zOs#DQU+3Hha2%0t3&P@5UM-~_^rB+^-1uN<)DRYQ>AkYfsl<#}aUZ%8WuJu4%lf>X z91c>tB#(l=(yU=X-{5tPf}-j- ztEJk^IIxcYT@ip5%|Z-ZuS+{6MAMihBSFSO?0{vkMEzsjHs7{N6c{VY62e!N*V7_n z+M2{Oj{k|4L>|-ZB>UNpt9U3bBbb@`1HmUUYm%q+!a2~Nn4wA`4BHw%x$D|O*H|El z0TjiN_(@~$hN8xDInMXeq%rPQ3_OY1YGDx zNgXfXY5qNw)A)H~+}|Iw>b{BLhX{Fm-KsHOo8J9<@bmr@ycP0m#qDQ)p+8X9nt~!| z?y>NJ0azVjTqo-nI0)z(vVyJn+YyEIRF~-1KRDJP2cTBZuoNO_9TAF zeV~NOs)ctNQFZwIK1wQGfRbe8uI>YN?>3(=W%Xo;L;KV8BAUFC;XNthn^*z7YnaGz z+IJ3q(N-SH&Dml1fWyvGDTAw+-J#}cd#veDDdC&)xbY|M*9}dG@SnIkn3-ckn0%yr zs1_nyH{RoUPXF{k2h?q3{e*2Y%_K2`b^PZ*XHI_pfcz~i^Rs{6-jJSj)gtBlJ&|e0 z!b!rZ%{Fh=jcTa29S0Z4mZ_?P7NytAYp879Y``*bMR!D=OLmHkQ=K^Mqi+q|2=tarPhpgGk-k?1mO zrJ_4)io*+ymZ_!oc4(`>l1w-`ypWXXhq!_$u5l=Qin9_8;^5~mkrw#JL^ai(2e}29 z@Qh_rcb**WNrU&j7O6_3`acevZai!vK3BzOY*(STkK!sdPw{qDeIMHxg_nI zo;JKeEBm=JJgJmrChe0_*7F0>eiLq;X|ozkzMj7YQMQ6p*Ohurjvz4f-x=HyHi!Ws^LNIXX{9kkMn^un69sPq__M^c1-u=&}z^*4eam2^J zHyYg~MGba)a#wNXDoRBO$!W2+_Z9|)?JF8pe!R~ZNBeRr2C|1uV{sur=|8#phYMj= zcM_6-V66+%5!4aGQ>8b^@@rI&A{cT`^xN;!yF!TPfCj?2rB&iy*(_rv7Hm(hmr)rm zh-XHSM6Wf2$TdKqXAM?BT?x~2kdd;+>a5{#t}GFb!Hix7r%sap`^%SH0k%7%f6Ea4 zA3zt*2oX9769OhA*;5rz`X0!aT6%Mu9iH)h%(qvK;I#XQsi1E#n*wiBxxJ+}%_}<# z$oSd|b$qW)t7!{JJ3zL-WPYmsxgyt|`pfCw2oG4Txn0Z+ol=u9B*{lSEoibk7X0u=67{Y1-D)$M zDf_7^F&kC0xu7%sY0(amukW`$1(Gc|^6NV^Al{stRn)o)+2Um?3GOFyXD)dMWz!cOmF$(M{a!t>Bi>&+sZt&nxiGScE(Zzs^`BqmIhHJhaV%lD= zqjEH#zo;x~0%}5a3v*}17FsYcIrjHjdnbqpSji%OH&*e{j{cSv%?~Pl6C{+L4``gs zi0zL|xrnHdAPezxh;b(Eye_c4M>jw5;W?qsbcuq zRqWM<6IG@M&2w1`kp)k_YLv{UwhnPSQl8R26?yIyn}=U2HNVN6+nrsgknh_x^RB*a zDDULtXBY=0F3j#5KD?Adr9pR3uQeqH(|?dKF&HSI>iNAdL=bv#WZ*_#UN`eXy3#%| zJOIDs+j}$t+~8mct}3rmH0GTfcsAxWNU%trb_|PGM!I%X2o|AM>3xqJfthh!4i?ju zSO)X!58vcuOw-iRTEYAGBH>jn2q7P!EQG30n$2E(kIq#r+I5ud_2BN~>k)}T@DL^< ze!v-{ys73SpriitERMha6WyMt%0 zU6ez|I(_|CZjmU7MmU4P5U>)S<3U zR0-+WNYQcAYQZfc0#%PEVLVMOy zj6~4zn|BXSZpqP13Y`p%OOTLY%8wkaEFJDRbxLW}_ovw`Vd&?OBSvquZ6+ZWpe6`_ zD3<9Yff_8B`kpZ|0M4$-sTV@aL4)veHUlLT-3k6%xB~xMxLDDsakq&|=HOjSXhqd% z;GVI^6{#hHTgjoP=TNfXPLtYZCOU^8;jE2L^=8-1L7*sSy{{z*bDGZS?+XL!!R?Be zRtnTnw!Cn_LJ#e*x_Bmps7BoIBL)XN%Ybti_;pMjAxjaE2pEh;cXXni9FY%vJ@JJ{ zcvVj^q%nzSH`B8f>fd9DKjp~;i~!X0J0j#5Dz*k-rBgNY)2U)eCLdgU#dICsu#knG zW0P$-7H%T&iiHoB)uZ=d&lCl0ryN-HvH`^)S@M>b2}=U%keuRJAc3sCv6C%^aaudqdWCoA&JvE}o=Z+kG%EgW*E zh{HQg&LZRht3>8MraLndMqY>2wBrArsPqAjxAkP8mF$hbxQ*~Jt~n;2f}%Z-yEDX- zjKs+YL|3Y;o&0t6pVNvLE7$|FvEbr}kJ+_QRtfs;@Sm(G%BVh=a(Gm|?aiBb?o{(H zM?slK?$UCqpv)nZxofLtk@4bp)uZ2e{AG9B%=@6(+BZ%vy0ylHB=I!Q(g}7?)z7Wj zX#45KDj{wgBKZ<=gO-!Soze|UL@YCTa-BnTCi~N^B`KnLCr(`ge`<6 zBmHIrU0Zw-qZ@bs@b1fOK`LX}d|nsrHdv|MgCy>-v)qSKy8EhKw=(BVAIn!M&pv$= z2+Ey8Sl7c>g;H)jHOh0mEofo&PU>VFS1*70MN(f_D{(q-2n81kt>Bap%$a{?PUP(I zWl+*VTuylee@~o-ZxEJ`80PN6?_SGv-6Dm@-SjaD(JM7P!wAEsOG1E(Xb$!NfZ`ST zPwA2z#d#YFF27n>u}%uPTn?;ays{Z4IsR)?Bbl;J2tg!$A+*>G+x8pTKZFGV&H3?P ztLQ!j5-Kgt;5J6oB1;LertJQb=1Wk^L*DjeSFwa29AZLrVA-F&qn*p?;F6rmA$#k( zYR_DJuv`(&tOSDvFXpcyulp5uKgY|i+xHg!q2tlHsnlTuz=Iexj^<*_|# zK)=1D=zxLjUf5`Wv4Wx#-xL82i&b#}>AvMGrXNwU-C5#mFnp`ubPSyL%gjNE95g=r zitkTuCP_BzY9XD1hXoI@Va$lybY`Eg=bK0F;Qe@We#B5xb}qpghyN}UaU*&Q&A(<> zxgX<6$q(IGY5SP%)j1KolmLfd&VC%0DTu76VwnF#8U+&m_YhT6)v>C4eLywA@}3O; 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 w*)xwuL% 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�&6{YB6#p}ok{Zzh-4S;ZUss@Z`l0= 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

    {ry!Ae!}%BWgawt#_T|L#{)x)Z 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

    6&T|h{J_Cp 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 S4$|U=p8v!CZ1owh)c*ndihia5 literal 0 HcmV?d00001 diff --git a/assets/images/forest/monero.png b/assets/images/forest/monero.png new file mode 100644 index 0000000000000000000000000000000000000000..0fb273fba6c1c1b14f10727c2bbfd449e3270a1b GIT binary patch literal 588705 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

      bZGuO@C)tAsupX%6L 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 literal 0 HcmV?d00001 diff --git a/assets/images/forest/namecoin.png b/assets/images/forest/namecoin.png new file mode 100644 index 0000000000000000000000000000000000000000..72706dc9c2e29b90fe21183a72e50ff5c262db7c GIT binary patch literal 550732 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%0AO2}` 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

      V^oj3@9?f=y?{bV)Vm<={lEWFWO8u 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

      -t1J+BW@G&W-|Hb5?)YRX>Me}+vy+1Rf8sIzy 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�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 z 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

      `gH|6+sfx2P!enhv%!494oPg+3L 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%0AIoe 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 literal 0 HcmV?d00001 diff --git a/assets/images/forest/stack.png b/assets/images/forest/stack.png new file mode 100644 index 0000000000000000000000000000000000000000..17b4256cb3cc0d7d05284589caadf58d7fed3789 GIT binary patch literal 50834 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 USM}@_H3lH?boFyt=akR{0FoQv;s5{u literal 0 HcmV?d00001 diff --git a/assets/images/forest/wownero.png b/assets/images/forest/wownero.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd6a111dc0277d86ac49100adb25e875afeba96 GIT binary patch literal 511134 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 Ewo$dwbbfI204GT(-gK__(otzi4?%8TsQXWJpDn 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%0A0XZFh%^ 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 literal 0 HcmV?d00001 diff --git a/assets/images/forest/litecoin.png b/assets/images/forest/litecoin.png new file mode 100644 index 0000000000000000000000000000000000000000..17994bd47ed0244f5777f3f026759b1f266a8594 GIT binary patch literal 329261 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

  • (ZW;Jfw!!?O^Y*T<5R+I4-KR{$o1yft{*D&Fs{j1 z%Paf+SAaTLO2|O2qb%8xwy06RYg@^3UUi&w#BVy}Qn)Dyw^9gw+BB}#Ex!{f}DG6DK|sLa%=g%tx5clC|V!Y;u83D zz(OJc;q%=;rOA_`%!gZ+FoX{N-ow?p7gsSDe{}A#@;VJsD0V_06dU=erCuzq^Z4qH z>f!da>G!?0;Y~1JpZj&PCgDv(F!2hhiShB$tNkGES!bO`D!+?7Jcy0z_4z>s;xrE( zkCBIT9l@&XaSDvx9=}6y!fl(uVQ?WwYj^0pt<^_af(w(}A!y5?FFclf!gO#f=g)E= z*p}KbbY9qIn(8}@eaY;=eYRC~5StqZVb8TWbYtOLTREc%Ew~9j+l_c)XBoo8T=-sl z9vnt?>+&V+mlc!jY+&ccElpR~h7(lb&b%z3cpndOP33L6Ddy=zgy|dk=xFNu1K`+t zO*O>daMt%w7qJmN%7y@x!*l2lF3`~bDG7cjxVx4=&cy;gS$)2tEm=^AJFd`Puj99v zC+uy>V{k#W_$QBW3k1+~u%7^H>rrrlKvwoO$+E)=RIENaF6gAt`MGUHt(!MYjF3_- zTd<5-yoR#-zNqe<5G|?bcjhyNhZW!TauKFdA_{k%XSig1!80nbqS3YJet-)nqVz+F zDgyxR9&xp;GV-(OCTS6ImpP0C@mIo1@1^8Iv`VQ%cewJTlzWd58=#+`Ok&btnnoh@ zs4@t%+&jUnrvaG%M-gME9z~TqlJuzVLWt5T{EGOd)z4Ky4yk3R@dnaa@v=s4_u`HO z(7Fn*qY3?cA0+#Eb;#D-)sg5Z6aIDVOcnWii8|CBHlT7Z+2FR1d(N zwIdJ0AgfMb9SJ^o`(M&Sf$h=qvV6suYE{sBep9@bkW3lxWhx>sUuLK&WaVyuvv$?H zb_M?%b9uF(T?HU)l5W`DO5ygwjSlPhI znAbZSe~2Mu#OHfwbP`jwvVR6f)QK++IFn+ofKBY9)|M>d6nir-D2{7=Kccl2=m*2T zqKTR#S@2voQ$hR?ZQ5F{*Rkv7*B=4f)~2d)Yq*dz=$*}6$v+o#)SkPn`pgF=;+)Kd zZR(?RrjEjz(HI*EsTCI{vk{n+@*8Xw8i*kG)3kftmo&h`~)v`kUR{_!sN-gWFr3^$BB z!laiAzxc^_iT>X6^J^LT+VieH8Pofzm*mi$#MfKv$bSt(c6_T>@H5hhrWq*k{r9f! z?x-H&ccV^Bdsq5_L)9D?qSuj%@75Bhy7z?8p`FaDLl-|D-w%@~h2#gha_S5gyL;1W zIV`2eovv~!^PD7VuBYr;Lw3V_BP(Myn~qwRjZR+GQYa>)UL|t+M~zA}*Z0ml(s=v& zh5>!M_We`*eHqx?JbcIQ>dC1)IhMXKDiL~5e8mr{pK%^774f^CdU#`ta20mm012(o zcpoBGrqRh{EG2yo@MV{cwc5uLiLqw&<{Pub?!vz>0>;0!jv$`|;E7R}@kH07SB^QG zy%6C(s5K-);Sbx(j?fNwplI-sXUn+PM2=5yyUzbzG{0h=8{c}8uc1bX zwVs?zh>kv`-}q{;rn?O#GW8A*?J|Z6;x_xeTwmnk9trDxR`jg$dwe5?!a9Y8`F_8K zfjRcEpa#lZRTz=lFybn?nh~+Jl%|s}OV|UzChwtfrPDx!n%Q>S40!uoNJA2&|&X5R0Pgq(D~yXnC71Ch*roybXrB-jh;H--TnkMq#bj-D>yzodJgk zP$Oo+h(?`D+(+!7Y5*M@w8CALq&iNiMzzH%H36!Y`c77>$WE9z0y5R zcty%pI-9b3q}yCilFL@U2%)s|ed+1h{aL76`B1M;*4G%HC_`oS5;s$rll0bGa9yos zZ%@?Lu(P?CD8fvtSpTu*1rI1A+=}hoG10y5;EP!mA}2zp!2j|tUyCS|(eZ*ZHv75> zqKXOY+CemQj&0CJA>*ILU;^9XqT9GbEHY6$v`Mi%&ehil!Qga;TjR!)4_G29X)pWz z7%J%lr}i1TKDj>=r3gVX1|Z61>FLM^2UoZ)W?d6|J4lH3#I-AU?|@DL6bD%f*TY06 z(G<{$RRT#}(vuwUJM^7w`v)Trjrh24w?bN2OII_>>FV%JmbQ;d7j=mra}<6f{w{I~ z1Z{&OMLVoRXBWGd!QBoTBK}~Hhp>ikRL%|+Z~_6JuB*yoA0GK8oApxM_cwT$iKst6 z2RQU2oij~FUZsAl z-I0m7&a2ai=%3SXG{NrK2cO2d{H0k8P+}1GbO~#coy(>cBuY$*L+nXKU_aigQHWnb z5C&py?!_MOIXowK_xjt#p;F7pvbuJ#{<>{_MWNL~FQ{cfSN?RNCH>n?ziFYZ|09rJ zJ0#Z?WNOhCE&6rC7FWuxx1UE%a!+v`H^OsyYu zEV`hM{SszapdL77^$U}!x>&H-MrvVh48fpB>D2@dqu3Um~-PZeXe`$6Dz>) zNodj(HC#pJG5U1`~+|LFi1LX$Z)nQ@j z(W=zxbem9#sjLcmJletC!Bb7#%59t12r@tchJ(1q_(34`H-m#(2&41F$rtFQuSBav zm>TX7Lx$0lO+WMD^4-(NrWeNR7-Hvp7hXCGh=kLFIXykaMcoX5R}%FXYg^NEVD9f9 zCmftVLXOQ5AOz?7aqIj0;Vj#&E}xDe`wSM+cqc!H8Mb|UB!X1smdQ`?tZx0xH36U*JJ3AP;Dz}VE&1}?+@~S9A4W`Ox}8bdKeRoq>ziN;+~oL zcLbb)d~-yg%8T&Xvh4$`6|jZ|VBJ^w#~&=hybn?orkIKe8P{R`{74%+5fpKOTjsm? z199SsA4LNUx{>2UJ7;jhK>+DLIPaQqDY2hRe#4e;* zn%Z~gw|F#I(6_n%#rzm{6rw|qMx4;)@+H~LK8)c|^yQMK?foE_sz;gm*}8T%whW#p zOe}H^vluN|ygRR9hvQu3PFPL~?@!juQUf#cNjm9O^vkdM7k7tQF)EaW!|p3f%fSgI zrn>)Hvd-4M7ss60D;vG|<3sid^wD4~#`ck~;!VQQ`T`}fKIrP!hDD!kRqou)%dR=C zx|s#f&V?J2u6&LhfTAqviXR){q!$BoSVfhp3CJEjJ@j2{F>s9l3whbcYM0?~wq6L1 z#jK@{a|P_UL+`d&7j-XVjks~cwWeM)5cz9n;np5u6?z4$ACGf20#FTmnt^_u{jsBKriCttgz9A`fOQM~M=RO)pEN#83=kvR_gL)zOpirq ze6o>DIYr+>21jm^<^9qp*>1q)tR;}TNbe1ydFdZ4>5r`*ausmMc_2B*_iwo>CZW*< z@u#vJw~H)|+&O0PPXZ|Gn>{x)b>Cn53T&^_8go07iDSX&77n$Q5{&pna$F)(d z{0{B@7yiK*ks37IjJ2B>JqE{zGZ>$js$ZHl+`WM#n;rxiHiU=UmrC$i+0wSIP`je_ z;ofJCBV$DaewuVD(wKPxUx$_*X`oe-gfRuI>R+^MMAMg)pw;NQ5=|zCTp5+Edi6eP<1h zgt-jex=ht|5OSD!Ra^mX5O$jZs;amZgsI8G$&v`gK41A9N4JF@OK+Gx(yTdT{8PH^ zEzC>|uncaX&G`Tj{qmBDOh@hhJL%Ojk`#+&AwZtrK(z8`2JzArX1_cH*O^#A>w8)W zFfw{vEs=;ba?yRM((HzD33wqz%}I#oQX*-5X?cS^G=$8#n)POIy3#G=dc6NUCVq-T zPG7ic8JUlo%H?bVm=&!a{0O)pnn21zC5WK5FokRXG!ZyzN&Hg-SeBY@h?$$!c&$>U z8=%RU6ASciEIs-lEcdxpFlbTq%1PlTU)A&8_3BO9dO_h7Ku7qmor|VpASHGw<-bco zeuoX~l_pVOh1=;r%IEc2Zt=?cg7YA*80}8v&aL_!JPUeKef*F{pldnH4>`ol2#30q z)?8{vX*(h#+et4agUFeLfD=5qVWt-3S_&}1;Q*bmObf*r%lAI58=vY8H+tbFb5X6@ zR~zj>1Had=ihb=X62Du)56rjqU+R(YG_ID$1Gbl^6a#I2ScYTc#+zi;`8pVegl}g1 z9V_otZ#MgzA1zIMUtoZi0dAW=1_lQHp@?*OsYNwC-7X#`WQ9cfPpMqqo&B@ip@+~U zmbq7LI$Ev)7T9AAW9XZOS(QO6srA7D!CjPla;C?Cy?jQXL#mqxEh3 z&7r$dbgbwJ)u$!i$n84chA9RRR%}%&MBmye(QkJ6>cIti`MC4I8ui{1)QH@W6YD2Ln?^J}cyv{5wQy}pIBxE| z>rD#@wvu6%mw5jzJhRj6biqTNmLK)vLTEOzAomR#Z@GNXOVQuKkF;0G|&1%-pp_Jx>P*HJuk7jTEGx6N~EM!;nwc*slgJyZz@x$&;D(FrjWg+z<}v z%MZ-t2bJwUPE!u(|0#9W7&BZOQzfC=`^i%;`w=33~F&+ zFw7y}7yG9XDuWg-Q~t(aGQ2=VmPVGj4f`OVE-OYg^0>KXTV%7GBZj~J0ok2)*UR~< z%GKF+-Rca_EbtxkVQ~B($b#IRpzr)1n3Nz&^HN%rApVEOl5r5@r7{K;I(J&zrnFRx z|F%xT^(TFTTsNUOzqaLOeHP)zXj|2JW5bU&-nYr6bj{HSu_c}> zISI71G8PR9d9wfiy67STgt$z>wD-3@K)DUR`$(8K>({ny5s&ZBE)Nx(mm~YNSTf%r zQe@WkY0(a3R>T$f3=IAmdk}tBdJ+nuhv>$PW_=EI%Fz+hP9Mk>QHS|D3U4i6gc}T> zn;F^~Jfg2fcENzw?~X!$_Lq-qyXq0uvOJo-vzNgdBrU#|vaW&8JtZfK^hr56tdV(e z0RYXw4t%ha&G^haDEM%f{Y~EFHc?jKRKM7ZnVY(P@G{J(g)z=_#M6Tzb(!^zVxO; z@}o+rog|@>rTi7H@et}NRQsb$HQ%O6B0QSFOIyYT*9uA z)Ff{=&J>%ScS3HhEDDx)lr3st&wGl~s_Y{toW%SOoS=h%6N%?jp4JCoQ&*;h29|`4 z|E%&O#`?m963&QYV4?3x2{QD+DYimm=g1iyQgP+Io?F3(-8E+6`ksALNl&i|f0Ep} zeG|S!brNoEpgs3hYv;9IZg-h&>U-L0hmbg(^c+(|h|I3Xic_GkGB`gmJv81m*Dv_3 zg&ErZ&7qRowP=ZoDAE@?BZ85A7C=b8G8FdQzrm7w3fq;m7G#+P?;B(RljWq^xsf z(Lb;BLQm9PZ0f=W+HqX%XN3i>S3Uj&s5{X;bVgD>`r;x>`|Vr>X^o zIs-P;8}#7Ltn()9g304YBzm*CV~9oBH~Bgd^4I0SgW$@okmLA(21MG8*W332x?7$C`IBzXY4IKA)R^wlyf(7f z6oc-ZOknqm_oWN?JpFIHsedYignGJ&bwO`b*JHT;S-Xym^m9SY6Y?`B>bPpfqe2kz;IJTp8%wX zKJ=hl8rz`Oe6bEr zcCPm!v+SdUR4z=B<;mEA>j>4s7VI5YD`}h8nm#qgRN~1LjbkKH|N>fb94@94n3> zFtGu67KC6X{}6Q7eO7nuAQi>XAtVOZ{H(IZIZ}|m@TZa?Dth9gi^_C2monf-1}w+R zm?7hsmuWfN!G>}2tCBAL%g72@-fjRABu!X{(ZeHjnYQK~M(KC`CTKs&x5@K%vQp%>s?q>cY9k{s1rf(i*99?UrZSV zGK%w|j**4LC%FRR5R}CLO)w+zF(1eCDu006cm{fbEIQyC)>(bABgJ%~+!0?1y@z;! z@65IP(Zs}XI%G-i3fR?p4Xhd|93RvWi#UuF+7`4B9%u5{F<`6y8<+ENQX?zrYGNq9 zTQ?;q;R@I3eVX`h>y~*}&tXv8jvSvF{I&tD(l4<UGEVL#{Q+Ej0$rvz(1~F^{#$KoHyo5=Kxtx?WQXINEd5Mo)xdUEix`3C} z!QG&%EXclk|LZ&EZ!}b8k93CJv-$%=L;81yAO^hm>z9fCYGt$uprGniIRuOuw!t){ zTNs}bqWtY}JIL|afp~m~*k==kIFI0pC1#F9a?GJC;W4CI&9X?L%xVgX7n_A)YXsVL{ zY88c>KFKKBg0lnG#8X))o>>v*$bL=ueXNAOln>9!aAvN*p?s4(w;o)jp$UegKNL}E z32juYM`^G4@2iEZp)MQIs9<{+cG{i9TFlu>0^}@W{}1tNR;`(tq)@A8!zgz=L-#o7 zL$pw?re%X9_BW*J?7V5V@^?B&W32nn)}Vblrc_3hSw?yK8*s?a0q2wo$BB#u9Qo5QOP#95!!s~yTI(WX)`aeSg~L_3bPrCT)zu$3P^|E+VfX zQakNT3at?_U=~0@F2YP=zt$v*vL^hYx)E_JO?URKuAv0nL^!XGsb{1ZGvGDgy}KC5 zn~_>GoE&4JLx+{2dV^^eaQ|hEth>eMT!BA{24G{I^SGBK;d}Q+dZ3xi?j~n&f9kf% zA)sHi8*p^a`p{7CApAMFV=UM1&byG=la-@~K(Ku-*Dnguy|ztAk=fbZB&+(vkQMap z(xBG46&|-1=X|!`0xzXIgq_ReD@bkczur%qLJAkx55G@XNBpHZYPv)Ra^I{2yDtRM zCEzJw#lI3uL=*@=O60BWnZELp7t+-+fs~C}@}xyteYH~3U*J#yM2R$YbFuJ41n+2x z-E0xU$iOKb-CKOhPX+-`Lwnn$=&-?&poNkBdIvs}rT3@=IDGF$5cIsAPfDv9F9$JS zJDMs+z8^5zuFS#lDX|aWAK+#nw(*=H^`%`|v`1`yVXvUIYH&3_O)&j)iC94WXNXNB zl>7X{{2zIteRkI?b45xgO&4aw@vm*KaUa+SD(3hi~zW{s}RG$R|nq0 zWun}|r+cy_4*K-cB9rX7;}F5QlT?%&X+$BSNu^`p&1MLcaOv?htsrXea4TreE-C)+V|4PjL@IXC+}>QG*gv zjRrSw5nu^ZHytZ#5uNPy;3b)qEZC{VwYpnwdvUb9>Ay3J?*Uq20VZLHm6`^&vB*d8 zSMmPE%b390uJ*54+|+c)W0*kPXm`NNnSvFN2Y&zq8fl9-Ha&A@$plbJ~I4tVUWE0#JuU|^r3L4qIG{)N#E zU<}$PUrs3k3Bmo+wbRX#t3k=$95HYPCqB&kk64twx{c*t%0N}} zZ;FB_7i6si^YEf@iD6&!FsA7n=x0Fae2&X(H{}UBlNuCI*KX+m#&H57Zj8OYnv;`QD@;A|K8&i{50$R6r-dN!@f z1KEf7V||d9mrx$N-Bhkwbytl)SNFjZ7~kU$TV#y5G&Xng2s%NDwePxr_GU@;xD82L z5O23$OWJEb9K}VrT}kKRuUG!E1XksI<+Pxkh7%{Yd~(ly#=|-Ox7kYuHni~V90B-BbH{hu3fd# zooZ#DgQ}Xr80D33+w;lIcF~5cPyE}pZ*^Ne#X7sHm6^$CUNZehL@jaOASd8$$u6&dlSz7#{JTDMHXOC9uWm zLh$=H)1L>q*Z|lbMHI863iVOU=Te{VskpVBw=wVvFjk0FVpfI%T_f>#vf(h5et$zh zs_}Y~QiON$eJg4Fe5kyqze*DS2W4_D?Rfd3KRvX>(iN_CcFa*_6XTS=XJmC9wgV^B zXc3<29XzJa65&6{CG@%$M<#av>$`bB>U968(HeYlGF-$;y`8~qV z2KM^DF*Zk0e;+Ju2$uyb&>1=Dk7{-3(E7rXtW)@4TZ^CTnD?=>6A2Q@d^;qWI4%s* zyhZ}=K@D>o?==U-ns!NY=F$fb0^q}Krq*!gJFOnD2+FcQMI6?I|9SyTrqCYtN9MyR zBkUrVDL*tBdg}R=#`fi~zYGbhpoeGpOlm+hb0%wgWIKUq9#!Mw1mW-Is)u!RJUJq5 zxq*pKKEeD-ygsVcZ(+zy6Z)Wa8E-?>jG@7%eeJ5X;_hwdq?qjD1vVB8KdBwzge9?< z!nK9&-xr-f2VoL4VCQiLWsJ6X1gy#{IuOYGTA=d+x{ns` zXPP1T-MPqxGfg_%y5?-%Uqa9&WF!9jl!I;zKc-*ptIk>o%~h$;vrIw`C&D}79fU}l z*bN*SGGLC_zP+=ZK$p(!{TAIK%;8{lxq{Q(Eff7YRZyO zbG~@K7Fvn}P!5@oON2DfuNli;+2+&8NB-09_T8I{^Q3?DSZFm($zx9st|Vu2v$!KU zXQ-Ljo@b-L2^Jo;*7#%3NA+Og9dvpb*KtVVsL#0%iy;|e8f%)&$J1ER%|^UBTs2!a zH-GmrL7(?(XDzH)72|Eao*PX9;Pw>+eF|r-$X?Sdjn5|tR}`j$p(wGo{CChBcjD3A zA=9Amt_3lff80a>c7?$|{rE}=w}U#se56K>*~f^drq`Kx^607;z+dk_o^+O|sxFe@ zJ&!7>)U%pWV{P}zxu~kjN5{T3s$XQuxt?ZF$N%x=t(&a(F3}H65n?_$lS$Rmbcdd! zN`E1C5|)YNT(g_ahU3$Ud}7lCGtRXKV#fb_53~Hldi4y`k*8OSMO(kUUGkUv#E_+AB-_V8$0$%PkZ1{qST|p@aGeh`U0K7u!zHNgaA3h06 zEZG}$!Cq=!feOj5{UgUN>HIY^8T;p~od$y$2kwL%R2Q6@zRL-^c99&JO_<%BnwSxW z-WA5fg*Q~T89>M5^V&e~NSwDWD^CR;nV`*o{^a|P8fqfy zSG9vL8{qvMmY3_(8cbV;$|e5}4Y{tz%-mx&d+g6VPuqwv1gq}_Wl$EVsFS|mq`Jg7 z(VJPnX`M6(H!!DOuxZWfo5$9$RZFvvf{({J-i&@q=+r%C;rKMq_f;Q){Op+EdaW&9 ztnYBv?G0o^mF>Cwd`kEFUBak@m^wO^y1Gl?ZAkjGT7AFAaO?-|Zk@BSL4PRw_To%! zW$5lKIZ7pL@AmKNnY1lyGCVDn-E3q#*C7z<@9hQriK1|txAO2eAjyWFr zMe)u&@CA}GIM2g=Y-D>ln{cd{y)9|elxyt4+0&Q?bXW*i` zsFG8Y)+E?m>TB0fNK+d=vaE7{*@bEwh%bNjhsR<-XJgNSKE~fuImaQ5a(4r<-kI}$ z#B?BF@Rnvg@=HT@tu7?QzpP*+E8yGW#=Z}<4|o?T%Yl!6WQ$O1Fp-e{E}Wiy{`Bz_ zjq-TNP=o>R%sG6vCs)OUV88QU+Mk(A>GA`YaFE0gMXDZVW`suz%2ot zLXkQ$?ag+Z%;pQ6#15?w=nD{v_N5=L<@g6)q@+SE0VsPLcU7LAA`p_Dvp*p3B_<~t zD^M))>l;%cdmDWih2?!I3Wo3p4Q1AC{DuqGm1jd6MzLP>t#cd}-Y8vgNVH&RB^TsZ z?y41=p55Edp`AlA3@I$W2CRL@IC$pqL)ivw&w;?6x(2jrV*Yp@Chep8$&=L9p01Xb z`<=J6diMa>O|Nv$WwcG3;~QMgJmxM{@6fnzCNLF3)sqDbll*OoISWPl==Y! z#UMoC+L<6C#q;PiC0ea;T@Z7VR%ZSJL)S5X_d0twWghlppbB4z5pJ$R`%3{+)^7~C zWFNO$OOg`1z$^14t_fw+ZF#?oB_7}HwWpob%z7qh#hKYai8A5y3K>|9T!a<26s2J|Dberk z`KkP^;bs?P95QdwNsOP88=?XSOFQ~>O|X9x4b~{A5y+2phI8Zd1e{&%%j}HdY+OHF z&HpkhBwL`vD!6{Dpu`Zb6*cw|=#qI#44fDU-j{)!_j`~|uhRNo^Q-+5Y6-f1-V#BC zJvWleV|HCaI!CN;Y#{Y^j$A$KaK#C>A(+=Csl^jPDV)gLYUn2BX;#wp8PdcL)gk_9 z(OBNy5HVX-|52(~GiU=pT|iB&Ie09X8Qk5>KBG|`p!wHc|$6+|$ckdc))X#_< zXny`TzC`>RUl0(M=D<`=``fav-}dy#9-_pbyxNloXXgbXd==Di+Iv(!b(0`jY}n%l z3l4nk4pKTh|T)aZY#U8u?!*2FE|$31#aJl}orT@bU|>pH21nw%zi6i3q;T4$peW+bU@i$m zAJgd-ef5aSOm+W*Mx3Os?R8kwIFYutzb$L!(0hk;HB7|jOt>{`=qu1$6^BPjt&*{> zqzjj=hV5I|T1?>ScYYts8eCOidCKZvwJK1Ao0t6WC}z3^&iSbVAzR3ziOqc9V|6U< zCVfpNUj*ER3m#r?pnb-T=ArQ{VHk`JkfB=4Ao)ccyq5R0mJ zRCd&MgNUn?7Iq5J;*TkA@V8uqWSK=1w72Iz6POkR;@b*Y`#@&x;@v4ETnaYv9ap z_?HozrljRS$`2trP^$!5dhA)akrspI^PBos!?6z3YYVG}_DSUYEv#>&aqTkrb@cs! z1a4GlLRL&TVtP<47|wKOHByzoTum(*sd=hEF@L1~(cgI`@}^R)lWJ=lh$_)VY`5?(tjNP25$fv|mFTK|jM@v+kM*4pd1B}o zeLLNr)>!-a<#9>YhRgAY3sqe{d-3%3#3nO&L|>`nTmBjr6T-;|yQCNTigQ5N>dupA z{cX2@zQ!{b&stpG#^tq5N8jbguafc%HYxecM@#h@=NUJ>r_ZpUxVFc{eP`;{a48cNv*GVxNzSkWDh(Yy$qb@C$6Lx;l@1~3w8bV zr)!544GEhF6Dn>`>~Pm3r5asuqlo+psiACGhvp*@X16p+1N>8^iB2CcoSh z({BUZtqz$QyNV7+^MDb)`k7~_a@Sof7$Ngerye~|BBE=j*H77?RmbsbREfI$|=9|Y*MQEUJHDc$$4i}@(iZqY6 zom%2Ll_kzCN#RILCpw`Ca{B~a@IcH{8K?{DEnfU8>&>IEYHY;>tP6EtZ0J>A_ zF1ybQ;Bj1|m!ZN6S(ng>NC~TsS5it6{U=ZM6lvExh}L#h7g5BI5p>@BY>0E^8$c)I(D#&~ z`1OZvv`4Fp4vn&F52}ylK@w8GenFjtB>dZ$o)}WxDXk|WjRxIXLA~%4!kc8XKKgo| zGG_2wvV!ka`Wx$~fYz2fL$`@4C?y9g&2Tk97@gYE5(6Yl;v5AB2 zQKzijg5%dw$lo?!rV&#X$pF#XX`ae;A^x^MVU_+N(_hxBlf!rVto9R(r8mxozl3l)SBCot!tnoW-4v2^Ry`rvR zvHsPHp?3IaKcvr+0MJ9~1r#^Cm)Y8)PAIqpjIF3M#;FCo`jWiA4#AfBD`3jTHvY9m z1kCQDNwH|%9_Mm=NjKm|9Q)3lSPJcYen#bv6d!SZ-XZ1Hawrcx^Qi0pDa@3f`Vpi- zIpo=v&976JfA1d>9BP6NW%yeUb}AK&k-PunDDz`Q=!E70fgO+m$>&nNg=4n7ZrvlP6fM_uw`}|pzb|vVkI zINWbU2KM=f*d-NvS(I5de73_KzY%qV!qrOW1p9DWSW}y1@LME@c@+byE~vHlw+Q3! zZpPt*Vv2;dYuS>?p}677Fu`w_M@99F(;sw=!j4HXOrmsrS3xxO(soIt;0h3_2)n+yo& zQCNRt7kP;|^N{}+kvzCCL&IG6=^zT-GcHz=gZa4@L`Q%2i6ng zZ#bSF6Yoks@Ds{{0ONjH8^RjW1p_42@Ss;A?GKPTaY5EwyOTUa%SG9&TnpK{w07{` z>)(~|+->&_!TZMoyGf1fvEMln3rfh}gPd2NoD8H!gR7ty-hfceJ;j8Fu~QUcGuD^U zq8-v-vtMTSFRPP9>h*}z^?huL(%Lr(p0@oT7n;`xBP`WcE~MXAh@47Rfw^K;ZxT*# zQVHFK9Q;do2gkR=!`<3A>FS(BeiyP3xOR?rkq`fl_^D4q&InstYNWj;5wE?U8=`|9~#^xqKc9>K$xU zt-?%if3mnfBB}+MLdIXYc@`5`d;=IcmPD2&a~Ih*gP+#$(W#hl_LbA8b#yyWAwyN~ ztHIuO<5yP=wFN>~e(dIR=F00?@P=spU7m(i-L;N|$avQ8hX(RF|Y8DXC9 zNt09CdGEGOW?aGI325)l?!{?(Rv$iXtedl0N}Ddo>zr6^Rbzubh?fN@6{8i%1IeYB zbiW)Eh2bn4f{LA|R2u%huCFx}v*$V`cu%M^q%}2^cSO z?&`8{ZAs^^%^~lYgg0pJ#q6V`3m`7{sKwsob>Rd&88W$FR4mGYlTkUM5mg|AuMU-@ z9r8#nHLCJKDfeh5X*^3~`db5&nCnu%=uMg18*G8l1=;tNHWt|7i>b_J214-t2v9_3ls_rEJSKC4G{o6aDk~u(KP4OhE@GF7%q`@yb2xk-yhL8`zJCajl~M zrd{`=zdC(uc$hF2=+C<*FLbVQQw?sqjzZhTaoRk~`hC*4G?F5!^%&luhSUNl znKKbfSc+8cBm)-f-MKJYr;Y@Ru7?fN%1J+jQ;N1UnTM&?kN(Df!D?I9rhrO~Hrd*O z0VUzhN;x&x91q1hJ=?f&OUUSF0HozJKOFyb^vPoc+Bbv8EX`}ijNeFx_{k{LKV{k` zQ}?8q$U2)mLy59z`&D9v zvi|yU7auus^fa*W`{LYBjkb3~ik6i8#V*K03PUt5WFA%GkiMC(gpa zWdoAgI-2O&hzsgRuGE(qWf3Ft@s^9B+??HHhQ~1_I98G+yg$%vrk?7EtYk}QwN=|B z^O&;*sGpMJcm%c{FU}?Sn~~p^#~8Y{J{8sOJSJYEYv<8rDj?Fvv=|wFl!=g>Cq5s| zswa*r#XP*Uli9H?uhZg3>e846oHHc9kgI%|+x{>W+O&808+6h@=iL`=!@mFfM#fJW zHaa#X$Ki{8ZPW*(SCpB_@?8WUuu@Zr@>-6dKh60z4LGfSYifCZ_&#*WM-t4py%y8o zt+q(CrF`oWgVkC8wHaBzes_%A`v)c-7y~rOSf|aC#p?IoI@CEQ1!1*#wA7qLkwcie zkOedCTSb}eVX0od^jp#iY|S+x!YhkBrs-Q&Jdb!Rc`-cQ$e0QIsX$Q?(Ifv>h4cf< zx8DBA8Upvq3plpgH6+A~l3EDL7jb1No`{aguCO~XgaU)IQ8L9Cix|+^=|NU|){Qt9 z6aE(C@Wws~!%^`zS((ds968?%Z{quQNEa1AhUbCx6{@hI;%yLr+iX4lH5WLtjv6$9 zxv-#w|7$P=e=?h0_I#Iw)#RX|_Tsox&heRiqi=+ja871I>BBtU-lS0P2=g$|)mk+qJT;vhbo@ug2#(Yo%syfZO2z4pz=6;4+`9Qb=r9g<82CfPa$Pcsa# zQ}DU2^>X^E;qB>P99V9+tM7D@fk}~bTes}Bn`~8N!~jPG7blm>Ni68YF_V1+bZCV; zUTCAXhyQ_e(_X{{5Jt#QjES}#{(h?048|}K#U2M|qjnPI92=^o8q(X?g3i56q_v$kCQTBON%W85WzH-=NM}E4H21oU z4GZIpB-(>0c#sixoqm&Rtne7mK>YmBf{qvP4s_}4hx;{61v0B=`yhk4Mt&+3T0l$@ zrjhiQW+3*2c4+1V{v+8Sh}Obo3;_UH5V!?v4LNrb0CE;CmuZ|?pdb~2vB3*PRZ|fF+!icwyUbF2lS1~(!+P#aru!uoB+woIQZB{vR2SgUJ zbMSH7@tS>NT2@H^C4IZlVQjmpU7=`i=^!M~P!Zf4cwaoIneFrZUkv_Uz!B$7^;%I_ z6I2)v$5q{qi;O56bD#!~K5e-!iy0ZXSX-VRMnogkpoB9p{%o>x( z&=7l}T%RX~LOSGTODur`9$n#UAe7H(h{fe$W;gai2d@~fTakF77!6=^^kc`wJFC4C z6hc`8q5$dOy4E_{6$uHl@I~i(Z^Q8ug9;q+q_Eh0^$7CUHcRJL110yXNGhlCPd2lS zQU8XTJ-kfAxRjk9mo)NJ|7j_*gq)o1C`hDX&_|nVU=+IVzK;hvGVr`*hpp68 zC{0Mk_!)bW?M3W<*41a)ZqFP&ru6jCKy4{MT-R~TsXd|`Y83y27?yV{m&fYJw-Wx= z2WiN_Czf9g$*s3Iknwsr21Wo4GE~d9{typFFRX;i1MXg(T}h4#}s84HyT~L2%I>) zN%R5~7X5t+tX=nqV=*h&kyDxYxu6n%8GSGa8hKVaa~P`kA>#WF z$r>(t(m1yD+nX<|nIO68`!^%irX%)q-n4v2WgPob5O?)&HT<5QQd{=WgxCi;A?c1ICtd~0x{Ye|W&m(>;7y{OQ? zjb=mx!nU-B@~aLMY)q`O-Q-|z1X>{qf)7Lp?zbhOff|CY$MNT#5WDMIgvXF?x;ek#DCt687T=531l|% zcQ5TiOy?+CJ$jr^99pvGTS_7=dF~4EDg00}Wg#fv?G#uRMe296k9EmrV9&Np*jhT|qj8ePZ|DT&sI$?gn>kwdG(<~U^Y zuL6&ITOcP58J725)*U&7TE95dLU=P`wZarMOf^VM-E@CkKA zqQ~P%jfNCgl*PTZ%a|BEX5RM%g2OCV-?OX6E4X38ZNZTtl7$pCM`u@IRqH4Kz z($Ek*sg$0qQl+SX)C3kck^e7Ak+m*efvGP21AeOAG-WLhkxI^Sc z7lS{YE6M;zp0ht#t4gak$G%k&8uB)?7AUYwM6i;2+8YM2&+w4z8Ql(gK1XfXMX<+D zPLn`Heb83XCB;6ba++WjhW^x`684i%QrH#fed9t$%nbfGiIme+l|;xe2vM}hyD01% zK#S?!%C7q#GuYciBAZcw_IH@9jo)sYjxntz`*~va;p4HXP7E)vxx(b7@?um5$~R@S z%uoJEpk;3HnRIITt7%bxe%TZ3^hKkk4&&+(JDcIQO(kEy>FN#S<7y%_hr89?8O4a! zos@FuvK24%;$bas;@R^Gqf7?b$cNsx@uLRP)+v;XHda%pc>J{3!9o02aDdK^yAKBZ z_dQ46;xHqh3Jxxit^hOtYQ((;clg#t5KF) z(!cwAE;FCkeQ}#``StaUYjFNeZ$I*_+VggPKQYm;3W}_#+Ug{0{b8YS^T6}bYwNq^#j0L8%#6UXOsavymb$M%Q#DCWVoe0oQ&0C#Cr}dw zwlG@K*V8^l?&P%+4~3h6Y#mr4Hw1oIS!>&sj;j01oG2SsqTtm}HQNlVVV|41M;ezx zHj(RH{T0%*PMjsa=Ra`wbPry9bJd*j_9eJ52{c`05*L+6CjQ~ z8Se9+AkJy^ZF_q^!basBXg&}dS4m2ExT@FxB}wb)l+2r-v-uJ1@S_L}X#T?DvcvU(p?A}qHU1Xm9Le4gq`7Oka=T13ZT>Sn-WLc5x4GoH04=%0iW>|C*s@81a9jPe}JFHi7p(=H^NGQks=~c_R z#PTI<4b;!{1E_Fr_{=?x?9}Xs zS@}gtD#BI)Gv*r$;RhOi{vS_g*;ZxObz$j{1_|lzmhJ{A>FyS!yF=+lx}>|iJ2#!u zxasb$=i+{kS4QhMJ<9T$FyE*$>S1Tb&0$oiZhN*bI)nrFwjmb&P%%VhZ*hH*PZT8MizU4PSUPz?dJ3ip9`V3v9d=bb6VcRf$2;)1uf{3o?7#4G8N@O^XTPe$}}xuAujWuq@>z%^yr`fT?d zm#SZQluXMCYuhr?twYiQ7c>ca2yvgbBFRx@ZXA@_V{-kAE^@yc;nmakMt2%)p#ox2 z)n9T~eYh1fE9P_CzG9ofuphf$pPHTPTw1=o-6d=9v|?T*9qyL{2Em<}Qlve(lV(X{ zPwL?4%V_dAwk)Bo;dVLnhw5?0kOQ9lIEu!LR&y>$`P-DvyPxQKkEv(3 zNj<}l`L0!(T8_#{w(Y)Ti29mQp6KF8(AMN)b?~K0LlOo&ZdwQ8jbf=@;9;hh)$R3E z-1LO#hG;tIa1L6OwVUI^%)feSesf#4=o(2P&UnK&amYU`YvrDtm@9fdB}WExl)aR) z0h_EoY^FE zEi2WDm;*!g5CYu-RH=FdS_u(&SrV~&cW~CxOHs`3rb&EF6S}cJZq-y3K&9H8hyF=a zI)?vRH2bPw>s36~))<|GkK3RaOdG5M~kd>ABm#P{HL(AEg#t;f-IPEes)< zq~doL&$4(SeUu^DndtrAI85LOZc`W*R~aA=*glX!*-Fx`ef2-nIGLx)s$XntXMD&I z+ej9&cb;^5aCsB7!sQx;#o$$WGzD)FqCm$#?=usxRmn0EYg_ly7gkd-jIJZE zZPO4aSl{Wv`Bkt_W8O|L;k_U~Rf>vB+q{};o{YoXRRfWnAtZYAYduS|E>Myc+{RI1 z#+FkNM+zE2+xitZJkKIVaA12?dc%HoWnL4+On5!^5Xzvi zHykfS8VabTelT3e;L4guv4fDXPbZ!ZvJlRq@E1_;LpXuHRQ^=tJ~GSTX}GwbCQQ;# z;;ZmVy>tERSX^t0_@n})l1W-U?UVyTV$k3t=7gcl1mVElqfcI&t{{lN6YLW{cM?Jr zgT}q}n6Mt!vSK~VTK&CIE87yW?tDDYTJ6@w$M|mp&%VfL$BZYS!9LR;%~)9cQ@th4H@T)l12x# z3d@ELAdG6fd(WL$0*UCQ##l6f@9pUObqleb&dTy%C?3stGFUIQZoTp;-i*B&$%GP8I&yGsolVS zq+$1=iLLaRmr?gzIV%bkUZfpD{o^u5G8P_qHNg3H__ziyek=pq@t#Z4yQ$~_HG%FJ zITW(zPSY#1LoJftewKcJ3EF4-!wpOqf+IJZJ|IwNjg!c?za@B@fdMzHvo$-}$RSOW z98sX(YqPvHeQvV;2m;tHTEwl~N%iSPSF6>phs&qC_xqS*bZgOU5LJO`KU zd_U#D-<7I-7~}RA?WGfV`KW>8Ll}{m*}wGunltx88XfGNrA`~$OWjLQ(e;5}g}Zzm zPjlQ*k8D~#Ih!COb&dH%^uP(e-OnG(ixI|cMTdkD* zCtBva{c*;J!0&@u_8n40r2kcKiw~PPR`1l#RHVPd)~(JgCKv5w*b7vq33RfYi?`7_ z#*lpIH}4aegUwM4hZtp+p#Gg(OZX1 zl+XH;F14}L=S}?d$Pd#5w6&b8aC;IbleO$G%rR%cCR6m35GGDDEd2BZvO9?~&iB_x zdX|o@eDJYNzb%CBKOJ$0t}7pF2^~P`b!F|^lP89z zXFg)US?U$mYjDCOk#Mim`d#OHS8?iv1~`7>o1yzpG0rZ52NL zL1`E4XkNyEO!B-`t15x@GQGOb0b0*^MFaimAnb_=ElxX!k&}JeiAmPm5KxySs{O=7 zcs1>y7a|ee8vz7opKXT<^dt_cqio|-u0QQixX!zOK$_apJ{@g_5w&ybPSYWC{^lCq zF+Y^%U|d&!DJEsq#Z6RqQqp_VZu)rjAj7Ft4qaELUwW~;B|=tEghIvml`=Ru(14sT z+^5bs23L`n-+xLg%ynZD;&Hq1`%8Kh4K=NTj)E1YDs?`+DmqJi&z1S&Kauo_K%9!n zxMe{_b?y`vDjZJh$*=ke-47>LTj!uVjUJ^%Xo2C)2fL!E6ZOH9@LWXn`Y*24T#O2D zgJ8B$qGHEW8Cyg9JOn<>b`}L=+ox?`ia}FRb!iJpU$%UmF%TX@n}!hue^UI?03djC?{vvpWNGAk?=UTr@W{Ze`(ez zaKAh=(3!L}N-xPXzRYa#2h%)Yfw-Tve6vp22Jeq~B4k_Dz|X-Cc(fTg#F4Vk9>)gz z2*JAIXf*~O-OrrR`Tay!hez;~7Exs)mm&e}I9B1muU>$_58_1Z8tqnO?_Keq$jO48 zp=GT`zeqsp|Mk~EWTzphKmp0=#RvH0nbH2;KZ16{wk9a+&0!`7E6j@LJ-M6qX;#|n z#E-!GsNMW~6H}+oT=px(5tOR{!SQVc|xMM}G?}U~r38j|Jb64WQN}75xmGK?_cF0DA zJ(J*zhr;g2`pwqsxGg{uBroecvINv@&Ofq#_Kq#~{ly#P038<)=cE@hS7%YK$4#9< zUvFu0c3l(0|4DT{N;jr##Z?LqFnhOH7t!2Hz#r6Z@C&ho^f>W{5{)?-9Aaksxx@(` z(35t5y78F0=x5HjkZvs&80~G(*a*W9kB7-3n0Qj&86A5{I^BqXA6nGoR9=17*4W79Arb}k|I^fm@*q3k6X@r*lE$#l`%1R=x zHlsGWyk95z*FyoB`sQ{k&VPGiUcPRyw6j_I{2T1Q8b$k1+ zyLGGhEHy!~SLUW(Xj;B{NgayO4J2ZXs4@y@J(ti(6LJewy0}_rzo8lU&v2hD=25&m z+OU|a{N~ZOUmZ+c>2|YNYF8MQzh~HTuL;C>diDGHily90*o})@7*l>f3G+36JGOCS|%$PWjiyTBkRGeMe=ztlGFQbQKr{_al|7_7}0i~htvD_hC=-h9M(kDE;`3- zics)}G@~Y8(uLpz^m+F$iRIKkV{P;N;YjmA3}Y|V+&o2&YmY3H?rJ<&>)Qj5RuC&NTWQ)}s-Z$MRn-9ZHyOo7cDI+&ut?v^0D4LJR z3lw?@$RV)uE*(9W5#M%i#X(($!1eKcEF{)y)KkKW#Et(I@G>LPJJ~_@p;G}`%|Ns5 zBM`piMb1wj=yVYF!~n*wAH>*IrZDBnH2-cMdUov@#veVUWOO&4H(xA=-A_7|P5s>t z&e8?H_&kgwYZta5S%UO89C_lAR@M3R$cop?eTZ(1<9b|Ln1(l7`3pzyM0{^+z<0w) zm+rE%{`?XQBdq56{aXEZX(E&H&kit|rCZms7cQURzoZD5>|>iaR_KKjp$Ykskx5wvbTAn1 ztXM2pY=qy@A7Tdfd;K|sNI(-M`%g{QqY8#$hMNAUV))sg1^JH?O$<5WlY|S7O7kl+ z2{M_V`os}9IIRIzp#nGMaW8{1`UzbExU7g^knN%8cTaZSQ?|!ztNK&z9Yaz`Ba+I- z;*Y{OjEE1G$z_}szZkkWpSYM(H)&H z0TH39VzD1}Iv;f#Zi^IRB6{Gh5hn)Ft3q3~*O~mcTHLtf%Iu5`beA!2#6y6t9;HOPCOzIfeeKLeHe`-fp#*@;)T=%f^ z6FOC%`6=^=qsLg$1?pP;cmFg^<>upj&9`Khy9lXcCm=5Tk*Up)!t?HHPi&;=Nynm2 z9bxgZjR5U+z6VAx8 zOD(Sh{C)I=x+QAK-upiISUlIGWGsHWp6;6sR^Zlxes@*m%My9!Od^9nhp|E2^z|1n z3p+ef_KxK)@hpa3v>K84Ze>VpJGlMRTM#i8==?x|W-2-GM8w>6vggN4D}nV7pNU6{ zz|I#|Tvb3+%&D#8Z$sOqVfSP6(S&u>q~4;C>ydrRhXrhE$3D-NnMC`~h8RF%+C`@n0bK1^YY<;Ne$ z%x)(p0w2s|(LS&r^PGj=JyM`W;f6B2>y8Ra3nZlZ*3I#7i01ndSHAFKWVp}pmU{c8 z!~Caoqq5+Q(D6!C^rdbG7!CW&Rm$jyJVy6QrB7O;EbdD1fp!|$J!OwvGqgbgA#jsR zJ(PkIfhNT<>|w&%=iWOxn-6i(>r5!Va6c4Nx1Btflxf@*JZ%&kE}pVMS$_jAPZxad z2fWIvTbmJy)Fcw{{wDUioH>t4Twf$GyXG#JM4h9b>l~MwAi87+%HCy~ z;)8&vAzUq07(Qliwx-nm8vF-frq*=7wii_2)Aj!)2Ds@dc_);fS&&Fv!x*grwRfy{ ziRUgnz51yQnFJi&7Gb`pPb$ek6|gT6$!x^V-KGsaQ8ebYdI6P-X5hD!U`%6!Bt3P^ zR4Vx+^K7hQ;g8|UPN)Szy9KcHf?8$63B%+2_e{nfCn2g-XDsRDmkBAR0H>J4Z5$XJPACF@~Cn7P|#!lk_gsSAs(BZiCVDl?v0^$y->wA@)L~Wko-iOp?$A( zpOer`QYr0(uL~}be&P)-Rf)6)NUb^~J9WaVh6$sV!l&6`t}J9aC2>nm=xINH&c!lt zThcO4Y$c*7=Cq^dJ7nF^+Wm3HPSEmzik}g7?@lKzLKcCP^;YefyA+qLt?`ZBso;Pf;88B>E%)p@Z?+6BF@ ziNYVi@&Y>N^UxA9$)gDaj*+--q#%W@qi}APCXO#csrZx%5$jl;K2rA@S>SHpE(7B$ zbuM9_3D_T#*5|pm7ZDxT*-JZ+rL%5q1$HzBC9O$Nh@G4$=rLq1gGH2ARcEpM2YG3d zhp*+!*;f+1uU{j3Qj3rlY!RmWb}yIxZ#fpkGM0YUbNeiMES-7FJM49AxKTUJ!5IoJ z#t5CvF7u#mDFt#DG;zn7SkNs#`r+&S_`&XZc1JRZbxFFZKf7mP;Bx~4;B?yFE31?! zTJ+#a@P+VoZtOfJ@%Ut2Ma;!z_wSzlmfH7_NHCGHAr#uJ`|IrO;rIQ>vSU9m74|lZ zaZ>{}5R!cs1?D!P2HK-dea!_`y?A1Dy`jy+9XR>vDK)b{TcrUX+lK?Dm}dJI)qazS zthT?bu0T=FPQqBQ5)elsLe6e23(~>xUp}((-M;fqbc(4-v45tZTT>vDje^g5J6DN| zsXYPWQ7d*1A56_CHn+EmH+ZHsj1qynV~=V`OcCh)27sZJuf?mayvn~Bk2%nm(#0TO zx=1ATI>9RJPOV;dq4TFx7F?~0N(W=*Ov*X4KCHT2xxF^qaBCl7U8t9@&@*P9&nm_a zB7S*N8fle>8WzK;D3hXa#(pWk&Kq;O^>0a>fyVCz?f3mO$}2x00p9-t%=~Cw6#f0{ zRJPZI5TuOm_s~-~yGy1I^k12eJ3|rv>`jg)7OYt5?epSr`vs-W3j#k0g)Y02Efq9m z1Gj@ObZbQ3^oys-6}ZdLFWwd@P3w<{D5FDE(FkS6bU&R-J9~b8DvLl#`f(T4qrn%{ zxH8u5d%$h(ZHJcI1a76mUHhr~f*~YO8g8L+Hq$s#87tzfw)a;{!i>CAuLh@IQ+X?J zLv+v#a>1gN1>tbfzOoG{?U~ij#L7|v)sN75R%RgOJ^7MF4+jGH3O~& zFwTEhL*IiM2}JJ}8dd+!ZYD4@N`;FHywDM8%~db|@P-y7R^ybMq|3QiGlLP^$9l^J z{0DUT5b3A4or%%;h3sP<404yvqTYkfWHq-&CdpYEKxSSEx{6X2z+45lkFe zz3rQ+gVFO!f4Bk^n76A0xc%hkyG3TM-08I&6)U{W)%1M7il@Y~yS^m?o}$}05^7rK zim!mO z{=;5}2uK9DS_LG75wRF{Z%$xmkz_@Y440qd?lb7yNCQHGKbW0_rCi%WUF?~3pm1xC z{UM&uQwg2V$$p{30jcF1K6BF`r8lYa&G%cw_6*pWnUq|3Av>`irirt%8d%T zz{M5c>6D4U16FKy1wq>njO-X0WzS&Q!ai@UZ2fs{*m zC%Tx{=u1NrXCUrSbvf40nP}DM8TZr0?Y?id?mUC4G}4GY1OzdoO7qU=@tOn_ON-up z1$zxX6RQQ3pn(RJG#fXV%)03UcXVC?y%IxdWT=nh;(?{RN(Fbq)L_aKw5(1*>wPBT z1!jg^15rv(>mg~}EoOcn-i5;d`gYo)as#Q5nyP=Z9utm?lN0IiA-;N7Eh_VbmrbV&G!!_` z*W-2X=vHX|<%qzXj?ub1?WUDVF`fuFB@0OXZtVAINK z&6k_F+2=oM|6zYVym#G5NlwXw{Zkw=20qQN%`pc4YpHJ&Gqdpq)G(+4@<_%{d>;+PratF99}@a_V|@N+m8faPrc^}8)8^8xr)Cc)hHJ} z9~DWIB-6o$Uh~@{i!;URq5a1}E-@n<@((FEZvh#@V_Py6X^YGa5h#mdhrb{HBFOrJ>sq({sfnOAHhvqhhX!&HD!0tyLxf6O{=1B5O6Tyci5;(2SF!mvDymubEgZQSahxEtT!6eGKFLE z%!uRC>kkA3Oc>E~2=o7T zhjbgwBZgygf5m{*P%?6tsvtC_;@yk6y3xR@Wv%M;+iu!pWSn?Adf`z_%RJ`0po$Us zFf81f@r|W2BWD`&SV8^YTuE^NcaZOCDhwsDumxDLlJnfVv@i5-GtumJMu-$mb(S2w z_D5V~L)GEs79U849kBiPBQ^EQIm1P_mWD>4ahPVu4VLH#yU7jIAeCbrtBbpo)-7jA_8|dein8yi$?dUJIc%ub`^V5mtciLMDCc-1-k= z_=@=d^ZygR7?`7^cO4`zoGE@X24M>bbbCfC;%@` zqnPBFjMo&d(50&|`gC4L*t`=g6G|1`N`*DgnVVaK#{u>(AK99}&95Dr;bJ1sM^ywNTpMeVdTmiYv@}g2>&QqlwikCrhi|U~ zsq!hD)w72ZWHuF@y&8HPq4J(B$HR87&v6($m_|0f`lrMLNnDDnsKXGNl|x}*A6&{? z%<)=B2}mgk-I(=+2GB7j1fB-E#U2Vt{ZU(XC(c<92fTl3*W~fIKt}B(06eLEpkxjN z8vNw{9uv~4(MgNQU!8H9`CF^8l&e=3J4_gU1O=)GKUwvoStw!AOtdX+KQ_`Q;+~Y&Vfw?p^e46&!5+57|Wz2%rHmkOuO4Xze~NNxMa+AomY(h{NXYqixt zD`c;T@AWv>rIPZIqo)tJQkLmn|F(%hGdZ~b&Bw|LOEo(^qE;gH8$S9|KpA(?-8!W} zGHGDEmvv@Pvj5~@>p07vxB>^~{_;&Lr?F(8MV%gEf z_$iwWW0gcIdxdThmFy>94ICEXQA!rVRsZscuGv-@bG?vd5!sY0=uQtflNS z(Y}rY*RGZ+Yt7_98{QNqpl%fW?TXG(6cBS^kW#`3X|isMRz{VxAThj$y_keyX*>bE zEdC8A$^wN#tUoScE^>NIM1(yj0FC6!pR(_w(nDA~s^`@yrt-Q8bGP)Tkig~3hs(W{cmvR0gWiUZ z^-Aw%H#s;2OF~4#h5Q;^dB*=&MSs5IJ>F3@wky{2aNnF{^x=Vb8FqQc=OIPL2>iep z;28lgNei~tDqVLZ>1Kv{iBv!pv;8KCvA`XfI8CP!5g~Q`izumz5vwRWfDh*{vuq1j z#ECqjatGjMyy1A7?8K(& z^1A)e<*4XBSZh9@tD@&N2Vkt8-%amAse4F+R>ql7GbWN&s2u2nRx4s;mTg6j2~bXn z?sL#M&;BWF4ZkR?)E=K$XBzg_A79y%QIj{X*u2RrxP?qE>J##P$=Ti9s)!-HrzV}q zg_$?o6yO}3iaMR1?9$wk^HI62y>p`tpcKcZrux5y-{g;29m`^9&FHCHNjtLJ;H-o%k0TejeT6(t zVN*@#o~A?^y1Gez3yShMiH^?VbSp9Gk#{``6D#{&hY@(5G}^ zfb4D_I8*{IJMRhoOG3y{`cXmi)lyhWq7ThV&ng3sB!L z;imsCVZ74W&(M+dsVum#t~jAt?zxA^ZAAM(PD+EU+w8)b%ximmk98NPM8ji$XL6K~ z7B*P{gWL|Y-+%D050cNoqN7l9b5-*~wUrhd=NFsef38CURCOL^ja_Gv(_(-lS&1&l z6mw`hFt)M2+`eYm-`#ql`AN93X$&d3iE(LzF?HKEhHG2P?b6PQd2`hxIPe#VqCF_Ejn+qJ`hAmOjEIpoMFBp zeN`0A9f4*aXf+S@G0`Ro~$4tZ`Xr`GVu-6Z9sU6P7H$9R#_d%MvAMs>Z1*WpMXX0bT# zdcCJHF-imS?lJwWvd>pj2P^@K4AnSr^--CnwFlsx5McAqOCl-y?0bbN^==@vN`7ha z4N|rL%JC6)Fu{=Iqs7iJhGiU%1R|sFP{P3DyeBfo#5s=nG4JcA$U1{bE$wH;*x2fg zFCNb7(cYrr{U);^@|_4O(9H=v;4X0%Cav* ze)rrkyE8=*#3N&Lm=4yC{Vub%loZP=C;B&UJD(R=zB-lZryaPb_XMTWgj^BH1LM}# zUy!(X_c-Qm@#EF111Md;39teqSjMFjs}Tq3??rcf5W(h!n?*n>3ja7U{!ik>LLY!h zBiD4LcFJ$YW#ENb-DcX&n{)+Ruu}uW1FM_8#p7NsuhA(Q$c~&<7m#qPZp@jF1xzI# z--lV)TW^#%c|c)GKC76~x1bp|k#CsYVfSYm84=^s6GDGCL_LLD8#%L)2ox)bbc7W`=(eOb@UG%o;ON|3xZSU$uoeeE&+|xfBn~aL1tUEK|Wm zj6u(vi{p%x^8(sSXGyh(k|^O%vgX5XP1kK>ycToUIvVZcLLsLSK1qka$_f$GjICr9 z^kdEbnQ?lR53D-UW8;}7$26@EYUa{Myu<^vwPPc@P%h;<_sKJESDI^ORm@eMBA`Ks zvcA!=`}|q=emf$Q`{lO?OWF)9_3O))t4&!kvUJ#ORxI8MK-(fLyVWpU4-=pdvI9uI zv16u;eF9k9eDqNJwcZ|5m95TS1fQMZIBjV;UTf5!17wg1inPJg*6p7pUf<(h%gRqZu2@hXE=TjrA8!kyHJSMMCf8XtR|Fwy(@Ov)Il#r?L~T!9@X`LFlj2 zbM-4YP8xP%hivhn@^r{_mwjMDOi{r<7E@q5cRa^Bi0~B^Y%DLW5H1l2zndSr5?MdY zSPTpc?&M{~jno804*;wxlJug5;CYi5XcN)#?66c5rR*2!H1ZliY6&)>zFAn1Add~$ zwopIm?rfD5gZsX-(FjOFUEY45e4P&eo+iIyn-g*o+`XI)#mZyZx4yJJ^BvXq439~7 zFK(PoQwe_7b7{bg+BofVNO&^5lo3P2LNWpL)VG1bcGvWnv*@cE^4ju;#xK#_4xQ|O z)I~%sTlI!Nx#w#_y^#eT_@VV&>w&$uh0IkPUj<^0Fb#Ld>ZNq^M?O(+D>+~AcKI&o zJ7RnbG;IEElS z4OJh^?z2RWk?r63;&rM#L{Fl3`Bz{`tYzp+B4`YGa4>?gBgUP31=%h)mrOEAYA#SV zl*zIB(uUPC)g)@n0cXjnwY~PBc!=*KY~zb>*SeJ|@6x8}hC?bP6Z??ahz*|M@9Ylm z@|uwfA0YzRZ77M;l{wCygo($DCdwyg%&o1Ew>-6Pu^;U%voepXi0C1Y99Yd6bp!+_ z%5RJp*_KRnPSbn8IK3pv1YMjL9R)78wN`YNAT*oR`ij&~y24VQJLYH7(n)I2X)Brt z48NSFpV$M+|s*cye&>t1oVdiY_u!dRzWBN-PRvN0~wE>~Y3e^8xqZ146r*kgZCG zG#b=LIAwP-p2<0(iwkT3(Sbvyxc^JK(L89&aG^p7#gAw<@M|C3U9}tKw4Qus9c6lZ z&#&;&LD$C>OqouOQsUGQDf2>5l@(apH0}g`o2)7Qwtq+~HtBOn{!d&+Yk^L<)T$l| z_AbT4?5Igs7@>29x**~dP882&J;F2_&!)fI^x)=&K27GGPf?mJo_^93T(0U1Tg3E@ zy-GOx0auORGnk%VXI4E@yzR0c^~8X;+c0e zz~o~RObU4rPY`o9#BHA5eTBWdR63BgM{R#Qw^}eT>9T{<;my&`e%$^oqa#w>a!%Cf z3h|w;Dl+&HSwwLL?yoM}nJ!8FY@yPRECan=wx+$1qwa zK*rP^S^Wa)kNQ;IpULN@WW+ISbZIv^x`TZ+VjLtOqsyxJVJj%@-&c!L4C)X}ntazU zOZaa4n{pWrhkruP;#Q6?b8A~i&XiB2_;Up~&6___+^1#Oo?Im?ZLuY^?<@orQpLE+ zUO2v$=nW75Xe0b~&d)pYLy@V%RMO14uobBgly&3?nba(+wf<742&_j^_60Xwj7vtN2u0#Kw z9PF+{54nNr*NW}O+A#&a2+rnCmIk8Pj$y0bFR_XZWID3P6F`ABFzv;|v ziLpm}=GRWR;;Op&4rA?h{4m)DzLk5Bhy; zMI5!v0+#GI^hL)42Z@Ai<=@ zA%%kxkI86S*m_)-m6=)$vy9%GTHGb@gTVLdpQ84l!yn2a?emBPsXT+U&g6*fW9Ogz z`}9HkLEmqlu-0s=u#q}$FKgiI0Uh81Xs_GRT?tBT9RJ;AH<;$S4FM=?fK(pE{81L2 z;nF>xXrrUt<6u-)a%*eS&G@BoMqzR-@t!q{@e)){jO~$`CKz?NshWF^pitF5^He?*t1N#IN#4StS%`&Mj0+hE;2a2lDPJm9RnlB*(?*T1&JymEZ4uxd&k{>J5(W+k1>mpg z7sycsn+!_1dOQKXZHLrMN-s7p-Zgt(om0N_HA~xDr%pI zE9JY^v6thNoWFW&f7HIi!?p?32Nvu%{3Trh|d>*RV zRyuqGpzwl#Y7C7Og@z{TT`RQc6G;JGgQJKT?p!0D~Oi!G)y!RS+W# z`CuAwZAu=}`~L1)6QEcqTSyLT8-b5n14p%5of;2Wgp&ECCjO{n*%7Tt${_Fj4dH~> z5(#(W*Cr3k>bXO;b)5i5CcsEEy*tG5RBy9;TaUwU=i_bvhJ-{E3o*mNh_^#fyW=XB z_fc(LzPQ{$p0_>Zt3Z!YEUJ@s^B2&zEgHQJ4K2Yd42fR&LEs z^v=I)IvFa%zqK@5$qUd@I#0JUVWG%-N~XJO?|__Fz=32G5QL42$h?0BX2)QKWc~S+syCazmM=>)7la z0Y@_mbWivBbaF{>g>n6xN}s9CDIs%G2SALw)OawHP+yVu?1FndJYEvu#|MfCkhKNf z!nUZy1Eg#x$Jw;zA_h3!Na6S-`F}GeamNxRK(Od2U`%kEp|R!FKR2)B<>r>Y96Rmi zt@^E$OXJPuY_|BdlYOIy+Hthvja6fk72r!3Sfe9W@Ki`@xe?O;TMGugNY1%UQb17O zAvhYV9BmikE-4D!3Jcx1M>O_F`0FT(Mlv03tqsL=hx>eTH~K+3ik~5Xm@(W{=kSqe(Lk9orUO&w8Z<&FjN22TK)DQ~k5&0tSr6Cx;G_(>8g=0GFc1`qevv%ppd79`!Km1vtcG%It1` z+z_$$MoYv$I6bDkZJRw{d7wwauz!D%?kQl2LuL$(zp=`iL=waydVW~54e1@Vhm|&D zO~_%kKjuOXg>uu6-drIE*7^Y6lN6k7&)C!#qK1Fotj-Rp_m|u?At&_eq3(3c<;1B1 zX_=}1DvF=|*IOV?S}fhAZUu!NHP?O5b=L`ju690H*E`N7 z#p9k*{=xBbDtNpAVDn3YBqztGIVMW-hlXBsj|t2AS8~qqef=5EI@t>f+P#tzdX{n3 zwGQB{U=+2VZo;|@tZjCTr1+sK0&W*nHefODQD6(iy*+yJwHkd9Esok93Zt$rBhn19 zkc7hhLdY&hV)kYsy=bG>&_$)u-pe^~LbKqJd{5>dV{G%UpPIbTO-l+|J`T*QUe9x* zFwM{J1B>Tn~BkJNT|uW=ACKEKJ_@sz*^5J7vly}K<(Thk1ziSTIg!0?8{&S zMU|N4-|Y|SEIJr$mVRA&&1t3NBxRr5GDbBm9!ib-jZ2?|+pj6-`_}o+gOde9 zlmOhMr|>;Q$q})cLkD?S%1OrjaRih#jzHF&l7Jgh)A&UW-*PrEs;5@zSx++Fkke#& zsjucau|Y4*eJb^x-hEsqD#vFftl^84E`E`wnPRwvCU>!! zJHi~)QI>*{{{qH+xXQH7cDsYuKhahWgGmvX9oA?|K2w?C{F^(NE7{i%?mKp{Fl0H$IXJ6#x2ZS$Y%-M+Y9=>li>1h1F$fn#T+Y2b|NJY0dvJxY3uaJ$g z9?33tXi&14Y+s1isPwRz0}&DicffyTIz+U~S5$LhrdN&}e9x7LQ9wW zs5tsJje3{Xts7o09-_r)Li=;;miaHO{MuT_xCt^JAAiLoo#V@V&42--#JH>sI-o!E zvuQU2((+*g;toVxF#x*v;*PjcQoibH;<&U_s1z)%F>;9L$M1!)>(?%MCxd|L2(^M} z(fe2T`XDi!Ykdg_LfLPN|Blibt+%;$n!u&g4-!<%Qy?;wPhdn2lrS&Ap^EtQjiI*Q z%a&ZM9Zr(@qLSL9nuT>KFw$zVo$cvK4qXmsC4UqZdT}Q**cit9W5^|pN=NpXNA4FA z1Q@d7=LMuTm#*d&xHzjagmu}hECZwaB!A$>3;VC$iz?y#nuNq=j%a>cC8@i*N@-iX z^keft1Zm~P7FXlc3LAWjDwO6i(c~kqngM>*y_%6oa@H(#7jL0de_5 zO&Om->*H*j)a;fwWNtbJzHK_`@T`vRL#d-H^oQq@#7#=)?NO3VaQL87*5&0F24`9^ z@4*-Y_i}9UWDySm06X7oW&GjMhgd}6wE4%bY5V=MCss19ch)WX;h~;3eNYb+yM516 z-;@eKXHV7F)hPB1)7RgWt*t5-(rGi-#Mg0J=WnOzd5adjq1Sbt^r-lH(X@7q~sPztS` z=w@iO(CD$Eyw2bdAoV{&d3w95Goy0(A>%zGGoVZ~Mojm%IAzm#z!@Fdx!s*^?Hopd zU3BZ=adU=iT_YtNOSr}2Qe9daDKgx4StzJsOgg39m)biB2r1>=eiwYAhotF)mC#4< z#`_anpl@cVdz+bonVKzw!Jm^|v3$hVL$qj$9abnC=XSeH)={W5ONsoR)poyVPyP zf_kWMoRf9ocJhm|IwLOcnW(X^zxc0z@4?$5g{*e>)2UI9%W0DX-{^4^8hk6`(RF&j z^?ux8DqqpWP{)MW*=YSC1(W6dD3##|{t$_q_Ukm9l@>QCG52RHvbYt0vaF409hlQ^q#62+e*NxC9(R%>MOFY#jCyvTCL$MV|g>qk?8bk0HpNwI$hG zHRqk=^w@hi=FfH#peMrH{-k#8XRmpnEj@WJ0+jz7l!id=qo3AjEnxPacYlcW-!eqO zl>_9Jb{nCQ2Bya}!%EFJdrXZbE&cfwMSgLuT~ZRL-C2dt z#b%{w8@D{(ld}gj_Un%wN_~*CMeJDhhAr^@b8{Tl0%PfE{FdKcL)5arfr$~bFlPi? zT!v>R9G5z(w9{!Qy^29dH^54xe5#?aD#lZCSAkmYz-#W#V5u7a$vR4Hxs%T{9XBG^62duEW@CPov{RMiK&SONtp*AJ z)8S+L)FDW4MCs`ho1H&L_Hfof3;DV&k3cmz?i2fTVvdjh<54YqP)$6xaRj4G^;+0LaGea|Y!AS2xM! zmE#-D0=Je=cVKrZ@RrFtC1ZC5vs`NGPvFs62w@Vhj(}xTF~p$=Ny$JBF+@i5u&^>u zx5s7wBk3xms_M2V(g@Ps-HnvAv^3J)Atl|NmllwaEx_L*ItkW5PK6)b#ZrCfjVX_Lk zH}MoJeY)v&57iM_sfa(VW{&coN_x>joBKZb%h*7D%XX06-D_fI`^F|9T>>8XCh|n0 zv?n>Ibh&1xziwf$ogmm8-mezfRF`-2`DSd5&9)z3do zjX4>#nmeK6d}|51x>28c>Rw5@>qEExzJA#1-t_%`z3_rao%Z~?KI&Z!#2~oV{E8W> zzx~`H?$j;&tqcy!iR*jJoq)+`Uz)>XXIz8v;mvz}&S!D48~4ubryu(Ei_{`TB0d%o z%r4EbPnK!z+sQW_Y%el53uPO%Kx zIR_2BbxJuT3O{*fX^Hg( zlgCM^yn~xXUT*NNlbZZ>$(aZLw}TA&QY%q&bt>~zX$}J9oDF`8heY3|RfLCP0o06+ z!L8sC<&^&S1bQiA`dCL}Gv=;;S_D#N9elpo zVFHUKa)!pMmb${*jEgFxB$0Fd1=J4&FIeC1R2Ko^h%uyW+ZOSO_+&E%yZVl6Y2uTW zN{qsM$;c0fKZ9o7`*ei0AN>-iV}=fBS>ma@O^139 z3rYV?R?v8y_#1@-g=LRU3idq~CbLX*++@x4*RLkVlN?(&W4xW>`OAEP9Y9Kl*7v?U zx6ao=JOS6!@U>(?i+M2ga^n8NZd4ii*`83%3O_S6mV` z6vW%SDXUNkv?}pVE!qorcp|=mFAU|{e%;Qn4aaJy6}BdFbm zN3i0~$%>R)P=KG|cR`Lq7>^1ONqg4N_4k;|(rb>3<{)kF=DIpOUKcgX8Js5%-eSez zV_x+fBJuu~F6oQzwMZvEC)42Uwa^EHK^0yvten|Vs~?Gx5sq-a+Ldij6FQMrc~4e$kYDrYNbH6_y{ zHgp^9agCeipR?B(-YnuWHM-*0vt6IQ-`q8J+4xVO)-F&CF<$|a z+*1R+8o8CH{l9shSN4YPM~Ye!BieMa$|6_LuU@dS$Lkd4U5iZ1?-O9a9H~;!a*rOl?k5 zD=yhFTl8!fDP?TM%|XNT*EwbVL_&hl65doMl(nMEp|kv2Q6xq-Rv8 z#6`|O!0jS~J0@g`C^K)jpyRb*WM#9Fw*>_+E+35~4iB489_mnI=-H0=q^ZICP5Yk? znR5|QNS$=WuHF3MjR_RCARRT|HV=cY&4487uz9D8_Jt4?OGlxl|5>w zY^0NaZDTRKzyCKl+L-a)8Pi9%yC+j`OA~mwZ6oh8bu*VPn)p|YQG)irn$8N8gp}m@{JOk%q-Z}2XJGY)J#w_&Mh;KLXZS{_dInDAa=^CgiC*& z+?#<2w^vgP9tW0rTDa|{rOvRbY++In?=69~qw}yMuqbS0ExHkc*B=K=civGgBNj|U z1)Fqc3d6RMrr29{u+2M2@{tWce|XRlN#ZF;+fEx3{Ft&zy{`S+ytGxGMeO<;hFYbN z8imA|A_K5!-EE3|6&|2GDP}EF180VOshd%YB79mJeK3RThfy7}F^d!gV=bYi5M^nxda8L};EYX(V-$dGv2N(< zV@dsp3xRS<+P>3|+hs zYR>lBLuuIiXCV%`afwGMA;GQ{UEl)VkR+<_;!3Y zARGq}Q@`6!>u#Tw7NkU5Ug%e^1Cu{1AfygL)m zTJ7yDVJQOUHw{-^DJK8IX@?8h(OjYwu9Bk;SwE zL5>M^b8`e^^XVD96a#9pw%!(ORDBYm7hVSiTaTs-8_aFjYq&GB2&Rai{q2TZ;)pVX zzbfK?pK*q;(5|?RD8B&He&_*pF1py&lS7pIc$MzXpnD20CO<{d;K~%tQ+&@Y8>fvv zd`u!(SZ3JbmYp;|Pi0fbwkv3_+~iNhExBw)OcwoGHI~rIQ_+*4Zg3OI^5|a?Gg3j< z)Ac_g0u&)3OmCF^SlUC(b|_3UgMW6SP@s*2dI+tHfH z0e?S?*=ID?dB6m1ygjT!diOC4vii)p+QGjlX^p|ji6J&@WXMy_oWrC0TpJVTv_AlV zcmdy6>6OS#Sps&%yrCH-p0B5>krv6}t;)6ylu$eUXrJDKFfXjlAX4oEUWJS-`__(4 zCqs@N=k?cCRw#P>w;DA^H2^Zvo@N|}m^Ux+UE94moGc+N+LJE!vkA%vHyzzkq>sD)Jm?^I<4bl~Q$?*Dnld{UMO7AYjL`+1i z(>`dT=NgT#L(-#=O4au*!vuMmX07U0{{4&Z_*QJpTZP5lJ4!@%`bevIog55{w>yG8 zfq4Qkdrl!2qhU?BA^(fJwphf=(iL1n<)NrWlbMSv4ZQyD-;%5yjyfQuBQ|%{8Q1-M_3uM}`#HN3%S#vJ0frn4Kos-JtJBzq@NU|&7*|Cua zObjPg2IPT`04!AHt4SmL;3BQ16l81Vvegbu2fZb}e6MA>0BeZvu3aFO6BL@Y%K1xKgBpw%?U$caaF)Bzo- zqNH4(S6v2paGrqeg@DFh+EaZ5=iRlJqkrw)+$HzozTELmjEk5gkj^eig&Go{zi_NP zv+27tGOHDDbk0aSPX0LC`wpq;v!=pTMry_l8us z#&yq9OTZ&}B?L-4)skqG@3q|nYe(L#KG z-r6p?T(#!>Cl$c9-V5W%3Kyn~lyO`UIt1ulB~sMuUA6Qz5vY{Gemi6-#Nk@CNJ13e zc_~SARH@q|bCGlqNuC{i_(w3VEZoto`|)!XcPo4G>;tsMT4To ziE^)fMRIQD<~vt6Zc4sl5E}v+ol0WyKtQXna)y*pbdG5@pfUe_|9I4YGD6U!FjQ#b zK(j_AtSU$ibLRBKLCEXD@7&wP?`^1lHt-x3^`DcX@kAQ^|KWt6f1t2M(MWkO`z%;e zJA}x!_W)0hUI?vGpdN(C@@T;`D#~913Mibu(Shrs$&1TfHz35U>_8|jJ|_1HKK|y? z!XqLt9xvI?C*98BrURk}#JNR6k0sUS;TdSN_trj#skOZ(-GBPg0y@p0zFMU5@~_fk zh&gNLWkUa>#s|C#WUlV38*pt7gNSVH<3>CToPG!orl0z@k?1!3q*(Y_ZJuUMAW?~$ zSaag!V9&!K16XX(+c1t1Cq((J(&sB(Q9S0IE~tZK$mdIq#W@{s_QiEbH=b4rD*a4x z4_6iunNy(s=D2QZ*wD>*7wur$l-%vQdZB7o)YZmYkXWZDm&hPWy9{=w{^^; zd-NNe(ms!e-G^hz5Pm%6>I6~B@cHbM5(A1Ig@ zVpU7GdY!KI_Ll};?#wgni}`F=aF=M(hzGodCV}> zavPFLm$!0QQ-=NSiW?p&M`=J|-plUL{JO=&=lPkmX|*dmWX=lSt)N6lbd`SlWVwu9 zrY`jdVD<(C`2l`NxvQ945e4Ke*jT3BcauCB9zG&?_?<5Qh7AoV=K9hxa{e;IcmuB4 z+k_zl09szzv>&{|1Xv8~X-NeXw}Kt|DSfeT9QR1BAK_qq?S>eybm{oZG2+Ng@mkTV9VhSe-p0`I zP&|Psn!bMR?~v+eA3r7aW?bsZQim{rzVIJnEP&Uvqde&Ah_6*x9aezka+aQ`jzh>LoY>Y=sHfghXw9ydwxGva97 zu3&GMgA^kBS%324@IUf^H-&|X&Dck_1%61Ud(d4as+62uE53wVhWOaWN1e@so?BLy zXLw++2?~NQMWQ&))hX`+Z%75OSG+|m6IU2uGS z_?b$F^}ty)@t$(5*%Bpp!!uxD>R2BsYuF)Fa^sR5& zlMHT(GG>v+eNFNp4u%$l@xr7etrd?|iMJFvfG%31V1SI9e8Tc7Zxy6H1^n! z`C#?!{Q|q>#NhnJ^{w{vTQi|+?tOLoF#PFm<wK z%<8dEcI;9g8dYzMG*i5O6jAq@41tB0jM^_ne|uVc25aPHqUZ0GDL@@7A%bi} z6%>6`2_Bp##kmsCH>|hNWqN5`Jx=qFi~oG^<7uH?L*b#v7y+C;C^!N32 zmN;BPKK_%F+(cvcE#7ju~!ufGLJ#bQ3@Et{kP+{ zI)xVrn}~n*YCmSuuXZK+QkHSZXDX*9CsL_=9?2EDKB9kghumT{S+C;Ii5t3Ry> z5*3}&ah&Xy^B)mMsKE_Sbv&=6{=Q$5-xCn()tD*t#k!n7N6eI!cyufTDwCF*b)L|% z36XYf14!1~qi$7aQ^WMLF*!AD-$urCc#a`i%QhW}?#s}pq@-D@?mv)7SE{d$!x@FK zIMZ*j!H!AD6PWVj*aGxXcO9CxCF<|1)L|LcZAjH0R)#fus%pOi4yCQV3L+s;rcb{C zi{`Arcc5GI)~55cHcTpEEdn(qw|7XS@U=^rYG}1zRXwj8(;Wo`0UCkzn~WD@2$m}3 zjjro_kcM#VKBkK$^A_+$4u77%MQ-NI90vPIU|mVyPp$8 ztnFrkqPVt7_uzZz5gmh+bX)CULe|NR-c322;CY@LlfT#vs z@Ui0Fs}FO?!sh*eSjga{n1CpYNw>Itl=U(EmqpJJUg&^io`^fS?2OieJ6@nMm|}4W zlLr`sxjVk*nH9|OIYvg~tWEagD0^1M1}DcR^ao_*UH^Wyf-$1(?*Jt=2$$|rCYlVM z7p|`n`ux+=!B+BrJ@A-+l+DN`IOUvNWh)ib{uaBSjQyz)g?h2k=a^QyXxxV6F*$hS zDh)j!ppj8*%Z%d+Y^aKJoy(m#o!~E#Jv*z${~`_#@sN{=%`KhhKYNbzp4`47UobJ1 z=R3c9!RP&i5OP=J>J2A+XC@#x$tCs`CvcjZ66%=?L&gxq&fSyMu5z>^MY+J&28aCR zLrNVT^xkP?`=jR`1#lHyISNP+OLWzGQv4mzhoekT@98Ib0Zm zop99HZaGAx!^8YNE8qqqN{_L#Sdp&FH^_Q>cTqTeS(}kHfeis}JU^1yEb~j(WzIr- zWsBT+(fHe#2_Qb1ke?GD6wI}lzjL=#`)b0?*)sQitH#EehZj=jGcNn!zT(6DYii^S z-qUd5=mL_+<_77VpZj`<2br#-NW7O=N+$v91-LW4cPOo-8taV_A*b#&WWR?qxWtf7Dc!PsiN0 z%tIr>woBJ1pWd5NL|#|;PZlv66UOSzdYktB415N&wXWuAt4}Km59!b+hvq_nK2sB0 zGtThV6eoxsDaW^F{;_5e`nz*7c&t*N%&?5ibhbLwzR*%j40Jg<0sQ!WuZy2-YnrO0 zU`-hzd^6;ycu{f(XK}A(e}A)>lW)sdW_?2BpQDx_;I|i6)hqRHVjpkd0<7^|5vj%n z)jCvQZgzF8A}lI+0_LC+@DSu0XLqI?L3h0(;8uQjZ_Mcy;pv|S#J-eQP1I#j*C@n1oe zOYFVrXo^UKHziKg1a~2 zRpsnX^DPcB#~s`1W7?iGMV|yv7-hWQr~f*WHOC23fInfYcgs*`qWj&eB`+ff5?^1l zmWf7_ukxSdO|SaqzhfLXsJ|7U6ZR2r`U^Zl)CwKiUP`Ro7}>keOW&-%Z{7nFZti3Z zJxwDRvl_&lQ42oT3;_|`90{2WqkfZWDyecD7gDQ1h39y)rCkvWMCT}lq)v~-vnKP! zHCb#ewO}7`ZAg8;83(K%cLB$$2&J$?>CcE9?}tRuC>^+*9fD$0Bh#%T)nsgMZb5Nt zKb?K@yA812AG@Hyv&(&+$AH!CTBdhR-UXfHnK=BI^=PC?bAwri_dn(LSqKrDc7r^X z#or{XJ=>Gd|6P*`o2;qi{HPfRsi?fw#UC%{=gM03Jf6&2+i4@#1pAr7O35GHdAv91 zOXqP3WEw4KB9}eN4O>W)eHwR)H=3!}WAqt_BRve^BSpO;Q3|New)?AW+;Lu-ZE09L zzf%M2LeYq%RQ!DP+=q>65(qIjW9!SH!UQePk51sDB}LaAMs`j~T0si_itU$HQd8Nh z-%0m)d)GOrjAlv@j(!mltY|Gbk1Gp1qis*MoV5!61y11<5XL?}!~A>K4)~(+I>A4- z0U`4g5*1!Zw3mG=SA1Miw;o_aQ&ojCMg!gzQe=5j$7JQ#g7zj102nd*s3-RSnkpfh zGMRL_QS5)$(mpuxqbao%hqvWL5rPm4v>dL2tBcdPV?*~irbl7}$hf8pi>)&pM+Yg6 z3*a>A(-UqLm04&uDr8MT8Rwt8yhFdU8JUB5E zj*#Io10Mr`Mkro9>I<;Bvo`7vNYKf`r@2}TM>Q=9`$5ime(h87v%yf87xkeYfads) z%T?5Z9ktk0233_@KVcUakeK&5_FuiDC>OqS5#X`^t@?_<*R`l=A=&(+0Hyd*M2AK>Z?-0nvOV|bX*bh3o-IPA`4t4S z7;v$I9EwVcQ`T=i_6cDZM*Zu|y;lyXi){-$(BPvQO$t1o+rgI9a<9W6(u-~lQoHiUHZFwmH?8FNZ#;8N+`~ZQPVB1EnNY=<#Jy-nM+`{^jMR z{c-j6h+%w=BW=R-@a^E)N@ zh>{^^ZjU##Gg5M-1j8=tQU>@rdawI@th{B1GvKc_W{>XKJij;>dG(gHK7=uO_S7vC z*$r4~i-$1_o4vB>vk`Nda#m2}z2W}`pvzE=y2n*|<;?42y|>RuA60MoIS7F#@^edx zkw3@EJJu~$cM(f7iyT8e;wuZ>ev`DHYfN--0O-u_iY}AF<~*mnp5Hb5T=uAi@eiLK zdLK#b%Zid*OwYAuthl^9Jth@sQf;2^9Aa|_Znm4(6y+b3P!FE3p}6zl-W@6hk*+xR zC-yN4us{zQMy4mCEBky6Y`4WmF#~85i3?Op0T_-?YE?Nds^04cABTC;x%^7`f(Eta z#hU5ybS-~&-vPGuDQ$=(^4ZzG^-WMsvOe$t$lhxB(%Z;+j^{s)@BIy(&3D>fTJ0u< zJOma#rViut(iSXIGRXv1KZv~RcM1FI`Wi3ZSj{MA*Cm;8*@h?F*PqtqZ{37**2s7* zH|Tm78fX=X$q|Aov0w_Z1y9q$;PGyb%E65yN8ORLk9AJRHJzTj?FItxvucAIIUh6P zzrS_aGT!iXupO^M!Frer(cKZjNASRiwvJ9hPFafK`C+^@n}!;Y1S{Eg-r zX2=5Ib!IF3brYp~u@xot<#AD+p7jq5h12KW8HVSlil&L=r!?VqRZ0(NdO1_djYX@? zS>#Jw5msP-gNl*|#ADSgP?bwSftXSojoC*AIMBn8xNyyO>u-SdOB?DsE0*B z&S8MrIM(MptPh57pY_>&2U+C1F)lIaSjU^Qpu^jdaMTyKM%OA$^#<~f&k1?SO#zGC z4j|L`%2UwBy_|_|0?s>>tF*IkV@b9DSXf^iRRCKVzPnXOml?WK$i8Nrw1&k7LM@fL zuP+ymJ#*g+gs=%r?rHL+t>Lb;-sf==HM4uz$jlv{6$z=}=3m%~?F5idso}->aPwuBR99aQ^yI)Jc53zrWYKn9qa;J^t_>n315sol7(F#& z1Iwol08EdwR|1Abu4uMp7JmMQ_x@JRMm>cx)yHwigaKV_;?W4|9kcbCQBdjln~frV z1Y*exy`nf>Pg9HDjj(^Rf`!X^PnyPiA*1#=GoDXhIZRKmV%?vf(+-d4#Axj@Kni$< z@V9@Fo523J;&2CsS=A}N?|`=U9bq?l$lcY%MMur+xjFg8XS(>uFXxZ$&s`==V>Naz<|!kTRAECTC|hVCh?gp(a#1YloH!a_iA$wzub zqosQ#ziIJ?hKZ`2HTj8Smx6->Ilre`%LOk&*7XSQox@Wau6*eex}4vC!K4DzJ`@FX zH+-3Q1vNu)j4b+z*3}!BHdZhl7PZj2Zk(isoiOTv!h@#hM;9&bSE#KY7f)Mn8zW#B zfPQgxDPoQDzGdiFW^p~7m95iOkCJUTJOTg=SMYlJFbAeM|O$D z-Ty-ilRYI%pUVD}1{*lmDVt?AT7DIW=_s!dW52329r#`opg$66^PbpWo{X3d7jxB2 z`*nVOtsoP|efEut^LRzE`!LjyXMP13DnifDhc?E$D~iBO%LXAD^t_F?P)Q#AdDjIqJQy27apjcyo-HuT0rjUt<(Vxe-%Z_o?=c@_r*ZklB`(ivskRlmRbn zj?PSZx;eqSsVRUyZQ|F-rP{WL$bE#>JcGr)2(YWcB^1^rrVTgG*PDW8AqISFVU%OcL!w23b812hdhw1Dc{? z{Igu&q61i;Y7AV7jZn6ZH^Mdu7!$j^`(XK2H1|R~;v&wfDZIEsD~34?ONcZh#K`9SegGas_Yn?ys#L-7n9egG9+y=h6>VF8Z z4+Lduo*4~RR6I?@py?`Mx84eXR};aMk7D4w_H$;|zK^L#RO9PzeV!-Y_nPYZI+GGm z&pPL|!x-@3Uw&IafiRyKoN9e2Rqkvg{;F_?{4EyukW%tjwBlr7n`x8^(pQ- zM(u>YL6X3Llx;N=gASPvX1nr?aBP5@WZ59ti{1)_n?G$w{WOqm=PmWr>q3dI_lkpu zlER!}p5BZ98hj@aliENO{pCG1^xJ6U3Z7stQJg?c!!S_Q34eYpQE6&bg`IpJCq4Z3 z>P!$X@=<0_U|26%p>V|DjZG+;EV#Zn6Y@_HdjEo&cG0#kwSXE$>Ejyy3lmLY@iiFIlMLGYIQ#AQkaSc{y2JhZNz`hFZ0fH{JrUxquM0u#x zsS(W0q3pnl71OGL@c)%bIi6TTIeN~apElSj@emNg*dM9^^8Z`-t z7R$Dp1OHci0CggVDU~bbcUG9aT$Ja+{{D?>(=p^N2>vU-v68V0o3fv9p2Vzw|p3T_j!N+RGWmZA$)F&hcdbw*utdV zx0FPWl%lBD6Nx&rh$s#;R+xJMu=EY zme9`&-YO4%0{A2dR@?vG+40-7F?=S`s{~Ecz%lR@y*!Csr`x*5o+#`DQLloaOqCA} zE&;}LA*={RZbD+>Rgn!Fk#{A&|LB)08yb*=FjCNi>&hywL_|J5 zi7o;~_Os00V^f}LIu!aBz$Q@8@!WCAm!IPMJ=38w(Ekeo>GZ5Z{;&@>lQhjgLjItM zEC+r_|1wE})xQIo!9s9(Xe*~we%;{>EiOIvYVd|Vi@&g7zEma~!N$Vlb z5!IOqP`sGl-3v7;krdK55lDR1Uyb-#dXrOAqr$XY5k3zMLi#3$`iL%v~bO~=H)51k74R| zQXQIl&g<2-ev7YwMqGGej|f;oT;ZUNb`)!M9xW}1Br^n6HqO7VKwd&2d`F(HMK-nV7a_4uq*^R@IOswH>S=CL@ zF7WsQo0yOkN=q)`;$qR_G#of3ec|ike)r=)-K}J{v-Q+&sz5qmItKx@m%17cq;P)T z#&@!nk!LQNKr?QBF27=-qZWF-a%G+qgU8FOu#v{lrSR@nWMqUi`?3)tgqV-b|SM`9EFs9tn@Va*xb#^=25)ujsAH6qr0>Uo`Tv+E%awFY!aXBBlIWZjBHp; zdF&2KV}-K6oh5^;_cl%@7y1#9jph;d^`>h4)6Px|k+Owy?=wBlG@Q=hT^5hDps!J<%L-%As+UFd{Cw+Kx6OM!E*^Z@PjC_Z7?fk^K4T^U5$XVAn7UES?3^M3~&Ep(So) zvyI0+mysLvkIe1G&VqLnpvU|d7ZbBG4IgqBK7=)-NX?_Py|^!mvG9vH{4w1JY=Y$- zB_DXt%~Kvz86fOjP01AX{64HY%_A+E_oZB94T^9SA;f`iCg#~A6-}SwMK4P9d_R1` zplf^vJ|aK#;3Bj)*P{Amb0%mvn7n9a6&(YWICYWZE?tMpo+a1EiKB}>ot8S5+Cm$3 zWPt~+x7`?UA+l9d#JoPbe~-n$v*|nLB?+Fve$^dw=~GdyyzZu*JZu{Doe(WfW%AW^A1EiShDd%*3jVz7o@6>$G! ziZc;C1^@8&au#(+LG{!bxF6JQGaiC(Af1$v3Ce3TBt$WLesyiOW8i4(a-1+SH(2~f z(wFGJ`&T&|z1&t-M{5!ZrgS%eG~iZTY4Bx_v#P__l18JFNy=IqM(?DU_#y$1s6HbX ziu5x3-*dZ_p{AclU(iu0pJgY8CQW{C%EQm{3Ao2jz-ZdxlUJWh>$UNDqe#S=ilGtP z@ftIBrrqj}_Rlzt|afS<7~Dua7Lr=-B|&Er9cFg@FFf<(V)C zgY3>?4{T<#8wj-8@rvwc-nzlN2&AdO^b76-T{W4lL+3jw%jf5G=_(o;WOWh)+hjZ&@o2hz^(bP_?P7)MTf7Z(&pd+5g`)#iXt6$%M zFMwP+@s-nq75F>?-hli6So9X4w_a_QBj!1O5e{cH z%eP6}t4ERDyt0Qe#csSJ+cViEZ5_-#l zz~X;-fe?%Llq)wR<{mq<>UW#rpO2OeSB>4=$*rEpT@P9Ziv0i@B08qqjX=6FwmyGi z)60s_ZsU9nvfse0{%oU+fccd5$*93_{Wh9#LVk~VDf>&bK)i4`jXsbQH2671+ zSwbinR_iwM#3MsV4*3na=LZbR$|unH11XHWC|8hLB+n_8ZtEMUkc= zKW)}!b$dyzP4^zCxqrX>+PM{2+}$@XG!8)q`Q!$#qr67oY#$#5^HomZAM+nyI-GeE z6_cKI7MvZZ2<|1h-UGgeC=Ne6JGb*r)KX>>o^j0AusUqLoSC^#)%MTAZI>rrPj_4P zAqh0UZMNiQUNeB-1Y*86*fKL1zKnKFms3_XIGr!}oCeBDE>Ti)(Z+natV9;eOJUy0 zPMB&hP_(Q?VC%$Kkj3})D%=n}=Y2WqGyT5hiuHX2Y%m}bCz9Gs3b#Eg6^oekssKAB z6gSpz+_cp=H%s}89%gq7>>jf&nsu)5A{fKPET(0gXbeRfx7*-_Tz1F_M4&j`32?7c zXYr}QPL3L@?W(o4Fac|0f1uVMOezxt&!Ayj+E3znd_%zGDHP4H(Vg6dQqEp%jF5J6 zh#}dj8bHFORUJ1o=!j1_iT!+s=M5X=R!~G?f6#pHeC$!X$?$Y}q>tmn4cUIWMN$QkWt+2!saB_CtIK#%!n{#{zv?OL>C2eAmfYfO1ZqH@EC zR=PUj@N&}4QYD0 zL;1u%QN&1DDZ>k%Jz;W0ue>~tD_}o2gUxX!_txD47P2=Ti@(>A@H`cIEji@Xf5-f-P z-|R5O8(rsEG3-%4+F#GnwE_V1a(m=0D}^mNng8z{54w{~Fl5JcS7`HYW!IhG9w`db zha_HhNfBtZe40tJ{Tko|+>?8bc@#lvvWNbpLNsK+aDwgxOLZ-hA}gPh6B_GMWQyH(gglsYzQ+Hg`{m6I}4O=W#*QpidR_&aD?P zV|?QzkiHnet!YdY5!C*A4xv3C=r<1yQrKr?+aElui!STw(c(5u5x-36O?dtk6?ccJ^iWIQQtk*HKX2TaXd)NK|kWTNuSCq>=d8}$b{ z+eYs^MKM;KAf_1uv+zF=zJeHG#0h?X{{$AoPs~VEQq&g&M={~$d0zi}HBS;9uiQkd zzD4QkZzI*tfE#ns>TdA?@wo$LcQi41X}K#TKaOX!w9?(^^@Z?zFq&j9*tOoL)d5?C z?(L&V{K~CizUxtVNg)c9%hp?U)14*Xg_?Xlrq(sDA#OJ{)UXfxe)q>37w#{&{%S)) zzjm||!4GDV?%W?+-Zmr{pYhIJHKQ-DV*qkkXKHJ~b}X>`4F?_G!uBnALR?-%AiBC3 zf$v-i1XIMWs&U@eWH2u*lFUL(7#z~tT^L%rko}O&9+deu5Vg}s3H(Q8vHkx>jAdzJ z^jGuihc3rieQnXww2j$x$sJ||8nHE`&oVQ)z_SUat1MB4()TBIZptG&14t2eJCD=}Y3Du$?+x_2!eagChX-x?ObvrpBM={QyUXmj0$4oun2TmI9W3gI3UzbNurN+k z###qnW&936kP?C@Ja(IQMFic`yh`y3Ij{jD<_<}Z2qbj^$F;xarpVJvsFGW_0=j<3?F|v>7y?K-0~e-X2v*r-R%^TP=x>G(~8aIhZKEi9N!+}6bh~}x!#=PI41Y} zjy0`k@#kF4S7*lc|DGATl#+)dI?^v`$rVZ`&faQAY=3aNu5=d42Ju%!VCD@tP+xui zN!#U_DwS!~qxCBu0p7ZAR6qkiQy9Hfy%ZjMR`GQM27Hc@%7v`8u^l2dq8_RCwL-N! z&$tvnYJ1^t&!7Ao?0z-<>r`10l4Ner`5A#`Xn`Sfsy}Xo(=|Ee5t{(3e;e!yDY@a2 zK=&wvqjG8q%lbN-3KIat(?3Rok=;@H0l>evaeft*zSd;8T;vjqtHebB>9;n&@i5 zkJCIqWCKzgL<-|#jf`o0JK+}Y-;d`M{CGJ{1;8a*iaHM6;j?!lyGk0~>0Lgxdj~RD z)CTF;1e_!!stLcC;1Lq)BL?Do+-FaUJL3rmrvuJuwOa5|GzNN=nQR90wN^+;VcVhm zVipCr_D1-c6*)@2jcnh{?p!(y;THStQ*lVb3;S1ZEMh^^V_e> zn3UZ}s0VEPr1{dkvNBR8&0{hBOsvg{*5`5aK2Mtl!Z!v%Nc@@lv15;nnMa-g!JhPm zhgwoHua!7l8o_ySvF&H2qZR#7K$9`0x?jVilj-x>|7cM&n6uizHM|Uv*5$5q`eFvf zR@VY)Qi>*~2J_`pIf%utN-G0!Z2EB1!Zs(@z@FzEj{fwUmkW>&IwTUb-cWmIf2*n@W5G4Q_V?SO7mon(ItJchk%a~_lq}T} z$gP5NEpE-Yms18dF+|o%bDzmu^mq??OPS)(qRs>4D{4d{moI^L-viqNm<8yNB-rf7 z7NGY=3TxiI&(|QvkV>Y1JO=Ee{Uv!*6(Uzlz06-fe(I2>KjFSjyS>fxy_}HD(1(Hf zL9knBeyxQ=L9lCQ{XDL)y3P$G9=^@OPuzd{4$6{@-pk`^w9KIPdfO; zLAAaPLYy2gQ(%yBcXqNUgVGzt4+lqVA#)SQE!5{o>6n7}oOwfLc!s`X?Z4BFp@xqN zk%6gz7u0HMECC7rC;QtM@f~XN)HKsfLP+uuOifuQgi4Clzw^n!7bSf9%!Xq--6>hi z@Z?R?OA-;uWD`puLb>gnZQ~aF9Sq~qm_p}zGo$3S^YD_mOWnch>kiLCZ^;0_vr zu6V+vV7HV##{-sY@_2G&T$fj-6E!A{l!9JGQ6vZ=QE7s$06*IAuCcW|7{i1kB8}Gm z>Dv!n=!&516qm|zF*J_m*uxy=EK{W^6`ChBPEc1_7q>BHiOG`LPs8;mX*=YcFvQTkDm`af z(!qW3BEx*=+5?Cs(5lW;Ze=5jl1N^N@0bO;9z+hPxUQwCt2i{hxN{0|&K!E7VWqM^ zu7KU9YWzSI;Q4U-3@ChP|0(%fFLe;4l!CR0_iz1(g#DC=43{hik*oPzovPhY_n zW!rTvoeG1}9g0eKHv)=ucY}0yNq0*R-Q68Scc*kSba#H2_wya^PnbRDwPUTd*FO8V zUm5oM0nR>=Gcff}?uRP0W*y#EA=*(!b~HSJ>5{LhfJTTE`p>2c^S+_25G(u{=l2G^ zBEHD@56>&)dCNc-BclHD?Hj+nD*YYXjEIE-*7r;0vo^KmcOdf`N7^*zlb}+KU3cnPZZKR^c6k4K-UVMJAn=}?!aW7| zxMZ$+)M(Dt(sJ7faArn|GT8dpPy)mS4`uK8PKVBGV~6%Cbo;6mZW$1UAfR{;&*N;4 z>y*yBft}-NS2R;5Y9jgplg_tVeXXs%9n<;Is0LPz0k;E^i zDf20;lQNkc@}1TSFR?Y4n;6Gl51?FIvQTpYMiI2de1wJ5|w{#0o3ttaN~u+YtS2zPmzOc#j?#jaNdc> zq-aZLBBuC)N0dxP`$~?AfwxI9sqco$#!I&Jp8MSTo$pU$&zTw4je?Au?Ap?Ilfq12 z7J&!vAHA24x5rGU41!X_v|Eh~eit<|qD)C`QDgl6>zBhuL0xYWC%qv`VQ$dN#SWsy z=b{t2hjQAT^b^D2eW8JJ0AMHeYKAjOo4d}niMKy0EbXrkRX-}S68vVsVwSS<%g((H z>q>j94muFhwRp&TrO%L|*Dz#ZeV;fiSl6mUlfZnQD{R}6!Zdx08ufT%>aI6ojJKx{7pa?Y0eQ6nuk&t52I@ z${lT3&&nzzGGaRsc{kXNdS||8fQ*~5GQl)&3FEOMu>r5K(5_a0y?;FSAl0P%KHBNqadCR@m%f6FeNEw3N2&o+D$i$~pp zO0~?JzU~A-=M$6m9?wR=F-8Rt74uSYYb%LHLwsg#E)KoQEs|WfoQFQGJd1m}53qp< z)cG4%C2S{F_D*EO`x_Q!X3SqwQY02D>Z>_NkNz%bR*-$X=(Ec+YV)c#`HYa7kj)>z zTpY(gvd+8C`Vy4_{suKb6`l>X+pZ^j=F9;&$3K6eCuL`j?un4RHS8?8ex9 zF$WCfbP_=T;n}6OAR;RGN^W}#Tb0}0$mA<_9@NHZ60(H@Kk4XQxtp}|m;B@t#SCW( zu#@zOOcdZHt%Fm6^Tb8;fiV2Od-A{~;6EfdD=37?zATA+iVt)^3JUrUoLui46f}ue zNSem9!t+M<`Q~}htpaE8G}ja+sV(~Z>WjT*!?+m_2_4JucRa=~2hr{%3@b2cXKabL zpjX5^a1xQOnVFqlci{8irV`=dfnYJk_WuTs*Z}+jiqV0d^&aodtx*Z-$ZwXGw;J>u z>`hh1ZE#!tvJKTX7mwp}`#8Lb1hjNU=|*3mC$aOCq#n(1&Q~(?i?nrhMWu)t$F!XZ z7X&k*zniEV`KEVNJwlPw3xb!j^qchhU`q%Ak=|oQatEpFqINw247;`If|D(a!m2mx zxKsOIgHc@P{;-cYeH392Yv2r%7BJII54g7%B8ExpomngDL9Y^AHSkI?gUyXEOq@g~ z{M+GA2+1kPPwg7rJq}%F#+PzMzh5 z{_BmRbiXxr>ffFA`v-{|JE$!}%WPr?Xr{POi&gN)ci+a>oBDb#dmu0}K~@$H8$s9s zckA6!f2(SE%>aWMUHZU(r9c=NgoQpe)jNXc){DqM!fvxZ**R3M4!HG7+^JrTegbY( z1*|&d+7$AQgjiYK=mK=%JFn-?8~vw?XQjJgT*9;CRc1x@CSPJ+>!{Y?=$$U>Gv6}c z*uC;UA;6AXizBA*di%#nXMnFK>NgnK-#l=LaT$Q=_=W3Ow8?#`LJ@tU%1U!YsM zHAUlGlD!SQm^&CBaV60%8DgYVE?{IuL-uuz!u9^*TZ0kYGN~laqsds``iY0qX?1GT z11AY4Gz=tYCulaDfYo~YB6hT>^sYc5vG`JN*f9U)A76@W8l%tNm#41$(}p3>sO0+U zDjoYriM5U1aJ?Pomb>YS)l)45%cojAXk;2#F>1Z&#Cdw~%Q#z3N&8%GKJ}19m=una zAL3oX2(u*0=$WW`B8oXO%wU$%l51FwoDVJT2-wt8M*$+?$^}064io-=D5&Vrk z!f@Y!Og8?l(031gjrUP@pTIx5>rdO}r_8#U5(BQAPo#XNVjFa7dx8C!Z8^Q7r-X%!~eF}7y4Al|G99%DLbj9jR6(XtYaXTw58H{6gwmrXg zdKANj{aw*!QQU~{`$kqNQYw|`?kZ}H=MAl2u7YZijtGl+xL z4&VFi`Iz5fc%as?1za@q#ajxTGJCRKYX7ZmsN84U=z!O>+LD76A0L6-Ev$Aii-9@( zo+4QLO9BEiR&qQ)faBw#{cPGCPVAX_vlY#g6!TSqe>}s;{kGy33SVos19-#r>i(40 zM;@qiM>_FWul(x8p*<7z}yhFy0zmjN(ueg4l!&JT8v zZ{4otju4r(4~`q|&t9>Z=B5_Uf6^ZxfIFx@`dgDp=2i&US3&jplFo+xceZ;HNas9F`Pxw9E(;b0O6*1Xmzf7kwW z2t?~$>Co;crBL>G=@^C-7YhYr^QyLfU;aReJha6L996snonI*8iilml);N>CkypGW z?SNPtFI}%Tc6CmsW@hV0Rf!#iW@mq5dceS=?4wE%Rb^~LmYXcBl7sJD#WoP?MVxYn zzALwTt{-oGb+;$VUhQ02y?OSGwH-btc5bPuVL9c2tcBfS@~O=-Vf#lXVZALl1+XsN z#jee^&1}3L(iUTBT8sxxrD~)2Mm$uk4VN6wzSfIG`{LIi##Bd*7ZwU(2#Eu%)-R@I zXw5kU8184udCW5^AP!M?L6VqcNbhR(j+;FTi%dh7xW=MH$F7sLqNVAU|ASozTA$<3 z0&O9t67pEm(lR2Ar8+tW;NSZUE5+-Aq&1TQi#dl#-RkcGn38(=RjL>KOQ~os;@(Fm zT8PM*Vf|o<4X=n>e|YRCtZZ)vWieNVkbiu0NyeeZ>6F_$RE54&TIlh_ayxe<7`>u9 zzCxW|$4}hAA{wnW(We{MYOm__RWsviILJJKQo_rOVd$!ZvcQ5?6@Ge6hhgmXJPA5!{hNYkeYbCxTBLPl|OW9CaBozgSb8hrRJq`FYf&dczMQH5_9~qHaZY`NDui* zWQUubxb0HWz0<2gbECWOo+_)g@^ix#S26C#1|aal6mI`0rv#!eMvjsBA^DASXZNNY zHLb}}k)20w_CU0)JK|HKIIT7-Ctsndqn?QfO?xrt?|F8WbqG!URu%*MmVk~`FA`75 zzi{0d%0x`I^Zlt0nc%?`C$A1=Qn9 z-mMo}$nN|cQGe2~1Nlwn+NCWgFs{uaDB2=J&bjr~jz~|NDgYYm65;10FKl9n{Q$Gn zuy%{{_OoTk(QU<@C)x+&2LViBeZ+_>kZ`l`64L9h@Kj@R)@8DoQWA8P<$H-)@nAA% ze#L9Fu{*8JVmK;14+^7p_DKz+RPKTU(BpKAh=5!Fos|B{;cRf3%ygCKEe!3e1+LRk zAp#e3%|{Qo?SE-KcqW5rIXHF1SXL>d=7`5|EvDC>iF)6SD1jPI>$4CwALZ z76;0o)=ZZYC{t3KxJ@2&f1ZXO3%0fV$YNj`$}0_emAC|4bYC3aafvVTQDj0uAThbC zhMsQ&p|H7aUzR!5wrq+>j2#4nbvF|YQ~+3wbN8aC{MTRJ6L-9oAcUios z>`|}JaPx;Fvz=a1q4gU_7~TIx#0Vt>83`YpksjkCF|pJ%q3~?6)CO4yndeYhXCN)> zmn0k(f)!DI7`}&g3ynd_5Xd+bzL9WLGVLxtWzY&=U6>y&cw)+GI#uu-_(W%i|HspiR&cb|>SxOIS`HAm z6j@ARg00hj8iulG2=XVIEl(6Y^u9H04od5r>b;G1RGzjk1z&9sMB*7_RIzrUQwA-{ zPaH^Ie{~l8X9>Sn8HuMc^&6V!z%@(LEky+mx^mKe0N5mC^6e#5OXZ|4Sp>i{p)+5! z&qhaE8*4`Ur#)r&7*WCNc$UTM%R#=~(|)((UrouN@wUm`^NpH|GpGDwiFYGa-$N70 zhq3KNw7(gDPW`lSIVSw(Y10ShqUY$n+XbKYxpJcYNJRvgOsgKHMZ$kism5v;@I`nYuUFkBLJ~)t-Wgg(9TWIHBn?{g-kiQEUI|u2*Mz~?aeWX; z{oSaS3UB;SCwBFylFrA00%T}iSYTifoJ<;e^_@UD?lH*aF?0MT09C=5D;4^{$;oi* zT0;$8`}EGro1q-)=b(~?2jYB=45Hzvkx03T5UDRZocwGg;s-~_p}hGUc|?IFF5(ef zM&GD4b5YG>Xf8i13eCm(7p2GQ5o1Mn;RYEaQ0Ki`a*UkkDme`e3>({v^UEkUjGLwJ zYs(S=^soGUIG2t^F9O`-x@J|&$@1M-p@W-54#_X z1r=KZCAE(5+XpdO?_*CcI4SOyKZkfUed-Uv1ynG7;QdxHUc%I-YzV)#x|XQatut$L z7Y+-t0IrJ23waHTRDXvU0t%8zTB7ALp#@|9yI|4H25tZ}N)mJr2c#2H8mgLb0ws7` ze^-;=4?j|f8cU5mQsO=GN#qu8qSA+44PBOxH0Q7qYtKV^W>NINBkmJzoifL-+4Muq zi$QvK#gfx{#!J1kr6;_rI~SXWN;`$+R)I^$BKp-*@O$6a^)t5wmEL=3oBf<14jG&i zp(X*+6(IAm%2S9N8Hy0UH>s) zyniS5W&<{NdWW*jx~BcE_#u+u%ZmOGO?ZPQg~ic&AXC{F@FR z^!Q>qnFX%x(5?gdM;D6iFaxp)vdyG*TYpTIzwe?Y)D2@pe-NMh;rUn#VU>#J(3$4J z9^>NTcJ5g#(ulIze>6(;7`A$uguIf!?^6Q>6R-0=Hxc`t)JZmCu~x+x*GoeVmW+2B zoD!XM^hwOP3Q$<(Fe3|PJ*xBv$hM{>EgS}t<_BQb63a2Ug zi20OFTqs?Q^)Ljr2jfZYoRpzUu>JHl*TbG!DZ9dx{|Y%ioB22hnEUz6HUQYiXQS0x z|DF^ij0z=mb*H2~_=KhX*g1>leXXmcSZgVe!t<(7C8Mc%Kk=uF7GwHI|7{#nLQ`=6 zb+{hANs@x1QXTV=eX27WWHS}7)jnQnRJA4_HX<`wj1OhIm%Q!7D7fg1aH9RoH zALo}KiIlO%pUJ6GBECy?Qorp?^Q2Mpzk(V$m!QZ=44!$YiNJk*&lYa?*^5***KOMw z(JHkzzZm9SMc^RyyX+rVIfdr-29G{CqOli-kvaJYmk5{@6#`2gpQlr>h3zhylVT3%jeAJaMrS!MvR#2S%g73?I$XR2n zO-q-Zu&W|-vXUWgt{)~ADw4=?x8Ipxr<3@=sA7$6QDK5egXJKC#LrWVxR2jIZ6b-- z-$*ffoi$H_kJra}KSYNug@PhUpPb(z9tFW(M|!smzeyuTpLiymo&I*VLgM8tjJR=e zs3~wnf2>>Rb;fV2G2e#7QgE~W1k_2Elfy=@J+Cc(VtyGyq6nT1v$79D?FG*!#OPN| zjWbQBm6ckL(r2qLr+}RN+)j$_psjPEzxpd``M_|1R7mNkIJ=Ycae~y!*-5X>-Au9G z!n^ClQeDe>c&8<1MjC7gw<8|bC@862G#Em+^!qJajI%0ht`O5#S-31Y_&pv4gKPV+ zHl}fHzIN(0TR*;2p(+6zLf@b1cnVWPjd{)fx2N>;l_@@wpF~BN5P?SdUoGbT2n(!2*^_9&O38UXAHV;4 zOVML2HE4~4`-NQcWU5Uwl~&l7rUz!4tVbe=zV9X>SS$OLIqZ6v z$N1DrUyk!&oI}&A`muj%rnfvy0@fVndJQMuH9`BU#kVUQ2kh5h=58WZg=d<;8 zN?s^&21!uBspZ?HtjFbJYS@7et@((<59M(#+Y_v$0-D;-dQr9__$1=Bq1}%H0x@c;KkCGzqMNf7)+M6ixoOaXQaf{CpR?_|oUh=)cfM zz>9XoD@jG&#HmoZy-k*f#LMG4498o-PYd=&I}ahqG1WLXiYZ}Q{%6?d7Qf7Dh^@Wd zIO_Bd15=Ok*hz^pf^S!Ck#mGWnb2S|EnLXJs-YDa`MsWca+gd7Pni=o@F9i4IshNi zXTj5$YZmH+C{euNH=c=&pAk^%Q1fX_*3JiB=zrX0YuxYw-gt%6hvk{0~b_3_N+9>JAjvLENn>zZ1wSrnC++M^tF z)RmdBVhfL{$;GEZR^IRJG_sOP^;-d@2wgx#&7|vt^p_gdY zMlK|-ZwH68=yNRFE_pf+gWV8t1kBG3C91i3IF|xy9-v$K2E&5w$3+#+>walU!HPbm z!igJA;2a(?w#Mi*NKgCZbQ)6F8?E-ewq${}g7h?#il&p7F9@&3>l|TAA;@j0E}qms zJxj~6whOH)p-=vPe6;0(*Sd|O;oFAIcto29HX14KNYuV3E@%D(9o~2Yl%4v_O(NzL z_Sd)jB;__ciO7WYQctLPWLdQu(4l>Zo1r(?=HFus=?I*iW!HH;WpRO3RX>0drLLSxXb6lbBwzqZ}@LL<)|4b35&T*w>C3>)OMj)qOKj+I>h+K z3#8i5T)Jpavc1(Svv|?*z6y`Kz8+h{q1>X?LsXH~`5moDrRt9!Lyq-HM5x1+8y#Vr z)$V1>T=F6wAFPRnSGfu<5^rVbnp2zVR66f4Fc;rnh3T@FL0;>9FHbxQ?GOe)qjmHA zT!ZP(O{!}2qIiQt_FTAbv5DksgR;qZa;G}?Rcx65ni?3uFqLK|D_i4E`?1b_RXizJ zsQb3Jst6Bq&=dwI#i--4ggcw7`i-Mkizmbk+#*=_BhtUfiNkGg({vkBt2fH=K zoY4=8Zbw%^51UOj5$6V;r}b=7O+!5T;nJlZnO}ip#XX4-937XXp_#fSwnqYLS}u>( zB7&X|EG?o>9Nqg@`s3+ve=Do7v>Bvouq}#*!iznH_0yP08z>b z+Dh2A-X#(EkgX9teQJT)_q|}-EoS;ONZb>QK5y>SZqKNDTRYzERTr$9TwQL*KNG zceH0!Hmh7mJq0obL@8Ms+rT=N`$xp3e zM~nG7>!32?@*7(D*&55ruWQosxyL}hFGSC&KD6ieWKa?3Z^}A7UO+p>_HQao%f>lb z>E>#AXg9y57fX6F|FJ=akiz>WbabJaV)&i$luXms8rv*c+f7u+}r=f55~dT%;L{$keP?G&zQG{c%%i-Jm4E z%F%>>??<0y0~YnaQ9frNF8%qMkKiHRa+k39cH-LF_x5J!I@10e83m*1W)KJ3k~U^F z8b(hu8fM832B#xR!jI3=m5k|>6@5#cyB-8T_oTZAEn$p0k61SNFL z%=90{N1l3_&RO2G^v-(+Ow>C%2SZ+liZGPg5bQ)bMh4ncTCa`CM)2dL;xgz^!C(7N zW+dERFDifuP38?bm6;sCgYJJo*juUg-tD;%_FpLda$gN*N1{rq?>^*7+wG=^F+5kI zXdz%(_isJwxgDk2r{;4Vt`Npf?RwB6+h}b++yR_J`=W zqzNY6mR);d)Cr!h>)jN`pt{Hc*);!jiyiu)dGk37rm-nW;3iIB zs9~g-xnZjxem^_(EG0|w({FWnEUdi306=(t7sBF%LD3D>Z$hS0tvAzl8q$iI{dNOy zLv`{?B=mTB>wag|uHh|J?sj3s!jG0os%ijhZbl!f38G+X6Zn}xb+5D)D{O~_5y_6* zfnUoYZf&RG>dBz6p5`aE0 zJ4Qel`F#B4v3!9C7xddlps%yfuQ?PR>>|vOnwidhUFC@+C;@-h@lGLr^_JI0>YYdU zBpbm51{%{}%lZi`){qZKG($=?pajCps8kCI+S8z(T6xttyU(AgbJ5ZQ4v(`Q!p=ej zwJvMBCL1N;4_g*RuKg}c51WI09fjKs)I>xY7AGaErJUqSyn`z0$@(#?AKV6;`I0=Q zbbCr>D&A7AlaqcS2=Lw`gXYzV02H! z-f=|nEE?pG6}?pa?c!x}w|f!aRN=+$B!!cl>(puYwi`on=GSZ?_DZ^nYNcAu#|`F- zq+o25<%K8{(<(e|hBAdU{&hD2n}kBBNWr%o;YO7=@8P#2Tf%*IgbKc9kZpNmaaaw` zkJBWuSIvYm9Bqbsm)o^o*S0ya3I95&T~vxQ-hL9v?ezw6baVG7KUsXov|ffq5;4*j zJ<3U5oDhRU@)u=tg9B_pgmZ+%JGfryD0+zPi*+*CKI$O0E|9@ccH6J$bMMrvVNWu- z3F@!bKn@dC^6t|SucmtlQsA-JL)~oJe+dg8XG*x2akiTlIC;^K3*lIv6~!mwWb<%C4y1_gQf@Z)%o)-$<3Cz=)hz_1paJ0-$#fzB6u`m{jFN*viBREO(Az#7FBW)aGf{s2XAcHgq4sSfDb)J>{_PuHN2KA$FS5@rCORKZiz{opb=Oyl zwT&-SJQ@$KfQt9LsjEu}oU}VXH3}v^iXv&t(_Jr%QgY%F=#{#;a)?l)$AYXZY;qBO zY-b>4{%N&^W4m2Q5C>4`xK*A;!L>@`i<`I8tu{#NC(FGG>@?(D|^3=e?>N#m;c^XXAXC^e@C<6-X zM*w&r&xPKsI$QR7h+>Z2Nru;C_`nY#CeC{ft=Jc*2udW;)kCQsSr6IJ+f6r(nI!%e znW^@}OKAQQ`0f{S&hAv%%**CX6+89VFs?*@5=XAn89luD^>d<6EqWaf{SHO91-|yM zB)%dC2M6Ii1`($&{My^MZ~LC<=;*}o=pibrCwE@`olR~$zV`QR7jFF!YDfhoW8xY^ zg){uoh3&;!v;g$%jh0tiRTaqRPulbGC6&<`9o%U*+-2kvaaIfZfP#WT#3A#C24FG! zcJPtM_qL~}N5rSORYp6p(^K3fBR<|}IU_yYYY#ej8Z*Dcy$Bj`_CKj2XeZ2iI15>8 zf#j%bY1?V>%pkTmxs@?BG`B_xJ7Qt9|1x7&Z@l#v377cvm^?j%(>96&AE5$uv9w3P z`bMBMMg4a0`&=W+)Y@V-hTKHkO47@EkkNgRRTQy8@T@t_$X6~=NA@r&F2Q>x>s85v-#fi<59_@I-$3=!?O0{@3x0fuQDjZ z9pFzuNs^!u+xzed`W3=! z<$DpysEN42?4J;ZUVMAH7L}4hKzVk8T+Ty6gNyGpYUS7^l?|i&CYwGAy zTU1gaQaEVSnw#5GsDCGJ7zU#eSAPXB}`LcIaH@>6zC}hedPH%kBbcd7On38@jLfNWECTkM+2C^nD~* zq~}<8&H3PAie_V7M-MSz7P2`v$259D%ahD#}NAQi~0T2$#pYa;#U z`bHt!ej=cQni9(n?6@PY@sXPO)o`+yX;{r`l~X?UM74Bu+b>;(N)`l$2yO{s8^7sF zA2n)g#3laZtj7Hhc2=Zg2Q`tc)mZ|al~Ax?%_k@Wmd167&{Kcq>egA>(-QTex}XH! zpwn^aL0i1v;CsLfgW|^zH;P#KeNnqjfgJ1>i-z*W=vWq_@AyVyMokvoBqe%HrBey< zYh`6+VjmmO`^?SFBV=2*yqeDZy6Z3OPFLIh)>{(JRp>HQ}~Ymg)%5wl{28j_Yhsl}_b z(g78>=ki3bu z;i%idI4z3|MZH2p#Ma*|oH|{3-J7QA@%pA)Jh3xf$uAkz`}K+)fQxEBzR&c$MFXP# z6UGFC{A&5~h>iWu^u`ilKFqWKm8_9&rB}o6b>omIXXj}J`O;&}%S>N(EX};)0ZYg( zo{xF~@g}6v4ZW*0Ga^d}ey{v2ZBw>$^a174TSo<0k5J71@d@zi;n&(2dLbo~D0?LgX?u6tz^VWe$17 zD1bABZ)azx@8Z0ll=R#d4iTNP>k<$?W$8e?g4BDQX^CeKiD!?P4HG5%pN=PUhnr?O zAio2jb+WEIaQ65Unfl$_3+e6Oe$}LiDU+I(^|Dz+^R7+dn&Rcd$k}l=_)B%T)TrT_{Dus&|G3T*n_TNzMAFDJCG?Y(ae&g_tc>6_;%H?SuP=mKZ zY41a$Db;>4&|y>VEA;MlmTl%^Q&9~1QU>e_Qfuk!Qq08J|Dg$8_%%pRGxC1=ho00> z$YMupj#4vvhtcO%Il5KQpJ6jQS2ZOiqgv_2c1gwoauGGDA{4+%!Yz zlv(5!fjrFv>zE>$=0Crxt(YNcm#!|=O8jiPWrg;W-%ZgSTrL9RhEy;dCbeW9lVH|+ zCe*~(-_f2WK0Ud2MMeN#Y&cv%G&1=O^UPf3rSKM3$V(j^Yj7!{2eZs3i%j0GyfE#g zm8s9%#bpdfmw&HX-Ic@5^gu+35}24?1vUBJ3+du4xT?MHj{JQ3lT3R@p$D(0W`2C6 z&Ge-fM^} zfs`#6*X?Ab9&7H`xJbJFYtA*TU7^sD2L-7r#t7|{4!_Ui!J2DJC9H*(3?!qBUxio9 zO2KDRYY6-mp9rVy#L1c3NK3!F$^rif`m&)aJ(McZrxCrIhK8ofdX0ZeUO8d7{*amX z^=ewC%JtHiQk9x&Y9NjmC?eLhX)$^aNlXTeW;2B%@%zjU3^X(>#S2DCEnsi0z(ZzP zmDvHbjzyZ8isv~`V#~D^OSWHemxW=1TDMKT?ix9$j#%<+Bp3v+Hn2)z0hB8%m!35E z%{2OxeytjF6#Q_`q2u4UNFO$~p{53LXf*RD;@|bSFRJ6Ro68h-axA=U#^y4y1+Of!^i|zo1%ZIby zb&u%)eTj4{Gw3b#1lj_@7wM-B*ucG=E5w)-7lGDzKlSr-40I3zI#9Rk_kb?OB&1}X zBD{5DiB-IplbJl%{2z85g3;7_|^>Sr3{~TvOX7DpUPI}kR;fHeilEW~* zLPlvea4NYs+w_}&9{5!ua%(6{Q4;LQNJW^nP}(uNOPR=hyQ(e$lFwGO+h&-53#hEKsohJ88}h_#6tYu@d@{ zzi4P^5xQF1iFz%is!^;!zNVsmB7~Z@$R{8jV zn>lpXE5CcEx*1H*$YM%OS7jJfHJ}}^BNLuHtUazjM{%upUi(kM~ zDf8GLbohxh`(pYOw!C$t^Ed{f--Ak(jq(4erpedu!(&(X9vopb(;#@D(9dgGj}z0T z*KA?xXl`;|&;V=E1PFWn(dDxDT|)ZQr!b<)Jf!6-FBOBH(y~b}MU86c7g~pgOE)~E zC1$YXvX)2X{CUF!|9MPiJ&>rrPRsJ)qt2ri4 zPvfw2%w|5fUNg?$oj|7{h-}*6urF_LU%nM3Kti42!5oM|YURII{js%FF)`8A)m4nG z1$~9`n|r3$O4bswk6U;9_@sOTO7kwxZIfswJq^py(Xn#jFrXSkUz|l@t4`&bBnxAL z%MMdl0jj9Y?f&CMW7CnF6y{Td+Ot7se2dRkA0WWUyF9APAVcn%JEPuIi{;U33MOn# zu)o3oN3;H`!z!NztyP!|^zTnW0bbWK_JOY0jzyf9Tqr#@g%{v1do2BGqepx1 z&rNCOPuAeYI&r$$pD=EvOt6=J_DM9KXyon0Jf;))V4;kOW%EX1j$F7+7M=9ncKETw z#TS-K^?I|#N@8{QFVBw=_roaUd^P&Ls0RD8nwl1hdBgW}QCz!te-aW1E{lgB4GZaU z)jH`ldc=hZ?;-`Y=!xwMTb7E~e=P?9z~O{r1*ljdfO|hend_~@n}XY4O!kI%aslak zXrra|^itvh!x7azl&9|pe(VspVCZIW&Jc02l7`d|9O_TvC(4MV7Tg}+`O(c9cLuj! zS@E&c%?4)svL0cPyOGt_yUD7}`uaY7_+ym6UI8UBS3G9WtU0pa~OG=@3D&^W(ucR5C%J=a#V-w+-YtvA? zP7?i)kL0#U(N$V_FzN8=_G1BW!P%P487Vos$z@zeNDr6YcNwM}Y)E!eZyvtsy+L%6 zGOD?qR}aFj-H9!Jg7e6CdX36q*CFTARZGRB;m`}IRCc}ocPZLY(Yjw47&vgaW;@Xs zT5a}TCUeAdykB4NcwHDnLqo%FPVevU2Zn~2g&oz3tm@ReADYfrxMm=Pg&ay{%&?B- zkH20VrYP%3qQIi~KJv-iI=`*nO`6dli5m_-#fosJ69Z1t1jd#U&D)TdvG2 zvx)XTK?@RZN?jb6QF=eG&BN>b-lfxdG2$w3boraLM2%xaIQ+;{ayHdx$J&%lA+g5q z?RMRj!<(;0yTYSD9?gldh))eX^fWTztCdYN9r)HjW8Z}AR8Sx;GZh?^d#|Nm7M2&if;eP^ z@WwtxzDX@j*>Nc5rOv89!}#bN=2zg}OYXQWlkhWA;$3v19Cw9LYn;+91zk|K`ZryE z0)S)trmKx9=hH;*i;SP--lm=7)|#E&rMm5?rbkbsFL1XG2kh>2AIz3S?ARe+BftIqsJjt)_0dm($bqZ%>ClRS_QVI=41eJ(AwVUMB zI78aU5_L@Ec&#TeK!_5Cp-<_oX!;-q@yIu1@}HmEdvlPekSAdIC*4_~A8^L22K1S6 zZ>tr+lsPn*3P#3dv6Bx8aBu}KCdq#-FB6Xr28=6#*|%wP_621Tqr%_=0}@o{{{s8b z=J{`S+)}?3E@j};h0mhp=4Mch_o@lwhvx>OC(SCzSDB5-$acFnn@Y>aqBv3%*;jVq z=8gZ2T3!s{w*(<5`aR#-Z z^c4&`?aN6GU`#BnZAH`y$V+n-(FxdojLG+UW=4@xF){w&Xsj)|Wvx9BxK&oB5wBJ20L4_dViQ{A2JmKS$BRZ4ENav9$S z+!x7G+E`s(d`^1xP%ZaHn6z8HD0XfT#t;l>D>ZyQIP}DGx6mulIYpj=tm;I4JiN`U z?nOxxAG=X#ZCM5LwCzq>@j8^LN{a>WuL}{UHa~Y3FRI0%S;20Ff!51y?j!er>@C8s za)l1R!0UcIiX?IshMB|p*BsCR&;W$8+kZXBrkIDu71Z2Wi4t+;A78&IoPHegNDW2D z?0*aWirycl^}N-qRZXf^nkS;+$iQQ8Velb6Zh}$0zCk7J6~yGJ?D!Oe;1|QW_r1OI z!z{ADyuCPi%`Y(WNJVf`$MUfg;bp?;vRA2ahxeFv!G6+6E6E4YiCY?^U{|{IRT{@7sm#Y;d`X;s#lRc zQ{?I*43&0H^B?WtC?i-{32AD%iN5gt&)G@Y2U+-#&*H~By#wxQrIxr9H?_ezQ_etO zQT~&p^e5qh9P%xKXUD;+Uhg+M(lF+&aB-JR))JhVphxmJfMkwkzhI56Apf1ee}}KT zWTXcC%2>xZF2@(s2&Pa9=vclz1;uyq_$K}8kO>beW;B`5;0euoeP>Rh!ioxx#fsrd zkFCB4)jBimxpJ+rg9EcIeqo6xx64tEh;L&t^nUgWo6p;EGJU}y%J8OHBc3}jm?-DR zihfn_c;>{ZGSJS=6D}z&9JEzkNY>6+v35B~1@0@RktAw1ThaRLVp9G|;UzoX_!_?+ z_h_7@hEc-Tmb$fge6AM{Cgc;CRs9KKW{aLCyjreS0VMP>F}gkwvA5&hK^aG=1DGn3 zVMy-^a6?eU1yHidKEgPsPw|^Pq-xx5bf?W0TG|Vt9jg-Jo<`q77tF^_PB?;}4>5Wh z202_MRAkTH5sglcPg8)N+6{}$9y6j^KOE^C0#ix!*JYFWtkU= zNt8FJVmwv*ncxVJ|GxQ$N2hJII*SKRhJ`^^A~~7O?Ox)+m;Jrc>E3*k6!X#y^J90T z5Oag-xHloR)dwDvwVNpVkLTfy1T#%b5_g{!JxM^}6Pj#c6W{%JUHi#$#!>XFN9mz- z*5>B#{fggNg?QoEveh7TeEpF;dR$jN z28QuM`9$mk6cm&`&4a9|$pbC=>aT5P!!$N^CqX&3xGBZT#9)pU@!5UbF1jvzooLt& zb`}ox>RbOW{v}#*^CqI#ZCq(nNrY{!Fh~T%czmTDoI)&MK=7l@XSddZYLLX5FW|P7 z1iDvkauZ0=aMLkmC|Fl}>D2~%8jpY7^kyxbP*q>nZYA%!!p24lAM%#MFkAoHJ@GnH zH~&;my~aAOt;J&MR<2RHm$lMlOiQ&!#AM!P|}|X+>8HO>JAd7 zH;ih?I-#?@rtJwdE8mL>y?vLaB_R=>`5!z?y@|EPe7P8k1fn)xQ?^MTyEj0m&F`|W zDrg=axm!?x&M5mtlWABm;MYrRd4p(Hd&!t0b_FmpA}4tHUK?-jN8-?A8Skbl{deuw z6%%Kj=>eMtg7Arw>T0Z|dP^4AOALXh=whJBYnxhL4rhQoO{sDZU_Q?%$n<6k`7zq8 z3mUw;-rUrulm%j59n1G&+o{3kjxETlp~2M~?K)ZR=YfX2a>S&{}VNun<&?|(8j(*J$|`0`0Nh zql*R1=t)E-SBQK1nl_{FZ$h;pht;Qd75$y$q<*!uel~;v3HauV;QN+ zc6s^dy=1mNUnfK)19wBsgw#82L6a$3h`ZIqkN==7R{(5mLT`Avg}nLzH{zt6YNCfX z=-aO3bB-T>!@$WZDjLEce*gZRJWb@eWp+PaLp!jg4$JZ_&xC4|Z`T!`A^aY4E$CG-7W@{bsQq^cHcVIP^{QF-u^} z30E+D7@dBS&smr9D+bVe*F!|Ks{`Cca?tSi*{{TW)p`;9P$Rw-o7-=dcsl--o%a6< zD&%P9<(F{}Y33CvE`bBxJAGiFAn4Vp4Pn_a;uv=mMU2}+h=Cun;mU<+?o#7=I#Y0$ z%f~%|*j7sRrn0{8v%h{OQs#|$?hShp(dvHwI$s-+{EJw*VgTnB2F-Fub1#`b&`o0| zqJX>Sf}%@z5T5JSb2JYa?`1+#=P7?&eyzgt%p%*j%Ea-H{wwrPDx^S5LNkHC+I*T4 z%7BSvEc1m^%O8r?GfUL-p*?Ef@zR5P~AGlH#l6MQB0)uM4z4riR1$21pKU~ z!NA(q$pKn!uF|pv9@xv37H5Okm*+bm$5(pXUx?5pppa87YkS=r8SLAPaY5HdSjKzy zCUYXVW`~D{!cnhf5e~$X_&qkWmX2rl88X{9Sx~19f;k%L3N}D38ucX7gK3+36oMF1 zx=J)~&^PAxE|qQ~*rAWP5tj2 zhTcu(ZpZ6Haxy+bJrV8qn0d#)SrpAB+1+SGDOw?t3;hEdH|cnNSU!oDTncUm67{hr zo6d9LwG*dAp=snbEgg#)803Hw=I7=%pKsUtadkX=hpUAqz`oqj`|bHMA$S=C zOFpz{BLufX)_dQ}C@w8+ixst?d}Cb1M57>D(c67DQJl=-rg3k#z~%x_@sS|9{Fe|9ac5GmHojA1 zlaH@KjVY_C59e)PxC7^CV2%l`F6$V|_qZG^^uk}?gLKQ=`n;a6z!Bk9kG-S9qCv*z zPtTqwSH&1WU&FN;-3qyQ*9d zDaPcq9}qfCaZX<+_`O!tlGCDJ(%Nz!pX_Th{^Zs&c()Z|YBKY_{|Rn2$EZ^JT#F;r zYmcetcF<(KJ$woZHb%OWx><&TUy<6%ruEaBo63Tdt=(&*n4Q1G@HcWyxw~^J<3IIu zpt^WgUe}-hM#!kL{}j+PZM7yGoGMu0dM!SUPHM!7AZhY#kO;{h?;#0W+5D zW6ypfYBclNepK4PGk7|XIQOyVBw4OJkpE!77IkAigfAd>au0CxoCPXr#Ize&p&(u= zP0B$Z6q26=71FAsTOc$`9l6PYE#L!%#zNYS)c6TAwB>s{w(R1^dOfRMeK=&nCD1~q z7(_dQ;luH;`>?TcJ+BLT%lgmaNQV zKV=`kr?gPM(uQ4>nlqiDG~3qEZb_W7qPuLM;kn&o(LF;uFZd4IfeneucJQwgu3(nN zJMqxnFC3J>3lamU3-_73j`m9RrYS1BM4Z+i7i&76ZmRQEY!OW7Yks>{orcX}oifgQW`Tk=b9oa&aO}QqH=xFR6zk{L!DyvB~ z8MJB{f(Y!c{!aRHpZ0G0iQhpD@}>xSt~BjgOiIpZXxkm&n>ToROY%k51^+6DoM|s! zATZKrX@I&41h7>{x} zU)$V056_hKhwIUN9B*so1Zl2e2?vHjIKMq^Lds?-S^scBhp`+QG)ngJj-ajl=M)ixrCnbmHtQm5|%xaRO1#=(2U(L`KhsUkjS>z#BA z4D6-TK^1l2X*a*;)W(xHb0#W0AqNTM*g{rWGOG5jujdRsW#ZMlLZ@GxqKL}4lnE$2 zbDpq`Y|lP@#(3K-cC`0!_2#DfB!nsop&^tVRE-F3^S$t1ndFMvFIVs*AV$+el1w-)M(Q)b7E9FZYa zfl)4#+W~Mmpcx9Ti#zzd>5BA&Ddgh;_9+&yPx=1sQ=?Xl8oR^jh@B4c=oY`vFII*r z&v4<4sAFftfaX#VPB?JANf7&$%uIJ-s2mL*Lm6=*E-=CY8m1JC@WaR#_u}S=DFw;J z#f6TUxxb&xFB)Jn2*>#)$bg|{n{klKN*ZqA>_jJZ-?Xjw&FZ2}I0&HL{4&j% z@8S?1*w4#lKcP2c5QjtsjN?@uw3-#FF+)*MG08(zro>yLhIqIvBW1ysOhq5l0p3%p zrp}kbFp97Cbu+P!7-Ni6-jm;8gDLZX&{F_7bTLH&y$!JpkMRnh^ATn}6 zL9(>8G*C36?uWx0@@Gw>gW}K3dJS&`+_0QSWehy=iz(8l`YPVk+v19aHNRV-z7g3L zBpAZLBFLYc;S~)(=?d@kkd&^0wf4;OB^WHWMDX($ApZbUloCpV#cN^B!f9O@GPl$+ z^vJj*f}5+=`K<%g(~HrZ|D-$FM686kyU=seG+idJe}q)J^nfFb{>H)%n~PaoZXF z!ptOm;FmyR=>#})bG+4R^(q|?Jp_00!(mVFani{L_h75VxL#cO*d=Vr#tfq>_e}vD zqGj5w_p^H`%NiIjG1L@P#^xXi!18gTqwWlXdL*tni~yXDcH+no3;&lIrzc(qj$}nL zw7sJfprw)tS>{Qy&wWmX9hA&s;Y(|o~)6jF^}P1d6) z&O8cQT2>=w?Upn2<=Rb{Rjn6@kZc822ZtIKyNCH2qZrlG=f_*FE@zFjO1jSDMNrUH zDPvWx@0yu;$;z9YBC+5DL+=dD*07$7J{oIVE0O9QUi^ojE_Nx}?H6T^!fvb~QdIJ4 z+dCjBl<~ZJ>#gjZjOe#NG&Y}S0nJ6#?cCPdFjvSm$yamEjev8b7}txui4Cf-g?KvEyYc41Ea9*oTqYVN)2~*FX*&K{kuS zIFZ~E(N><)2a0Xp;&*`T>ixHK*sMDF9Ay&vMJF@^AQQMqKIN^u}nkf_{i$dPWT5 zDu6a&Qoe>*hQlh)W5@e|^=;lqes$qr63STv3gqvuPAY}+tiP2<{8p)VKvVOtjPmpI zb3yt`lqJsL>8N;$Y5-7g5yoW%jJC{OLfPo{D=g2#fD4o|Y|r4Ch9LKLf2qB9qD*->+T(Pd`0Dbqf zF+G&7d*?1ld#fj#>G9^LLV|%EnN?@G`R?Sq3Vd_;36RFb56< z`E0$$&^RR?a9Tgn+S&Izo66r=T3LyRiNSE%EC%0S?ri}t3kk}sD>eESKZr_*^I{D96M8!kgKT^KQb)Ij#`n&Q#Bgc~6Tf&dv9<#=LQ0LUiji zPUvqCDU(iy4{60Q9vuqfaEyM7^p-735StW6 z6=*fd4kk$4J517ql9my;SGdRCIF4;+o*nKjl+6K|o~Zc&hCq?YRIOkUGpcc4d}*m6 z&VIeD52P^sYL1#u&4=ezo=ptXt_-^Zj2nCO`9j=5Pm0>hcw@cPSjm0grT6+P5$Gy@ zB%3!Vy}IVlvUlIWy-)MZDIL6}806R8oU=aR&@rcnS0|hJ<7~HPHa%bs&{bt%_eNjdKQfttw-gNqg zPt#nE=e?{nvX(p3kMHUZxvK%I^EG7xUm@6odySGwgfQ2s@3oWr@x!~*r0#Afso*_k zik^+8KZd)Tr^fJSlEqV12{syOTP^YiG%bxjIME-uihDm_Fc;&#rtOicI*lhHz}p)= z3~)hsr%hp|Q!?LI#<;F!&75TG9RwOKr-wwg3{A2YoDGXMAR-4*8Hgl3__~5BMyAcM zIh@KfStzuin9cZ7pUNO|2WU(!aO+%}=Bv>}f~PSFw5eIS@xsJw0YXzChC4YzbWcXC zAM?@0%PlZo*L_IWvhHB<*|4oyY8lxVj2+==8ik;7uQ2zgpg-Eu$qDqi|A~Q$ad9Ve z7r-bjZl`^FIexYbIo=l$lchjPm*i2x<&QW3%@uzU+)Xu_D3T+ax316q>2W$Sx!KnK zgvG8>6?)9ih+%1%33 z6Ikxnv+ms6ae@C94UP2T@ZvyWx8mFQgY4*c=qSg244^Iajt?fnvUc={kTx4hR>O^fb)4U?@@YB1N_T0wB z#+Rbq#9wAdH=%5C)aEk*<(lprAZtPQpMv&>1yal#e$`#5WD*0rmea+HFpL6IKsO?N zX+vDZFddSs^;SyuwGKZ))e21$=w0?AAnv6nCyKcpzn{d7SeEZx6q$gvr}zun zY~}$8PwCX~+-T6;47^T~n3?joRVCgmS#RYv^jb69ukb&=tib;iCdu84xW4Ynv=+^; zZBG-|y3MY4zP04>y`KHd-pmJI58&e4XM6VAq;mKo7oxKBjyO-Z*!IlVr+O_}QAr2y zG4XbGR0`+kk<97TF=H{iTtpk)Ouz@3zt!h5&8CE7y2xA^YGWJR8H1SkPA~4rdT8)V z!xES8X^cw}f5#sEPVFB+c%Fs0aRhHv$U|31r%a;T~gpmCqpcw^>nXw>8XyQ+v^YYJ!w zv{ePf7pU92NrjFFdg1T6MP|InAWCkg4`LFvjEMjGkJl78*ZsI%o2#1P#Yf7{#bpGv zw%iYXq(o0V0h<^&Kj@B)4Xd8R>fZrT0s3CHSLNic&R81Lp0wIKzP)-DH9&~pH>L2c z-EDOG%tN!7zKzIw^ZFwX%-IB=+%H2l>Ix#5$voegR&B1SvNH~{({w(Mn)b*Uey2l-Mx(hshVFtgDkFTAgJ~d42iOMs;k&qag}A5YBRghmir?Xl&UGH@ zgpA>j6xy&b_D?xxRrlvW_zcD70uRE=roCgI9S3(BZeh{+aD8~b2-x}p?!(A@;eo`E@4Tz-TPQ{e0RH3Cc3m*xzTZv) z2+07`-~-A^E&(#M(QmrHK0_barhjNdLI8bI6I(A10fapD_WPS_O0j3-1pF}~tu2KP z_~QXxAUDCut(j^AX%s|9C3(%n$>Zdc6x0u)TGMA^_0MMq0UlX99op#$(Q7$i)@`Tk zQ!Cf?0-c$8*IbxuS+2}Yk4d!3jtejWq5m}VjoL5rZEo?4>y(uN@zyJ3Ve`s1)8+36 zO?pvyF36r^)T^v+0NvZ}bC*SY6mWwXedd_H-Hd*B`}3}Z7MOkx$*Bic6ndEmijCho z!@=gh3O(q>Lt2P)`m7p0aT-G?^I5s^Qq-RGN)F$ZLW%tG^#vo?yT71;*i3e`inPkY z`>mlFJt8Ko;}>NPF{7=(8_r`>EuKh;Rs27e07&2^Mzvn3g?W8kdyQ@yO<~kB9dQD{ zbMW0^mfI>z@>?ia{NojqTmjP&{DRSzQBx6e7u9d=kB9v|E^xoxUQr3MwR$k0G-^9G zFk1{G+9?G?!}vb!*@wr2N3j<~$^>L2JWQ~NnV4a(#{++5WPPh7)rf4}hUROqL`%?5!quT@vgG8#@%kKuY%Zl2W*H8_tM zS;e+afMorC)Rr0O8Iqn8TJUfQ``mjCZJ~J>hDs?!C!r+vS|!`oh0k?|3Y0|9$w~_+ zG-9JAbllkWU{1Z!N#`oqod;OY6fssl(()xay$bi77jMYp5w*i<%E#lmhv=`d=$obr z1fZK`2+7alVTS{H9n#adxTiwS<2XmV@_j2@4&(GaxeH1cYk0gjf}euzZxz<*74yPs zakJ|fH^GgYfG5}X4Fw#(3G=T7?*}OTCmshjjNq%leAex&L32A5LYT#+pR~V|Gwqb8 zagf{D%{!Zhce=9qy{Z94f%pARig=W(hZN)%5D^xBCoA~u98JQD3sE%=4GqO-WDxzl zpIQpK!c(X*plBU~+N?(&C~j-HQj}pNY|XP$PuVl3vp)9J`=XjtHHK=_|AxRmc6>~{ zp880vZY5ct&FGT_O)YD)U%2v~{Z<6dQq7OblKz=});FY?S&=z0B<4SD(L(rRY*Je+ z;aoX?66QI(Mf2tUULKy2a4k>2sKc7vz1}!{z6Lr|;TMIRlml*2@!Gujv2cOq=?!Vh z=b4(5f|O~rntzJc=4)?bVc7m=U>E|f+NK02*Q&-vG@Wtt2^!8UJ1frH@$9yuk_|7x z?(9dzxLgZ7iMjU@NA4T6GLv`vdM`zu{J)bJ&`1_@Q*vv1Vl14l?)H zJ-Hf5m#-AML>d}oH^+^%S^;&+0k%lvRb8FF9&0^qX#VI132pAsb9dV3vu8zF#1v~r zm_bSlKA_S`i6ZQocfd_JxF8a*;>~jbr-S``7j8U)yht#rAM$0=;3prqf4H{%XrY4IXsAEwkA1-97L{C9!Do%vU^UJFC!m9uQhOn*G zpWN1P>%V`%-|B!i1(oGLqG{@9NN+9wO+@%-@5_-091)BlQyHd4;t_LclKJ)!{%r`H zD>z#Dp?2+4a&$OW7o;wBF+b2?#w&x3-OmuQweB%S1V z<+jp;P(TjJSw_{MUr*&>FGgm5el}E|5F|WSx!A}n^Sdy5VqC+|QydnSN_@>)fpvRK zQttP9t+o0Hzm+b4p8+AA{$YUWpZcctn}fb~!^oNF_5&$#dtDHd$iY2|7f{hZ7fdaY z1rg#1QKjBufRTBUl9Y?r+QsLeTMPGv{MIdxOrI10nA)|^qFVg<05A68?2M*_|`lsatW5l9xfwnb#gt1ws11tm)YdcShaRcv*ct9BQ)k6Ir zD&~i(D#OrD!D-4vv+p($u_6LYe8O}lP52M>&M%sr>R{I&p#qJ3?-^0L6Gez{;S#M6 z1e`yiDk_#MfIl(pp}!tV94bs6eX_f+k4SE=5x!Ks-PDD z&pw#lBC8$!37SB+>NjC94W;4ey!&2e=>|CfvpBv$CN0zbexc(_(XFq1P+|z(!<@To zwGZ8keM`>=Msy#SRYa@TmT4HYh0+V?$%5%PolAM&{u&AJ4e{jiG6}VvM&kBNK^Id- zb}YMGXtT?^Ha0fm=1f|3!;zOMHusB8y!>N(>EjBhG2? zr8$likE_%-F{Gm5Wk=vzn@4g{d`3w-sB@!B$SEuRcghmSzUo9vti0Vwxs_pfWiy-r zbg^g=QPb$Kl^~c(VI00MP*@TMCOphx%2s(GV35B(!ac{-L^rrv&yq-d`pwL$Wan4iP5}IB`S1R{aac%*^2_7Yltj|6 zk$Z9<0k=F&D6DTZI+x6?@dx{4`UxA1Hc+uPsaHZ{J_^%ImOIxM95uF2lJNtKIhgft zvLb{$h!~{6bi|%2^7Lan-roR|K;QB%ncox3s?V)X>+8#7pZC9^u;uYNHjWyt?kuvr z$L!kf8zK1op6rN7ND1-ijpMU7rB{au)31Ei8m1Cj&z$ZnG84bT-`^ppiULhoY#3ce zV910rjbp(~y`#E4eVLe!0pUt?z|%7MYpjpTD8x#(|67}C9^}^O{_r}huO^~@tK#!^ zaV6#O2XW>E$n9<$|6Fstr8E0-t?6cw7u|HTBy!;XHwVqyypRXRs6dWMbmJ5J|67;$ zG(JhBJ^cM|rol!Hf_DYSwmqqjMYtxcadyd#>EY<-KR$9lmYq>cjPUJA^nH!z=b~!G zT}#R-C@J)dxOT*ZN8qFpIRY*plFJM&%(`gH`oPW@i^}i!;;c!nYwgV1`E4POZX8i>p369J@CE4b(hefRzsH``syv>q z>V)t}tcQ8O!^s^k`Y_o)VHmrA4T=a_0b2TQ(F^(7_Yjs7LqG&W4~Hu)?0YQ+Z+~7g!6_fYB|mZwB=CH2e zHAyF96xB1+NlpcwI**zz{HHJRJq;zD+$c%JQM=%$)!#@^q?v#dpOX7-Gm1HS{pq-2 z4VWm2jv1HCq+`i&yX=I<)P85U?0q?k&+E!iTUTem3bQ+r5BN%46H1mZSm|d+L*{0% z*)G2qMeda>Vm4!;kvW?1SRGA13;8xVQ(fidoMp6CuZg|;BljmaR3zq0M{VIu z2mx8SSkzLKKK!-?dBmogb;L-?DJt!F4EM_3WXc*h+ijs);f!}AdW)~=3Cl!6G<;7` z<4_dioH^uZ6Jm3t3pX3*R8O+m7}W3yM_j#WvjzOJPQazTlI(}K$4x}BepJ+zRYZ3Iqe-_V z!dm>qY9Hs*eSwR;d(hl5dAyS@ZE*d25j&I#msWQ`>S1F3 z8U2V3IVZ4?`ax-AAJHa31WKV1CwW0*+1KmXXM=6_A1(Otmfq066!9j!p1ec4tcKdng|0$-q9!vSGlH;sVJ_P5j z<_4+otuz4zjVj2h#TzyomEwwVm*mA|Zn>ih5qVHf@#)rL#mCm>y?TP0c0cXVXk-wU zM?zF{p1=w&reaJ`IbPk-%WGpzNZ~?X z_JE6o0XibNC))K`)A0}4)!}*}eSB)&ysmt{g}A#fBRoQoKJI|5iz- zYeMsMB<;BD3l)OgC2Z>L%UtQ&zkEwLFHMD%xh)fe?~BUGWR+znLQxy~b__>O(Z-}lJOl=I-;;Zf=WVR%1OY>Zuk1!6Q)qNHGzMey?9jfU6a%V1m1^daPSD z2R~+#aZ{AzOBjU*8M2Em{O)uoMUOMNZj5Kx{9M5I$vqmM<=y-D@82R|JtDVZdO-CT znD#Fful&MhbRo*~Sj;`t6=fwLRcqph4}<+6(fC2V;U*-)a9p7GYE`@ji-{5h?-KoC_nIq> z4reRWYYbs_$8+M`Rz2W=Re(pR_)yvSPVjzE&b|wQmK=Dm1UQ?=Ua7>1T=JmSyT-Ma z&VFtnIwdX+8!M=@bFmxn>AkG2o9HKeXzJ`{lsW=9+{~!pH!hYu%UO1npR&4RC?R} z{(O>3*#<;ffq)mXm+C8CdJ)Ga{S=b1^yA0TAX3}fOaGzGI;N7*jZQVI8-sm+;%#G? zlh!@2H7$~hGroy!LIW(juvt3PiQcu3ng)d)n}4a{-;oq*L+5Q7{)YB||H`&(ZVgU- zDq4JH@yIw><{HdiqN}u7pUA2DbnGYaGpLXrXnB3i2Llj7!udgE&`=`wnG6(G_|bJG zY@EwREc$+KTc8)QJ89Dr@!jtQIk6>jtgD`RlyT~i^EpA!ynCDY;_IU}>TWUFdkiZ< zkKpF5_;B*22HGMTf0w$L7UKPS>b<;E7A~W+gXx51K^lFhOh8X*c)a+_eKUgg>~1U0 zs51}-=<~w?90oe3FR+=qKUB3EeklXtfdxG+E$K&gS5M&vd?NlVC(sddzBRQX)I_s> zyO&-g8u_^aZnXVw*xlG&00bte=eFGP<<{WTT3h#*n@&hueZ&$cd$MNZoaLk-9@(@T zL|7-@uh^_Ojebe|Rckc%#j)zS`dA5iK9vp2ksBLqV<1ZUxYvlS9>^}z#PqV6-osRs z6HkN%j?pQ>4|`T1O!Ni+9r=zWp7rgg$1$AE4CLkJ2x+2$K}G!y{FBy4JmNzN8-|Y@ zUV0M9hF@~1nJy-zv#rH~_Yj?}ytm^w)!i5+l@l+s(9Usk7*WZ{Fi!p3$*BSdfLK?T zPs*w#S_ZNM!joqaZ?m>CqZ9^9OX;nb>PJ(Zt|8V^pksy#6#Zb)LVye(Q)g;D6V3z< z9QX6pv;xp|h>k|SQuPvhaOrCgwLS(|aiy~+El@tFt!gyXF$L+okLul(C`bEYB0HG* z;f2P%l@Ru;X{Yst-TeNH432uu>6DR9vD&_OBf51LQ`VA7iP*uWK_H$6Y%`Zl5 z{yVh5(%)n~qs#7yi3qDlSp7ewQ<+*-AAqkyfW;t%RGJ7<$5NaoNi15~9ul|ZfB+~s z5I_Hl`Qr)^NyUoOLrxgu@R51R686pPiI26aIt~or(Nyd{Vf}!-%WbpqqQmj4!ra2a z=q{d*iu$Vjva247(cNQOH`rGIUBKAdubt@ok?eroNy^J)t)FY`buVDsG(n<)H2i6nQ{a)teBnLju&f-nN?)NnYJwHPV4Dn8_}oyp}-btR$SQ+FLm7dFGPSO9OEo`bJYZ_u4NjyjAZ@nPtaeM)7OHkbloMXDvW{$inroJ(zUf@%oI0 z8U_`hFEi3ve7U#&-D>sID;B^gx3E$3aj*`SMlv|*7gj{jARvxLE(q<812~hYUb zcc$Ru6CjA`EDB>2NWs|;Adz6{pK78aHUs8hWJSL*G?gphE|2_UCdGANE*fwCxvEe- zMd-mD>nBOlkq0oD8vsQGO4L9#;jl57JUMGn+x5!;*KFGUBOzbl`+VU9>j!~W{@B!= z#oTIy4$!c>g^QpEq6R$W%1;ELDKHpVdPDz2e-COfwzmx(Opi=7^2MBpbkdot0WgL) zU>&<#4?;WZLShEkf8aePrTTphsJ9ULbwW~7(5FdnS!G*a3@=rF)SLz!Z8RH%qlZ~l z?}b0n?yMhKFp5mR2YF|d(&NjgM+7c^EfBaF2ZkB!ejN4kZT!L|V&Syjr@T1wJNYX0 z??5%4l=Xb8o>~LNCqVO~)hmVx8Xq&V!dWnEhZiEBi>WYNf&cxU@Y0Y za;?zqJ4*=9O5XEmoMk&YO>&$JO6M;or7+SY~OBM}s9T_;{e8CaN5lgfnc4 z87UzWAAz9XFT1626I#PVH+AhsHY~}--V4=&bTi^0=zRTOV{y`<9wj=*|IED9a*Q8_ zPJ%%Z+oyhB>{Q_(pr8X$E*pOA0GrOk{gPTz)Z+>_m5ngh?h8Ffk?EbfVn&}gO-^FA zEddhDctn_SP&_=X1my_s2L=QUI`A$HHgXe4A7>9B!RFh2cm?jav05KbTHLQ^)PPS9 zj=#GAZXSsCrr)9{D->X@_2;V%=-$6axFbH0nX$@!%mn>Gw&f_7QHcKN(ZGgj>W3sC z)+)Q;Fkj!^VjSM?We26Hxq{Eaed?v>cF)e&LD71dO~y3AIQK1;FD_V*?V!C?AFTs>RJOivZWTDT&)Q^8# z>}j#aD6EDLxOy7@mX_I1%W!R^8pX0`whRwlt?s8%`mFW!7OM-Qk@mmcPvI2~qREwowr)^Kzv2)Sp6VEEXekx%lg56ZlObkzV^eByV|Bw=QOsPH=} zRqqlSBnE_%eYP`WVy8|${d%f`hF0CG$;#_)G{GJ%yEd`Te?xehoi{@8Hj}k%I|mXd zVWj&qCTBW91qnw! z_B=FNx3}#^1NjSy{9pL}Z-fK<%f4(Ee?k1axc08k4^ST;V*<-|z)=dA$B0#2q+cSR z{t$Y2+S6r(o<{AQdEeOFt2x9b#olm(`L5x!M)rh9bsq8@JTA&)4_Ou z$45G(O*~W_VC(5r?D-)x&5<+!i}O0L<>;Ux(cbDNX+HpO)T&6Z{FNhJFfU5|IG;z zvvLz#elVDY^0FrGc0u!qR7=3wcfFc|q!-DgXSc}lY4~9H#$-Njx9-`qMB#@3Ho=<% zl$T;lL~bqnAbzteZLi}~pl*Cuqe}#aZ+x@P695P$tmAK`dFwm!Ov1=m8~1J8!di4I zT@##NLYUJ&kF|6WXvJ}#|7La^_U0if^CuZ62o1*wQ^bGUH2Ha@G^p&$_bu^Hq;Jcj zOIeL+%KE4&629PcHi0P!?w?~NWY;Fe<87CjVbgglZ-H^vtn_1RUZ?!6fY$&*;RDx9 zF!~f0V1}%%89>(=OAxU9Lw9w$M%HEkeb8Mc^s+83-*iuXr17k0o~^p?xo-M}C^0ph z(Z;b(@xi8-CU?n2?Tyol(?|jDfrzgm6MIK6rfwbE!K3wpa9-90UmoIL&A&cRe zRd5QExZ+FoZ{0NpyN@~_`~!1U-rfnbi5lV>iMYwt?%hD5&LL3j>0dNe3w@nj}B}JlJ1s=<~rq&mQNT7bOQMY11>P|)p3rK}ZkWrEOsF4)E=EvYD-S5o|Nei7&0^p5SgDuCq zO8^4*7xU3Vz~Dhl2ofIQu$q+yUMC<69Ti3MbFxd_zy}yu;!md$GwXaU(Bb@Q6MUI3#!ga!07GCV$rV7!;a9AT^Id*fw(myiBR&9^EOX zJ9t2O9*FRI&n=z*bbmP&<+d+}$OeYGPYr9A^w8Dd8LvJpfkC2rOu|=5kfYQ8FE9gb zOImE+jU{ln;%=mfG88;|@0Oc{g|R4Ve=?}DKTy$vuleFWnk^G<@A~*r+S6u*AoIgs zdpHoCU$Au2i0UL`TGDs^qGdQ)I(ka6A~l`Hnd+A;vj2#x3YDv z51}WU9I3N?A1oMj2$f`5AZG^CptQ8K+I$jZlwh-B*M4tm6nh1zwdf*WNx~{3!1yjN z#79ew_&bNYU59*cbT02mz7Nx184OCPug+uF1eA0bKi<4VAdvHK;T(1X9qfdGo|uWR zS0fhi@%K0BdJ+C^t&KeJdB1)|&k(<^@HTZJ5umN+hLUEVCpv6`U$lewX@Q2MWZb_d z7p}^r?hMB?6ue>22Uo>c(+&d(6hmM-ZVOHrf7mKAZ2uda=5LDqq#N@Q@R$3HFcGp* zzV($K@YwqLBj=h^XJ(7+=?ZVuGJB7-%?Cl;a?ge@!tR)Wm?rL-I$_m&!J*iO32Gs@6)`~R#Q^?7uc+8ulj8&( z(oI9|Hz8KM_<(o=G?{hPg5al2a6HD*3}I<#4CAIl+L-VRrRo==-+lOHcUmGxL`ZpK z90{%G?COV9*9CDpXL40MAVI%T`xtO=C#fwX0{=1AMmCv$%C_o$RYUlTnOLVb#noAb zH84ux*$BvkI@*Q<-g9t2f%0}xZ-ErGGig^Hi#s<4q$wa9&X+G;oMIZG`So|&*e#*s zWHXfV+`>Wm>G$VcvGKHm+OyG2`@gf{fuLqv)~ta|TEghlNHHSqXGP(>V<+P28q z<0F7Ep(U?+JzsedC@iMKcYa?k1zvkx1gy?ArlW)m8nw_sH;@>zQ-ndCa=sT>+HNZ@ z|DG1v*|Dor|DF~AQ6q?&Q`B2^KS|^x(5mD12DReWsZ1hrnsq8B2}*K&WJ%9LIZq;= z4^G5DOCQd}IOBw4p)CWEV$>mti~As>Z{>UqOOppk>{g#& zQZ@}40!1tFG`aiVfM4}jqZjLddjDPPpD(~C)8n`M$9K*}`OUII$XL94G=DZ3=Jdz)c&!&Z=`P#OF8B6m!3cV%@)+39ME9JN=fwrVg#1S@DIb*;x&wo3%U%N(^G^s8%lXdPFH{x+o28P!t$5s4-Lw2;pzs%t zCb^oSE3&Ad46+D6`)YRpo|q>rzMN8?q$$&MIn6XuQ7I0%9@8YD_`v2YS9pxI zfgfo-LtR0MRxkpReGW?(@Cjs~}xqXd+X# z@wk_McH4t1WH~^D_cX!IOMoiH)&XO``2YuaP{UR5D}KK_%y~F+z%8R*?%)d}jx|^r zu^N(~@F%?!^Np?CqH*}-^sNyLe|$V|;rtzom3{m(M{lpjH5Cv3W#$K(@5VSTe%Y6l z)igVxA7{knn!gZV@5lYB?KgxW7fP^bhSL}rPEFT?8X~)bAP-#WQ?#8Av&^6Fn?2z6 zByOD#y%yO~q|yEqtR9N}9Ksr32>~yV^H0<3K2od9VECXu6hk3?c{|pOg*Bp{a1u0( z$2*PZ+*Ke#PzMsVx z97iM~l*L`xV0TQibe5VYy!{`*xHw=2U^!8*(1OEe;gMZ&AaTNIJ~@ydgrgfTNwM@R zqdY>q<)-zeO%P9d+Sz(#tLrI6RUTra0fxbm2VG^@wG#lIS}_ZY5{C-|yPxB6FQA)p zPhx?ESsg)7v?HKeCUbF$?Rf92I-F7N2{7l~9P{6ZDPeK`6t{(G_NI-lRCy;LpOk4F zzyl&7J1Q4OPGY3DOSP&>iz81n9w&M`cDxCb=;S)gl5x_i>=^V@FZd78CNE;HaqC#x zc~**IP3x!C`IN9VQ-3Wc`-DcNj`N**5)4blihsN~ z%6UcL9I1Di>6bDF=Cpa=?=?KTxfa*JD3*+xj%tVP4=WlrfhVDmudl$<%Vc10V#eZ zE@8-rna@VBn!s0nxt(<^P)$AWJq8!0KBluz#7eAUP0vjxpoZC`{Z~l3xLe-6?G?!I zI9{D+IK`5{xMiaE)zEH{f6DsG4Xc{;{P)6S#pkSi5N1wjLlCQK&|F7^epKKz=Q}ja zAgAUxDdUf66?DYjmQ}mp)8D;sPF5o|y`S#I86Lf{Rv*oQ>E=NFG@O)XZZl>Od|Vi} zf4-hG+8#(47#Q&HXy+C5G}?)ztanMd%sT|}YfdgBGkzAn5>WjRD|5VZ_34~piWl{} zXCNEjga90my`z-u7qz@7vnoMh;}<}V+0%;z4`TVsCHcf<{(R&8nacK7{Ty|>9pz6Z z67Z9+i9ix4T87ZM+W}iab~L`Rp8OT14~Cbv_AwMDvR3R>uY}!uNo%&l+m9c?DIS6j zXGRhG2y>uJVp&OP)tK4i;NXn>^!RiY;&_j-AAc9c%h!IwRkdH@=z5t^|NCZ}oj}H6 zEbtJ){1@!hi=(DLkt-xAb?&z|l%5)-us1H$`*1&B_aJr0$EZ{9LYB=S?CjuweWs&{A|9iC(E%WgunLCvO3> zL$?Oa*5LkKf2|sIrlWZ~K*{g-*vks@eSYY)zIm0uIkUWi_-1`%?O&cNe^VwU#T+=z z{;KaRkT9KF$4){pQdEq$s`0-w>)@?jYLK2K-&r)hho0T&kZN=7aKxM~s$sN)7hJN+tU&rQ= z48xq>NPhId&SH#LJL3AbIF+TlM_9Pu{q9D0#o1@#!-AR=jO4N;0{)G`>h;Ux*GY`}uBH z^eY189^2D3Yi&RlHkV$p+ffZs+pga#^V5u<$QYbwk5{K{mN#$p}ae(Jk2)>{xkso>qh1i z26#+Puzhr2?$Hg|bIiWfF`Td*OS0SCBzpP3Ly!mD7<8JkA@`N<%ViGHTt-I5BvD9r zRVRX4TkwmKUD!f8O<>6>njot5=PnC^g8@znS*Ql&^Onr`^vD+k1oF162~b^&|5t04 z4O*xN;klscDqisYQq#o@r8GvA#9Va0c4d4V`GwfsXL8@RI-1deAAl@f7*zxZ&|VZ6 z(TVA|-u5GSxl+JBxjMYEm+ktf5!=SV7+$E;ZK_*dVUC@Vn=4-CD&P=gmx+hVN^%ca z(k2at3Ixds*&g82S)Rfwqy1^n@BM4ze)z0{oe7a51rzuFD=Vy$IqVjgeX%4TZbqMo zc$8%j=m;H15JR$?Jd2;x9nmSRYlmxoP=N>^F zn)66tcuPBkwuCKRqzopWY#UET#`EYq-uIC_QmFrm_I%d8zt)L6J_wC9w~C_%7uaLz(pJ1%55Z{Mh@t@`p1FiHIx3Xf+Y-Y-BU; zY^Ib1LOH@ytUyvetyfzKW@cu@rGdB?XSztg-oi*jae&$0Mj=L%=tgbSDr@K9YF2q# zPJ|{>RK`m87HAaaV{U%Bg`=j~{CdUyJ-v90PQJb#ydItlKG{(?sqtZTI7Jf|8k4U+ znqE2c47z+I;c7;kQtaS|`5nIO+}a^s`4~=(V^!G#s%p?E&7IHUq;fl zM$nH3^)f8g)28K4^e|B&V;6!rim1phGatPPZ@$j01LE1Of*qp&L)2F=RMj@o3P^W% zcXvrigAyX$9nwhWk?xl6kZzUkMuY<*-FfKly!-fm_uhZ7_Y?EXtXZ>`taB$oU;uu; z7$W|3scsGgqS(omryo-)(g6VhwGesZn{mzwjSiB`*|Tb@4mNI>JFRGL&U=b9)?L>k z){PUul7O3so|s-B^F(x_3fs;3lN!E(uaZRebXSM8Cm@7?QHt4e^Tg@|8M2mMWO>T=~__tKpOB01U7KQgEfRJ(SWX-a@?Bv9h+M9j9 zG6vR1dWf)-t;bqN{OnqWET!p6QhZ%k#lPMjb+M;_<5C2))yIKt%LsT2P`8#7rYv~F z1-zcl4rv@DpWttri+^BXYKjO>GQ+kSm4yq}pIt|G9;x|V_nD0#2B+t4WN%NQsNy0Y zK)ya~o>48m(QCvUR}pht)vmlY2U+q4^;mp#-dFS&d0IFN)%5~d^DlL-<&xp>kg?7N z{3XDZJn&{L{#D;uiQUhUtf^?w*b(owq5Ye}-|A1Low$7^(DLdRUU*LzLZ-~^BagT# zNE@Z>+jy&eTEDk(vTOK>?kwwPX77bbT_*8I-08QM=~Tt?u)6NY_`$BmejWJljSS;v zS9Fn~_ZbVv%XQ~>PlM&CGZZdvJ*ercGwpkHJTMYEv;`nfqLeJ-{#?!YKFFs#E&f)t zpQ`xl9??i7H?7%a&TTH;n@5_yH!_;Cok-)+_FDCGCPlmv!S5QkjaL^)8igN!R|H)k zUiWCyc2ZiM%;C4=IT-GO=lh`HuL(-6UIPaFmoUq ztV7ZvPKK4%Fwj<|GTYya`M}}rMT@y&iF$^I-9O4DZpfxf!24PDi%PgeK_X+WT^3S( zj-E~Y_V$5(YDUm%wm6x<)J>m#(_;9J6=4uP_4=^7P5du#H?pkmZF@V$q>?E3F{yxF z)>SQ9r`z3VFi2DgN4Zp~?)o?j*tVO0*p?#Xeyrn7>sHmbR{9&ieAvmI73=q5yn~ir zMhG}sB?J}Xm_KAHX<*$l2SP(qp?Q^IP(Tsqq5E`;J-GAmJG$3hb?xc)?Bc&CSxO2r zKxo_#748N&rt5>GPEcj9#PoC|5Rq$9-VGMZj6`&YU0%?v?n||;o8q`O2b^w;!a0(f zR*~<(##e`xfx>7J%`>6UpT@sliAl00@)3Hr6VuH^^0QYXrO;^(2;a@$PS$_R34{E} zyqcc4T#Mx{E+y|kusn|puCFY>pRVpfJr5qU{WyOYd~Yx=hzAA+4WB6s$<^->#Wvz< zzI%SIZGxbsJJl`&yo5;ee`x36Dco(m>n_Oea3;k_Cc~GI;Dr(nszHT@<1xbmECHT( zdn#R!tFFI_LK%@JBvs~;Sg2-J6XJkDIODVu9m*LHqrGbMubjZbq0rRS^g65`ssmcT z2F^Y3%{!TP6Sc+?WfdUCeZX{*001w0X5y_2>pu_NR7_$r#@pdwAZ(RWCGI!>)i`t$ znk3JuUp5ap{?JTA0a1V9;4T5S^*FXM)w1kn`~|z&#nu81GP7l zK7esTq?LMuSG0JaprH>7>HWE*3^zAIdMMSO!rH4)`&pOJ=0{SXix~%%(-%$>KV7YO zsHwgcDf|r-;?eyBDP{%dOGw@Ae>=rKSP1gyy60LH0kKadAIQFxhdO`30b9+<^)M;; z-&WHESIMM}F8s7}0jh(|uj(q2R#ps;pTgNHC*^Z*^3`IEIN_A_c zL+IV0&LvwVX)Fi1oo}87?09>p7k+1&j19=|3oq=yc+4ZwC`Z;19OG;f0cCWgE3l(D z=7-m&sekwHT}&3lSwCoI=^xZBPHw*b)0w|3-zvH}AyFMwVHCl1{xBdLS~0kStsNdL zgQm_K3JIjb+)~HUEOHm2E|@TK&;23}r+Tb8Ele1!$dQJaS3MU*UmFnSDXs&p*nvyr zoyw+b#s(#F0Q};(%{UPZtMBu*c~{E(_x?6j_rMDmxEq}pLAQ9EM=f<3PfD^r;|ucR zT)Y@;8)hd>B3G_ znO+)#80Ci$yS1iJ^A1z!a#0kwU5){rk?nP{T-;$HTdgy zZ-7Kqw;#oBQ5D9=$z3B?-AhGkz@o9x;#QZ)fBY+ut+o=GJot=ZD7`$;EQwxWqksX{ z9zfac?hQrdc3cvA+*1WXC*Ia-uWc_8Cr)me0YoN<`7a%ZUdo((vk>DV($teMOG-ft z+Ndhv1Rv{<;wI%^+t7+S+@}$FBOwT+CPVa(W|S= z&b)vYtKs2;XM5)7goRxTdII5Ez@6fOks&{RI%(#?i5 z>Gk+<@ztPOmVKIlF@eb0?WR)9p|wMmRj}h3>~j)2=uAx}aUO6W9TV1%pxU9k5{O%7 zR%=>b5CI!a5dz0|2^a#2-3Xtcu-lZ6rn~MCVpoWnRfgz*_gGt)r1EWs<@c-SR4k$JEckFW!<||_W+Q->J^q-8UZ(`9-po)XmC8^irmbjtap(?kz6f?6|1tb0l=se=oOYnh zYL|G}OQ3zW{OVny*>CBl?Ua@44_C+fm~E=+UtL=-K1RbOR|3Pkg>G8e;jBkt%YQ)S|&2V|TwvuV~g%HO6)x54~)Rr zn6EGBp#%U1ncl+qptad@|1Hov3)Tt2_M>+C*geBDzS3aac7vNx#!y-MljPfnLlF5p zA`993F5<4T@V2@64UrSvyx_eWdTZ{?U_>BELCA6po+aA4 zm}qN3l8Oli915g1$dsc<`of%ETbneH9rC#d8_B43O%a2v7YaADU+S7q)KrP-67A*? z>RBt!*~3?xwpf@p_@7}O2mkb(lD-cr*PV7D@o^NP$wmUdaP(dbNv?bMf7kkW)glpd zDjEu8m__?DM7i0RYT$_2|^`Ry(5N4ny6deYeK{FNr(hlUkJX(_p zIlp>lArZ%BRPqA4LQ62ovKao8+*o@C4%KiysW~YTZ-pCG87N3VL6a;wvfZ`-0~*lY z#0;2_=we(Iz;RsEkAU4^zP3ggrBLfGbPV80q_6r{44_Py5C0vIMGjwWTpXC=y9FvQ zHf%CN=FIE64%CM@n86AO2%LB zc(D}DZ=Y|hwKVl3$gOrj^{*NsONE(yvCTtH^H^BNEH1qLCB4XL17?gZeq&?2Is|KP%&#w)5e$1r@i+;6dn6_b-_~ZtSC2Mvwna>o3@*Ru&-nc-Fhu9R04KBBpoe~YE(Ec=VVXbgV@R!;)N+`4H zD*v0Bx|Q?<_W8Lv%d_y>_;b7j$UkN?9tkz{o>U_fW!j zr>a=-#OEeryeYu>6$M5@_?tNIV>>5K*0NpW!UnbcPWOD;A9vDjFGt7zgFuRdvq_&C z7ajZRhbU09#$H;Am*e!HlX!rG%z!vkPB!^Tqf@QCot-lx(MR>_+Y$F68a(ki-B8cQ z6M6S&R1(bbNSFqP_Uv#&1c+q@j4<^8Yrww0eSh=~wM)LW(TM_mfLWI~(fXL!byJCo@&fV}o|!^(NQ5sB$~N7VN!6nY-4 zVIx1a_U>yOMPSzNXMWo30Ho)d73tR(06T^lK%3@!{&E}3%$@G zSm%bH9o<@#^2Ev2OOzzFvyeTF8%C@o&6syGgDULpJ6I18kx}}}5as?1V4w+><)QYsx;6)LD z&(jE`I0$HK24!kq2zYE3@HDi#0(3NCDzy>EaOR(lYqSUfJdbpJ7dxAeLbYM$^S|vz z!EZyFfl}JgZ1Y;)Wf}!Xtbfwzmk*_qa*snT0jov|H7_*Ok@1NB-;_zyePv;%xAMd< zQhQY|uvW|IA7G6{El*oH2?C(bO@R3kGGG?i#WDjPI)*|AjxcYBGR{hB#sj0GtX?Nq z&2*k8tuwJH$O<{sI`x$L+SWh4<;942ySzPB;DTM@S-&u<_S*ZmH9s>@Lzw9}l8ke( zzLk6j8&oFSj$VsTeSd(IPx_p$IqY9iMMD`)L4dmRhB!)3nyaLDz7DWbAepKH1atkF zjw8~!|DNE02O+LU{F~6ahh@UtP%7(q#-Uwq+&kcF_%GTdL|{@yTsdTS_KQr;o`=o% z(o=_xidC3a?w1w`q8Bu5v-{o+`TnyWaK9!#T}7FS%DT7UNbuz)9gqV!r~jTY(#|<( zjbmTDS?{`7?R)PO@E@)s)mm9Z@&x#x=Sa3n}b zvXKO`#>lQu4M-9)%-F({HTQXxYCT&4+qUlNJvrxGTYg&JN!yU^k<cp9bPV0**TE zf0GFa5~IqBKkD+3V_gpS*PBxIGCy7XkR9kkj1&-=L~R|YeLHTQ*LGUZNDYMMWfHMK;+);@rXgHTOP*L1VW31y#lj z5ytn@+b^4T90!xcNVAKsFXQglAw=P5!xl#+Sg}@m7?p2NxK@oWSh-V)vB||k-{CKW zILDpf0DO+ZS7I0us-4TH@k*cKzB9F(E%f4uDDiu5k1m(#SdBrtPs zfT46M+GKQ85q2*{@0YZ_5(LxO|5%so=Zm3gyjJ|%`<|B@3KX2X;KwU-8XuXC2l`HirDb| zBzpLwtJL#AqwwN2<8WvFe32St|9bvXHk2`ve3`RfvrA7raoDu_&)Zf8=?gYpZxuk{ zoGN)fDrw!?^e?89Y`{zXY53H352LYtf6k3~s4Qo=KLh5!zr;a=^39>eYV*~Me*LE@ z2AfRKP_is-P2ZU|o1_)@Pq%pf>S~Hxza9xi(Cr7?Rf<kVQKS$v=xo@$b%Jj6^(rj`V>eb1wEHoCvYG@YXQpkv!OK zP%DDUA6r3&$M=Rmnmn&7x>D>-&{oOyKrQI|^MrW*Qf@X%+&2bZV^P2%<T7#i5SrXf~~Y1B-tbHgLk@n>YZH} zm||xLB~M4fejOf+|8h-$M+Pu2&3Z$S2ftOx-Gop6d1?>;;IW~R&c;ktUr<1Od$h<- zfFF$by2FFch%7uiM)fZ0EHcMmEd&DEFp-e`vM8%FFw7jC5Vj5Y_Yrc{mG-CGGO;QN zR7{L#3U=&}1ADuN7dt!z^AMEu+}i6&Rkz=db$?=|QsqTPXBP1!?(qV?P|?7<)>Z8U zYgTp7&&FdYY)~q_{AO(*~{Tk;8=h_x8 z-&0cU%WpjBf1AANy^v%ygaeIKT;NwWnNPl_+^l}7{;zocHgY~H zdEixlTXgQS<_W$Y#ijhKi6rVRbM~|Fo})>%YzY+y+iKP5Loa`4DdXyt=-_Mia!3|j z$xp=H<+|j+7yYJm$}U%}P-FI;Z=b*fPf~PmU+}cqsnk@*{d2D^Pa*WtTEsM>O__V< znXkhDY&umvN|I6Kiv(~6%+*PE*zd5uQ~Ep--$M8 zh`x8Sg_l8V2?fUk^q}YwMc?x`grdERR8=7O!6m72e@nq|{^+~Uwr(ug&ZMiwPQ@}F zHsBLbovub3iiyCsT`2T2nWiBuiocn^YP0B((Zc~w3YP`Y)v%Y&lPsm`I(&WGcW`B@ z>dpS#X2ML+^`{8oA14`@i~IZI)08tH%1Fh|K6YYz>3*^j80McRIlG0tsu4?}z(WQ! zXu@(-7&HCFHyb6kCL1){JMXkuqwKZ5&e_*RF2=@k9IlZ6rvAXq^o`~AZj3SF1E0{) zAtITh#?LpCYnS;e>w(f_@hyHwjBdl$qqZLt%(!Xi&7_Pz!=k9;CRjy(dxLuoUp3C_ zs8jbb3__2TB<_HA7dMPLA)?d(F@zfj(Q0|j@8?5YYuytZ)`>m7e3u7=-*cfQ*0NmD zg-iFdM!9m+r?K6!aEF^i_3q<3)ujhfg*moPl>N@7$JmYi{A1CTw806UKV3=-AB$)| z*~No@8I_hT;CK1ud+2+1nF5I$C?Ytde8aX|Um)@Hg8|tm)}Y0Y?0RazvyV53R}4ul zbh`|#n|sWfsvleLeMzkzP)C*M&O~nmP)KMwTigcZGN%W|FC>8Bc=*WHs+au0y>-3y z)#hnSmTZ_TW57*n6`%3+QV^U`?P|eYVp$9^{=Ox<*<2ZabIvgi&hO^O!h+$EcR^hi zOr0eSFr;=_b+sdbaDXJ85xS9KI0x%#+Z`S;{{4oNVDtxxXC7U6IY!(c9 z*wxREllNg`Kb47*3IoQ_h>x*iJ8X6ZuOu|v*276lA-R>jOH4Jn)Tst;PJYH1&C`+F zsN-DmEaS-3{Stgql!%9v-NoAYqje2~t;^eZc#ZjgG1 zU`?;jk0PuhpP~`oR~sWHO>gL|g?o;dFF5}|j5>XkJewP_Ia!c3li3hJpRpwg5h4Rp z!M8mBSV%1Aqbea?ES03Ed8Mm^?ewGn^%oTQi1}^tN|Z8!>}pyN%FD}7!?Owf4~BTv zx=wg)_l`@KRS32C1d9eBsEX__bw2QoR9zb0-ik~dDt!qJWEPeT6z2=KpnAQKgq z?-{-b7yx4qsC@5$rSo9AUrSQ$=U5a9QOVM2c@~2jj7my5UT+1d3vW_-Lh6+n)ARKo z7x9Wg$M6?j5zXi^#-djR`!{Vq-IucT@vh?_SQM~%)WTq5Yg7fei%`e;HqhZ96@YU+uSMZTvT47?NPaXEQ-%;CD7~yUhuT3<`n;`cKM7 z|4OP_%3$ym>>n|7BTjL98=0bJG)-JT;RgN+l|Yhy&<8R{)44jbG6r~laZ1rh6g?TD z6`HsLzc+#vJ-A~>2fBt?i)Cz{-aqp-mOay|#=-CF*DpK0g`7T6ZhFu?+*KOqkKsOY z7g3|5;7IfFePbaCcnH=c1#SdXD2W17Xb!+hyM~20WOp6Z(?7>PWr`UGhy0c}{`H?j39>r1%Da*P191^4!oLdj=3%TBak@Rv*a#`v%A!a_JXRIuv|jL zU4RM7!N?*p%m2n`slMBgrEeJ1`&Lzc_N}X{Kv^UoPY8#6j7o#|$10bdoIJdcwe;c` zd3Wd8q`g5{3kn@LxS>kY;1h}QUYDl-TEvCY9tmV^IPNz6;wsK{%Se>b!;*{u-q$|V zS+}c{kZ(S?H}R{zNNhak;DzC>1Nv4EY?sB%*GIiG-1*B;+4zrM6j>ItLH$R3PahFm zf<{k8fx6<)dn;GisPNp#Kt?6t!5+PyKJZxg1ZBs!L`(b!fm7F8UF}adA2lwXRvJH{ z0KOU%?&Qxln3JlZg?ev0&veakSHzuPsf=|&__3rWyoAvla$hh1~eb<+fOcavNS4Nf9eI<>J zbs9O8<2$IwcGNGea_{Y9KMi{?P(FMnJ$`Y+)f1!6#A?U2t0bwboe%u*QR?<1i^0f0 zaXM+S@QwZq?UL>2Xi}_z3ZX_K*TIxe$pOyp_r8=IpQ2)>$jm2vE6H*%R24>Wv{erd z4*(f*&%nI(oVgLDg_=P4(|$ASauiQM&Cp{P5Y=IJjQe_};m}lt0k?}e z$~FWNtlCOaQ4X=hk{i7Sild7|LavuP=rAnwb!(q%a-vM-G{%S@3SRFErv(x#v6M^^ z6hJYgZ?X=q2IzFFJ?5}+Kwv=iB?QWyr|`Amtj=}$VTG+iUslt|d~3fyMpx+N+*Y+? z=pt+3m4tQb=po#)Q=^@3`y@dusH@nvoVqSF7g>NC8_A+^Pr%q5CnuB2W4Or*bnTvb z6(*Q6pY64cU2o1_jyQu|3A&&3wCiEDsU70XQiZq_=Wsg(91{o4tmF;2< z;ee_b-7V*XDeH-il{iXRu-IIq18KVvr_X+t_oOO< zx>5vVild-WRZXCDbPVpc=1S-5WX8eKiG6a%M@VJ0&JPbksZZ|>zhke3Cjlz%+v#X< zqrh2CD3gxV%wDrHW~GT&X1f7AWKkc~zX>FK`Mx);-+kMb<3EsvQQ-AjasMO1C5=Vxx1+t`KoMS5cX?Hi>nC0X1-ea@ayQ9tw~ zKDB+bve1Z$>DNeHaDJF+h;&uaFZJ?q2RilxNY#p|IM+^x4!Z|APF>Fv;u~V%d}tC! zsP)Q{IA4Bf8Lo8aeJp82uu`4MD({|*@4e7r5W%N&ii`1ZT(=V7E~YR4VB^miz_lYn zxPG_hf@@m;Ex(kH8|$N*_bc9)pG2VCCz{5?x&O*gDWuaC-;?!liAU;Zz`?JmprA+S z>_@3wHZSQ@TprHFMWK_UUEfe_>;w%UJ7}+Wns?DC^ofVccme+bV~vxt8q=q4dF|4~ z$(&S58DY1;FD(jE|4(@h15n)yI%q{qWLJkAw(OxsQ@|rLRa!kO82lv<$m728=Dfxm zL+@A(PIavVrfom5;%(Y*ljwj&)(6O_c%{E4evPc>Emv>P-!6Xl5>j5P0>BR!mB>b(GyX64K4 zcyZ8&thGOBx%!Q{c9l0G-}pBZ^jt2rE}IGy_Yq|xuS<*)v+ih!%K%X;ys%QJ$KALX zFp&i$)p!7a;GOLrg^&cu!ig5H>*Vx7RJgrzZUDG=jdr(}sEWLw5cR@F5^WPJ+(`S74eXTynxo#_;GBt-td z?3+FBQw?N=(SVYRbisKDS*(XdS?p{4w8O%RZyu{KeDQ4h5?DJW4YNyC^;BZmT<>9n zlQ^>}=3~!h@s(zK(t*Opj8PR6cP|n+S;kAne=(AB0V48}VSJG@8kG_Cgm`)rZq!?t zCN6u|2^Fn?E_|Hh_OFy?fPQfbSZorrFF$dgFM*oEcNtgLFS0}$Vf z`T+0KUYAkGJ<<>voZO{ktn>I(we7-6iT#<9>j#;6Q0iM#vnq9c zVH}Sk&#M+RuzIpadYOaB9yJvE1V|%_v)zOm=IxRH1(XNzUpz%RTQz>U*ETo0 zbXaWcIXLpZw)`C(u#KuF%-JeERd@N;UuUQ6n3;aKtB`YCeqwv-;d$KFud#_BumK=* ztrv!wrZl$d(g2$*gAagY12C0n6GdkliY=Ir$p9n(di{qLS#OM?9-)2v{gGil%%!s}0*(om+$edI+K(n2uuo*0JUF{+70-=a_ zXhStufur=t7cB823YA4`2VgK8!1hFyJd?0v*Mf`QCo`~9OCK?wg8WK|Z4Ty5^y>Zv zhIl;(n_d&?*zpRX+DVyH;3%oFxqPeY2q3Qq&HWzEXqeTG&%#PMRj9bK0bp;E;h_@V ztuZ&x(I3r7oARpMXiSVFj_^0Sn1qeZ~?jo zy6(nhy*ir;38r2evEoIqIQ|!N0)Kj6SQ&gCp}&PlyhJYOy;L{@1T3nCLJOlyK^d== z5?R%5;zL^JSd24tbQR28gBJ3RtI3-EIxX+L^|BK+KYD0-r@6Z+p>pV?knljSCXUQP zTG*7)sFG)_^Lm3&TVk8-GN_88ruyVImKUWd5>@V)V&^_po&A#rF|X0>^M{#aK(DK)PmbeIXzE1o)P;zw2F}Y z4f60@aBivoo%=@kE=&&bF1)JRw*P)#?s9Oa)hZ+zZNfXkSUsoQ^51tdO-JGSBUFE_ zFGZcKO{n~(_YhQw`_?ChRS2^qzttx-chuu-{F#MGImSOqM{uLV-8V>6vVq-a;Vki# zxA$TxAOP&SGPe|_z4{D$^L!*+HD3pHX#>76VJ!<#C4p9)fYW35(XsdUA*UT#3F1Tn zlaI{Lxv>F1%H!PyaLErm6RMZes#b$n$~;4w6m4}_CJHE_vny($u$Myh1qAgt`R|Ea zdsp%r%XVQC93KX<;4I?nj5JTONZKg#N43tX`;>ToFmlI5E{S@(`h`QZc%}7{SYXw# z{;)?C(umcf1wSHzEl02SGv!3D4qu#a{88)dRQdn6;RP4hi%y%R5>L#)Qz`c2$B+Ed z&J05TY@xWA?7(D9Qj(ZW^mB)A$O0A_V^l}i0*&jH{)lVw6$Fg!dR}dWB>1~X?1S@) z9wL_9z{V@v6p?Ftv0WLzgSF;VflgN`G+FSqI${%cEG#yW?LK2Tj&d_x+IG6*@Bo)5gXsQk@4S-go!ry!#6+v5Nx>45gdf0rOtIXyKV4|NJS9EeSU zVD+u}tovhWpB8o(;#@^9&>G|6K;FYho)0UeE;a2&*3K_&H==Ajnu}iq-Ms#Pb3sVd z>(J+W2~ez_>+lt9rkq}+1^d3z9VnIJ4&~HeJn<;%#qWq^4JIGWF7flZJt6K zyS2S(DyC+l9~Om@Hk#erXv8I_lFNaZDlWWwH~c*y49b{N2Ng7ECSya!-SqfXYv$2v1n4|GQmP;&rqk zKnWQ*62+`4bETuWir#FchE{{~U4ZACAMWstbIDEXSVznAa5(J}n$WMm*A|KWd<bq|sS+9SjL#9rFT;|E(F6Q2 zNzy~1-kx?B=cp|7iM;QehrTub8@bz5b(|~|)Yr^mZEi9 zdv#iJFFilI0F~BktUScQVrz}$0h>kfwcF82b;o$Z1Ht1SF_7Muqqd6wr9zS7Ja1Ql z`s?|+sjHx>3N7l-cP_ub-k7G#ZCx_b1J)B)Yd^j$9!JF7mHCd+V@yq9iDu4RrRx+T zfop$(`+O1i)s8>QUKyN=ZBMx$I(Zb*RX==}yLXjRY1eqP5I)XA6CQhG;`mY;Ba5*%LIC4f|0C*KSYV3lZe>5hUNBF` zJ!>2JnaD7-!yyUdLuR_Bm+cm*_$T8z%wKZE<@(_ISSB0SSMsyttx-;cU-9YEvV5Rm za)rxg;N6$Fe)35%PCX|br5FGTVQ2V`4lqW5DTBz}a)1<-8t?-FQ~a6X`s1j_f49AG z0Xj4lvJ2SvumMx-Xwd_IicToKkGtvv_HxQ)B!f!&7QYiq({5+DR2mRuh58j6@UsRF$lk!ZouR5^ zCb|X^fxBdulHkz%2XaO>ytRqn1l&2kzxJxK9iY{s5zmW8Dp{z$4^eS$9}7dghT%0 zop?-xa4i^gPEnhuOTQCx?WM?69pqY>#hNJZV~H`N+2O@B)n`K>#`GKjx zGvXo8j@W`w-u)!a{2BsihIzFezuNEU*(1UFs^=p@FDz5EX~` z@&19}_-}EQ*%bZ$XRP|4#w{RT4=_T~_wYG&d?`mLa6#6k2}ntU2qzHdjCM!%~9*d9L4OQcKMRZ<4-zW;e4$ytgf>{I7-F95u4{ z8llwuYN1l=!oskFM1N$w#Q#O2H;_4F-T3f4Kh$WWXT1L}>ul-(+Ek3L*GR8?}`qjH;pNJBLu}GpxXJswRqfgLh6|VhR zBJ*2b3c9MU9&{xiWwQmhe*DEvAoJEgO!b*$Lt9(=vCTQGlE64rqJxLWDZTgV%xpkR z<&mYR|0#516uC7(M~C9xg^9QflknvjtycYRna=kZ;fz#52yFDg2c;{jt!@kTZt(7t zy#b2U@CfzR5myl(-@=$Vu%Mtn$a=sx*BhUMTLq`5wIBKu{ z9Nh~cknX8L0|zgAs5d&FM4GFsb5ToR&J(!)Rw*lwFkgS|3JxQ8C>bWs^{6!U!gP-D zva@l_D!kyQQGWTZBV2>Ee)sk)MFt>JRBF|eu?BoAl}RvSO$`q?>wd)wotXfDYh(Ke zRcj?;)%m>3Z`{qUpDwTuww7*~?fC12j+QtUf0i$|o-G}7jph>1C$sVEeX4@cI4z7LYg(s^w;%}Qo=lDY4<1Tc0%K(|t3dK` zNii-de)(IX5K!+nX)GxaWHE5;C-FqukxX+~@|DsmGR{s8R_FZ_dr&W@m3O14xI1}M ztTz^cH_l~whfIBe_7VHs`t&fMSi>FRokUVGlvM*tIG^T;s2>)t?lFO|KK{o=Jy zm}E>7w{*ViV#T$B*->AiS-{x9w8+Z%-P397pS@bqOPpijM&402CgBwgt6k+2?Q-jopir2kd=4-iN_Lv(C zS%R}YG(6Vaeck(S@hX8V+!YYy4hGaqP=JyS>)^9@4b-!ya{;t*aGDGnbFc;{H34BQ~6Hx@= z5zKwJyAHTq))@l~gxe#gLd>rGH>Pswb86f)3JA3-+` zqVAz<*;@HPkd%c&1j~R-U65f#r9c$s8JNHVTS*bs*<(s?j@;wV zVTrUmTB~l)!b`RXOeS5QROuXa`reV;9Hix_329;BJ>QSa*N|_GDw2?sjlYS>_7*pr zo}33_sa~vnt`BPXAB#!g_9^(Rhko+OiP#WjSIKr9623s;0=2?z5BLzF<5XFpvt;`y zky(Z<7fN!m6@3>(T7gfOa+5+DVPj`!2V@uF_74u!baaq9#2c~u=xM=WmA((_ScZ`S z<#xQN6MedklSmEQ6=rz}ryiAw5om4xyXrjr_R?V1$x5B{@nAP&I^HxU{=zTs8D{f` z$rizdzpZ*l+w`$h)gK;5&DZZvz?or&ZLQcybWOByptx%iyb#_l@yIUIv8?v)$6#hu zHecO@PM~m2k}Z_@nP>rr68x%kYUWO$EjRX15Tma@*i{_y0SRn_9tzP_LI*cBoG#_0 z03yZszJk8bjwW`mRd-W{)lpB5KZCAS;`ua`q-2bG9RG+ie%2tV&JBgostF!da*L^0 zskS#>8!fe6YKorTLUDNNyn*QXA9^sf@6gjle+BJrvN5s#p#_(OUh`Hj$Tr?OTAAK| z^+A1y`qS3({{D#L(B`tRI*VZfSaF7R&E3-M&nP4$B+k>C+SC#f5+y^bqE8t1{_fa5 zS*xLBBS#Kj^4Rq=q!pON5jz?_d-3kJ_*HA=#IN9^ZFB^}Tp~yh7c+G%nD)#S7Ce#3 z5iZoVbYPZ$wC7&KEL9Da!&6Ie>hCtO|9-UDgN-%e_$%|OiA7c|x8+BH#eg(AIRx1F zhS!?;5EP@p&H)!O)Oa(I6n>Eua96ic!+v=WVdA$MQ1L!ZV~GcHnBqC}L=z=oG!nC3 zy~r#E)}nD*>}0p=b$u@04jv(y-?qFae^Q~<<7m6Dkp}724?Yb?{XACYtiB3x)HIzh zL@6rl<9S;KM=f74O`>K560I1_!s6yxIT;H6{eBztbq+4p2ic<%VE}{N9x%^LbexDr3bP2IwI`)h zSA0VqViA?Xs@>q+NC^ZGvfn#%wkA;r;~{OEFnH;qQT9 zol@!xvGrL+gK;W#lRkh0R%v78F2kiyM?Nn!dCb0};m8&;8@~8GS|!)+UWZ#gr%bGA zGVqckpeaV2c;O{2H1{{&V$)%%jkhKC!J6FhnalPZ_CmFkjq7Oj$DcM}{u?0ZqL1RE zgpg8HZt(^%zm;ICV(M)IxsDWA4oeA&e!N0>y-kOP3plDS5K7K*bn^#RfWM~@X_(BD zjQq`j_*r(3a*)G*Wk2+>e4V*1Vf+V2eX$G?q-Hil?5GQOG2m)3ygpz`9C}jaPuC2JuuXXFKJ5K9H>gH-Wn7$hfU7E*8+V7GPP8v7 zp1dXU&GOS}siAzBbJuplGU`&2gsx=*<Lt9Ib_>!NU%fELahqrm2 zQN%?Sy*eL=?$Dt?5Gf|1QsKVQrfw&3b+!^fN#Skw-RGlB!_jc^`smY?uA1(?=pJ47DgQ_X;@^_#mqG; zQF=k3eSWEm01jN#YAf?0PVibel|&B%IcV~cDXa^0mi)zMZaaaBi4-rQ5}x^dW!lrt z!-VMeVKZG}`UIZ|5F!!})_$DV^)do24Mb>i;SJ{cSKppwQTE0y|D*HAt;wn~1cz++ zv0JIuneKS8%4rf$+q%Zm^|w=j=or_ieW=RvSMhrrJB+Fpk9#w#gPnb8@d|OJ6cGL? z?DU}v<^wit^|mXmc!=Wdi0kfldQbX3kyyk0z zh;T?>Pivf^mk0yQnJ?$MJo33bVZgo!=CC*Joui~$CZ6OR?b|t;;Y8&p`cM&4lE$H@ zvZyEh-p$VgO*&oy{783b6uBZ%cHH;PPBdB+wUk*+l>K8(qJf6KdpZF0Fl;I+H2X>R z?^jZ;n!ylc+OaaG$s#&q#7ghoaESc5hmk+y9{eu<8yop(re9NLmq@e%CoYsV3MZ)4 zcqLSTn#Z4IKrlEyFc9VuP+OKUG$fZ%i@C4I$L$O*T;Q#&dOqUNu39>+brq=zU(xbXZ2@2a9;AH8OFIXjFqrZSUWbqsUnk5y46b&S^h ze5bQ;my`95!`R1ss0f(AK$9-liMuU>7321$C60rq1GVmLNYB!|UploJKs{`GgV;xh zfHx-)#?7UUN`Jq}mn5vU{8(KAKM8Dk8f4yG&mSIj_B|f_Kp_oY1G|E_S1BBfoX4rv zdJ)ZB-qqoSpF{erP-M`sluPI`!5RT|GrlZ^2A=6#ysy&O#LI^#pD0gB7f6qR14E0y zGkL%QHaEWNTQioR&g05HZ3j&R-^?8MvwKR!4+i(yCIA=(-TTv}KKq0Or`d`l!1FCb z*UPcDj0N`x3AR*F-0wa%Hp)wxzpwm<0x+-ZusT|3zrc7B^D*V;zV- ziB5mXFP>jLo^PD5ZVCT|7*2kyd&V8A*T7foAm7_GC!cD**ZPQiHMf*KpZ0cbIo#NO!OK zMLEm+cIOGHwZu9&*!(}^A2&l}p^;dW2(pNuEGeU$0i!;oQ)ki&M<42QWj@k98*~?R z`b8v2EWF+8s>8^B@kFz7(p&$AZx87`67?1;)EyHL25lxOBt=8$-;b8M#6&cl+kNNv z&7;s}?)oZ36wx+j5bW=`+9}>_07FNzI({K=?BRRZmFBgED(Wj{bclI7K^fOgh%w~f zHolmb$K8NtJ)1_W=HoB9boH!qXg)O6cXxk9f@~grxSxF?l`OtLban^15qqQ-UAYat zo&0PUD25@-+A2u~x474zjJf=m_(2MlI;42`^r1Q-rp^TB^|y%t+TqDl|KtC|(KYzx z*@n?&E!);|%l2x^Eql4eW!v_$mu*{Hwv9L2`kwdu2m1Bg?|ol5=UnHSQ4{2JrDb2e zjY*s^L~=wz4@oephe8yC`R<-&;%{Yk8^f(XU600VqbV-w{d+7*G2s)&_c z*MTB+<=hS8p4sbv{}kIY8%~*G#<`sWe3T4<&!}}Y8cMs9Vnvv9mX*d^urG^+g;i}mT*F`~Jfg&fwBG4;fz0J| zv{UFVc=yx}|2GwPO_K`23>&9(qi+i2i1GB~DGkelq#F@FDh<;~tCTbIqhKl!23xY( zPKua_@nT=~FgMh{+C5L_q)Q)pC5*lX&wj9&{l$3RJd&xAGA>dJ;ri!SMN`h)zMT+S zytPr6x7X|N2gEjngL!p>sY@faqEdJoYpXQ^iM!WEU{oc&;9!*Ya8XF3N>r5UImH0x zZsS1)Y1Dzc>V^?$SB*b>Vj4pS#*$z}o3HmHP+zg|PlCUEO0GHI5&MXH-a-7G?D&w0 zBH|+*r1wjDL^=sn59NaDTSNt=4{4yMKOG6m#Fw$~SL^zg1~`}ZV-tb9QGTF9i(jFV z@l|5UtCfgZMud`zVKsD2LMW8vTVx7LPar_<#343CI$C=rC$hXZx)&vN=5n{M2GCzd zv^*+sP*s(aL$+x<D)F4ETQ;9e)dX&TaL zu1PLmmCaY$kc0e?8mB5aLg&_+0GLDK4pG-v^uXTPW$?KwSz9xK34#p3s?n0uz1%f) zec^?~Bj$YqL8U$E*)#>|&>JyHCZ2V|P#x;V+|kKxYMMRNIFlLo5J||xo~HR9*@om#3ji@~5vkRD5Sqt8hC}a6f@kti22elJ zu5Uz0`Tn{pErLxUgVOD)|B*+AxIm^SjLX+SLwMmdp*mgp=MY)_*2Qmg>bR8IVB)mP zztLwGvw%GKpq6pRKn0iJt^H$FR|5>t|Nlx416n8sWFGrgsDm+0eqX{90^(*f(T1dhD+C{IVu2QImrOr23vCUhNLeV^TcMA?i=>>#p zO%BU+H`?r&@lIzS5kHo0f5+tnU=dJ#o#ou8W*uhmKqXED^`E~7`9UBPMhWh448DM# zdW!=agPupcI(#6+73*&(URh1wgT_rP<{z2n!24iTGRD?v4~42nyn3l1h~WAp~tkNhtrK5!!I(tJfN>U11d#M%@d}g*o`5!N_-0&C1KG z3i90`mGbUHFB$C8_aTeihIIJ5^4AQbZOm8j*<0kW|#o>)0%Do8HT!ai%E??gtKGzFP$K$HC(M_%bsUK{=T!zZYZpM)wz z#s+4d3EdoaE}(Cc`;XT9Rj<3t)&0xNXb>&WTkrZSj_(sgY>cOln~-2*oVK5Vbf%m4 z7&5BCzvuvPDA#@<;6NR!ph3VMaBt9kK6JRU@BJP^AaLxI+QvWL#Z97fadbT`Ml7YC zs+dv5uhVf5(M>8KfSYNW4;4nl!J;)3QnW)WeE zZsyA@3>DsYv6W?21(Y*MSe`>jxGMH6i1@Ze^omNAU?&e~vE7}RU=yY@Z?`CZPNa?<)-ZKMF64csLmVP07HZMS?P zkl`gJL=(kPM*i70AWP1*fk0S^Y@$+9E|p|%PwIChg-#Z0gA*;#eb!m8aB*;RmnDJR z+}zmI^0HxE?wucWD-?wgr+DkA4C|Nrd##YP1#r+5u>zM&nr+`-I6ha<_5OW(`xF52 z`IIXo_Mls%PBU|WnL0;n*=jzwX(2?KikFZjn+DF&;EwI>^!K^^#E<_+FaH+!YU?EI2F`+hBmXpULkGf4LpCD2nMf39rHZSAIN z;D#q=A?CC#?V{`b9{!Hl9LS8Zt3C6NhK4z{h<3j|=&~Y#W0ihUuc^@}r<*l%UBYRL|A@O!eaH)I-ZYmrj|@e9=Xp z7ySd#mMq=Tc=$G{vc^!B`NP?+&r2EdNGQZ#OcAFCFnKRX8mqolr>Tbce z|B^WU(C70@OGqmC)!Ui?IdZ!uMT`*jmVCl6a3t2FeC}*oRxrum?48e`eN2DR{zGi?VH-nJ4F;H zBSS?zW!h^_GzM>2lVy_?YMH}CjKA0S-yP;MDF|C0gFQF^zIMh|I08?p(dt?PynZr24*PA2H3!S`1n-uJi z?i7q7_dj-QxP?}?q`ug~+t@<)C|;G-1Gm|8{jexIy6a_+1=x8TAceVtv56Z5TKch2 zY166GY(b#m9+3Gn+0@j>4n^;v2@-dQl`rA#L#JA z+Af8`=B3OV30qniA*E1-8}sT>wj3{v-Ky#9J)Gu1OJAEQv&VqS>DU1cJX}ny=DpAu zt!Dj@lZ?2rd&0-?DD=zsH=695vG5f&p{b-a!9R2v4^izKb-@1*^q?bX%`@@bvHqd3&+W zgxFQ7GL(F3W{86VV}FJW7uI3}V=Nl^?q&(7J#R7xQz@}ZQnwJj0b44t5Ag}E?w^5Y&V2X);kCRhd#eC(})s`j^;Dj=GLa314|*#{qMm(w60Y501dA;2`>tYUcX^+PtW>sJ+01D*#m4S>fgOp4C0FoJ^X#hL?!=NUUcPetQJ@c?DzxeP;~snJvcFgr?$xFOE z0f+tvByt@3JAKMFp94=4cM902+02Wv_7HVpw#gU{hn?vw#L(W`oCL#PkX0N9fb(1? zdgzqX_Z^1zs&b8;^-!X#VW%WvvxxRCXzLw#p)@z4z{XQu!2s90Jyg5%X>Ndm42&fr zt1(zLozH0<^&Ppz86~joi@a2uUHBbqJ0n(>yLL+H`kOf{q-=_qD{6VWb22wbiAA)C z-_zMom@Z)c0Fa70EiW%$^uUpB24c#K7#fm$oJYT%RK>T}ZJw>8bd@E+^rQ;s4n;aM`fR#$_aT~fN=n2Qs*5CJ1)bVk=A88TFOC0w)?U9UF#RA1ynEOn zB;Fs-n2P)QIgNG``(w${KYQU_0^es?R&7j>R#Nrm=0I=LXcwIkAw4 zBIfdjz=dkMxdAF7h>b3Ecib(*3Lo>_R_|~L9HgM?3rER$(Q-)Rd^-$sPx>Q>s;azy zs0W?R9r6`hF|mm?1kzu#6N;?###!&F>gzGs)N8^@q@tx zS@$=s7u#jWcJD@I|6eJ_p|WB*DTLcOnhXI-RI|~szTK(h7>03&8r5gTOD7ZWS_olu zLy1(9TT0o<>g=io(jMRReQ>!|dV%%|UST$x`gsmbwU4c`oMy56I)GJ$gd7McD41L6&Y0ksEtG{S+x zwDz}yus*8`@;;~+gaKQc)#$|v?oOA&iI>b_u{GT0+$LC2zQb$@;^cHiGu~fRm0ppV zlNfDW5GlH5T>}h-xcLegu_;uj=*>R!!~s$pkd%yRg~sFIIw;E`dA!4k9cY(W?Gy2n zTuBJut}&M0AHv{F0}9?euTR?>+M=0+exk==2a26w{P_ihZ5b|-ye>d| z{F~o}`ReK_7%T5tXG~fX-zHIr$Z@Np)7ue7Jd|kX=iUmFHtQv!#~Vv?fMLBQCEcv$ zT;pk_w50;$j&Q1D)W3m2&?q`B}U^6$ZiGq)~gl~4m{wF>86ZV6^9v(q zCs^rmmA>og#lGvtXra~17+kvpVLkA~+ev?beVL|M(u}W#Q3a3NA1Jf&k)hQR=h^Rg zhU|)Sk9L>Y*-`*a}>!+9S9nI>btZ$01TdY~fN6OlbaJwKxG`>hgNSP;RSH-TCoq=oJH9UCK z!UlsM&=l;+=N1D#RS#$$?y#cKm5qF;h4Ku_C8mnL%-jS|bm0^Qs`u(*(l+@Y1e+9n zg#;*8BHtkn#d>(jG$jp&+@75A?-~q2t=qFCa_B_EzhZRM?f;O`y(2CE*%OGG&j~(g zP??B0v>&SwY(CCr*{UhpfB+u=RdxToRlK6MO*bzs&Sq^@;%56}Q1K^Dk)mAPP>D^Z ztLt(tSt5(Urg6qWYO`d6H%GYV-%=Idfzj)Doi^uFW$_z9k2^9n`2L&4u%Zn=|G#c% z12>kBV*!V_nyhQYkzQG@b&@iF#prFZ^-r*8?+y=(*Y^5I)olBwqn<^h&-z>DCJS6Q zOaj08{(fb6e)*VC0WR%C=gN4E-(Z|cSS2@#!ia)meWrt=QPqWbs|o2H*Nl>!ATNY- zx>@-zoKGubmK$6Ky($+gf!0-l?3>`cBCp@;%fqU}5pVKNFyD21VFjFzj~xt&+mST@ z@Qw(@Q+4Dz+XC;MPHke{9I+0HB7FmM&d9LcP7kw;mg`WizaSqv9my6%z zjWzvN2>oP>+<>4keRFfOImW%wUs9BXm_9Zr)&qJLD_W7gX@ClNnA{U{4ee-fgJ~6{ z6G;iQm83-ivHv-TRWKFq^Xjm%GC%EW{sG6>N_2=zLS3gBlBGx5R$w!mo+TJUVb%3F zVb16{X&ykn-r<1rrJ?hrq~fB`20ce2xE&I!2Cm@ciK`IASN@j;F8<6VAwNWAAe7oJZGKiqY`m zKd-`Sb5_H#EL_WfLAHH@7?Bp+y~uDFf+NRE!+4L!N<1N2xd1t-;#QYM*gxTXSpco-L zFWSroQFs{!N8>c{{p|AxeH_k0XNGLS@B>|gmiLMxod9WIJael#>Xn2xz!=N#bo0pF zSflAO{JP+5k3_3x-ix$$xHgyq32Q9<%*F$1JC`(c%Kegu(Hk=UFcxd zDv{M95ypXL$?gSX468Yv6xxyybr+Epfyk%JgHJw*SN2VPc?gO@d zv3leo?=gmQ;)CqC*DlF)DG`S2ELcnbhCZsC@|dWR$QvvqNTn*N6{xJ7VFC#{gYtA0 z*f$j*LWVYDM4M@kd-VxJKdiH7uXi1VxbtzKOQv`pU;Iqa|&23H$9D)Lc%I(&FZysyAx7bBh_ zW)=~}Ra{#qJJuL4teN}fW`8KJr)Xoib_i*)x4Js@!XIadEJK;YZ}S*rh>Tl$S0F9S36f3J^ z7zla3Tv$HqBZjM=urPRi!^UkU)SfQ^?<>>5o&_24Sr6)v(XQ?{24|BGVYqAlNGGkT z3do&)RGN0VJ1EYaBvf9&#f5;`*G0!mGYJ(fNX*Icdepk#h=U<%tK23GC%ae>xe?rx zRzsIWaHFPV`=55G%&#N$X}OoQTmkfkn!f4`xIFcE+CP=eOtX2$qJiAASfO?6fK_V> zC2IX|LLqjOY3)lQzG7lg01H{)1oIaBEg0OA09rluN}aG4hXV>07F0gnn}eOQ(^Y=% zKJLXp*Q?XrX(IJL6*yr#7IDw(WLK2adZVL#{-rBv-PWE&2RU?y&s+-&37$-Q+v2P;Wx%-Lif zkAB1&oELyoiEFE)t$!Gk20q_)1z5@5dEarqC}lSY4WXvxB~`TtN!6E-y;KB}*Ag{|pI-a+_NveCzc% zbRQna1XJ59cJp!AJ&^{c*XbJ}A1N>nSHP=fF-(5VQh;~^U7g_=x09KqfO7K1U-w;l zz*7{>8`Ag4ayk@k>+`sYQ)f%AYVhw}{DUDH$4ZUkH$wKsT0oyK@q${No*?=Q!{Z#N zJ*Vne!Vm4&Is#lT=K$NT%n6{7l{Ve3Xd9D4pnl|wEN9;=NJSY>?;*^RIZivQs|Qwe^;&5e_Ok7yWHe*ZTSCi zIAi{N?FHC94M0|bW7BnOl#-YoE zQ#$&bV2+kx7G*+53V{6F25Rt!o`nn^CufpR-)=0Ay@BfFvccg%{sr_!SlKN9AKQ1| zV>!v7{!seC5dRw#O0B{*`=c?7&J}mGjq_tuIsB0D?4;)P zW|XcA@Jq786I<-Z5|UJ$n5esvUGAUP9TU4`b#VJa=WXb_qXi&3W`<}tn8BLt7)7AAp}5vqXXAz}zaC|Pi?z$oUQdnPtn!>8AI3e3|J7$6Ii+mfv&a-)faYpOv!-+@$xTgL!3i|v>J}UnGztuT{I5jE^qDNnFpiX5{2??M78 zRSzH&Lnb@I*R*a&p7mB0HU0##2Azh+n6S*&oJ8-P^bPn!mQhsO5nB?vl2ntrp~EeC zwV%W=(&4%|0U| z17f=NZoSF_Un=Zu+e&+SR-(w_h1Af~8=K~*vpb7n)^D~%774rE0Vn(FKorV$1FPiN z1cO5k&dZnlgkSdX!G0`M0T&lKW#|S?=72V%8(^aV2tYE^Lw>mCqT$FuLrTTt!?`s< z_X;8G)asV{LBWhCIOd=NF$dU^oCgd@=Hb1{Sf{J&jELR1pj+RALi08+?@%80X6GRz z&u|T841!teyt1Q$mZms^LXe7LKJ_)xE|9689OCz)>nuH*EO zy~82|ybqktlC)8~bYJY{Mz>mqj)z*KJb>NCfKZ6iYqrwsNrQn|paMQ6TR;48r~GIL zJ}gjTi~X%L2ZM2w8tYS2qK zuhPc*>Dyak$bn7>ea*2*d+QqdaI}fmTY|fnKEIIFsbu5Iu$MkDd7}?xE$gZ^=(7JyeCX3P2cZ2k(y*_fl zlpde5j4ICdV55oxR6)?`TwKO!IS3D01$6E%xhLlTt~aiYFL0jXCj5; z{`IKbK`gI_ACKtphXL2u;W|qt&}6UST=$RZ;)+!_PIn2lVldVJvF~iHZSLabVJ9X; z9@i`7cYNG|LA3*tXMmi(dzYUbU|ji;f;jnyE1K4>f)$}lrSMbVdOc0u!N8jyw|u38 z7*?$d41M zZr|&iI4%My;Tr@n_=dBV*8t3c+E;D;QG6kZxa1Mt{|W0a5$cPA8w5YvBcU)pA=QC- zy?f%^M9{cF)DxSZ0lde3)0WTs`Tv_AsK$s9c&$wlROO-mMAvL5E}>*_cYScs3>_Cv z4*FS174{H@i<1zzj7SMa1?mp=jMl&N1Hna6IVV3HxcK;gv~5~oe$JQs4ef*-+TYT0 ziIg?@9D2=HUkGGKnenyMhrMdaZk;S29^O1$g7%??xnBBx%k*_3v?2%Ck^z>I=qCB zb8E#>Bzy3E!{Zq&>-!JD+ zxnj4B;HU+txHS6d3;%~%{wfiyh3k=d0!%krVK8YFfOlIn z|MaD=dO=DG9;a<>f!;&&hji*OwI(0}ieFs3Ja4=UIiD^EiG0j;83;VjG3bYs zPMc6j(Glix9X(n%zOEgU;PETNJR-U=a6bLuwq*aLvVuZR*zS~r`L5NakZDg+Ca#7b z$MHN@i{^E^&9JTiAPJx@kz$Bq+cJvsQUVB9dt~B6;@7@;jpj|(@O_=kAAuq|ko8wc zp0R|&vB^SIF*@1m$9M+`r5{^v#8TrAQnN8}CiqO&f)4|7s6UR!Pk4BMXl7L~6Mn>a zbm>IH*}glsPb=$SuuX>)j&#E)P}HXsuOT3DfPFv{5Q<(1JBnx9S5kL9d$2ufuQriP9@{v5-jpCvaE$PNl*DAb>D-@0D9=tClt7si@om3AyPztx{QQJE-|kN9;KSf$BxLz1Drax zvAG$`@WPtWX#)E9rOnsL%T)IPaI!(NZFg)O=X59!UTm4Pp?&E?6yvZFY15bfS!0uMPHl>kcxe2aLBslD9AYZlRp#Tk~G6b4C@5+hWRZ0<&mx zZ3hj>L7*}m7RD^_TD~C(U|rWGHND{$ZD;_Hpml~TN6Ciz&C;%YGn&krydIRyJ82=u z3~Yk;v-9X)rHzo0(N_9Yh0VH3s(g2`{3;YzzFD$b&Ihpxo+&!udbd5ul)JkCTaN+@ zNY~lZ)iX(jm!cySSOy1x)HDyxaCNFBjZv6DB?xNpC&boW&uXp*%E{<~imbhxhrI_U-+FQ2n4P2eJ= zbvESn8T<)p;Or*wr750RX+9YL==kFX2POW}iYaY34()wc6Df z|E*0Yq7aSFxM{)=h<8PDr^*sFYedG1vTNjN)3U3cW0>1gsq!aBfbZqyoTQ+nkUP4b z{_7_5-B)_(5kQ)kMe1TN8*>Oc8CrXH$N#sn2(ZZHhXG9;jcHVgSRmGDm>5i{G}b?Z zfk0^D`2P3XG@fv7fQuw+x~sMe)ZcKYVlzYV2$I$M&fq!?>65PELx9zm_8%j_YwD5x z9q^YjN$ZXgiu%^$xmbP~TYV!~ukVLLq7#zmSM;X+z$Ehe|sG48hg; zNM&TGu=mpegmL!>mRKN@xf>Qp8+C%+rJdB@$p~*S;JXP4lxBPql(cxeQ=1gRTXF}( z7}N-T`&GNp;6;1ULQvQ0GX;sq|Bk{kq(?j`5y3(Gfai-ETc?vL8-O~4M*`yhj>*7o zO_%^Be3DAc=Y#z%Z8NMLF!jL5)?Hj=0w7mmgMFyNksB}j+#nDr^ytm2(wW2MRIHV7 zlDg4DLm z3%2lqPJ=)k4WT1anvCY)P-D)Xh?ZrB8KEbrfZ$XyO8+$_4Cqp9hki{) zET-g-^mW7!Tu9?A0u9pE9u?S`^{?3w-O=YB?n2`m_lt%%}tt^!XH%G_*Y@*&+7d{&uzUeww=3^*C$7h!6uT)(i%QNWbnAv!Z9Yem>6C^qF$7o+(eWZM%{QS4-@7-WcKT_ zf`jcXe^}P*xmcMx`um6tpUAJ^f~nm0H&@Wd`C`(Y%cslr<;>=tEL?Ei(GXqV#$5kX z2^eGgUWktQMN?75Mg-y+&vs89)X7^0heV#!6$D|C|qsfu-=&st<5R|!e)F(f; za$EQFBYfX8f-XmNpJQk{kzUfWOM3#Ysv-SgcJlOQ;3T(Uxzo_Z+@~}-7R-s% zq*M}=oG-wf87O2C#AcAo5b%7p+$v8ezBTecG4Qy)3uxXuJNW<9sBq{AZYZv-2xLi2 z2Fnq+8YmWi#Lrg8#ai_%5KJ9QM3!^p+0}o|NNnpRbUwK*wz1c9g z!+EPX14W+DYapN{w{ZN1TwNfP1!+sw8Ty|<`R3JjhupdeXqL!SM z(x9QVzS16zzHxNgi69RM9~Hl zoocI||1ix3eml!y0k^8CSoHvf38=;Gre#C;DAUw)38UiqxYJ^Fau#YAM6+c78k;?NSzy@roWUn|~2;x+m4n7wJpPtVy z%JPssF4kE7D4i_BW(p^gDkmnA5E+kbyc^0}D0tspMAi0~5&%iEH>6{M7FD_?vy-2v zlKd$c&B&ip!NX$kFrXGm(cgT{v@vnPpmi;6ydYP0wt!w~MvTo6~tova?perCuWMaJs~$IyP|Ia`jD?=4G30m!sz z-=6nFs(;$FqG}yIZd|p^NMmBV8LFS~PTn8OW{v^9Dn>yuVnqH$!Csdi1*^gCK zGTYFecE~WnN1Dp+vd+EE_?cX93s~0fvT8jJQ&Xts&?c}3@`A#p+S7EYO;J_4XQX|D zTwGd~^j@`M>nTN+LO6P~o4(aH2dE+LSAU>AI1r~by%S2|>L1D|IJfw4&h3={@AOOQN!`DTZ_?_Niz=6@IC(JuRKCkv zDl$QhIDOsTc%mAvK_A*VWN#(5<$Fbk5l9TVHtc+?50#miptflEm48~oC+l5D6kQ%} z1Rn(l@Mgu;Zh8Y|mR}Ali)y@8mNTA#&*cr8-~&c%!E)+Lm6PAfwn3t_ie=7X(f--8 z$|^Pznl&VKv`ZKBAyBTiGroMJYow#mcWuBpJgR^MxKN1sLgEJ9(9m$?J>c7hncB@L zgJ;B5)F z%$ew`MUqe8Ybl{MyA(?3>ds$7G2g}?mNxhrDZ-e4+VL2hE0|P;CM=QC z?pzSGA&0bOU(KLAJk?!Xs+Tg$1)yT@F;P75{F8TvuFLeg&_xbhII}eu20Y~PA+-=j z$hifyT7q@Qpk;6*zZcjerw}dTk7ZVQSoLct#kr;5N@Off|GI8U`xGk@fy+m@q{=D1 ztO)(Gnbx*^E*>uUa-4>qhqrH?Jxazan$KylJtFM?f9p@22@ID({k!bmDFYXsE%gKt z<6^{v-_rpu4LeC5D*Vc^T9e8NBJs*WtW!fm4edwI7kwW*rcCdKisumiwZ)ZP@vi?< zQi!hOlw|W>vbLh8X4pR)=6|91poDUq(ds3kx9j z_zB(=c~J&!wlX`UL#;y%qPUu)MuuzrBE}`1yeg0QNmXQ9^MEA(tr-(d@3wLremO z0#Psmy@>zC8bq8~zRzq2jsIL4^Ne*wn-p0M#yW0-8^?g&`U%`CENY%`%gz7Ob~|8) ztlNMv!K4p1(F+?2aA;8FM;iI2F{!R@(vP5WYU!)DIq8pv(MG9DAPbA0L=DS>i(dil05N@R6w)J?3W-BxtTqXCeP&9vE`7(vuro$^7B-19Gwd>_hGv#UR>9lvg? zofg%hy#i5&+e9RE{GfS(0Cghjplh#^1XYV4R!QxLI3Ij1hpT=S(qX~BViDT9g5~r^ za`)UE_$ubkyqf|^m!{Kh)|cvB3Sr;PJdy;p%ry z`L)m4qYnpU3fdJZM-@*GcHJP!Hu?9`?vm<9xzLLl02o?QPDqXPve%C>%}z?jZf+ zGFG7seJ;oI%$T29s18r~B@I*Mh{YY0iB@Mop4=;4D!^BT!f}*mr#WQBfVcvxhc8(_n&Low`=L)<4-o?_TSKYNbZQT z{BK4I9~P9x`yBPPYeIq!&wYw=U76v@p@IJQCx$~f)guNl5_FG&{URo_8ZG{R>dZvX6JkjWi0!L3*Nb9A;9fL{^wm?Vq8I*>P5(Ng8Q zO6QnW^&l3Jd>+zXI%Ywoofz$l1i&p-0)W9#CIJ^op9-#dkk(s)*z(*vaqJj&NYg9+ zs0dmle{xJmzSfK#?>ll-vE|DB?sN0WYyEFW#pi~KnRHkI&~2fM*OE{hBzXt_Jb?Z; zojq7g6&tNxwjmEpgxA*kuZ;#?yd*q~YjS!Nxj#$?=ZUARe|IDY(sdZ*4N>o%+|1AJ zZ#J+~Jq5l{&= z=GAl4BNcZYZ)m*T-q+6VKJx+uaA@&(?YjI`e1MqA5P*I<9f0oH&7I9up}xgJ3_H(!cNl(a9$81=M*Xif?^v?utl6pep(VVP{T2vy zo3)KNw#x=2Ez2Gql}uO-dX-8igiBhi6)U6^lCV9Nr)z(`Cm1(IoG~r*naZs;`|{Am zQci0(y%(Gm_dJ*&OOAgd48O01FcVj8Sh2K=WzQT`XD?_i@*_)>l6eT zP8ke9Dbd#-XPUv$7Y&TZGSawPV~G8VSV;2zTs#(EFpe*bQ^slE07;@icl4~axbS?t z{UeeqeYWwsA-ipcpm)Oo)Li`aR=tY&?FUMMdKB4O1nTRfL)5c(8^LZrM)tHOon={ zcy|I>$+X9u?wZVbR7ZL44=VmpPv5lyzfw(kgD!Iqd(I4}I-ubp!|N?8<1$?OOm7hl zBy7!N=`!aK)d+x$0dD{(He1raZ0?Uk;@n6F|A22@t1vv!S`@$TY+v4{# zoZptDh@V0{Kpv`x$pFc@{!*@q?Wuimj?$20s0UB{TR3a^p7yv{BI50 z6r=SkvtOT#H&xHulV0c_AK9AXZEXlecrsS4H;x9Q>uoo@B{YOy>PqnALUv*ZAu6~k zC^G;^q|5sl+a!rmqZ2Nb``nW*90s2S$QTc{WP!#FH~5KS7z)1Jy3Xzz&Zd5nM|KInRtU1fxPB%BjFEl((&|gamKb>A~PiDZ!v2H8!jl-xC;h1_8XB; zZ(DZI+JMJK=DRCGh*m4O6Y{Pn5IWF_kf9voF)StK#D-mD(z>%372FC#i+A4&^}ov^ zYdpRGG56%nDREBvk#e{<;G^b0fH-JIe8hfOWsjVng$>}t3C!NK%b7L^J+v2?jFi|W z{SXquOX!_9kf+Dhss-`n zDqyA>G5r2mAxEI^kM=Cs+4P70ke0YVM+<8YwVwSXSBHK9YjK+U;+@%=F6&WI{J;^= zXkq|Ytnv;ktvxt9XspL0oSuEFrupSRHJ)jf=Jw%j67DK6iqN-<&RdyoA z-x2|q1Hxz9#pf*l*wZx3--O@qS;6T7gVr;1DhHP>FL8pmX$K&F?8Xsb03{jF6b9%G zG2}xlddo{6fi-l=O-^tZ%Wxg8R}IYV)va)VUSjGqni!b`ATOk9s_>w0NT7LaKTEj2 zX6?n(b{)r$3M-KT6r`X2^=pNMK;p!efw1zPF5J);-Fn9IIEz> z&v9r$S^mi)ynV%P{It5f9+GaO8Qc+d3M346PgtDj6zoH`hIN0K&qQD;V08A6p+&9F zL|jZ`ytGsUu5={ETdodfAJUy$X2Y+!=Wn($qo5W$Hv+uXT^F%~fuw_sVs+U!$6uek z*EgUYovr;nl>K!wnT;_SwA?WiPAZOSg7SomZ^FJsbm!%rUx4@7imPF+O$mcs3cvXJ zIaR}4&t`Imr%m@YRnBC~Q((FO`qV__=P#`mZe&-q(1QII92OOt= z=f!J=duNAF5~4G%7UCAzz`G9u=G|jMeMz=10?D;hzcEjd%tsn5@C!eRLR^`Iy{N(? zW{L8l1xi{~Js?az%hkHVR9wNv7vw_ZVTI`ot!p5P)~3b*hd1~4 zU*+Dm{9t+$wTkY*dMOizPnPg!&&wf7!*+&xI;NQNu{1Sr6~PT0HcouV#rhvn&+4F{ z{U|-Bw-(t{K!fTz&TxOfbu7$afP^%nS-SiFHL1r}1@VfF2raLhQg5}TMTiBX& zgR14ff^l5+cP8H#Qdlg13cLAZ63Fx)xuBAv$xdKGemwa{&?k12>1MS-+k^ps_XlI? zW^DsU*7c$_3kP^qkT6;;RCzbz7yyF-bc22W@pKk$QGNZ_mhSFuK|#8EXbei}?gk}> z4q<2zM5P-P5$Tc^5b17)knZk&_k5q<_5K51GUuGVKe5)mgf10=7s`KjGb_U?R5EhD zLweV^1tr0du4$F)G5F{~WvtU2JDwNLoXTkdUPufN9N&n*a|6uS7qh@LO*kFAv?QcA)>mWhQGTA;2i#+ z>Z)RCLf4l(gJRttm?9$UKkbP+x=0VEe2V9rcr5yp8a#DXrUm3AUE1U5lhOskbNb`u zyMa*etv&jta|lE2?mJMaXdosHeA8765y=O8io*=87iukaZ+?y~?dHj4BxW;A9cGMe zh09>v+PU$`dex(dj*BOh3-6Sg`RX_X5#^sx3&m@bK{J9DL{nZJIbSdU;Rlj+R)(ZY z(SwV8&kDGFCBd9ur9*f2atm5tN0CI1y7AEvukS~u6Hg#3u`&^vWVoRFS>gu@Qp_L} zw-P^fEi_oopg%hqN5+ciPGV8%g6ZJ_)OWAz~#u z!H|#WKG*mXtO$C$N%Qq`ok|g)1(827@x@dFjAvLocEgRlx2>fNeP9vFgMR~_;e|Kv zX3tMFU(oEcOO=>Q-bZln!Z#ymsjf#qDverb?L}Ss`UnkLFZo1q^C9Jrq@?^U{ix!? zoqqK66ry|EXhHz0U}gT|to|SI`}LiMi$QmD73Bt}D!OWA!Tv$}VVlu;84sE08^}P3 z2xhlKY{)p=4BDK*B-7#vXTnsm9hoI?d zNUE^X?7I?{rDt;p=^cS`J5NPAG~p*(G;#0F2E?{p=`N+T6lv~y%C^Gi1_HKJQS=0Z zaa@cWdo%2lseHAQurzFx3^Z}_jF>m?)KsYdp{;>Ndr)|>VlmX&PfB!pUs+jQ#d!rh zdsgX%0GkBk;2!o=KDQr4N->vTOXktevvnM0wR^lXM9+w6MV1_SH~Z}XbnRwpp{M=w zkD$C@DzSjPk*1q~?8f2+5_z6FwPE{t+)CX6oPSeW{d|a3aeXs+9|z~j`#7{snL38+NIc1$1HGg=Hd_p*|2_tl{XOBFM6ioIVCwy1 zWlu!%T4p1oSe{WXjd$4O$_vSjBDqfO+amc4nNi-P2Tadwc79MII2XRse@kzkjj-;c zPM>~LZhm|9mD+!A`ARhK9#<9@LM-%F?}dhrVA`I@D}{Fpkwa1~7VTcci?#StuUzF- zfB$r=(l6Za>y$`egYdhqWPK+;+WHwZ98s$#()&D5=Hr7N{+SgKF)Zb9Mbs*nE9|FN+Bd zXe6(N^v_txppH2DQ0*W>tw1VXog&m0E%wQY^0j5S8jD;`h`XHDcK0P>&AJnlQ^FZp z;wR;8>CAv%eOz>61Jqx7!QtNZs$x|BIX%V&kjzq1I&QQlF49L9odFd7} zT$)X^)TQISIz=CLZtvf!p>N*$E&AnP2p7{Qi4L6a9~ao>+$vt0%hq(n>diR$8l9dU zdEYK>X-5s3(kbIRdq=iphHZYF6PsLG+!~q*L-vs4CmoO-62hKi>?x#mN$0`&n9W?l zUaCN2xvMiZm=y!=t!_~aHPvNG*Xqe~%WA0pvS`5Wq9tg2<3o-HiFu#u$^ z{K-a?w{{ZOHkbZ!zEX)~;Wl{kp}NgSF(v0X*gV;4Rl&OP_%W`a9+#G z&$kDHEazK*(eErZZp?sT{*869h zWBR&f7|nOme>!9ttG=aD3ldk44ztjhGzT%^An@I2=_g$LbAbz`*kQg5rx=_A2)EV%fiOtj{@}x=uV< zQ+{Gjg;c8DFkss#}iLqJRR)&7&#$PY#K`N@>TXxPV&9_HX@@;|en+ z`o9%2CmNY`?x0q}FN3Z)&%pgcrfU~Ny@YX>zg%1&K5cZe4chmz);XgF0{E&|>B38C zj-`;-uV0VH7p1(#I_|Zpy5oPg998#D9rdGgvUsRd`s%rvr)jqD%&uF$Oa={{rNwxm zwiu;t_)wh|Q<2}Xo^Ocv_8+{x{lwLuEkMpA?siLYk(fM30=eG(wgdSW3F4avT{|_} z0OOO~?n}1D=ev(s6uq&j>_!r6$Iu}4ne(wjTVId9U`bWU5q^f%xSB$l3Y5!=n{k|7QM~&Nw9)q zGZl!R*CWoUvy~QGc*X97n$zrFE_4r^72iz!_Jn}SqZQ)ndg>_$zI8mGwXTZ0s>^2) zG;v3GtMS8u7Ak@S^l%i&Pa4`k>AN@c+fbIzD0>>rO<(+W4h`!g*7|3YbT{+~34HKT zS_1b)ge@Z^l+5bi>CiAh`=mq3|e>LqAqsmhbC*>tURvkvO^RIWeCp>Ov z#&lDd39Y^7g;3@IkIEO1cL!^@8j4r&SR?ssZxw3mZUPd1u9+?Q+`Xev4tS8|g?%}2 z=`=m?Ljbg-)$s<;n89xP-Q*FlCitjjNOBUe^u`X`DMaR}l+0qO^0n|D94VHc1XJ*| zj>RY^ds%e)HQQ}telMBzIimre56CQTzF7Vsu^&9O19Yn-Lzgksd0me54Q-!O9vNSU zywWh`hy?~y@0vo4lJ}1)jU6LmN@P}bC{l{PUPUI~O0u-L*+~5)m(oIDE_cToTx4O~ z6ocBN2}<%?SWFdQKsANQuboqfzWDkH#6sw9t9YKKJeZj+jCJw z3~=Rsn+ry4W=CI2koUheyB6hC`b<3zo^QhVQmQDypz#7Ge(mK^+d8D_9>Sngy3^6H z#|>5?#ku0v2zwBfOUso_)5HA@W|*9&%(weL=ys<%xVj=YB2(8!SgFb!0X?R^1g%370$|9bAQerzQ^UNE2@BQ>i<-eVc4`K63*SHr|tys@)YIGXV zgp7vV#z!L)a24OHd>~?(MoAOO#P%PO%qO+R7+kGY%tF^rpoE^a|~Vc&SG6U@NwThSH`$dXMl;3IYT8P5Ele+O$^= zf`f>^vg2kD7wn%-4qWvqA`|a%)Sk5iSv?<+TidW8+Hh^}WW&IZEZ8ATR4ApG)ae1< z@nIW7KX?D)xSpAv(5JbBDnu& z_==8T1T|V(U#IoM7cP|xYrXViJ?|z+wI}|a0#Zqe*ipo*vM>nA1Br_d+qFmwzfQB7 z$a!!ub9V5qwASUN4`KYRX@qAxzx$m*;NS7`{*B4sbXQlfxJ>Bq=5`TQ{mw1$eQ&lENWxmgTOZY| zp{K-FW3jQ)abUYnaaaADi>FxJZ!D2Qf#-^s9)h(IeHGohxl3|9J+Q2v$55HTz%R>o3BUIeko7uIJfx z^MV#oTCdh~y%NGo?~-Se?hOL#@1jS2oV>31$+rhBgG#LcOm|h|y!_HJCql|2hM6NC zpS)IPc=#|IDqd&2)D&X;3W9DX6GQQlF_G~W6?@cmDD6*}lB4X|XLq1_kRfbmQ7`!` z;Rpr0vhF3Z4d2Y~wT=w0oway`)|5W4I+|AvmkKj&1=l$epjv_Ap?oEnLgL)7qID+X z!vf=6leWZvpAuOTw{dhs1CS|h$N(UpF{aqjsYJO?=a)@qUy2dIozwE)x6SuRw8u99 z=^W|(i_B9Jt9R+ChgdIJnT-v)vC&A!@8>K%ojwBavP`n|p1 zoxq4XRai@O+Sw>xw!a>7R({?0XjFACIGD}{8#Kt2U&|>@EfGJV!A#F9XARrH-Z_I9XhpdV?I)&Zt7c(zGng*lwby$g zibTSgA-DT^Y?%iEBds0xEe{ZzH^zR<(d(`%!OB5W7Tly){EU5#9BUk!qd88eN1Amm z8z+B-oo3>@vH~OMtUN)5?v~1d&AY9*sxJgs#Foc)IFCQ@7ni_moDSp*boO8cpP3m- zMK3D;HBFJ}beuTfNKQAwLj$-ZFRqK2z`1OdkHO$i$fEq=k0OOJY9@EXaP>WmreePc zhX~u>CqGm9g<w4filjS9OpeVDeIBs}K`0ExVk=3VXS-;cuG@7ZP9XAwu&yvZNKx}oUpdw-+`;KdcW^PxgaQ`DHdySuz4&U0ZKbtc-vUz(*` z;`)CV%CHq&8%3iAc9&Wl#3=HIH2*@+w>2d_ySurb2l6}Haz9fMvD54VM+fR}Mt z8`)Zs2N}j8W9zHAzhn#1xBWHuyTb?*{r#7cO^rZK8N>0vC|&WReuMDo7{1VJbtgq;yU!DlG5*Sq#1W*w}etYKZ$?Le4A2!|piUIfa5XJ9SQ-1~^ zS-=2xYej(Xr(pvdQ-lC@P+FSdKMR4Kz|-frycI*L0S=$PpQb14%Yx@uNgU3z6q2#ZhpCn+Pd?;>z zC%`$no${@h?KiPp`0F$)Hh-YsrHTXdU}hvhXH3>+?0~}C6CbQ~#}b%OG2>YVlZ0Z& z6q!rAre9GXC4>nYNd0d(-m!$apx;OW=9kjo!A>2Xv1ERDR+}ow!8vI@ONnC>TV>%C zm-?e0OBF>K`JIXW!a;OSGkdU?2tJ^ZRLJJM3L+?t zpfdRxu#F5u3Ej?Kv_X>0<_zRws(B-MFA_UgO6U3%t8BWW5$LK1Bwm zC(j$H0$MiZFRapyiS8~E6M}+#(W zCOTc8JIPJlk)d%1Fu0PT_s47e?kT~ghrv8VMAvU0S_Wka(~VqS)*2)@&x#v!c+Hye?c_B)oL2ffxg5xgk5>J=&WoB* zsj>g`!d%ed@VfWT$@J+NQ-e}C?+?@IUjphQ-N;H61lH{{jOOPJ0b6b1gJmIviDcgu zUDb$1mfk8eBwiVb1nms(Fm^CUe!Q8{M&gG(TKdA7Tz$$oND8@fg_6yWVDxZEit?0x zXlavs2*#+pKNI^o|BC`tmz)YvD=UE)fS3*362C>%xZl8QbU`w5xkJuW^qT-R73`kg zCFmZ?J};E+bb02>y!ZAQ_fLbVc(6@8Tgfe#+XF`)?E7S?adEAitE+4LH6H>>&n+)j z+aRUMlM#Nk?TdU)6lU%+1fssWcEZ?+A;PmQg`b=+@^79Elybc>tS`*B|9Un2wP#8g z>OrI?RfJFd%GX~iJd)S?dHkgYo%pL=Hs}*S)t@#D>)P{MUmQ99@l?JdTzd^XjI52o zRDfRYk?P4xI>NnPG(Q3OPNgN7v0p;x)h zhnFM2nH?7D9Jnj_ud~6K`+Orud<7A^ES6@Q9YCJ19RC-@PGY1FK>KeRo22yM@b@{i z0n%OWE`bLgyV`=3_?Bf;$zQZLrA;w2=Ur-u@AO_8;AN1rq@hcyus2=bjuzFZuv;pT z$&sQq9j}|fI_wi(b6(~*H(JeydU z!`=qnz!whzRFgq`K3QbGapkD5JaD5ga-x9#ot{8n{Cco9q|E%%S(_^nRuzLivEyVp z?8s}W<@1JYjPtyDdFfT03VY$W*imzlrwV)7o?}Nt5mkj17$GUoRLg{xE(amnVT>c{EWr3Gc%-&)3!H;fUfMTPOB;+`av4`OQ z;w1FrfN)S(1Qh=s5LHcjR4V>B4#_B7?4dRqmG0hwND=*p#63JM?<{LTQ1W}{Ilffi zPF@HXzkYio#e*1u(*?y>rzr@DW=qb-KC$HD;F&BgnMK3I-$Qw!mb9pL}Pzmx^RdoydQ`s&%|zap&2!{xb;Dyd}ycBs+er% zFOVmB0eMo~Q}OkHAxiD=4KHC!UP3wXZh`I5$C3wU=x-mw1ExoWB4saSG6Rf+A>XO2 zuspWAR?1mKt`34)n@&R>ywuY#?7X}$|Kdw8pT4$KqoHOLe%>h*&GpjE(c}yn_8g7h z@PTwD1|nRQFSn3+(Vfa>Udu~vh7pRg3zhLht1X8&qC#dIyr%0Gug02@z-I#@+3R;0 z8)MOXtV-|}9URc865-_Ht`@o{396)PHDG>j$+^6_6n^}~4K-QwO+o--eH1V!lHc-> z1CQ`aZi)7q(wcfAr*giGFzCUeE$9HuAU6<3P^Es6cPa>FV zC4;S^brg~TUZ#?g%8w%k zLc(Z`1+*TkXlBkA5R3DRzT7WpM@-PM*#6`GyhcM|<`3;UOOCq^s46;3B@umyEllKn zQ{(`g=4f-wLk*vaRpRI{LpM3TNO*~peSHN%$3ak@w4>;$qW}zY^!@Qj#z`obXi%Uh zK~l@~`wbn>6%9Yx|8_92KOL@tCp16xDv)!BgPso5?Hfi3!Lz&G{%J%ujyhTF;fy1= zy6e^nKne8lXv}XonCjAoyj<%3=9Z3yV>`w2#U;S6aklbKZ|RCCluKdJF_~o4o=GPp z()OUKvK$v&xTv69OBt%=sP{CtCxfpq9;Y^HR}J*kp+RQdZ{%!ON_5H8@0}9pVe3-R zFZA-J-5R(Hw|n2n82L`@G9PSoiw-`KrmMvf-jgkF9we(zVPjuPdeW&(YHVatXm{v~ zNNjf<)^B*--m&e@eYzI50a_4sVu{h7I!9igYBY)r1K5fBlXk!k0p|89O_Vq#)Hn%t zR!?uv^S63!!JM%Jjq~2`(KZMq7e9CjA#{FA7!iE;};awe39+!(1 z`-58drk9KS)yLlCnR?hLy#qUfZ0jG1Y8Agw2G@~RM@h5nx+h9m65D8+XT3-mg5HD4xl^WIHQ;qtE0pN$E z1t|t~0N3Bt;wwP!YXO4CS!oV6j98AuHi!YIxj)sZYup#->GRWJdwb`wgf|jeTcqYo z^?fvLEswLQQ_5!6<&@P4?-|3^L0gl!0^&*``ubE2&(teGme?c_%ZGlaiRlG>> zjtLx7owp%r&lHe1;K$anJ0!Uh(6*p<4&?o6FS0TW@kQX6VZ|(AwdU1tL;jfG%YgYL^qE-^1PeZCTUNk zPc|5mNkIil4Ac3H%yhf0&0vlCT)SvGzJNw7qz{z|jdjxH z{@Dan|H_2QFUrbNx=RE5AKVgt=8jNm2&`p%KUkFc*VatX8vW`&qd0#mD>f+cD})|r z`1nh!Wq*o5EFQJ(wJsLipkvl1;TKe8qM=OHO_yq9v?6eJN_WTOLlTTqDH=PK@_AIR-S`b+XOci?~-YZ z10a{vd>n{jmz-9VZgzZzgREp{quE@(YJY9wLy7bIUHsvCka8#PC&|Gb+2VX%;$UXvQ11Ycd6{>fsa!I>Lur%-B_Z*)`};o9{=_ zNVS-sSD*n>%K;D%mQWeXh!H334|ip!d55kE5aQ z;eH!8E$!P5I?UpU8%d3gog?I%c&|VF4y>dpr+{s8n?_8UK4yvKHZvJIy)YARC2prp zXcb}gbzyuJ7eJAcjWj)$+Z!9_0Fglys37IT&^-RG>?*~@fV)uMc2x02=*En+^S1g` zY^Jj2p9ctSMIH9i(c9IH=-?wpefiIV95g~A-zN7YC4;Wc;=sT1vYn!EmmCYYx*U4r zQUrT{hHqGdP>t=3=s_&iXNuBu++Q#@O6HMvUC%9*^COI#>~`>(e**;qxFP7KvDrSy zM+X^0Bsqs!u=eHmuxu}IPg!p7c^mwi!2pAoRG<%MJm%V~B6}uS1}1GPD<#Ya3I&(p zwr}ctj}G(2h7bON5LB(vz9x_p_j~jkQK;PLMrWnaP!R-jB5)q?@WG&-L~c0@{CQs~ zS07)7w>}v?@5cPB)v5MP19eG1!P3D0>j_$Iu^N185hf2)6 zsvT*#Y3G;fM`rFa(Kyd`r_H?`7bST`^jJUZjkflzmAJaV$zIkniawqU@f@FWv$yul z!A_R)-RZRF7tdYUrKgAsYFks_Z0`HP!5P|N-A&R;#{k0Dx%ELeBR!6Idpb?|4ij3$ zR{;kxfi=9_RgKTX6J8R5&$*dMu=cWiCs?<6S87%MLN@Z*o7ZmLLO1f}pErr!`5_Hk`zLvGG_Z+``Nab;FmQ4>kZ-^&m#;Gk4e<{e z6^I~aB5X-Dejo-?&X=G#=Pk)=qKNGfRuND^@_lU9c4)|Gx_O@cd4e;#DP?|~<)nL; zW2-DC$)oAL==IIoSWV^d839u7FuL@|>JG!Yyh2lqGmPuIPMO ztSV=oMUDV0#Z{QeWm2*9j<&vHW~vX?b?Mm+q9@PrIuCoBGZBvm9F`4JC4*ucxgf-p zFtM~(XzDOgKDG3=1aDFAm(}-gjT}Wr4Me%}>pdS?Dw8p#&tELHR2Nsvm}w_$ zP|R_8mNTZJ-Y!putvy^`B_@H4js)`@@_nk^=*C7#t{3$*9R)itU%enBCebH?VL(1a z?=fIkay+EZb1B*Q`XPkY%!5vybX`@&RE+webuRxYU+?2EBn~gD{zHvZ!LvcYfCY$S zHI*p>Ji@0P_FZeaKRzQmEHr{46eOxf{OiNHAN03(JvvRtfjnvA$OzmPrmCN%O)8^3 zv92U(S;bmt!>ZHkX0g%syU0>RPk!62^Fn$WO_%Yk1Rl?ft9i+yC9ALs*wo#;K$6nt zO>+^+xEN}_OtvYvpW&TSgzj=bnL7pfuzk*%!BaWaA!_vv8kb`fF6wA!c5o2#w&W38 zgO+vTxrOum!qmav%8iB2UawlvMvoF@Tbq0??2N6@`47PH?l}_}ez)69$^svrStenk zxPPoq%3WEp49pX5e7Pa8=k4KxG3i97(8?Lhi!Gh5=4Q?fp#hJ2bpI#^fci81y}>VA(PvH) zEN=l06N($U`kJtI^rPr=;sUce%alATAC@ky+5F#YF8LBz9l?nq)6wQB%| z3gkl|%HZRxeQz&zX1Cd_5$}Wt_4jTykKTLXzuIog%E9z1FIEQUoV)_(8>;>PoNZsa zWh_&wrK&L#*Rvj7Wgyy@$2dbl(YOITuTj_9iVqwNqeUBcY{{x-22Y5g0;&-vtRsTr zEYZb%4nLm&%z;#OdYyxBTvY-o)BX9#=rOPb=D<~dxM{?no@+KHD%(i+qD*%AKv!^ z4_b9#Qo?G=5v64jPpCQ?nTT$kzh1esX)stX6$tXUg?6Xs0fa-9LQ>L8k1e)@ugH0} zFutZz#?fqetlk7xfMe3UO3*#s)Dy0@g09I?eQ>4>2hNu>Wu&3>*M`=w*m@IGX%ZuAVo70<670ZPi zng(I|tB#2v=lRaj`>6zfHt;Q(0No)KGO%PK8^?!tUi~PG|0{H~D6KDhUd{bhZc+rA@Dx z=6rIU%OZR_e67qC6`-j`yW9s~B~oWiX;bog#-ah%^hejJqHGpe0Xf4LD(t?)E9+`c zjEao}3i!Ei`MbKCe6bDEG;k#LIFU!d{B4($TLyBM_Tas{O9M%(E?zz~Cyb4hVRLYv zjU^x5cnY$w!d8{Z&^pEe=bK%Om*z{zWjb3nB5^8@kwmH<76A<@iby-hHmaOB5Wl0q z^~=Y>08=+oc%e2u@)c!SwT87H&sN%SEpsx|3N!tYS` z&@8zqr*{ROjervXutIk(lK1@*-nIj3;3+&k+WR=bWp0#7WooPu47`+^h2|-r)X+Vmsq@$kg$I!1 z(H?3E1TUCK2j_@{)Lmsz)zfrGI4^H~&mS5K2l|qD7?h5+xmqeu9TB85@cAVjl6!g1 zHauS>%jxeVj6zau?nXD5e#vszT3_Hp7WurSR_E{qRDcEJ8#eMn>viclgGCBr5fnzZ z?Vmkg?SH(24mDGm*qC9OoZK^q{<~P0Fg*Il@7u@-D?sNlS#lr5*)xcxH~+Kh8zX+u z#H(H$z6DfTD>#316L2YT2J3)(Y)4uID(E|b?QzeCD3;Sd$Bna46`13aZnRx7IUa{P z-Sey;Z)<{!`ACC7X^Nbgq`9&V&z}3&>EBW|yUSa4@@MupBg&N{1_uR2}kVE zyZ(xO?V-2>_Osw}{FF}llmq1|}B~vAp zQ^<$gK#vyau#zP_jlX9@II-M^^MXuKuiYgrA$69GBiW47rM2?ZUs2P=T146Z+@09< zi(^4Bv!R_}IGBaF-w;%*9MgdB zxqfuO90i&sr@WCeh3@#J;W~wXJY+@nL1|`&TkH`0F^4RRhca24^W-5aJXM0qR3pGuD7w3CL|b2#l=brj1B2(zIV71PUiyx_#)Tcm`o-Yg;JvM2 zq=SaE1B?h^^=TRWsgnx|P?hZ`PS%p`?eBv0ltgfby!J1aJLtIme~raK)G2d$zal1Q zm9NiGQ3PlI9K_F}Q1a7fh|FqLJzJMaH8Q=%3uCrB@G!UXMB-OP@0Z>%KQnFJ9gEp_ zX|+F++lZfe#h$4A8Fk48Di!yzR2d$^XRe~#mVf9{_;pv2i7uZ9#nrwo#Ivo(q{cEA zbE5(-Ql-(H9N^C>A!xGx8v7vssi#~e4%(*v>NcDJcdli)K6btdQ=YZ5&bz0W(IQuI zNbnyC+XD(?ll4`=t^+>*r}q1szKIvJ*}n0__=;@)<_;AhYv=@mBY0fR4YR2On%#`uNm_)3bXU9Q`j7IJEOU!2^@({Z4)pYS&CPrl-@F;vPt?B#}k=mO#pZ&2G4otu<#h5Jjyv_;V7xQFXdWsQtui{tG& z{`%e*N9%P%_EknJeCAs6E9y^^>Vi9iKbwf11a`>j_gU#p%0@SvP|S}Y_Jz^j17XJ= zzgTQ+#e0#h7Y8tY;Qh=y`r%Ihfnv>GQ`i3YF9QLfY1h=uQ*J@5#(~Cp5?pmn?fxK2 zy!PP4;)01GO#)@pD~t$p-M2#r940erj)Z1B&j%Chq(hjnD(BaA+_#ZE0*_l1oN<}@ zu+Ql>+hBZb4qhc57pt|QDmP=?s7-VO^QHQu&>?V;w_3=YQM1OghJ|_QdovjKbxl{a z>ZT5rsy9{VUgAUVUSb}?;3VOXR;$y*4EI4{k_uOudeULY3CXopcEHkm zPwUmC{=Bd+r~FChfKC6epBiHQu) z_T-+l>7xhVQ%|Q^=p*o8?V2j*942#`B8S98zLNo5%B$`=`WDyBA#}TyUU(aE}_hTbkY~c>Wbir^E z*Z}|P*VBT-2o^i4L*{`B_S(0vPQ54s2Th3l{q0AyV%G_O-d<(@BO$t!Y2zH@nUcHZ z#u;1uqIjfBus96RehIO1hP_t_^H{O@mZdkX$ zBH%-+`0EycJT#Nh7aPj`Pxo|1WvrI2%7_%b2lZpepD`QKy39*U{J1%u+;bG(ZL75X zZ(2>v^XK15|B0T4G%y3YW|_cTv-kd}3LI-BmLV=m(v>!`Y|p{sL7%Xzbt#wIn>g;d z8xIOFoJT@N2g<3HU|20$7}K4=oiExxsTc0X#6~qmkRGDfbAGh7|M69vQ-$c> z&d`PQ_%P8~Y#TsJNez_NGDTfFLSdXm^XRy{Zj~H;2ZxMzjd+8bHp0YmqsSAKwoE0# zL1AP@5$3$~pNY7LKZ%CH{FSC$TgIBu#JGsx$^6a=BKeqV1*P=t0wqF{@=Y*ei%U#c zuS8@Pb5s2OXb=UIWLPDpyNfMH<^nD(AM(zBt>;2q17+s@eiG zt21mm&(+Hm6SRTlF6lToX#ty?c?b0#s4q124E{o6+t$R!zHf9BI* z)@WV^)XmR+Wd7~c)s+BcLdy`nyVQ;4_>!3IQq|BCnIUigb3LvScyr66tbi+&rpxUJ zP=|QG<{V^ukG2LpvX*T=AQx(U<(Sv939sgh(lnPr4Kt!~Yb7i#;gCdEF&w$4ow|T_GN|(I?%!_akW;YcB2_wE-4M+!l3GQsRLQc6?jz=M3BO ztch84`WNTF{^7$CCP`_1%X4>nC>g@C=jX4u8x7)Fm-8u}H$U;ivzvijsA_Rku8f8+ z-%Jn1nZ&{h_^^koG~`jN&e#1=!h7CwASV(#jXeSOoSMt%(TZJ+-`TCHvrLw)I#EWT zCvvOWCEwhpE?eyb7Cy7p{!k}{i^>2sQQ6D>kmztXkDrh zrRKM;*b4FtX?6w>M}S%Ncv{2Y`|D88_xJ}`s#rDJjqUK*r<7($K7f)=1N}Ar?{>}0 z_wYUm;&FyXg#Fq9F}U&i0!+U;&Tde>8a|tn5*x)5S#=EGw4i%27cbe&h^!A;@R?Y_ z#SY8HqTV3O$mxr76eyVzF&SX9nsNT_z7LxDDneElu<8 z1QOu(tw^dR24Z-CMai0wD%kcG6C*x0RP^ouB zZk4wnmXM%wW6#R!u?cDQ>UQI-j{i(1xv8dfSU`5%?z#`Ud_rQJM^b@@P?1T~t~IOPPx z8+1_9yyV$=h%m-;l#MQx58o_AOJ(&V7uy7LAb;hp^lqbKa53J0-HS%tTdjo5{)q=w&7wRVp@G(@1+Qi zhDa8Zi{sHfCQN+ZtL#1~;U_;`*%dmm1Got{0ea2mj|?w-hbJiV{vm{5SE!kq!EK2d z0eU9&)N#Cx@blYKPPIyV4%r9hSI#I7LcR@pErmh@@H$R)skibs!nk7-LG}`;NM+1X z-t1VfeDB_t?AqOV0gg!P+5F-cTL&*4xk~JkSnG=abj{6MrGI!e$$YiYSQ3wUR#PO( zxQaAUZ=>eNnMkngm|y{UclRH%zphve>4?L74HlZ=y-MURCFb$_R*bz^rgubozMwMTtZllqb08W6eu0fsa0U|cV;!hM~kBpVB>dn&0 zl-w82y-B?*3PE+Oa42})-LNp3o+ujjaZz9`5v#_?Q!3dNx+X92P%w>wP%e$x`-8mo zjC4<89T>)pHW*bTlz80xk4VisE8na->n6PbDW7p6$pi3~6J$zPTBhpO2Ge%z>se!*H|nRr0gA z((L~7`UNnoSog`y+r9p$-XZ52wRZsr?}nVe>CcKHg4cUrRWR=E3!p;rih3~q-O0Ud zk2AVVI&e%~+4Y|!unO0tD;T&$;LJ>UK77UNWS1Ntz9IoTyO7!>{e6myYR|=%@>6@X z-ts{`e)`W#RPuWP#BpdP#R-<=rc1XhjpFpFJJ~V&``)K^*}wL%H^@TrbSBe@Ft&Hy ze@G8`=M_L^zOUo}Iz&Uz3qyh|?|msS`_iCIb1zR&0L}vOR_Nx0iotUfS^MD@YBetuM{>mHZOEnZ+v1Rx2ehK zPJm$aYrGA9M2Gn=BW@2553_@X=IJV1g0!@>VK^K|t{WuCeC?=7$4c^wz1r|Eo_EsZ z&3Q4jR|g?A|4OxK>hRmso7~sD1*@pK*pJuw0%bT6%8lFQ7!6;tyX_GNp!KY&11Uf*dO{GO`q2b7VE?E35t#J`^D#A&2kxGf4on zIV|El3-ekGpm3Zj?W}c%508zZlugB`utwhx!xGdrK@E8;k;`L}vP5K*t`AA(3s4Uf z(DJ7LvR;d{Di+H%{Aylq?%R2b2LSHu1MPg6N^thVjKr_Y-cj4>565*0teq{@c*F52 zhEdCzi#K?K-v6!#0~lefc+Pz8zl#ri|7FbKeC9qMU%AUX9~{ z=5@(XOZftwTvDU6W*8CCnm$xO%9pv*MT6+GyY9~;(9wkUal-^RST_vL`Nh)j_*|?5 z&@(Zs-v2-q$OM|VyE#|L=w^PyL-@0sqrPwqupX)qrOk@rFoRt6AL(R>i7=R^ng;h0 zOZ6+^WyUJ1q=6n24CRI3=trXx&E98s(t@?uMaB|LR6tnL^y(%A4d*cPz#l{Ac8P$` zc~Uv`utYIj2cLpd7QErWxCCM zf$1=@ZF@veQ$<)hpRtf>3FI!ZywtKSMjWK?J6vFp?1t+O3a^@+u@z>NyU2@E#Qg!Qw^|2~_V zn>gxcm-*#wz9pDEbIjxy7Ar@4R70Mw8p1l_$n)t)v8uP?#GI!T-0CHJ&6hVQoPe8) z@O2n88T*Oh^xDQ&EmyD50z9Lk3v9sO`!Orf0Thszi4%ldS9_qAn-|iQ{Xd?*!7b1C z{eKHfYuRoY%X+eFnaehpZQC}MZTGHLE!*akZT{{)$M^XC3pcLoJYTFn?0eSKGPAlg zoJ9MKk%b!1<;tl8gnpvQatb1jPjG?prL#aPh~sW^T((Qz4Huc*S9ab+Z}*EE* zEGA!nN+IPK@^NyOG2h z_*Ja>-I=)1!x7C4bgw%A_~9Kv=lF~S_pBe>M3YKgi8ToR#)BUR1_{ z5R)8Jn5cQ*?IUxAwO=OU7Udf&!QkX-K(U06a86@38DY_WH>?PGB#sSWMUe_gVou{+ z*21uomEQ|!y*{Tw8<5}|Y&}*%>YNy1tv6)>PjC*%DZ6no8h7*d?!tAxKDu10H#MBE zQ2!0eI;yxv+D>%*skxvmH&SE0wC&sgca_v>r;` z^({@NY1Fw+d(PL<}gb8-VZrmz9Bu?5LlJ2xNxSD_`N^- zw8H8lvN42G`Wb`o*hpY=*40MnV!f(5%6I%DvIXX6^H<;Mw^7OIu9Rya(j){j`10|5 z`gM_R2_7f6gZ{khl|CUM4SDym0#Z^4fTE47dXe_E$%wt!}3z|vxkchoDj4f^8JBI zq%Ze%F9nIs@fA8SHZTwVMyr5oK@d6F09!C8PgJZ#US#p7pH4?8-(LMz>y!Rn`;&%4 z?R9`=HPBjg-L9Dt3%y(8S{+-u#kInPl1umG=z8WE(OI)kBKUCP06)QkSFJd8AVXD^ zjXU=$oX1G`c5m^KJTzFSzXIgbewi8606IbqEk_w^8M8jJpAP+Cz`Ow@joQyeYrt&d z*s{F}47zZDX@m#d!)3eRJ+E%6zdxEr_2WlyKl3iNo9=-`5_h#o_d$LHBhaT-q1#Q! z(DgvtWVPg9RrLe#eajSJ5L4)5r8c|q`A8Wf^8_Qzhv?u5LsR z{SGfAAtXhnrigh8^F>)#Lv1aA}b`u31f~L5AwLaw_KG!Oiz_ zAzYzeFJ^t(1=P=A9<|JVG%6u<4YP9Yz_`VtYWXr&{R+&c-*{XcdH0nG=I_IG9JgC! zn$Jvk-c5_lSya|O{4dlVCjOAa)@C4^5KGaoJH9A+Z|A7hkpH<<@Im-bZzNWSgg>C5 zBQo|F$NDY_h|ye`4{J31VqWXIu7R+VZb8^E?r?sGSW@_3@O4*Tf-j%30!{?#xFB@d z8tsYLo3L_^IZdE{{-GMFUh_5{!uYi@cge{-`9V4?eR*}ido?+F9zXlO^+@mweIiNt z4ZJu8L56ILBsvF9iy|^oN1(}vpJ??HWB_JLZQzeKy-X-`#6`iZ54<8J7??|A@`}VL z5X07IlB71LmVkXk+ACOl6p$atW%vm0b3VBS9Nhkiw zNF0{m130E7pWPJ{;+|TKwvx`p_Y1DWZxjl|@`{SS(Eh6Wo6YMnxx5_i=l7Y-jFK$H z+|j?SJ5!=5_fwel@bfMFHw_G@J2#4{IwJWr9VAq4os-F>Q$h8xsLC1gYMPE88|m?% zvYIX4_y3}BHdX<{v+NOzE_%Q_1L?6Vu#9PZO7svpaW;}Krur;)_x=pz`tjVz3*UnP zL2vl<1b%}-)bnIoJza5K#&^cA>4MPu?XXJ%2u*z?!Jl^gO1?QSeNo_i9$hk72xrS? z`^RWXV7k-u&T2%#0Cnk)VW}naL1GrcLcHr(NigCeNCKm)6%em->%b6P$aN=Z!HM5v zX=~l9d*%iQ1P`c#DnqwDeYA`Ni715`uv2j|<<9ni}Nm{jt9HXPwJ6l09EAT!et0%6VPyYmg zBCA>SwV&#fmVC2^j$?EJnOqAVA5a<B{}%Gps_f&1{|=I-NO*DrZl>0f>gr$My6(GW z%f&7)?lEynE~#kZJjz7e#f|DD=#$!!f3q^}31t%@*6%$!yWEkJ7V-5mCFAwEqb5Q# zzA#}X^X3<0VRLHoO7n{4ljVZ086v^s49fwE(lCT!a3;YsPX@XM+S%K{g;LQjCJx>8Xj_ zkNyM%ca`G9OWr)$+y(<~><{fV6FCModg zj1ob%59+(S8%Bq0u~L9n@l0uxGgz0hS_15_OYa>mA}$=|0_d{) znzGE#3%!>S3UkA8;jC~}0IZ{aewWQP!W^@PA4bL~0_A9;<2#-tr=#~{qhtD-2M`7d zVjOVMVZ*=3SI^~)+k7kci7C?c>rxNy4lgq{B)?!$^9Xj7FE`ddYmBIN6vJGbTlZxh zxTAj`s2Yw<`(mu{xV}yMGdq~n6GIXt6F5=3SLrUfA5VrjEJg^U5N^Y_eb!m2c6;Uw zc(m}4#>vCzck##)Yc4#6vfzNWaHgvHLRG*!r6~7UqSC%Vq)rE%b?ChABdnmyL*FW9f8oOWbR$TYfOlw@ubsU|Y zd%@QVmM-xu-}o2M>aF^~*{00Ed4 z#f=A)M?cPyx40^@F#`o6{<&6Ss8@9Knq>?1Y|jEFg#JF~?TF+Pyo-~U5U?bDVt;74 z&YEbmT;SoWMDSe)Bw#TW53mrTr2L$eu=|h=U|=}_Pvam_Y%qXxK3O+8I1sg`g?Svl zj0XGEj|`o}$B@;fkzr;}T2d=r_H$-UMN3k?Q{nY9%=D5Opn^Z&q76%g$z}N)@o$}Ya za4{Hggm{HFx|u>i|N8}@KX1w+IPQudX z5dCidLm>XL=~N6DF>#T`q>fEQF|x0NDxC1{H={m?;P?#JALH%OAIa@S%Z1~h>Pp7^ z26?1%b;Wj|fK4%?TImUb`3Xk&BT6C*rekqqyRV0xzk|fNVWzh3>R)FJ&wZ|{Wog5H zYec2~Qi+@qODa2k2@yv@hATD_3nhi`MmI7hZ%?}jQnCzv&t!Hc>K5wme8>?18xse9 zML1PK2FP?b`W5`Y#r|o$1z(EIk(s8Ij#C$r)___{ra;$=8sam}h1Inm%J0 z%@;liX)8K9rbB9h31!c%;r|o&9({-^e-HBO{O2&T0PI+rvs_>hiW@s3V9O~X((j#h zr#&hM>PX078)!uVp9Y&`V?Ik^t|@U~@;LDw+jEV{F)^;@3-)iM@(6Sipr@0sZOTkU zQ1G*br6m)v#f@fg$XNs71Vv-LO#_~9TscAO>+8|Y>+VvOBD&q)ya3|1dFhJ$ZN>w8 z=!Zt9?=>doe?|qji4!z)$9AgvpCvq_h_oZ~Ay^dkJ;0yV`4+=oy?(Sn=m#!&@bP;l ziYR26>ln=&8g*gR(;z4q$2>0_h(fXT?iO>$K>*Tb8^eubPBOs)8A08mXj}PBLvDe3 zLW_gkZ~{O8Nizvor8E6D*pHCKZ^BW|q-B+1u!QPoSqG&qN87C{_Lb@qeu9fd6TRgg zxMJj<4zo_Fi3&ZRlm3|2Ko3d@81%|%%~>8gB@B^85&nNP7p$u;1(2y+p&>gRJHXJ+ zXV`&ZIyxi_bi+{ae&h@h;8P#KiK06qL0!HT33k-mA>+BU19=%d9d#WQ71D@f44pTM z(&?;{)(hEVBAEFXk7vLYjm=~b_|$og{7Urx00R^zM!mgxBge}KSw+#KZ;IBU=K{Bk zd1QSd#qOB1b=D8`-84mJ3rnq9?aspB-2afJC83|h-(TJZQIbjFg7RdmV_QGBefp06 z$iT^yo`}pWk~j-Uc!K_<)cwhSMk(f%A z%<6t12_C3Z1G=(9g+eghvpz*hAb1BBLh?;?{9*C6e(q3f_CgL>h6KbuJ$rwc`~!{P zb)3e*Y1dp}%4}EC|6Qn-4D|Fta~3L^Sz!O~*Hd16MDFhHHMSdkjeoe2W`Nox0w)tt zwJIeUUZ#5~?4ykM=#V2hw9thPAP2&`n* zdU`J|)JSnKUO2Nm9*(le-s~R^$4+RWf3fn=AO(7j={o>17}u@KKtqA)Xj`sh`+5%* z7Ifg4Jpituuc=}o!Q0em@9)mkW)KKpZJK!>yQ_@3$*Bwi72gRG`jy!>0rZZ7`8|5LW*0C&kd$gL8w7 zrj74CuK5c4D3ccBi|PlUf4xp8PhSCoDllH=sumbyv1;`0RsLT7g>OXlLTz+-rz3&l zeyV4HKrq0EDaP*2&Z)Ws#*vVV=;*$VSeJ957;fZ`5L6u|6@B>&6tytR^1nJZKCS98me7w4`8>ROJMlfyR(JR>=y)LFv0Dk4 znihkIcv182`QpR{+7JZT5@Z7z^_~Gv7L5&d#e6Vo#+lqx zP!>k8)$4LE$d<0HxE)cl20)0}!t+NV!qQYxbLS>4zbi?`V~)3}pS&u0j6PpI257qA z|LrDpg9JW|zvA|(ks$!oR?cRq6$SU5HVTM{>C43;3A^!@lc1p{${IYn6q}qUkY8!A zT>}Hbl|%%cBwyP~gP4G^@mG>29VQzUn1r!gI*nP>TITFGCxB|$JHD6>%F)%VoE}Yt zO$34Y#n;c?0+9IRHQTSl9m~Wh(+a!4e?8ZOx+B#%YqDge6W|CS(*dd&fV6)N>v6}V zM1A&R&k%KnV;>CUfDK~~G@ZAJl@_7~6QEXGj1vhx7mb;0mLb)1_zJ0`({!9w&Qx5{ zE=RxeJTdP8T4Yp6wpj^v@v_*>C2(&=f)$Nys|CZ7_g%>U^&=7Ec8~cnD-^3B;BGiy%}yS&tF(M=O-Y z=EzFpb(sS|ub%*QdnHv<^1jY=0D@uJsKF)y=9lBc(Zr3__Z?zjF{W@A4oBW2!dt}am z+7VDQLl7Y8H2mB?<~_&34UW#UD?emZG*CWqPQkAmepuKZrC49a*#=68p@RQ7g#6wkfvwJKA49p4G@wP{pVF3bZaKVOwyKb-3-xP2wvU?jgO(d?VQMAZK;r&Tf?u4hy7biCed+P-=xWpTRSej@uqUSX~E$G>GU92gLkIto@Oq+cZnhqT8&HjWij?@HG<5Ufkao;lMeEM3&==r&GL(+-UQB=&&&Xw2ItsWQGtu=uD02tXMkb;DW$+VrC12+j0_3QTbJ^Z6P zv1A(+9sVhso!je+v_f(bQ=hIdSW=~v3O~?lE@U5Bax+`p%~&20(jzpIJ4UGl_%8?pA`nr-*2~hs;AS%G6vUo4;9C0IQSC52>?Fa{Q61f$Ha@BZNb*ZpwPAjUu zA0jvL_QVrWKy_>hJB3}$UbS7iEGh^g<=_sOU-?{U2e2~hAk#^2b{=V&fyI1KQjP=?AjP;Fko)^>fW16 z`V+XODZ!ZlM#Ew<`d@?j45Rrp8NfraoseJl`|Q6ILj4Z|V4$N@hICpd^w}ART5NTo z)X>lJZQ~VfbLT0cYb+lOUy_kD^Yu0tzSKTB3W=jK z&2YiNP;NteXKDWO*c~?ngKQ6Y?3oJQRCh~Ms{#SS4q<~iGaRZ(aO#d`@*5583KZ4y ziLMo90DL5jl6|bY=e~5kbHBy}UTDDzX7Y=e?{7YP_p;Z?r7=_$DibO}y@;PC++~zG zICCf0mE7M9rfxrIm?hW#*67n}AVRvNlC=y2OgUk%_p=ikqu;$LR1SdcCE3(fk-t(O z5Ww!}l_L?IIqr-#dZ|rRX}0^bf-_^k_O$a}CU5g_67hTUVA84iMlf_?7iT%+Qb?!f zjtdkgpN0*}$^YiW$7Zug)OgKFNhxl!yMOew@EvFHlm(F-2Ij0Ns8@$j?ah0;<;g~% zEm|t)@5Cj-1{p8Xxu-@hc^jlGdd#eGp9y3Fa_yU!UFhULC;L`^X7)pv&pH~BN?_PHYmKCIV|yti~V z%gNbUD52>w9R7d8b}DC%C5+*un7iOSWjRDrCCTChMpKPHZ3H6*?SXJ|F@l*jo1RSQ zTQtdvh;BQ4z2v$7}+u z?g{fE5S&SBF%tFB%aCe;CYE@lpp_f4B!Tb{SQr2cu)Q>#i${ZZVn|J=*ZH;mA!l#M zJa4ciBa9?zeOBy-fCk|MvShTJr)zxj{J6Gg?c#C8{fVQ*Aj{{%kB%%FE4@`zlAgHT z@7G*v_4~d6x(;GwSl?L38lMCrXk%OnuE|?DRC4K>B`O{{$R0hYwN9N6Ygxa4C?www z55yLM^9<`M>V!#z|BLT`FkY02T!};0s~8qo!vB!vePz35=Uf{3?N)@qjaJvOi7bgw zcd9n){g|yc%${tdLT*cFg$VirD>+wDC)5Dt#&v&0PQajtjj5~t#3rgB`xz&`PbE^h zG_{nh^8dEQPOl$4FS8avoE#F7wkfN`zh=wX3(svTmVt$I1#J`gl@`-?D{i6b3?K_L z{N};P5i#(0$yf}*bLU4+H82W41Td>)qQ#Ruj9Rb9cb1e$0Ldbz|5+e3C=FnR&V`eM5agNCLif0YIhdwW-LpXcsRIG%oz1H)&!&A~X- zP2}yu&FmrO;Jo?SodjXB{@zUC!XUM4MgD~_;#0J6rpO}FO8M4j4%D9p3=FggQ`*bY zo>_3b#DRY!qlNx4g~5C0!@6dyNiXXZW6SHULB0Ki>mmKjjD*kPdM<2V+&`dF zAkY$|jYKP8D&7Yeh-OMFg$v(H))4lb8F30-{%G==uHIqRsci{gsJN& zYXx{12k>}5d5V^Q7#d|6(f7kKJ;vOsDp|zI$8($8qdC{DAgmgLet6eToj@THCovF7 zY2B+f1N?Bqa6%2?GMxs!F+?#{L!_S77(+fC4is9iM z@qaUe_-t!xR_G?)-~6F>j9a$KbDI|_$w z$t!mL-1tkU!L2u8eg%u9xF2Pk)I9p6Qn_nNE8%iiY*jbnz+$W&G$`U!p1Zd?t1gluc4v9tTZ70$em>en484eL^xB;Oi`` z4k|l9Bs+cTKa7rQf8M|!wr%t7+L5$#;#!23lG?vJH8Ga?*&pae6jSolQB_ND{C@MJ zDJ2JZnk{D0Tw`1l6HWU0u;W-Va)W!D;LggAq( zyHg60IdH#HwSc>gs6<~zgGiD-)x+d0+`s1@N?@)TD|q%8PGkynpkbocNyHfUM9vkG2t{im!eZ1 z3u4RI*KyN38M?h&#;ras2boVqln?1)MfN&mB%$Hd=RxyXD*oJ^10$Y3%sn;#zH&sv zHXIN(WS#Cmz6^{v(&A!37{M~qA5V1L1uw?YK{$Pzz=`ONRr`J76eR!M|9ZjM*VgV)oRzptKYY&{+Z^szi+8*{6*0PPez#M?{`z)p8Y^=-lM9 zS#v!=f>js9-{^3DbOd2oJFSW(V4n`X6r{QoG#ptJtsPvw`oa=%RbxOrLht=?zrNOD0=KLiA!}uC9Z($QkvY zDZ(i}DO=RTT~6ck4E{{cf}8@T!lb?PUgem@Ya}-NeMT?PG%s$o{B@7kLZ_9!#9NA$^@qoorid$h5yC<#bakV~yz}JS zs7BUe=R4K0qGYCEf*2hX%dBQ(F~Ca0icB;s6dat?nVBq@91R0_@P`*qtg}F6@lB!> z0EK$BASE>tF7;;lI}M~hD)`D)c5riZ8;dfJ4Hm7Sm(2{8g0eK*D8IDgs0SXf;$m=o1_%u=sr?j9 zmO4sPy_Z$I?^S&7ht(Y6$Igrc+Yy-5iug1GSW8SU2F#e!PC%Oo3`MdrF|9CNB4Ekp zGQ1Sqa+ULeHN{P$T-?dk zRl4#72YY+HTD2Bj-p|066+=EIR_uKC`1trS`u&uW+8ZoE&0<&j9Xp<1S|G?X(IzA@ zQunXvOl;f9oKxYfr|Q@9Te#Kk}P7dy@9y}hz zJIC*}od>2TwU^0sP}C@Pl5zio5K6Y3vtG}xku<#%F~>~s%~u#@1cnY4Oa|6oo|35( zL&ULDKKyFuf)}%Ht2rIJfv9=eG9D;HtH6T)ItmIPDdn<7yu3QCu4PWUspbE;Eh~FT z3X1rTB@)i8lTnUV8}B z$EWMzH?u)|X|Cq4i;W3R&2IRC#hOhQypw#MH$D9VP7U;)|5!u(v)$%f@CTG+LtOZV ztKAhcIYEEcj?;=UdX{cf>k=BJDJVz9>BNY@`+}cAf8?$}FR~vd2z-;yt=~YvLdnT! z+5s74Kr;FRs~5d?vx=0Kfq*{lrn+p`%js`y18sJP}n-@F=O5GVU)?fFR?k-L8a`&>Sf z@+h{+O0X1mTE=J9z7G?-T-r^vNk?mE^tqynRxYf0C75nHbFHcub?qLz$M&V+@jDjc zxx;>?qT^ou_OnCUgE3(~2g4fW58LvxyR3~W>kS0pv2VdUIxDEsOFKlAAM0<9VP`8M z2;tPeU!mLCq-)^BFHq!$Lp~kI?7dDPdTuU1;_zcdU|j3V_c%i9TrRc^YHs3~`ti$& zQmOda{4#3(OfM-Y&vWLdK*M^;r0L?RYOI8x?68H%f|g{GBNtxrv2TwQ!P))$w;z89~Vox=V{w7Z+h#Lij9bMMMiSNRMSVHg>Myy)oZWpq*>5gpNT zubT=B$(HJTh7+k%dEA)AqHqCaf{wbI)MswPsmTSL-n0OnmS@(*zwV0hu0AMZ;f^5w ztI+Q9rrwaw>f4=vs?9IBq;XkUQCtrDA~#PdZ0;!OvK_GW=zOWBQ^GMW7Ig&XrA4WM zpj7YL&8NPQoQjKTx0c^Q52n17sD2kJly>o$pYZcas)ouIen_m{EE6t-oZWyLmb{K8 zF&7X**xTPc2Cil|!uszqFEyz|g z$vIE*J$H)7_&v7YdKnJj_j_|8xGv!sRH}cJ=gJtheoJFIkn<$>Np_XC73m0LpxBj1 z{;6c7C%Z7KAW%=TO^?^+nsgndy61E>wAk$Ju*k*3fv3??yQCDWi@7wSu~#bAQC|QN zS-Y68{c?lL4O$4F7Q&+l{ghQUaa~s-A^W5!Q57Hz8Ze03PrVP@>?mCeQF7ABtgzcL zs>E}m=X-cfw>lihX6f>Cn*$V_%$p}?XJS%PQllD{N@}v!YvpBS9|~Cj$YW(^-yTh4 zN#%C=K_QzNIyx%7w4ar>AP_418RUeY8yjm}4 zOL>xW{3*@qlnk4ZQTHyhWskI?P{9&o0@dVLnMQw8e-+L@SB60hmcITU{#=JLyWK^w3U#!(Hu19`kY}fsh(wZL$L|S``}pk4&o26o!Tp*8qXxNNAm}voY+bj#BxY%T zrz3Rdv(>Pws;X2~=ow2XA0K`iT3Q7qr2t5nZ<}=^KN76h7+QBx)k`xoGd-)GzjhtQ>Pt<1ORP`)N_35DlSBn=HgbQI-j*wf=75Y{cvEtcaIziZR zGcA=0aw_v&Lnt;oIxXSu_{R4O?*UQa1&Ga_7!&4j5N8bnP4(h_YJ`&u>1q8tVJ_ea z_{F@Q^G5%JcHLh&Ri=MycSyPSyd6YKSmxF~WQVf%SIv+^{9?`C{zv?t`^kH!Vt>sr zvLCy)iG%u&0GWb8{l5FD#6cXp9p%u-~{1ZKe-&b50|lEuQF%@`VM% z4nB9dCX=1R418W1!JHnH?ajy@!QG&fkYWxQv&VwfD!(H!cv9YluHfr^A%XF>L+LY6 z)k)cd9l>YOmrWLpXFvYv8q%?Aq83XRO*!v?fI`%$Biqfv%>da%w$4AS#u_99S|voB zlL1zN)d*qAXN8rMpoQY0aK~{jY!(>!JnG0I`12&%U)uwCwuyoiSqvN;9ESI2Yp$=i z3&yc%F*tKKPJr1*-R*yXYF1CR|PgVNuz55RZr_gqz zOWXN-?io~MfB0M#v1s5?nwu(FacSLJJE@LM1F=yOC~F_e3&it^>(2f6x`{H-*Y-iq z+iYesL5?qMZzM(B@%^dbSfLT@BT{nyB_b#P#Zfv9*?T6yk3i=&#JY2v{{9bR*tR$H zWA=fVUR#;=^;k|r*XIGX-YpCfcAof(9Djb-q?RN|NH~*zuuMITY_tq^b^`TwVsF?M z{6tcH(uSWFbWelB_0UdBwBX$7EJXJ5u{hosFPIJQI`8Ou3Pm*s<|Ay`JF(AUz`(c7 zZ8Gz^SBsV+Wl=#@PgpWrrpdBd9i|k-AM^Fp^_a>~L6Bb;{r63)aEZ;u=7Bkf>}-p| z%!#n(F9E2dTB3qJ>~=mv~gWseClbk`ZUl_fbzYxVziKbb9H|0#jGC6iSOUPf3CJO zBHrG7CS&R3MCY9z_rrtPD{b{^uuo1nku&7k(FEMVA4bC~wp4G5Ug~sv1l$;2Bsp7N z$1$yI3N%S65B>p6(;oe4nYC`fllJA$cwksV(ZN5o&+f`85UjW2+wU_y*ixK*Og%wN zR?ACx9o`C{pekCu*gf+y`#X#Q%AN+NqZ*e~W&x~fxSxDKwwVgkuGbY2cy{{#jQab+ zP6|_#ayHXk`j~`vZ>;|b`$V9Sl5Q18ADq^@NMMf5e{aYvfdqCnh6G&I(Phi3j05?7 zH2x0hraEK+*JPuF=dtuFgBVM33HnLaXx~pKe@0XfnM+dGrVXZE{^J5yAs=aaaq8?1 zoE3NhJI1fz1MN=1rQs|l6HoNa;-VshtKA{B4p*kC&O41&`w@Dz1~Zg_Xad>*sj{OY zgtemBtmQT=EUb~08#{O|^S^N`1nuzR!1x>F2?&I&j%5XDf)3HEX24Ve#nmZY>?S&n zgdCIeyu7^HeD`LMFwln$wZhTg;Gm2`WhVp&#Qd+W?6sWcRIoX0v=(bI$}G^1@!4-! zPlGV80{UUBK{7H;-+9M=E6MkPW|m@#kur-&&WbcnzJ^t^4;KH2+uuxf^Q$8B(Dfzi z)#h!>fUf6)8=0e+a8^{iFFvRtx zspkHSw1Y6z{yC*=a(ud|FJZt;+9)fn>q&NN2`24;bQk(z>mU8|)Bnv^ z1he+M{dszkuoJ(=CHpYyl^8vQn3)ynYSe?@AfzIGQXfign`S{e4*WSn=8|Mu1@~+2y7l@!5huCL;(A==cxy;PAx+8-}Tg36d}L+xT2`L zx_a74yZ|1T+0K_nS73D0vntGu`o5s$FqT_A2dP*$P;h(m1?u&68$X&O{ci+?Y&^pC zv>rQ^^2Yz0f0-p;Re)%wmxMcma9atd<(6wdDim6hrk(9+v*KQIfQtEN#o|8q8LV$h4F_U5e_0i6hL|T}Do%>Xws`QjIg(@g1sOSsnCD$`uu9f{Z|^;$pqWOyx+1IuhD3QrdBb#0mkq zJ$T1~VBrI;xyPxQA01tQb?fX*s2_);%|jSAkdw=Fl4*BINz@Bm2#I>RwC5!%+7%+sFABkAjew<;|{&e-Zz``OWCx8 zgTuygu)L-wE$x)KFtlOV*}u5&_TNCf@1+U<^pxjl=D8~l%-3P)cOfH?y7>bkP;xaZ z_uX`#__^garA>)Ohm9fO^VbFluqh#K27wcR3Ybmw8_ivG*UCiA>-)#dL%&3>T8m#~ z+}Z*_tml{g%#{5VCYN|f2MW;dAvKr*%;i0`ujPB&I%0;U ziunU)5OorX4*SOYI_tJO+NNm1IUy}4nM_K#&im+`I`%{4ANSJlK12?^{&0-C_!PeE zM07XHCBOM)^wq*Ye}*h<;q4D5^0*GsE0k2)HqK+rEv@0@0Q5fSU~Fvcs;#_S$~&`5 z^@$@GAtUt?QMq7dAJ)Cg*w}a|Mu`$)xdSCe7B;dUw{u{Bl;Pw3@hk;-?Xs{$ZbOAFRHpg>)jL16F$;wE0#wH(`u&f%bIw32LeATv14l%RqR3SM0h~NjF^^# zF+@JLnO~eRaK5VK%|NKjU3;5pe4^v)=*l%Oo9u3WWPEzvKR*yOB~*VaAv`wk@thsF zdNTz+N$d{)f5B@2wbXNrRdgTTH-H!_Jo}TSm3N2E4$dtJIo6#Ss(;rqblm{sOcE0( zJA`@km-(B1$yMflj<{x-aM0Lr1cOOF4Q6B->e9)zyhNX6hT9#NVP8;N>C9q8JOp=D zc24k!X`$Y-TF47_qXyA4D;V0sVP}hTkm$6%WuHzA7ct-Dogxk(ogwcLyHq<`sh+u)_!U`h5A;S znIN$y(8uay#`oX$RGc&GQ{{@;81?t0mFA47x$H=|Yuo6OrMGEO)HD<+WcpjPMs!)p!13q6Qc)KX!Yr) zb|jkdmdR&ruUT4H>~>gLFv#hmLBEZ5e4&{tt^Z^_ zX=ZL7_Zh^y4HqKV@YImqc6B_r;)=H*wGvU-za5A>4(N%H(@E&*LlpJziJmEP{ ztc?+RgiuMkZxbr9yxb0jop8ZF>d!9l;#A*>yPgmx`9^}x0%Uc{JDHg2e|#|H|!odsog5w^)x?v_GiYE&qRy3?7e%xp+*@v7tjfk}R#pbGRF zr31OobQ9tn#ePwEH)@Kx5(F@2gdpBQY$?ZCW5c0%a{B;fPJncu{8>Nw%DV46ak||D zM#`h&*Y1E}-v@2qEwfuyN=60SjvNdFkWoPGFV5La5Y03U&9xg}+vB96R0dfI{40QST)21Y(M>frH;*j* zaPKTWBMOL9IoSSFSze0YmW+%sP_%ms9m_wQs&XKA1`6ZT6>_BFYz2U5#I?ni_HF~< zceV}9_$DGZKZse(SFhhp+hpwwEb~2|K@l`4`L^gJPn7+V>OTzrQ!){x;^nioQOSwk z)iA84`%)+Rn{STBG{cg5`#Ev5fBKFcF}iJ$hvNV7bQWG!b>G()5qPALZUL1pK{}*S zq`SMjyG!X1q*H0>PH81B-F=CBk@nL0Zoa=U-hY5GIQN{r*P81y=kjQa`ueI;gcrX| z1T^qNpUcLqIUP5bZce7Bs=!6g4PH{Yu&v~%11%AHLb;+JMzzh^i3LMaw_24SmMD4V zlT8*$A~|~to1OIwBKtG`_7*#9xXODmd|DDw{Nhm zv2i|TKD1#sNT1K=)6LDzHfk);9)4}R1lJ@QjpYby0s0hRg}CRP+!!6(Tf_gMlrVf7 zy8!Pf2CbtSlbwdC6t}Q}=)Kc-9=sgFyQmc&#CoQGPB2b|&eu*Az3>O57AGQSqU83{ z$chS(#Z6B7SeB$}gKX3NW+AmL`uUQcqI480$%KW!Dp5R04(Pl-- zQ~8mDJbEVLw$>YOrKz(NS@0t3i7CrlWJ1{PAM}s^4oEbudYfql2Z-hqvK_>dgcUF* z+S&T%eM`oBBPKu!GLhxnMDLNC#)J4f*)01*n>JdFxp_S*qq2w^xW7qwc5L z{suZaOqNhGP%RRCnwtA$XsDnNcdKI!K5|htJOyK(2Az16MHabWetlq<8K0O4j)*`d z{XUj0s2O0myJxy1mPutb^`HI7Iu@?o_p7t2z*sr<4mFVnG}D?lg=VwGPCj#+;}QYY z^M(BI6=8$#d@&7we5Xp^gt;YmdC%g#Nbj@Ey?-DRxWC`LR#kF(SFkj2XKEDl`dQ_B zOXVhO&%m>@=t*`wUQ61jkaToEsT13^92aSdZ&)6k9}f0Qp+X!?HB0q@L0&>{vBOLj z6-1-KU4zcLXug&DvdYb4{zm1jXBD~lcz(PJdhxi9xwh;F5`mKCFDd{DRj3|H>=?h*{!@eoyrTK8KDrgGlx?@nerZF!tkS%`J> zH%PKGGA63SfTwEE`R1T$6A0{qRX&TqQFjW#8OY@e8%akPtb5mCH6V4{wn;s8GxmiPdlO_+#TXAdUX_dyUNuQw*gb&%S>t zddJmP?wERhomU=i2gjI}{c^6bR;+<*ljB@}_f7F$*3XB#dqq2@VxGfNLt;ys3A@dl zRvYIk|n&N zJ1$;UuIgUJYbz^NizMr^`RF0Wq9KSrz$&TZp*(-n*m$unqj*QC-tf~X1}lyzjcZD6 zp}>FPR85Z`)Q&PsiHSCxl1o}`y+cR>u1hIBj|KDJ!^6q>^$R;5Q(cjZty6lZ-iV!zBssQ3`zC8? z{_y!4X)z!s5d2cXa6{z#H<;_Lgs#q(c)&i|@`MPoUoNy`} zkw95gxJJ42ETJKvN@$S9j)U4YGbnWt%DMUt44X`nO|fmX_rthI*9fDSbh0KVOHP{A z*1h<>p}GFpv(J+VwlvZ%d@S2sP6Z|gz6(N?27YOlXk8f>`F(|JYkj77=@+!=v7?Dm z?UTpyoF& zSy%82m~G2Wskkg+DkO`meZWS<`3_%RFt((z{C?vn(ueL|P=MRj*hmC$x7xSaWm~0- zxn;MdE;)-~Tmxwnk7*|l*HsTp@q`-$@*RZkkpalLZCEVlRx72gl^Ck@JKg_1rNO#S z@a9$h?D_6UXw$CEy84D8>O8QuQZE!9K%*JLY2lM~U7eQ5szOu*!Ivp5C9$~oBfM|F zM1lW#mx1Z9*{@qr5ST&O&621Tvo3BWh5YvXS$^Mfe)ST;t0gP~?3!v8B64X(gNW1R zr0NU%J$V0EKnEVUb-PJ!d{0}!u3C)@l>RFoJ(Y~GmSl=FPDt>J6WcO@rq5&KyJr)r zW>QI^#H|az#af!#OY*x!KXYMGQ3y=L>&skM7Z>2D)5;zlVz|tJ=H&gxTND@=2R}NQ zE4aH(2FRVyW;BOMS5Qz;{vj-69w5Puht}5CZ)Mrp*is)HK)txBMyf#L^Elmn$ED6O zH#avdr>mP;ad>)jSDP&uevfP@$c5_TXSLaTe|KY!hSZd~q*|94$)hQsDTz5fGOML)QHOMmdj`2)kRpTaW5Y>wsOb0Vt`k7u6_X>PW6=TpK;Yocc^ zGkBC)IC(>^x{7v+Cn^*~qy=0E*^i@rm;Ai%m3yh5#^+WHc8Q+Qa}3<)lx3~F|H|5f z`1AUM)>~H6N5vtkIXlONhmV&wQ~nwJ4`|x^-XJ?WPe}P3p6$W+pRc=RqXEgGXGeI& z1>#-B{EB&!)O0{beL+oI#Ace|ag}t_ibtm1LO?&ECeYWu=pe}(V~0;o^JMQ7vg=LkeX?I&CTb0E_K9uwCXZnJ_rqg*x>d*k zskXsTMn%rf(+YKp@N}%YhkdER)k}_rjk1*9v@J2X6QO2Y>hdGlx`dXSTG*O#(p9c^ zwW+QgC(z3r?VL&od0>7G{LhR`MX7I$ulChQv%V27NI6wT<#L*88fx1U@nKdobZgb4 zgpjq~NX!QoP&gR9@JuNYy9TfU*HI;VO>q{*^Ps`$!Q2}4r4UOmF zRoZ*dH1sFb*VpF^jN`C)R_|@r9fFd^X&T`dO9uL7Pu|0brYa<%3nme`*0101s9|pKesHp)n>0qo=beU=xZKaaH{Pgqz;F0x!>Edj1_I%)UPRL-y zR+-|&^y_DOx^S|zePA_ibPzrI0mYukN#7*gvI3&2k4k;tR;gz&kCE)O7=C<;G!}p^+m-vV){_Vc(OV*) zzT!yz478snPZX#2f!G5ypPCyh_Bizxc_1b}?uVMQ!pt^7Dri&Cd6%6+ z?UqE0d!A{B3n%rszU83yH)0d;cVzffY>WPraioYNTj%E>y1K_C=vP=!cBf}Me*BQq z5CQpjDZ5|BHP-AH7>dsi9*GdaqxMkyrN%#hU9({+)p$_`qK~vrTUr?Y=|z6AcbAtx zMo>RhgEO`2R~p_QgZPBcI|5osJM$P<`Nosa)+D{|pF~*o>*#`C9j5 zY+pFe2dlAizLTaXGHB<1;HEECN_aI zaV24LbaM4&62VAzR?PFlgIfKzbOSV24U8mJ&{Tg3msUp&6}T3rnQppvKCLHj!?}QF z`wP1q0u*+RkJo7A7*!_~put9f@TxsHl;>S})r*jdChE|17g50)At^pW3g7vkM6<#u zS$squ4kyT)a<70Ds#+Q7>&J3gLVn}==fw)TZz%G!v9WPB^9?0fIK%ZpykCye9M)o;xIXF*6VGw*&UuUi9 zV^wPOa?=i`k`JaJyyIfAEZ=XLzd}}vulzxY(SJ*7RL3OiuJvp0<&N?HZwIMGbV6YU z%b-WJ>nl7K02wd1L>yv5*43e621FrH9m;;mN9X+^w`YexG9C!{q)b*PfgcY-1uneFSEWq;X zFSFI=mrhI6MfPY}j&dEso6=xeIJ5~G`NEagXFool@I;xlMZFR{vf{wdabo$u*6&@- z{P}Y9k;@rB`2-7eoApMo?R?u+h10PX**x6C?7KFk!6uTC7gxJal!bp3X<#JIg$5nc z<`X)vI}yq2>ACS!c!f{jvk@wUyH!RrFcQL4#%R_7^u?3(F+XXr-PcJWWk#*zQ#W%Y zEYLBpz&Fn(w}-|?@e}J|u|hTzETK)0jr6-}2^llNB2GQ-5geW{GdBG(tE_-gQc+Ry zTfTs3POt6yjl#@>@A-b>##N{P%@&1QrHCcwKXCJe4|MeWLl&2%t~B-st4%LQi*8vu3{MV2j1}L|CAY z>Q7aSH|yWz^)>ATcHPBBR2epL*hgrErp1vA$?}uaa=KP)m0sV@f)2afM(6nEn@3(_ zCss@>_q0A8^9*h8KhjOgG_HwY(oG5y;UT7Si2975It*5)1>V*j81aUejG|K5w!^;g zY^1)7kMnvMhB}r(a|fCDa#c2v$=|1x4HE;0U3q2eM~FbzPKK@1pV!}hbEK6+=(unT zRQdFkl!Bm8lZC^avMFmKev}gKa-mfF6~_AFONZjLDWFkA-VVREdV>Gr39CJY)h6<%GVGV4|6~(kZn6YbYbc$r=yKeyQ#mpqbJ= zN7)27Toz_|mVLm&2mz2Uqds<1@&RCW(8jlgkMEC{n%sTD=q7h@~hfm^iJdB4| z9UjLyDGdgvE#AS&pesi=1Irx6jzGv`jm0S0a=^_&^M37cLP|=1_g^WJ|0cl^8K2H& zSx|p!cfnYOTFm5x-e{_ws1Qi3-lO{Z8n}{xWtP3Se0o}q)MCOln0YcXjzD|G|Xw`mKE(@h}6lLO$0{1duAyn1#2(%Cq z)ik^dQ;C2wWF%(_!G#IA=RWP7X?d6BYcuwX=3^E1H-rW2*HYHyeKUNLnvGg*_ekL6 z=zWeG-G&?a#9YhbB+VH8vr|Qk26|P^s2cbJswQ zPeudbKS?ix`0%`az;DQmdzVaQR-|LxaJ*?o1TgRrXN-hYVS#=BB|+blWW#&HcY6L1 zY1|CgoHudBYW4yB6>6k8-w4OET;Cnm%|(#gKXdy2=0yA*7p2YI>H>b>1Q%O-`wwK@ zbGJ>iShPEbNAc(r14VJd?IXX?eFfwrPTzC8t(~2JG5f}ngWl+6rL_J7F{F<~^X;l? z!s^sis8-?2?6U8fKuP+nuCLD;>h8m)1VD|u@$rk~va5J1VWv>T!%f#iatcf>T!Gp$ z#-DFdOMFGaO6a$d8DXo9n5QYfo3KY_+`P8iYHo%JKCvLwUMGM^C|GG-&5~Le&&0EO zasv+yG1q74y&_@DdUP8S}aPk{WYDDQj~a@t+)T@tmCO(}DdUUf$h^IBjie)o)pzBgpjkG$yXJg0^p z@%G}@zH1!_5oFNFL|O1AtxXX$m6mDoQiAZ~_KQt)nXZ zxh{hXr#-sQiS%7683(F&@=%Kx1+o>@LN{l*JpM0YI8`_7D@Qm=ur9z5^CBvnGoHS}#+LPLDvzyIqFJ-zDC-s*k_kDq5+u>_dDm8@HrIk3CMdV@gWq z^Wwx%Z!jA9I-HQBOLpF=zjEjGZ;o8qyXbk$YbKuue-F&?D9%E==I`9k5pU>CPhK;= z6;hP@uzZ~LTjPxJ!~Y&NH-`xa?({gT_`gL9cI;diQy@s~3r$B4>BMKbLZo0Zq-*a9 z-GFolX3(sQrT=aL@%gojszd;GEaU?ODV+L|Ts~)7@LnTUFS5!wOR>BvmRc{)&xdf+ zLJZ5IimQxY>J<+uwORy9#N#)t7auKb^hVZrBP?zKfZ7M9DN5SfjO90`S0ryOERyLJ zQ!_n#VlncWP7jNOkI&x)CCL-%>d49{c%UckM|^g$aqO@iLylba5a#ifvx&God*%FL z;F!STy6=ay&|uCi?sXp*PLrsQRkSUJ34BIa*q|ovmfx8R0~8{5OrFB118Jql+WcH! z6AG5?CeE^<7CS~4i0whojitY>m&t>j=^D?tylc!#-1M&;nr|NA#oPdBaDl48spA(z z>^+`<$ZTpZu9|s@-|U&>6aIT-izk2gZhmRe7EXdz$1P0sfi&=L&v0ULGUWZsAgzL~c%9a%HATXcN9X9zrd6gTX4Uzz`v@MA zaZ^byNU8Y^s5SVwE%%>x++XiK;tyuTF-|UWY%+>dB0#-D1OCHR5%x*d&9wpjcEQqQ zP4rWDtGlA+v(a}rur;PxOHplw720p#=J>LMU zF#M)ULDGG3L}NaH|KDU5BFJv0^T>-@Va8{Cc|*oA@G~rn%i@LG{RhH6f-Kd3{s!CP z^{hqLsdn4QUL>MG0t40IBQP0JQ&TenS<;U&lW`RMAzpbfOkq(5zT(-TM+B<Qo&a13Gy_-=<{Mpdr{X{7&Q+IBLrzXkJu|Zei z_WHrrAyiB_AaKGSYI~1dkd@N#W-t59S^x$81MHs7Cs{`Q(jO{a_|&|rz>3`VtZ|N4 zu-o+m3D*+?VY3Lt*@N{}*B~`ZyEujTtlvD$-*mb;0v6?!YvI^deY`B({nRjjNLQ2X zlk79vNI_z-}4YE@?9G3YwO!I9{+uMcAEG>seu}+&O-i^+PI76R-P`0g# z1Fd}YJ%Fh%K(fmw8Rx4?OB0O+gmdA0a`N(01>|Y2t7~iQ)W~Jr#eZ*web3j|yF>qR zZmeh3M9a|OTDfX!YcJ$o)M+Ji?j*H272OVwi-Q5eU)QUR^JfW36fkra^#$rfwlO|) z^#*I^^1=Fd9n%Sh@cxC_Q{`kTB^MF1SK_VBF)xOBp<&8hYI7-7sV~>M7QaZ>lpz{X z78L_F?F63;Xz4i-^kMFuprH@<&xBkAwp#`hX3zyF>f3h3ogzytJ(CU&Tw`Gtx4xzG z%y&Zx3^+Y()pZWe@v4SxE{a==A%eoBOk_xQUB5fV=cSYYH|#;Y#=t3CPP; zTmeb1fc+SZZ5dzZt*_+S9Y_vykhBk&BR>@s6jJLNN^R0~oT~I%UhMAf3Jov5DxvM@ z=+M_FRMqt?^D4U9BG^I=?M`#-EDXx+@kbwbY~DbMu7~xwMW@@Oih~^s$ig%ZZefx> zZa?2{N=ek~#J@?D$imgc^AzsD&EWH+9+|O<^_A_C*AwV>^wyVxC$8}c#sM6ki-^NQ ziFs!+r%9*cB3P#@OM3nl{Gzd4x@ z^YGsEall(^qb$(yr{$SMR;)t4>c^yT=5cv(bygB#Z&IMg^{h5kc4CcnwPO{RWpr!N zR_hRKnQL?S>%FMV&W%G!PUdX<74fP~imf?rYmW1}SWqQdGOxS%7fS$~C5dTRx9xU5 zu$?+^VKUeg__o|S(AeTp*#s;{gi1Pi8df@?QOw8T?0#a9>LTq~f*e&_y&O*mZ0@QY z9OmJ-yri#b(F#XbFW@D&uFa!$1sG*^cSMSEHo|H-A%y}%>0VFVe z2ap<SJGol#^>cqSF!h9ndyOILPe;SWXyPq-F zX?_pzIsZ5PT_RI|=@&_~z~kX^HegV7)cShYmw?hU%5bRL@bHAliqTmwY&>ZCqkN-t zd>D}K4!;oHe`u3!4LNE@46YuKpwdbPBK}^Lb`jdXB85_XSMy^iF!1{0p&q74XQ@!V zus~s*#&Kb)G<_`UCwNXV7@u>^Ov1&bldD+E{QEMOh~;za-#B~}@_ zD!#Lb%1{~xK~wHrq0YyF9cZ>WeUp{AJN+@eMjbO5Q zaE38;-G>AvbFOKo*BYa;hW0@xHcI062)L6TOOn`As>YRF}qW?SHUr4&|HkWy~ByDqKgn1JGWw3{&zI{0+Z3% zkv@-#VMpal%}g!}TI4ziquLLT1Ku^ix-55vgL-X~!Y6G_O~hc~%jJP%VDy|}pgv?f z&ivi=6$89rl0ulW6PL+ zqK<%DxQu8Ih?fERD1sfR@Y%OyZyN1#+yzMb;Ae25YhXZ(l_m7>^~#6dMac!1A9 zj9NqPcQxQy4cHiz*UaE-e{k-b-^3weBksQY31x29X_rm4DAHC*KFE?zN9xFD$nJa* zj!y(kQlhwhT|&3I?d{GuBwU%n{IE@ogEZj@8nBl_R#8qv<~9rA^wvcsG07uec#0$% zbNd-V7H{LVbL~JZGX0HnDjZHtwwz5T9BUd#6%&$tq zGNndEK8G0EyjJ)*P#S*ysD`-06xweN+e%7H#S9IpO=5Xm$9J&MA-h-2UMD7cAZmnx zl{IA(B?f+5h5$jd7`jakDKjttgn|KC1#E4Z6D5fNmZlZGU5uI{rAzZ!<81H=4P1{o8{YN3XH! zt_NG%hVqPez(V`yLtWjufen7Hlwgm8bVd-(rltI*2k~6W<168OLaI$-z5s?I%wU1# zBWl#%EfSV~2a?*Xj}yRcl4<#hH4cRD#PD#B5%HW{c{T>>GWZ?3SyA@GB6Yq zbCs>Zzt2-V{R!pN!wc!y6|uZ`%yn)IAdRV^*$glpA*gH@-u%$l@|3Sd;92xVDD_dU zMYw2gFJj}zoRE*=ojpg;Qq{<9YqJijg;$wP;tb51RuZSUqmEeg=IqV%bVD#_VO`X* zkl+ffxGS2*hf%cH zUkhqIgILRK&>teZLP}dN%gQTzEJYBceo*|}1R6$^#FNS$^8rrWBGt&J8I(evhk6SF z*-Sq{?!)F}-15=I@Hrd}hw7^_Nj}Wpz<>%oy%%a48YaCFSeKx~kCV^j`BR3_()i0Y zKr2yY$*fWFUPWax??P2Qvsr6mrW(VNp1)2j|BX%hF824Lc{~aEq55wRlytxMeDx|p zbWJCdLlJEhJf?Q6vX?s348o)lOEhATbG@FmT`G^p+t&P3&{X1=x!lO{?0vupx)n(z zpGx12q3#@-BKFOW7T%{#keFr7^i|M^qA4Ujq(Al5)6*8?BN;-P8TX&_wRa38TyJgW za&pc4`zAbMh`&wxF{8WM{g!PwjzL8KB81yDV~+4UIv{|15-pNhpKoei%(abr#a}GU zOYezk(R*Vn9i5B{j$B^HoC*Q(t>e=xeBGdHII`IHJI%@m=_^r~6H`-Di6Dbz=}y&4 zn1edoB47|be3D=t2%<|%%%L_m>|FpK0|geke%k_X{TkCO9b>Gl|6H`+SrqU6`wtquE zX5|7urN4qJ#22QW&(GIQ;vjH33i17m#hK=F=lRj$h33X^y7uy)@Ue=X&x=hLr>!*` zvHnIQpVb7`wF$l#mymD`MLehF%hgDI)#FM&nWSFAMD58&h6dlKwWgso=!$dD#64pb z$tv;KgfkMyUAeHIX4;!Mbg`5IkSXik2 zA!y%|7fU=1^*4g>j=m|j+1FCnM|+C2@G$^jhAxL*Qc@^?_x83CzQ9lX&-Q!Of(dC( zEibw|>SBW`%I%{`)kz_k;%)`-@*s+02}H~TOEUHqnOL?Kszlv57X~c9E~#)CZdSpq9~i{R z!+<@WzVW5^Ps(R5-J7-5eHE)!USMNy&v}7$D05WVMRxJ>FsBPYHK8Cd*cXwB+<-Sc zl8ZaxudCA^GTF^#G-3tbm@-J+6ib?3QkeOa3P;U+906KW45dO=ZXJg6Jz{`(d}4Y- zCj7sVHMXNv1jP5cr7VtN1^nwBW1TGrGKRzO^Y<@cktE<;p!xyH{PO3!5)-p@*Bx9>j(2#EIpzv<4uM`aI~h+-*BUnnS?ymjMEm6!r;K%q5MSk_iF zD!O1vev9JdP-YDW`RZ>x{hKqlb3eVT{*{+;qON@|_BEGIKEJRsn|}@w5=KRi{oMR3 z@w|BKKGn?m&#oJs_Pyv4PE^wOOR6`j{h~)}z+S&b13|6y8d}&wHQkp0vqH>+wmrEn z25fKs&va50E}LZUBwV|APBFt%~5YTw=D zM2S%FO~h}iJGe!!FYj$?SH`6GzwbW|dyZf2wyUBCivC*jgGV<4xx)b4?5~}e$9Od? zvgw)igQm5CozYBlIrm(4RC9Y+K7y(&sCWTxZ*O1QFJw=a4-*x>*oAF~BfBjUyjMR5 zWohDrbeYMIUpc@!IRcx}H0%e7$_#_TVZQPV89wAT=MU`MhB#Vw%H$WE;kz~S`>;q9 zU0loZY?O$1 zI)BGOg~%t930s~FM^LlAnhIye)P7Zu*vZm-=cNRCTGl1oOnInsyj%Xu?42xEFG!mAqsClI zE+;*(P6(ME5Ec$Z71%3@6?9aHdtJr;UlV=MG=X421zKf0Q(rfk<^3I0`^?IHvhmuv;?gr$ptHSLTWDF!%z>kOYSmgKE4AICoNA zT_K3NpJ^|}5&Za+0B)ACc}s0oAU_9A_zmU4r)7Lcu94%D8-w{DiO;EzdN)+ruAF0| zA*5X4!BMU@<-$ObTo}jzN@bSoHHqnjr2PsPkpHbFXdjm$IIQM19zK@pNFI+)%|NR1 zL%x76YD!AV`9^zkV0(SDG-3#f`?nm03xnJ}zc!rwj6^_PC~>V*8g&O6-uVXGZJsc&o%7)F5+$aqN2K^fdvI+9~+k&Kun`2O%X4Fb}a zSv94c+G~aU3$UBaEaBm>?a1Wn-}dGFpvW8EjP}4Rq;S}@PfiE|R8ku$ng)ri8>I!p zxa$rqF|VTzmYRm0G3zWwlgNWmRk^o`rYU{MI*l-ZiN*u&FKa6!`cLKuZJCwnjN+Vf)$kf6awnosKpf1SL> zHd}pxJytjZlRweJLVjMf;c=2+8A6&qCZMm zA#OJPtBZ?F5+}@+&Crf3_-TVmxi|V%>D!bLk86Rwy**HT;nxj$4}c13AY))ant#z4 za6KJnJ2qLXcO-7HGQ52%mQ85gd2b8~3)6V_uGu6fG9nR`bMD(8oC!!VkSkj+7J~h7 z3LphY9w(cdytB>oe(F=6%P^Ma3sTGBVI#XRfK8K5E}s3+{8D&E(w7bif38dqNeZ|N z&0I3&eZm$4I|_UK-&tLI=qv>wAEed%E5Gz-k1oYSf1l_8C!R-UNCh{>$A1-R06hC( zy3fE`O$S6=gcsjZ1VPLP7t!$l2JVn3?S%uT8!nw{7h~y)mrHC;3+f`7_ei*+K}XN+ zn$aU_Bi06@0lf3$Bg>0SSr);ha!MK-ecYPudh1UzCrA(=RZ``Xuj^;5pEcoT4lA3m ze&eI5`3-Xj4C6s!R%AE^@en5(!FT0M51ShWB*9UB%b3@dupD3P-22nwUR3yZtG_=> zRxezi-9>0mlH+loto~^EN!>3+`uT+@!7z_xH$C+bqlU4+b~{>O;?D?u%-yD4Zd>lZ zhA;1~xY0UT7o0E%O3_bYb9@NVhx)oRQVyOFQrkcbQ<$E!%yoRfu?>?}foCpOpsD8)$7IIWXC3?63$$Jz?^CZzsoOJ?M88J=%_x+sV>5^q zJ;mv%@^)ZrA<;~;<(gFizLb;oH^^qg8$m}I4$Du#2DxIck<>SFXTu%`nT?+L`J?or zAP7Z7AV-ByA^4Sgwkq>qG%BwrK*21m5GqcGlnqr~jcCF7Ka9zvkCp2Gn=Vz|wn8e~ zFZy_D#6ePrn>~&yVe?vX;|g@>N(KgO$nG|C3Uv_093e*LSyIz4@jSE3z!qyfm|apP zPsHu^PO0YYky6|bBUuSC1D*O=0)Z6Lz-t-II&f~$_Y166N!jROhFulfJ_b*s}i_;PbC=EVKKg}xRjL%KyH`J^;s$smB< zjX7r0K+|RCFn=>)GG3E>=4Hzqe`H)Eb!7gN=%t{1f0`b76v9rn*4c{6Q=oa9AsGl3 zSU*K5gm!x>={i8FeL)-htF}~*ff3`pzwIR@{{eZd19Qw8!mkc_Lr)(HL<|@c3j8rs z3BY5IV{Lxh+vAO1&fIu~d|~xpAVg*c?lubitaQUbC_DM-=#K&DMNHqdg3_kVPgjb0 zktR1f?02HW^5Dl-1t0x9K%XV-_;y#am;sHtqwP?eB!-W(ndo-W3SG^c>cfo( zi2fG6H5Vj_Mk6iIC4BXoQC0!^mzQqc&dsclf5#vTD4mrKZYB~B%>S-;-{~i8>o>F{Qywo`JMK z&_fopaOG$@NOPrRTsW>#a0w<=f3#UF>tIAy+Ok)A5RK}+dwQiJu_st7N~I`WQ0`mt%YD}mtvEDcHj|pNWEl9JNG&@LQr2=w^YQl&kIyt?v<_6s*NA8K z=q}wP0vy`7NTR=u1l2a{iv0^a;!WCD-R~CKoL0ZYH@sbNouq!G|Em7;Ox!VQ?*lkK zK`sDk6k?&aG=nMwGZj9|FRHqN6{_9Uc&XuB_WL#S8>1Tj1W^x#`5R@7p58&5UnHhS z6L?eU1tTO+yX#yb7aFI=gZWexmQ>Y|R}B$BV{x)%T*>TTJtPOgp7MXM2I z9ikGluEG5ZmQ6C9gEiWb4O7{~-Rl;5-@!K<3e}%wNz>|zU8Nr=Vi97^`}}0(_(+aE zYVa%_1bE(nPqhb0fQvx?`CVP}TYX((o>vF)%c>XNBnbt~wqB$wm+;Xg_y;*!o3+*1 ziD=EWd9(o%!Q9G|a{mJI-~IZBxMWLrC45utY!1`hKIRDu_RCk+ztZ@XX1slT1OR{% z3W!2JpaCkWsDuDAR_kYbMfZ#0_gYe7z#m%tDV>&isu%<}gGym@#d9qMG0{Sn z{rI1@|BIrC7pHrJDq+72+TOgnxW#6~bB_uu=;$ZiNQ^>^NzNFZl!d_39w}TJ+stM% zl;lE?%$(m~0-D(;R>6$R4Lgaqxgs5n?r0?BG?&?LxCop-wNkMp?wY(?4n~@B+ym7fj4!VlZQP)#%z+(D52-(eoWX-?vl+C$% z{e0oe&)dW{Tf-nE>v6d!KmHpzo^*|-138yh$d5UfB&Pd!&Gw$qi81$WoCvp5Z*eOJ zgz;F7$UgsKBo_cfh4k_V)3nEFIT~z=$DP2kms^%Kf6ITFZ}In;8eUHSdbQ2FxqRQ*j7SVkp*tnSl9Amrk`ts> zgy)Y<dVA}iPy@~XL_{N>$D}_8S8P8& z3JmxPkcWnb60);FQ1wD0Dzg0w$eyeQBG~?Niz#IIFVn>pP-4;N?zb-22lkSbOh7r9I#v_dX0235uKZIaR^2D5mEl>hCkG) zozR&QJ8Iuq$Vw4tx#`~!J4YkC@zBQnesTwa8MjC>Uls7>td)u7B4cSoi`NPm$vP&{ z<|^5D@jV59!iS{$%kD?KHQl+i)cAARArs=);?;dW7!>c;cg{sfQVRUYMvhrDd?gQ- z-r;>$Q=8ow^=$SRG~Ey7u6(cfA2Lqi61li*8xCRd3bkOn2U= z*aM@*!6IxdHy*eE{@9k)|9CH~w@q$JhhooAlpDFVWwtPxZGlfrL}bzv_WUs~_FGgG z`svvj4GCrl=K$LPK!26h)d_jt(=YVPO@K34=Qj=!dHt8>^1;yMedAKJzd^i#4@v>O ze4&3VCbo1xR%Dn1CbeS}JyNJUKBrRQu*(S1=hS?IV{*?C4A9Aha zv9yE3VQ)aX5m12T8E;+tNXXe9AGN@9JbyY1X&?ZYb(-rf~T@jM!U^@RGIo33-fP! zPu95b*n5G2&>B3WzGragYxo*~tTCytSLMeE zw;y(C{7et7q39=jxxy}rcMl<0U(gS7PwP_dS-Kf$Uf#)8AMA;8Imi*)GH^(1&Zs!R zZ0+h31T2Pr;59gUwzTv4RS?B+o-4cI^-W6EILVs2O|t~?2mPFIF7d)(`27 zVYz{SCvKnXSZ#&DkQpSK`i#WWX8dltuk`uI@ud3%ryIry17EbdFc#2%=o3^Ux|&`* zdo4;Z=eUdB`2b&W-!=+$5y+3)>}@c5{zsX9jN`A7SyZP|MLR5nG~+4Zl{td8)p2`Q zdVf*(`2ficLo38|JXS%JI14RA;CdN2pDvxY>M?*fudro>{i%D7D^?DYniNNOpO&_ z5!;sYR8>^o!tcOmu)9CDep)%$9P5jz>~(lys1_7pRec4^y&F^BMZ#$`2@8kyIZh-J zMBNYgmbnzm{eIqz^MB*+`YrP9=X|*2=}?#Qg3UL0MVirb9l4@DiYtM^ z{tWgXPhfq7k>8&Gendx#lg+oE#2ny*LoHF048(wQko1rrQHjgx;(!aj5T5adI6u7x z42b0-sh4ohP1a6C)OdY1{)ORUo|uB`U1^4Y)U>Gj7I>-qff~!I+ob9QrnDeFkfOm{ z6x1q@W63TckMp_iUgq04{b=ek#%uIED60bCl%Q4TjcF zV+b{=oQ{V23#==98a*2kdf+g?NQi^uYbRxet~y3gbqI*ls4rj-NC$=CjCY;*IoG~W zD;n0!pD$oF#Fun>=xrEF@zZUuZvU>s@-X&zxy^eMppUl%+7#f4I#|n$X+$taHR7Yb zhUMTqx{9^``nvZIt{9yMLhPk9vPxCw*f7$>B^3-F2hEpqIEwop62trtj?18 zgc#ce)gBQ>*JVHZmPPZ|uicjRs)Rlk8+vZD%AEs8Ehaw-r(!23(wmA2&YB#;XP!rH+3=N1BA@XqZCRB((_;-e)o(2j zzJ#w}p>c|Txd?ms4~5a_xzrglW6BZb$xY{Z@(wyE-aUJuvd(^x?SH|fy3(ujV9@95 zkJR31-q-p4?Lfr)|HsldCoq2e|B&wb5}>I=mtYqQt?IGejx6#C!?e-rOm z1rQj?;TzxxLEKxwo*NesO9Ztb%WM7Jx#urggQv{_bxagPDs`Q)*q+H3pRB8?WPa-|>rP4}bsIYQrORmlqHpX_RsFzP-1)hMM_0 zV+)^)N9}P;J3S%c$=YkX-o_(UHjpu&giekyy^{MHLup|tD1h;Xi3~_5LG_wWNTz$( z&XQriD-osXgq-AziA}qs&w$Yt`)U74q#&oqS`Eetvfh`(#N5$GrqFSA1*_&ClwWfevIKz*fHI;BcA1 zQ~Z6l=T7N92v;4)4F1kwvDV)p#v-HHKZNACVK)y?O>zppzk#=m$=3cn55ecsTYmH5fA~M<*vIL$$skVt_&7G&!zdDdVVsh6SaG( z{w1Qf5;atgqi45&Tuvnsdih1$8x2ak(;?Xv>H_nc`-V|pdrA*WCCj@gaOSTW4OceeCm4X zzZw`&1`2j?DD>6P&9-CpvZhmz-}Cw+DIzM4RjkYP#aM92TSX=j>!fHKxD^PbBh-Z3 zbqnzZn)>?Tu{3GucD>6G#y&dnEw8G|{_^F5l-tTzle0rz2~2(Av)lb(2fG(4dWf!$ zcQUdJ&lwL`YLE*=X1quBjjzx3DJuSlj=8RFYy-6pp@hHHRQltcS=cvYPE*f?%KdHD z;7*;TxDwjf|Kp;8T$!s&vzRMZjy9&5TtM|TUmEFH8miJ5E{R0AB(4xHw`&}b3-~r| z2ygN&6+RnE80UD~=|`h*NUAD-w&S8u;33V2uf~;sO;+H#!f%}hW}**lwSq6^mUF9p z>Y7vSr)2rE0BQ2qbSje@ekmVd{E3k$fqEWE{#`&9uW>e5FYf%HTZ4_#G5k{-Mh^Fw60L~5Vl}7r#u#Mvqwo{u1 zy|hWc-6mtE4j`D~9vx`{F}N}iKL-fw>G za4JmmuoL3YKQnJLZw^M390(aD-KjdA57w5w{Q61ViP|hz3VFQ1rwK_rBeruK$Ke`M zB=}29yJvZIW8L_S{yY0-`NT$xh zal}zlc&_)lCZ^M0&^f~iPEA^*PinS30(m6fOO>Rx=!jGRI01vjjMis`gtRnPiLsQ? za!5E*LupN3aj~+yyBPd-u)sG77#$t`j4Sz#wSmFtuavlaOy(|ySVw{~jlakF{xqif z?Gsh+oi^`hP-m3fy!L@7Pse<_a^T{*>mO(J`J7~ridbz`wy)HFa{J>$u8G~fj0zh_ z-o2AINwyx8lZg=EuiQIF?39rlNP+uS8#|zM) z3f}l$-Zx8MI_uD0y)Te4_-Lpb-ce~nS7&!uiKCr7dVmR*=Fcj#Q$!wi=GkyDdCVuz zVJGVr0j9s8p>&`VnHQ)?dTe?;QK-@s`$kAsBL0|Qj9Z=2qYpwIEu=xWoN5fM9UMB4 zY}JcBhmkKQK-$DY&^z5KQc%d++WIRD$bwK)c=-ys@uH#d-$xJEk0h#4G3-@hFJ%)b z7xT>u(a+*W_|y0EG{S}I-P^}%`M>V7`0ziBpje22<^y92ca=@@JOw+hf~W@UCKxjTSw~4l8NP-KR$knpkwvv#NUM zn=C)kPhOypH{sEhnU8-&sS9UKZ~*t$;f;&?@d#yLLZLt6v-eQ5ajfo6=9eD)jzmv% zP2zxU+`s}7k%H%D6taKJR*Cr|fr(VIo;D0@*#w~RNbw0`EI{@-djZZJ3__gAf$By= z9JX`D0>mt?2JE^dkMFs-cyj!Qo?=*emqvC3ZO*6Zq3<87UY3*&&yxFFUbebSb(VHM zS|LtjI?wScI#YvrWxLlmH>~BD|M%(<>$mhG>*w!UMP|j~LrZ#4R3_QQSn-d5!UZp8 zZ!^O?<$EtrH+*uvKxUEPa^QP)px4f`V>G**o^5m3*|_)Z@NQyk@zNP@F$Z&7OQibW zrO#Eq9!yth^MY_;^UhywD9aZoSRFc66`_=WqEhgAZ`uaNL`|pV4eW-8BADHq8!ddq zpN|IRh|1L-1wufJSSJi@HzB@C7RK!lb&-W5Ys6t79HV76+%!io5}c!pFj~KzN604#XIq(ohC(bvB}(Qp+!)eu3&yHbiE^3|Ks1?ZgsLn@&a4Z)c#xXi77<>=Td}s9(>GT;V(LKdqxVH zH{%^36fm7oW-d2{cpAjqdqnHH4qHb`>E{}&l8LW9o;Lo+D;P>FG$-%$S%b+TJH&Tq zP-AewHD+yn4_x#m*>>6BCm30p`MW(!R3{j9G!voX+;e2aE?jYh%Ib)s9&n(_ zs(b3Ow*73nfh001u-j4*v}UCG4|1X39%CR*`et>^6Rc=&82^_&YQ0kM>w^Tw<-T*T zl%ym)5iE6qJ&(L;`9x+!hiLCNkPjUBHrtO|bYUo4*v>V-+0p8Ynf&n6V{_HXPyL2| zqh1!Kgyzn7y+rz;HiP=;uc`dUO~tH+I5A?w$xq7A)Z#=+{)Y^PFLP7wJD~n<)kN&r zSS8_Od4ALUxMH5!s45*@GfNXx@cpp;mTF+ZGm$1#B@2$l3MV4$AUdtyk>NM(S;E%( zA{ClceT_3)7y>?m5brK`ukFBa)7~7n;yf?=Wszr^L?b1+Jhd}-11MQ+4o*+;|JwfQ z8kKw^sc17b**_k(g%62o1}4d+g1gRWT2f*x{jH%MH{8sZ^$piTff5(}uoj^v!P3R! zuG;}WuOkQRboG7~=*MC|dGw1~X&7I_b8 z(e!6pB5P{9NqUqm#$sA@t#oEPV(tyUxa!MdJ7t2r2S@K>^4trOEAJfNWco8pr%^?2 ztaP?R+EW=JdG4$!x7G_Dh_4?tXR~GS+`St7%`pY4XOBlX-&uW z0_Z=Z)rrZ;++*e1b-M^!6iBM7>gq%mcGg_daz2N`r&|e4NDBez_=#i*0Sc^7TNu=& zi7A+0mw3+LxjX>3BdqK>H(4W1C@uU4e?T2`*LNrHu4_~m3b*}kz4EQ9tnscWnxGSi{UIZwUtLPT_ z6ubC2YfNV4HkJ>eeVkHy=`q&qym)Ho@~^d~Z4e2Q2Xm3S`PTk?lk~?kzi{kDl#&h& zlkUZf#%-%(4Ze2X5mMwJ%Kns((4njGchuGJJFoMXm05fwhFXMGICQ!m#>B!tWG-AC z-QM0_NZEe+BmNsss(uv+ye+mBw{$$GgaD~m;0(pqt0V3!!~V#|2Eu%KB_#?XJw~C|RP-5gUXHEN zFc{Rfb+-+7XD>UG29nv#ICVt>)jXaGE)jc_=s3n5=tFCD&i;Q{)ZSsS<=K1W0c6BbAUotK?%syS&cdg0u874qg>J^P z-9{`rr0xnS9w7KNze8};SoG)YOVgMx2MUnw(fa53ao zu8@KGP;= z5xAt(DKjoIc5MB}GjVVg->?VpRy?TfVcqSL!3wk^7~?FbEkt?b{)c`rd-eITE=}Eu z9}p(Z-}{F)Rq-g3N7>5^)*FH$SB6pOB^6^v#N5F<4ke8bIH|ECD@(GNk{^~*$TAln zB`aq6MK3+=oTb+{9d^d7kdItOq1m0RyoX=17SGrn8g-Sk!=0IVsvO1YBef8Hb?MDxJsf-s+bKF||u>}G!ydg<$~8N3t;Z|3+FSlCDCkaY9I`3fsR z$t+tzK#FO4sK>=a$j4(YN^E1$z;Ongme`e*SDkaX7Lif6g=@`WJl*oP5E$=}*##YS zYuI)2Pw>U3eU z%!VU9r{IQUM!4(K27N;|O`0D+($tctJZJdG8f<+Tu4{Uk?@$bz55;+-x^X2fhy*zB zcU0Djr#`#+gc*$AQ!u|iz?^x~lMs<3Eq)m3QOBcb(T9f-gG-^yOgu5 zr+H*xrDo?h#ym`z*mW*r>EiHRINz;~ZFeZSOck&Bu8g{qL<+hIip!l{;{Kki6rXl_ z9;A11uhF32uEryk4K)*#CNHgOZd%gy7yD$)dIRh5IqE%kPiHhs1oSU~QmgkWpgDuA zOCv=bHj5OdfRh-8dH_(~fd~uh)Nj^`eYtWci=m=_K0b-Uh^`6FZxT_RU!PjpbrxE3 zt@r18jIr}nGi-1@?TnW)yU~{C9pP}jf{WoJk5}dX#Ru(6p9*-wHOAfYYbWy`-*9!Z zu2?>;X(tT4&^xSG9u|_rsV0J9U-L%n?UOrL^kZt1-VrFumcA7sj2VA2htbOyO~81V-=8SDrbMg{q@(cUz&!7k>JOhh02^( zkn6Nyp&lE1drYxM&jl@kXEg302E&!p;f{^nWIf}0;}IVPt27r+-+?r&<6btM{w+a9 zu}6;{4U4WtmvhwYBEPU!*166%Yu*f9<_m% zF3>?{)<%S#U0Ay>BZ%*!kW}mD^Q~BAE#Dwg+yGuL-Ds_ImbTw2*z-=i)=QR0ZQ6#Z z;qOn_PdX*`Zd*=n?V%M_PIzN*;qj513C`FLjhAp4(e=uoF_GXJrk%Ha-!NR;L|hlW zlbJaX@;b-)qpZbM^HRMhgu@U)cj{zupN6BM4R&i!^NKed9&~UhcPcea#c1cM&maTC zcCQ>i=6H8!=Mqi$Gy2CcI51zd613dNk=8%l$W zERS+d!mQYhxr|mLbua`*x=?5$^y&?B#@VC#c^Ri&%Uk-FTb83@#*L~-P#+WzvN)mz zOmm(t55DP#2y2nKeKD=z&TwFm9Mv+DNry^(PM?0}L9-S9*w(!>oVjN zzkE8@|MKKNI>5N2<~krI)uH!pxkj#ikNmpSp zF%@BAnHN9JT|`%27H)8Jg zz<=1kZPEqcQ$MLVxKTA80DNQ`@P8Ph;QS)u?#b7Y>K1mivui^#u;9KWUszZGtT)t$ zf>?*1oa8eRgFGCA0@L1@R>hvxIU9%1*z7qy=l9EP!^@LPU(Y>{DYK3x^nbu*Tb#vH zQ+vzeX9eqhT`3(xD=2vj?w8TgLaRK*hAN0zY!1De3Tt7A2%}=jh|sO`@iHgIws9EG zoWUwN$`jL9$3(#q+@`f?Eb#k_tBs<=gs-~5hmmLJpK6So>=2@EZQejRqlKKIEVb0> zrNfi{Mj4qZ@vH;PYHEYH9@XDmdMJ=Ys|=Gtx)>O4c?El>%l@n>dAk{Klvj!U!-s;2 zVBz76h~KIAIJ^RGiUUJg!Pb^r7hEI+G~Al1zQ_A0yOA%1e#dicPYZXWqbZ;e*}^U~ z&zU$i;mK2SV>Knj`tv8_U*bi$Vt04B*3eh23xAB>5BGhY#MxD<*r`j=You)hq3-qmueO<)rzjaZ!L3zHMCYYfi>5iZbujekTA!D4(|fxd;jAw*rY)(` zeJXK`3Oe8R6`zbfP5<9u%qPq5>{unkhi zz{cJVpJ@ls=OWz&7Z{5lGAZl zRuuyDR(ZSV^LH^WMl}<^UtQ;zyYn$WYkgv-^;v$bGrj)x9Bx*Ug3d6*6UjHFXLb8R zG2yR|!>m|sPbQB1vONqYP`liRv{>`&Qpb^M9eVd7u{aZWb~GW2=#lsTmFz%DMHF&> z6MsW-)y|nHar7o=n1=6Xsuus6Ki(#tKN~Ws*kiv76P|UNxQQnT)mjJjawLa5hQx(4 z`};P4&dt^_lmw-oV^qirJ@fm``>(LJc&yhzaNgS`?i*#4w|@t(s9LA`(V$v7WKWx< zsph61$p`DIOfaASKrO`Sn(tuy%*J5b)01T(OE}kGoT^^|;3GVQ85K;<1Q4UJw6s^> zXc#Pb`P|kgqrjbV4+P!%ri=A&uUxOt{6siHMdH<*rBT1lRH!dJI%0YlI01nOpV=wr zCh^a`RE5LeT6fir6>jR3@JOZ^Z)=_^a;TmiLMqB+>ZrWfy7t2RLE%})nfM2hjBTN( zW-gQ3L)C6R|FPt23*v?1e|LSB&U1=^*VGw%mU<2C&)Ajjiz}=275M#uTnC%Fq}#U{ zHm;$B9lL!^HRl^2!U)sa#?c3^R(k zv97g8D>eYQlNb}3M0!IWpq&7xg(8d?G7uys{!TxMRC35Ldg1IWgcu?J1)K&j<2k8t zfKfIS7el{8bR6TozJ3F(va{ zR_DB%(i?w&;5;|J5X-ZY=vX28p<;FB`6H?;3gk?&?9m*mU$$qn-t^5nTAuEQu8pCG z{g;rAFZeP<`zI^E@3?SHJ{MFAgiru^5EbZK{#zu=m`1F~d_e%ocq0oeiK$~~SNIAx zP|Zh=uD0$t=@>CQ?weo@lfh9*`*XQ6KY8 zfQ#1*to_hl{IA9Dbcnp{fUyHcFo zh4Np+4>O!CI}^<|C^Pm8!kGA1R^F5`%OR6%Sn`M(bT!h$| zDU*$?>SVdtDT@lO@y3a1UaCsRT<$)Q1~sRK5hEbqm!KDTufCU`YRpu3GPNv9#-yNp z>qj{qtM&+{|8CkTbo_iNN~d4+hz6Wi0B5}^oQsocnU)Y6>jW2S@FfPa?-Cf8HE&Ai zx~;lodSd!JPF9E{;nHjk>##s4MmiyKdzosF!caMBI{P<{+@2xCNwm{B z!kw&Q_VD%ozEG31s4n;3G~FbU%~;`+WnIhOOx`Oh_gxs zu?XK^m9>Me4d^HAL(`Rs?LmvF{ET>oRCjN0CoCaQ13J29fbYC{4+Bu4E_8=@Edd@b zEUo4cE7rxWiXr1x$WYFAGFU_^X}G&rF~2K?9Ky(bE97OU(tT=jYdgu8x9WOmRrEoP z(KXA6_eZ8q;0*3LU+x&LGvUHuVdFj?hPOUeHrAiW%Sxa_6Skcsr>Motc8pmTYCm&$ zn0fZw*2*`IVxbCD`BRq2(!6OLmf&L%Z;L4}M>qRE3v% z3ok+H)ycI(E#D9HA>2mTHPY`R@V(wfRGDWGh=nk@8+2h1Bl{Q#_8v1si-e2e4m8^y zZua_}3K{#IxUP&Z7`puM?PUwof=10Uyb!GVr0h$Oln|ei7N_l$I;mOIja2ZATchtWWWd5UdJP9U!V&HK`$b9^ z8J_QYs{U@~G-4Ez9aY6Ti6i-^fkp@}@)}m3N4Rxt*}d?t;uMRmG5qqqzP_FrRLpk3 z32N%-1VvM@;)Z2z}i?hmNWVZ>L&OR(3a&kzh2PDH*%QSLk194JjNJ)9 zKTTq>-diCw!K z0T6QsOT%5yGwHu--m%4&DPYkQ8ybof7Os6Bq}{zS$TDA_1lbz zn@FjETTTw+zxE-EKKZzba=H=*7b%H~Cy1a1i&tXxogeY5ux#w5C9wD@4VgXYtJjm5 z@`jUcD;bvg(z>2Q*DR=h3*RTgz4kdV%RW7*_F~s8yF6K#d#z}da6;+bS8Z7^|iJycs>lLtUBH`VnuF$*zWS# zrk?dDoQFk4fYVF9#iH4dHe||NEZ^x*7Z(F6&MI=+gGhJUO@3D47A5#Irg038<=aDJ zp4P#(YYqECfDFp7?`dt;87be^{Pk}=t7B33D)hi+FSc@WtNDCSen*=YinyB z11sk~RC0iG0bg#-pZ+W#2-*K55=gEuE#X;23R>iU`qUPCUAx6?cZOw99(1WeM3#UfC{y~Vw z^9ylVxw*qDXV)AiqDUVmjy$J#SqQMyDI3vi{xCxdc5(Ul&rDM6 z#hjZz(WUu0xGdJRQ+3O^dwLIlX~2U|=EkV}f3>)iRlgIcvLrCR7+D4-WTlG zAyd6(q!y8kwDxYb@NIvSoGkh8oBpT|&t=e&I3kRx{jiXm55;rP)SGlR#UXu0bB`wN z2Y-L8V`tojXE-Xla{4X@wdHwY$l5*onW0o zNEG$jy+6p*F>2}HO)*y{X|a5-9nXH${>|K3j*+6{hr&1YAF8V}(IN{3uxq+1q8LgnFp_vB4$6M0Q1S7X3 zvfuCCy@T@1izL0*#dFce9}|q<(qe#uhln4E%?KeDx=+mTUEaPGF($xDnf`k9%TBq7 zLC7(j`e^n-&LrmN3(ZfXzT{V#@Cy@<@{@SznB2xO%oSUVR!5-Sa&+KI_Qg?K`q45I zQRtAL8XB6!upf48w|_flCYYFcMa0IbU&Y5cQ~f_lzOQqXG(~hxCwyf1OvKpWoIJW= zL;&HZ`K3A4PmwSN(U=H2lHR$b^kL&;E`2vHA995={GKiC zm_+U5?d^-CDM{QZ=2dxK7U;JxOU2km6W;&Nh`rdHHKW86n&V+}giCGt;6Eq2^n7_A zgI8D{@!M9s&zUpQU5O$o2zX$16eqcETfp*tUF~A z-_7n0Y!1C!>IynS%IBS=mBLFDz)0aTjWCl8zaImLf|xfKfS# zM!$rB(~k{rxT=tdOfSSb1*x+rILb@W4po$1a>;?l6_`73R={XS8eYsx9Ws&IcG33d zq^obwbZr%<(9lVwr^urfp_s26SQVD*<3OfCF$=OF+ z>PWlY|b?c5R;OVRb!`zX_RB_I2a_TPhS zL;A`ULL@0Hj`X!6$q^(81b;D+=;uBWozxf7tT2b*A@m<(&jnhD3#e2&A)m2&In`3_ za&c>(R$$B~)MzCIIeSugt=twB}C&&6(zfCk94u##h8xu2D#Y7W? zv7r?t?G1A%BeQ31sTo{VWM$dVdPs%Ve>mA|_AuNd$@Rk@WtXX*9@+mj9q}e(Gibxj zUaH?1sq?}YH(Y$1>G`yXiA6?Xr_REw-V#u2%URxw*Kwydp>c*R8N_JA6HwR62)qwC%<8 zuh&K&?{0uO0U!`l^nS|^67>Q^LVxJs*&d|!TC9+|`_pqUFcA=A1Dpv1o(%6%xh?XWV8NQhuIas_&JbmI{ZPP4p=L^ci z;YoPVpLDBNV6{HqHZzCp&?BO(bu+a6jV|S77V*4XBBE69_n5EWE>NbFtPMP8gK+c9 zGTc_712$3QS-jnyyUho{SQ7vZ2Tm0gS`64Wta?(KAs2<1e^vlRa+-|yS2J|TnbG3s z3N$^0Bqv{lc1npX32b;fkqj0;qSjnVdvU&kP^+>dNlq=~R3x$fMbU-Usug{^Mr{jb z+5=+$K}OR^pUV{Jvkp$a>!!lcevF;XplfEPF&bLC;6DG|C-99>FOQ<8dDEZs_bT-` zPYr~$8^4i6F33rRE||j5kl<9+)q7yvE#dWm*KI=%;b@+s?*Y1P_`;L*P|#2(m+yZx8*zM?gZY)0UEwr@19S3BF%Un)wbNQ zrn64II`&07Vi)W=`1}n!Z&N%GqAk*o6nTYp>E^BXId|36h#T0t6?(hUzd55Vl$&&p z*Qd@a!3?RsS?Ml$L7sQ2F~nSt>FVS+!?Mw&y?v07#J(~d;ZUHbvRxw1q6pu)D4ms8 zUlf*iFXlJqi+{iUl}v$(Qu#r4@cdGBB{Zbj+@P|j)uB205B0QD;ES^dB0RRdp_@70 zPV;4!g=@@$S9HhhURl0T-B2!gzF)!(%S=6UkS|Gj(clD&B2<$9`VBS>^35Jd+@V`t zM;k;G*pNiB$*}^t=%zF{zr{3Np<4$86OX+K_fq>YQDzx08dq0WEOe$egZZPh?RLo? zpvmCEZGpe@PSW;n3Fb-B{!f30+s#N+ak=4?*lcTXb@TiK^IFSGtZWO-M=6Aka&vZ` zfD&tJ#XXdmy+SfIhTbG>{b{+dyQ-`lhuNLq*zWZ?#hILV3|dMAt?i6@ z#9o2dOedK06xmr;Cvf{kk07`CFJN51Wzl>d5zTN30T5jd(Q)mZdv6B*ATNy+cVnpS zg@Y=uV0><~Yq}n~`+8bFZlpN4yShTeMQ=7+ofA|Rz0al!x1G^C5iFTq$p&8{EVS^x zKR`9$YE5JRo*5cmxmPu%*Z7{Y!`E}HK;G|ga@{KW#jb&jcRF-v~#tnp3tpingGgG(+`e4Zi=+quT+gV^1D)-)gfDHQ4e zIt}(0uQN$6EK_+Dw~@i=NBoUvj`?u$E3XcH)7Mf@=C?eE$K7(Q2j*#-Nn-uVKy;7zmM zgeHqJSHo{lQd-Oki+~8(BuInFwW3J!fb3yL1m}Oj;ehj%JQja6 z*AX2klV`J&RV0N|r82jXB1nxAXXb(|mX5B`6@K_r;4+?}^J28{i;2#aP1mSg0m>## z3T&Sq^fY~p5d!heGw(=MTbmlXKLxNS))Zb|lP+n2telduk9+0(auEg z95>a)Y5%(%FJt1f$#edFHI(iw4o}cx@Tk_jD)yU&s zqt(4*in4I*d#%qn1@Kf$B$*kjlIcGI4&eyW7?P~lmY@)vr3I<{HQWJ9Ka?4H-x-Uj+=g=a|zb2Y4Kdh`%tJK_WjgaKcZ z>}TxzZ`O~;(!8cSgZ-h@3%LYcMeRCDsFfJ@%%hL1U@d0Lecd>bwZyYYobW{D9{_mvN-v127@QFwOLoK^|)$E&Vyu9>e*V zHjf0k>x``o86l=;jn#J*12P8!^coa53Q^?wpJpA;qN@2ID2Ts)&GEED)rmk=IpYqWIEN*i)f`7Ke?}P^`A~_ZRszw(^3U(+{fHM|j zG}AE$Y0IB2o?sCnYO5Pwxma-#k9l2FW%H*3gypqhhb05{-A^(#1ze;QvZ3cC4^g`}yA zr_M@e-#@#URjr_uvflUC4*Rm#YNH)|~&ya20bDW|*y4wJu@j0CU=eJwQb>)99T>RdSdq|9RpRLC+3VNR16L%t4aiLLCU%uk4^H=(7C%$j@l1KbWH?WWXyqAsBP!l&MeY0bh^DR#5 z^tOZI{2L=bfTZBx=dWiSH!{$eh^^djzB0~bDQeQ>G zD=WpsIx*d&&Ry0E#mKdNCWqUh3{b?gH2Rfn?^}kfLoN%-n{>&#saYjUi60$)k-E<` z*dLoep4xXETz@um+NP_l(dW8KbemB(gNa_p?@F$c=xJWfM^Z<78NgXZ5cdH3Tn^#{ zX+WGoJQ0`qg)u3X_5hG=wk-1(q+^72u>=MVx>gt{7CvnU5>sXs6p%puqbZyP!L~=c zt6$#V@$%Z2WP|H+ySTFy?Wq1o(V5^Vh)2+|1_|06j*fC3#aNG)a0 zdbA?kn}Qb&08*sHW9y4mFY99wRpebM=*EuKgJU}ctRO)?Q%@^$Z|M}xR<}~?X5W9+ zT9%@oH~U5+4P;hk4(PiPU@ z9+9({A&5;$7qa9l-%oz~HUJ9G5D2|qg)J=|uihnmS0wREP98L$tC5a0n1(?bY6vV< z!DFj%bqI9^ zj643U;!lDJLC$-0uxVUkr`5ED_DS9PS@PW_Gt9mVtO00TuV6l{fH8*C@lN&i8>;(gETC)s>r;`|c{ z%)i4I6hV+rv$8lOFe!C+1n49RB-i0pUuFYjcO8Uk0i^7%nZH{fq>#lS24db2RcS|5 zh$Eh4FP?(E6T^9oW!|-$Vw-#(x4QZ?SZ?$4%7<)~-j>^bZ(d9{#-MtmIKtd3(A$z{L;6ch-_t%SP)lI zeTHkQpoxi2Oj2XW;wM?25dgkmqX~GU_<=wDUwnE}Bp^s`yHLdwsT3d@t>pxxitrFZ zc7l{9aQ&VTdbx|m=$gYPaSXUa`%x1541-VKx_A?#qHFD^-EFmWr>lmY+g$1SUf#r$ z92^yCP&ihLpn7UN7vH;3>?yup2>hm9YB-rTmRda9B7E@KqKV`F6HT%1p6ymyFRHux zR_fWyPOMhx{=u6lOB$}22$S{?t{QKn44f~2t_Kn zROYkePq-arjek(i&bM5SZN!mgu zzSClrKXP+_a#I;TI`GC#$#+1$ebft>^32YbT&YOL9&ogQ1#cSKsoLOqBM5inhn$?? z)bwu*N0&(Yxw*NYSf9eok)4x61mz77gu%Dx&hEA-53`$T31Wa66DYf#lDhgpPo3!r z*6PJnqt6zmp{9m0l2OUWM+V@d*ThsPu3i^0k)A3#hkD8C8lGjuU!2zQI-iZ2w1p_z zC#3!Cv53slneu(ZTgt|N1_gKD#nAjbo*0d9h2PsW&WU%yx!KOCzwd&`por5wUT*Fd zAT2CBUFy&00&CQxM}sePu&;d6@_!JV{4{|=1aaTv>SNETTBsB>Fj&AaMC8K%{2Tcj znAZa*ORSexfp!;L-QGKr_d8A_^lU1S{lfBqAWv5KyHN!1gptwQXS$taxg+90NGI|^ z?y|!KTwLd1GRs}onT>nN;SxQsC#;DYTmJWI;CorT?AyL?BiNAh>2~BW?{T*6!yUu> zKUm2J%t>ENP0ETz>xjZbZ#GOF2h8$68S=jH-MB#x1QewE4e*8}hF*&wK@J<7A|!|` zZPsG4BKeg!TMu?cgwN&ND#rvS8*3sFi_I_Y>&E}n32i96luz&d+iFNIM45D_y8X4< z(>1le;CbpPpK@p7t{4rL(JPiSJA*NK=DHsI(dXfhwkUm-T>cuI$#mp=r~_T9v@;rd z)q0zoiW)Lr7&=)&maC5_(Bx|VBr3KJkgQ%=Q(Q>83Ug<@&BZDXbKXfJ?v<eG>|A@7H|xEjpz76uk(M!j*2&JedpQVPCw)2>8%+B@hrn43yNBebmRF=qT#l9 zYz)Y@_uU)^CyxqsqUAH?0&nf)rg@Q+G#+w8nN>>(A+JLoUPD=#P}Wh-lPDGXZiS(P zgNyd@=X1geGl{T-s+#7m)7Ox2^|!IwvON{F=zPCcTz#JVtqK&EEkF z+Gc6AAT>jtBtH+&JI;GZh+d-QLv^*@qc=})m^MsE9*P)m4jgj zuKx_^V0PFg+4HU()y~X&gk|?FR(@aHg(G9`eyZYjwO+N~sF)b=^QUuP`Dt`CerKmR zzUY3_e|`4hmM`K`XQD!mt8JlyNeF`Ag_;rGP_t&mdaS&8VcQgFc1iuZA_-X&^$p7_ zGcLaNI*1xbGZ664bf&U87Q*vJ4s-iU;z(B>YSL&-$BN}^%GeNkbke(Vjo*R`a45^Wwrqr<65~k)T!{GxzOiO_oT@_IW6(v zK_@}^=|on}x!&wXt*=&ZZwV@OF8uF=I-%KDQcl9_;A1XoWP9YloVqtCVxGtqK521$ zEM3V9Mv+IhmI@$q8tB)dj{85KB!Y)Zsn1mweUpxdCMEa72h;vMt$)@aT_e{xG7=Bq zT))Y-pf}3Xks>sEXw&Gr{HPv+|6gijG0Z}i-r&0_jT!v}?xL=L8%HGO`*h&I2_()| zcofV$ulejaC3`SRWy50++!vX%(Xp{s*-k*wMUMtHQB@r_XQ|cG#qoVl;-cGDKj5fo z%DMiVw!lDx*H~wu*tz)R>(zifj1p_%ok30-8j7dcgcg<^xQ9oJP7!C$`S^934YQhi z*zCRj6Z+sJJ(^AK>8~C*KGzK}>!27-adlI9Hmi-!0b(mkd37^qvqE^yCu?5n_k%imH=AWb6wgFvgiOi+i%AD`rJG{ND}2|s+4ZDKqlRq%f0&7k1;c+>bIJu zD_*6;avdp05}>1uii&zp;dS{z*|m&9vt02?RP!_8Frg4U$`#L9%iE-`;nBChYr2%K zolb%A$@hRNo$Zw6J|@$Y{Yjdu-{IX7I*-6rQ6X-czt%Pt1vg;FChK=Tgc|`UDrYWQ@t`GIEbKhA&dCorJbWtabLfH? zdl2o?Sr1t*Dk_$RPdJEOym-+G9I_HXbE*92G55c<0(3G))88m3@CqPZTlJcxd)5zA z0Rx?YaJcLCq0CMqFj>Dwh)%8lPN@8Gm1@`o3sH=AL@Rly1CMhfHQ;=i4~}j|Gw&pyG|l745D8B|Lj5&= zvNu5ebbq7_ya2~4K3nuAuewU4U1+DOQHQsQQ07dE>%#wl@QcX)K{|?rF(%;+nKWBrY z2l|!M_#)d|EA7Y7{r#6akH~`mWaMJ*Vg3Be(5mslNq; zBZFKRYd7+e2>xrASpC&ZDQ2wPZ^q+zEX?}2+|SRwAs6Wr%7^{V&sI~lYjU2rR>?+7 zIF$#jfGe4((AV;^ovyKvN~ce_$_30rk-=6SH{DQN%rJo?`+}lT3_LxpKB*@QUoU3I zwXn?oQOc2=;%p3|;*+DjA9rPHi$8sumw-J3PJ>)d{0crNux3)CBl^RF3eZt6Z|yj( zmN7=qT~vBtV88@)JZWMX%Z~c(!WvIqZ#O@KYN>F-CErB))Y~%GTegW?C;H5_togiS zO}OG%=&a=^nxAVPw~*B(GlRwjZ&;r;9*j-#v!|HMK$}2u&V7U(e!?`XN*?BXJ18WB z8i}m&>QuDYlKN55k_Ds3zr(KRr$=>=lm&h8pZo{%u=luRRcq`zptE(W%0jR=uJpD- zrnpWDtf(KGA!L}9(F#(8I~on$$M~)tiKXNO7)C}$Xh&)XQW{b!jkMiwSr~414^QI8y!3OLt+lR5xEhC-7{;~Si?o%6{CsTFCOisdFK6{30*6)RYGTtlIWD>9Zn(* zf+eUwC-*|OC1~ zbPiJvdNdiBgl_T|awKS}+C${%XdUp5BnPDO_3PKa6s#pbD{e;kRy^oMiyaBr@L^j9E>uHI|4L*iY z2gUc|!l-l(CsKD#weITywxvN0CeI8gDVU2vYG5QM#saIO1(iG{>ALjL&~4=4Z+7Y$%>(D8)){R^BW`5shA0O-<5eRZs?tgMEK z)PijW0R%7Ktxl&(4orJ2o`A{d3<#H?`ahoDG9b$IeH*5wlrHHKq(kXahDJ&{q$H(> zmKI?MK|;DDq`OO`q`SMjq#NFA_V<6E{j%S7nVI`O<2a94csFukWkKLvxsPo}Q~~{d2g` z2#nh$gP*l-IQ0wx0@b&G769VZhu8pw77jmif%Nb8enE@=Zp(IU1qG~%ii);He#TEC z;HE`GcbvJE-ZJJiWx$Eu@R<{15}^EdTwS{7C196gtV0lrjkX+ohP!n1>(sY-ac10S zNzx;oWUr{@i{oh{2Nxd_{IkPde2jp4->qpWj77EysV!;qr&xKYn5W+QdfPa{d`tt#076Kh6FB)HHjp)+=!9@WKg} zNZ;|a)W7k=j!~N_W9S4ofD|kugf>dyER>GTzxu~ondnlrlRI{)Qc8!+AvP52$O!{|&B>#`{r0D#Oa-9U`*{Y>ohFF|RiA6eW{U^~sYeV?cNteV8CU(JH%hHm*PLHS#VZ{Le4r<0 zVi9Rwrp>B0qmHhy7N5mLCS9?75OhO+{X$BFOY;+;)9#&S{Vqoa#284@U!rZeljBrc zN($Rtl_4lt@V-)1lx0l|N9LsLj0Qd4y?e@MGwoNq}@E+HnSoxGQ{Q3BYsom?fv#qn+57hSv}%lLwPmWS_uy#4zl z$$%NA@Rn{9$Ak3Lxn9Tf=BU3bqXg?S;87nka)Q)s@2TYw`5R-tVtd-SYR*fmZ%jV_UO4&@Tt*PlPyMq&Ug^!xP0BLV`D6|2`w7(AI zIy;E)^OL|SHo|Tkb|BrhKEJ4}3>VB6V7GO z2C(FK4ZO+xkk4>vKUnDrX7chKZ|0!U$B@vcEVPNIN<*+Pd#s{tyZ5(u+apAo;C%){ zhK5S1uhA#XBUEBxZf*i1owO^>pTZY@z?tbz4|Aw|2|qr!IhIa^fxWkT`R=miQM912 zaAP0(tuc+u9CKV#NL-v6G$Ka3hMgDiRm7SF&(BLVn{gG(MY&8Hdw>NeHV=%Mx1}W8_(p--z#29+Qp70OH z$cicnu=Oabj9oalyd6+4S@g!#;Dtpg9VjUxW~(pH&brI)fFtJj6@+R#drM2dxr0sk z86FU$#zV|TGNtNv3ku<8nu3=pz>2pr2`~;k0kwpl$}BqRH5D*`>bT_-i;#|yl`i>q z_FGw4FJ1qjzeQ%g3A=oXmE(~KY15t#^Wn5IEAK|+E@10xVc1y&7{bFkF0bD?LK#QzVXpo{@!J$qOg|EneH z<87jZ<3>-#qXNnU->h6o=*?cAZuR|3nH?KV0i4^v*{?>Z+=9u*%LYHd^{3-f^ZpK z_bRVBx4M?yW9~RKM!?mC>D^~vIr3VoXkWX}!gTFQV0(^Q=X*E1?#iHKQ|}r?Y2P2@&(fAh-Oq4lKHyE9$DjUn zF2%&7@{Gbc7+kOV6VC2V-+SSRIx}ZdJ0o0JG;`Gy09KfntiuBqQOYB?Nq3A{gg@oj z^Ua~S4`Z;72)=#|!8p=I0k(gV|<1=d&|_er;RgJk)VOjEn)0+V>zG(>5+ z&L`W(euuihjPpqZSH^z*{iUfs^(p|?UHmaQX+Us0mhPiJ4?Fuitps?uA&_73irw!h z@A*j-9Kx7+@KgG7ii_U`uUibIb;2(w6NOrP|59N1Uu>TD4Gc_ZY^u5V0I|2xVw1;> zEnR3aFpJt*v#b-`#!u@*#U3`bQ<1!3a3NA9ncljaAZfV*2HG{>mh$++@W@Zz-dC6| zFZo1Ce8d|J%1zI^p@pfTBcFY8 zFrwgXNc)~RSsy)i;+8I+o~d`4`d8gYyFxN4tVgj@7siy zb>j2T8;|pTA+nLNpOYOMxBnj749}mh%2HBEcb1Xa41Wsrq|Cq~%6z;hx$Csgvp--w z-(>Ds+_{*qYJ3xGLYiSHS=KJLah~Wzu{qTBBV3&-V?Kb;yaH*Vy5dycNLs}oP;5fq zZ?U|AteayGzf8RL5~GY(2y@LZiCOlVt+M(bHcbp;b{Z{dE-zQr8n9h#(isw5YIG~L zTjKCZ ze#q0QFJMCl`r}=EwI9a%N-KEVWdc59KeD|)d%7A!E{pT++jc68B$(*jOtIYLr5B)s zGU25DAa&0aFtoMn9De?O2Z@T&JgBkVZD0t?1up{t!uRHNG+b&P3ZqN#BClL_(tdMdE- z^H`VK5Jdlu7p{!>h%376jN#~RW)>Ef_HE!jet(PATEF{ANySj0&u>Mww2rg2oHH-^ ziO))@z!QF_aIX%SQ0{yf^YsP@RM+LD_Rid68tj%Z?c_Zw?G1Yf6b zK#U8!NGkUJq^DqOV&c^BjAX&G{f_rsLBD8mQ1YY3PPCvbIc$nu!1sdJS7X-|@kK)b z;>~$aOsB*5TY*ioY-Z#O50|Exn7CNIt<#3JzkH!!&Sxb8RM250s>NaIjl}TW_A*$3YLkaO2Rg%U~T?`g|k`;vA5H zjqNCSZ=pPClE1-`2B6X$m4Z%;N1MI5iqa7S)I z^$GU8$Wzf-Q2ag@h|TLvnBRL`(~6$+(eKcVDC3jPu9U(^H+kD)>CbYac$Pg-gIpVs zQlY~y5qq$w_V;ao^u+`)2T%X&yrBz_B zC?o*?MBB5!y*~#cdM4?H$xGrAD(n&+4`&h^{%V*B87C^lYpFK8UHR(N(aNc*S*oQ4 z{-4d@aS~EQ&ZQ_xZcyd==*dB^fhx>V$e=Tb^WM(LEGZtbLC@?XjvD8OHgSf+z2~a$ z=TPYAYN6`xhg=f5DD>>2leDz4K>@FJ=U|RPyo#zS-i1#b6LO+Q*6^aXkJ%YG zqWrJ=u-hKc(8&`%)5D7j>q&uP{HJF0JhP-s`_DD1$(=h0o2+d)B`^NtV7+>LUuHAP zCVrYdVDG@QQ}oEU3h}|;C!a^OsiK@mPm8y@W=L1f>kZN^WS{6;@I2cycuxb1@$7Ui!%VmtQzBazH30PrjtG(4H{k(sEh3&&$>*%ts!#F%^mVJ?zR6bu_C8tmZqC{3 zzsa?N|JBGf41!+F~`L{A$*g{aJcvY-MPGdAL!Pc6sx@q_>O z>r!;iKx0&iRrtpwN>)hoAfdbzuLNGkG4YDKl@{HNc5kLny)x-qjDde;uFNQO{87vL zn<+TteAsYH%}^p%XFm@6t*xyuFi)oJw5{Z%BseN=Gg~F6m2w0KprC@KK$T(<*6X&9 z-JNBKXK?8s?Q)V)@EG|7i9wq04xW@K8PCppfyOOyTueU`*1c5URKfi?@!4c2dJRe@ zb@RNer?#=FYNb#I}rs_NMNHeGop1gW>2nL%OTZBq) zY_H8#Y&@EnHML&W=H*84)0>o|9g$u=g)!4|NgU}kH>?Nfw>zYa$vOso302n{trd`M zt!A^o5|yry)p4wU27!chOvZS@(3ITF4D9SUq`y7?3c#lo;L+6yV$oeD1iwHt7o$R< zi54I9^x&)Ab^+9C=C|*oPgTvY`B=8hK>98zs~xs3DZyv(^bmVyav|ruXM<+0Jjl+O z9d65i5GgZc=y-jxk2$-8l$XjO!L?}WORbNw%v&#vACoemqoe;(ti5wd?}T( zj=N=)F>gj&^^yI(2wa11gxStl)i==08$F{fos9CsW&|C|o2|-_7QSIiy7C1+F39?E zu+N9U@I!1Xky6p(0=K@PJ#7Pct;13Cr3p}BHQ>txK&?OtXr^DO@8^pr+XAGlv0C!y z&vDVqE?HISzOOBTih6z(J><2?n;_&;a5(IAv9Ci#5)$1HhJbV3XgqV#;kCZEQw@ZM zjh)fDL>zBec=p?5Cq+N!uYM9Q+Ms)>8ertNi0rb>uB9AR`NnQVn@@>mLvUh5#Qh0c zq9wICU973>=c`Y5E`AfMG{vJqwY@=t2zv@ISceUIUa`A3trRXX1X^1iAmFLeIgUf) z)qf_7psP~2Xr(HAx*)f!dlS3~qT4!v>e)F=7Xt^|j*THSprjy!U9?^#aYXyRT1DMkZKHYppzrxgJD=@0vPa4RE7j zSMzO5zfoZmY>$c#H--sq8Q`k6!9UIzSA;+Wl)9TefL8c?v)C)Pw^EthK#%qI5>wUN zbx#|MlF@v~P|lkz);8nyT!8Y|eJc`MgCA7NaXlpMb{~_d2qQ6Dy7F?0k!=rB!Q0GG zam_@ij@S^1DAXB@g7Wq2S2(x8Zt6F1S6(P-Zrn|Q(Lv8sp!r5IfAj-R+4X9+Y2Z8< z$hsXq4CKx%6nNiV9Vdu+3)z8lW^=uwdAeH+LMkjelA@3vV>kzC;Z-v_w?yPiWa&`X zZI_cQeg8w!plhuE`#5us&vk!=(tzL1sYm~ZYHvdj3b`7dLB`&q)NT8 zDfJJp{8<;Y&GrDzEecRehyya--Mysp&r4Rgc#QZMhWogz1TQbLos`<3i7PA`F6obV zTigJ{qD&!B{kSgJc&l45X!h%RBul2;^W0kGavloznzvg~f*dmW>$pu^10SylWf1CK zcfFZ>emh-|%KRFbIPBpzXJlk_-9Ak`dzmtG|2Q7X9eG^7k^K?Nt@?S|N5x(uC@%r0z`6UAkhW|}HgP>Cl#Hg1D zwSY^SvstQonnJaKlF~C+o*QTpiJQQ*=?{FLg-4)*RR@p)&3~|{27F&z1xvzt$|>N} z8oHU0@qC0m8xqtEW_Gbz`b`N6G7!@A#rV%>TII1XVTUs2p7qM!#6IUM)y%5Ild>fq z#eUMF?lHF0mBze?NWfVuJZNwDPpe!MKT3gH;z-VX3$MzZArIToMDBQa^^$%=tKzAl z=4+&bgI#l7dog9C)6IM;l&ms0rMFiSU$W-vyOO5b|IL3}FPb?C@@IKR+@!br`om7iL@Rq&LZmA_IUOguA8P(NMp{2p~KFpQ$ z+0f*|PrN|;yJf|DFiHGC5ak>l+95T`w9Q6k3VmD^mVf77NSTmYF8ZdLjf18!hL)Am z_=ret<$dQytUbjW2nI_BLTaWg5>ldBT6%ivR;|1MoY*|?xmVl`P={7QJSpkOnKIj| zs;X^NSByTha_@uLY9SH(soQTM-2)AgVSsNtsjkK0~KNg$+ ztCsksL?Me3ZM!_vry{ZN5ju%$(CnZnX)4u&JsJSyVI(4!O_e!QS)k78oGP;m}^u0qmfsUA51+Z=lJ?sU6mZ-ls) z>ul;=&AY*}0Y-^J!2MLjDOOz$Hh0)PM^>UsTSLNJ~#{Uk? zf1kT+Eu3GpW*VO7wtlVi_5_S~+k#sy*8}zrhx3A>oEj{nA>9iN?a-YjI`SUCxTl(T zowL13=zeMjVHivk4O3wzd=Pvy`D=aE;S|btZKSNOB}bj%dz`<@SaWb!zd>4Cz@Nn@ z%#in6ZTZIV9o3(hanDD$ckR$Uk~FrPE&#K5QbJxWyK6p=d!HZCHh;5=^bA0(q)O9i z(}+ZNwTfpn=Jy2QB`xh*Aqgj-ef_{5Q+p$EB`FKSDD^%wfwwQJ${{{%qg-N~1RocK z@@!|o`K;jH#SI@J0KpKn-o$fxNYqY=P-$UdJFvDWcU+UUS!f`-y*!cuupQveop*tc z`7sSV#R`S4f_%L}Jc1m6T(u?>uH!-2hkl*$2lL3qU z!fhgdy?s|zV;5^D=P1wWLi!B-2khRQC|miaEv8f45}M+>;pLp^--#f~ww7{ZN^JQj zM{BzFak(((aW-T)#`j{aKta|FjpeftuMMT?PR#+#@q(f^+`DdoZ2RzI0YbC;_h<;Q#?^-fL zXcxO&pk4C4C}kZCfT5wpBey#`NQl}l;yiaS4~{t?y^`cCdOW&~jE^f^o2h)tZl!$f z>-ypxZGPr22I-XS@I-mD-E| zw7j$?ubREwk8rlLAF;99u2nokE&zxT68O${2q7fH7~G%>+rp0q3>CD}=8L2>=x;zG zZ!R13$OT=bOKhis$Lq?WKj}3Vj@VVkvth92V$x;q?UYF1SafGAuk0WC%AgbK{bgYI z*_Fn29VGPgPQj(}-|l6u%rPR7THoBe-yhN|lb(f(pQC)yiS*80xA#3h=*xWraqI%W zuZ3HGpZiO?%_rm-W*d&#Hw$-CA2e@k)f0T=&3YbB&Z!M=NV3t}9XPzs%E3EAk8P#RGmkF!VX950)C@X()KFcgk@W&48q zl;klUdYBsvBtt&qQpCBKrIp>m z(`rIX81WcD#SaN%5<>II3pn#t3I35<_U-Zhn{V?OOLU@fN<)Q7wwqfO4(|xxXy{|s ztG}NWwEYg1M&l;W0`1E!3WF^*-q8oVIYfSu+0lvVj42ZlhL1u>LShOwt%d?6z_e6O zE0RR2$zj}0HR8(KN=X;}Obqw30h}fm7~D;nG9~z}NG*d?BRpl3LJ%MD#3xAvIRGm| z?uoI}JOdr3#pA<0=)@7*zZ0)b)%|{>E;F1Z$Sd@bmy{^cwR-Q^D}*7XUJOkP2s@@u z*cuYXBU+E$T-K>CEo-F?DkbWi+2X3|b4%cCsa(HQWW&nS)4zT$yDMOd*0#uMK&cj& zhkH##^ozehS;to3Z*9x*T4=j0&(H7Pt*@Ty2%c0amJREONZbljbezqPe+)R34>Fdn z+Qw6B_0Vvk2X!s69n-ntSw3@oZv&v^gMd`&U}QA|rqjWhxHy2?*q5QKjTW2(WgndH zQ)9Of3XYoOV9=0|lthMgFRZ`L1fV&%76J$ap2Gp}Wi2978rZB_NLN2%^|6)EB)PmS{j9$GG-;VDJN_jnl;O&ih>g@$3681s3cC z@yDA;mIq8Zx{uQqirT5~#zfPM7XN(hmu9Z{i6orb@E&AgKE#hrE{1Hz@qw9xN4Nvi z`9?seBZelUs!DxGumu>_!i`?HRZ@#*Lp+s;1bisucBUpF z;rtLTL+!2Z_AyF{O@sqq)ldVB?ZAbUf4N(TNZoHxZkyX|8fKH0rQkhiC?ai!JyiIl zugKxDI@0GL%hv=$uOoTjb){e08PvWx}h}_CJ)bD4gOdF1w6DXf6){ zpeSRF3cy{w6RL73gB+5QsM;r6s(boysXIj*V3-nFZS$%6nTR zxYFW}n?6LF5SfXS%eiwDG3P9vTd6Lf3yq+!9F3n_fCAQvAc_?61-kpX6=m3uJ9CU> zKG!E6>uI~kyRSPu{Of{UTi5AJcRn6(8ND7fvZQCwZB@m8AUoO1-XUCA;}5 zcf}HLQKR(gRSkehq8!nLTw?ran3!a0Gk@#~VPIz43L_(BF2-2%=n%$d=(oXF6(b-` zf-8!JgoUr?71o`=2`Gps|3A|0CWsbgRERTz15#BOg@Yl?&v$osfeR`Xp9DX)LaByo zQDS?PAJuJeG~27Wq5LPk0kYy<;cd~iULghH+a;;O4u^LEE!$(tw}n2abfJP&I&?C|1M;pqX;ll{9M^8KJS{q6Z{ zObDT%2geU15nS|)hKA>W;69KZ5 zD@$A$EK`nePA)ge0ecKK&~5slKq0k1wn5lSvlk{UzuMH$HI(}|lF&l&8V|icR8xq_ux~a!fR~ST!v1>4{$YDGz4fc682=r|9QXQi z0!IA5R}N^NEWO?A>YR#gwfVNzR+879&*8704C=OPxBrH*Us`YW3EWob&swB-NvVRo zyaXH#fWyT~;B>Wgf9R%NYe)HvQYiZiG+&4b9C_^605aYVuJz&YRSj;#goZ;E-mf^t z_8wOiKkBI)er7Ph6O4I4!qO9rskVEphiGachr@$`E%$6ZHNvk5~|W~M(;1O$?2o}bt^J6 z-pf@>Wth6$a_K>=`c>gzc}s>Jw**rtciM*ZAL#nN>SvQgn-JwEPhq5*8HNfCLQM-+ zq?33=zo_5KH2qk*I?h4-6n1i;Vdk6nZ1%CpE{OB`8$JEIVUMlgAh7;=wQw&a5F#xipN%v zICNfg3KBdrz!~<*9%TIkxOjoB9BirOfJVv&)Jc`*18u`UCC|B|Va##8eSIVI^A!KV zzhu|+Ba_aEsxK*jed6W9#8~bV_pd!Li3+zq(3rch+xhvxDf?tX;qS#X)r)xF5ku#- zp?eK-2?#gnA4opp`#%b4WImy7BX^)b>+Xr9*nCkK^JPopyU&dOX*+m)PnPH+G{uDP zl*cE;Tg_JL%i1Doc1cP*&*pz9B1@wPlM4xbv9z-S6BCb7cT5t40Psx)>4lR-Zletb zi!zWYCZeqcP#awwfE`xpUfcnba$2}0UJ4BD!zDLBLRSFC`=!`v;?TCo7QjIv$Anf` zZc#tP(OgJs+RCqI+07|(2{|sm=7y3~Yb-BKcs>xGsp=96t?*r&q?uu>2|m)f3?QU3 z2Z3I37~Q}ypAz}e_?Zn}VNq;c!Sp|S_3s>~BkA{lBRRZ@xPP@n+pnnfZ;rd&dq3?N zfwQ3W-gl*~=3wFDi{=@;IhxizKzfi4!o)elisnj6o>LjXbf%NX$Inn8YA|-ZaAAr1 zBLZx3Ky8$?vul|$hDArKr__SnJfMB*ilpv>Q=8!SF`yYr()=+Y&4kcUYBD55uPp%f z3{20ynF!#KBS&kS+;q<^M?0nYcD`Z_KOHN4>&&?~1pI=mza4^2kyV8MA+jOyEAzjL zN<@Pge!Ju&tao#1S^xD2KxIJJ399Z1VjuERJV)~*`#M9<9sP^rGRVeo0*8vzV9o!0 zoBDD4?bDm?N1GYsnw2{gj%Pz(Cx~we5OEB18>6f2`RTPGR_chJl<-AVF7R!{vk`W* z?Uz!UE%FXD#WwBL;SBN`qjC3OkntS627h)A>)_tr9$6XzBf8*kmmxvl^(YzVP7hVp zD6tDU4I#V{31Qy{k)-7IQqIIU%whHj{m|DxBC-9$L~cGF=PpaI3}xY`VHKwLEyh=@ z5@#eo3-{Q)u>c)mSzaZ(sE88%bq@8$Muir zV+}!zUWkvC^l=6M?#P_Ko|J4_!S0W~u+J~_sDv?p34Vw1xg{>nl`@k6j}h5QnIam2 zGB%V!HXaMlB}y=R0T@!*&Ia1f)vSOd8*oub@o9lyMK7aGlbp3*0){h~zu}b;?34hX z8g-NcfC+3q6PWa8I&%H`@$3ttXMZAB{2#{O+nfy}uK!A5Z|5!w6YsSz;w}yj9Q6fM zO4YgoU?xF`o`H8bl)L)%1&X@PBmt{~iYdph@w1mwH{TWBwXQLinxk;|Ua*QwO`n9d z`1q__3V&=VursGayecqlWd8eazIn9bfN$cb1bHd__S8|Qu`>4xSG5%2r>O0J-*o+PR`C)v_-Pv; zuNA*^`>>XSQ}7t!d-pez(|aq+txR&~c3guSKX8T$yd}gL09*W)B(lPUE$gBN(5V3I zWEgWu8B!`tEh=!EXAHpbYYnqr06Y}%JYxntKX8C&M(loJiSb{M3GlyLi4Z;dbc0B{(J$`n zNXz^Nua4yUtSg1k3PCf4aQ{JQCZQl8A3we{R`Hs-|CG9lU(e$0C6Bt}oA=?T*uyv9 ze0SBwdMAw;Dwo&KF*?RbgAr0O010IG(ggCaac4UglTni%Pt_?3)ECGWcPK169iU{5 zuK5B>)t^YtdVOXG6Hq3yv!0Ty`**s`^>NWH{mn#$uh)Rab9^ypzt;!i%11^<5CJ%5 z)dhSrxdBrG?AvHy)B)(2MSsH2c4zRPU_fke{vEYdo2LESrr8w$dNnrMU$_wd+drxV zd|Y_RxmWj0{Ww@r<15f;{%{$g8gG1onFJtua(Z2!Zggptu*9e{n=6kxKXo0gUf|a4 z(t#3iGsGRxFQU~rC~KV1b-ZeSvOU0lQ0E?!`US>ZFY8_cG)_#huxNE=!cpiTJZ=`w zECT7HZBg_xKY$&;8}qLh84(@?OhWtaq!mCX>2(~ zUE~2EVi-DDYqwDF7Q*6u9}rr0uL0aOi#c{uf+)$jrhLV5XA-W*CeE zU``FcF^u(&|Hjt6nGp4x}nGR>Vx9)S^j~AXSNrrpe)Eycm3Q8Q;XC+^r&?pnq zV-J5G5X?@C!M8SdX;a8NPcn+|uNhfkbzkVU4jJk}2)mu{QD3Py`&z1>S8Ok>pdbu` zMSr756axSH(l2OlYugDxVHYC~P$*CI1I~hi&~T#~AAThL^=za)zxY$z z%n1wFP?C+fP)ei-ROw=@p|tEXX0*C24L;|EhRxzz`nuWpQMYpLX{o8jh5bNr6bwJZ z)`4((fvpr+^yvREKoCyyi^;%EIXi)89LZQ{b(`C_XJD6&kHaH;COGG4_RODBe2<$V z?GHgGm=8Yi7&lwfpIzR(=#;8J*?w24?w;2DxH?|%SIeP9w5>R7AV+L4s;+?<@Bb#A43tA{wwQ#t8HaZTuHQEy;3g6?UmhE(dOexIIvks>lOLk4|6@? ztF7{fF_X>E4k7{oksi#Yx^JL0nQ#t8A{-mto@V@ z%o^<$#Jt>7pxA(>fh&h~*-CHMaqTVsq%#SxR)4)bSDu(=oh@{Vt$Gn{``d5CA@*^( zCIC@pk{bIh@{>%M(J^y`)8OmgIuQ832}ws!PCXW;H9~9<&aohoc5aE&)Z_%!v_dkZ zB|j3T7L2m>Q$@Dcti^dJx@0l>-0VbP1Iee2CO(W~LS8&ei0o1Fu%4+wcQl#4`ejOk>^PdtXr)6b5X1ZD6Uwf$ zq4(Gi_|%l>y0njgd{!q1G=AXvY#aFXqfzzWqrg8r0O0s$rCru!WqibhRsHOgkxpJs z?I#&#g?tR4-=@UB=I7rlyZcJ=;m__wVL2c&IJ>%5tOA7j%1g|^n8W`%D^e^Jyhd3W z83=J^I}WKZW{qyacMLqIT^TiAyv(lSf}2Jit)>sO^y*?>Osn17ok`}EQzO9oD%L-P zsA2{)mRTB58vIR#O7ob;hQ6%Q`?uF^=I^F!M_18bzTzQzXZ7nRv1OZh!j}{rMTneY zTb>b3tKOPQhvL|H>sR&ro+h142(8A}Xq-1-*iJWj@J^N*Mgs1|GLR@YJWqv>JI4SF z#-xj3k=uLqkVIJ3VtKqXh29+0FmByQM+)klB^;Dkp)o9IoI+ft~I z?NKMvptRMn$~`#}oji#^7m9(l?LBNG#JLd|uH-WIBvg?1y9$%Y$-u6u?HD%B{zngk z!iPeU^W$sLE0KArBk5n5Lr;0V_`m+zrbCt9Dds^2*KHG0zgmIaiA1px!ip$ zZJwy$F6Oi@YvAYuDE&?nKgFp(0`p#(>xSwJXy-n4q4r>S<*_D@pL`K};2xDWQXgpATN!%-5-ctMsKD zsO$CV;TTaD`#?h6Zd<$Xi*+!^TbSP-56@dd=m4y|7|%MkaYsvTSN{a7M_ z-Tld;DGaX~|Ndo%2Uh{v%86UD{J2ot6lrHj>;Le8%O79j$7gp$GZJ|BJFH(%^UM$| zxSS(`<%+CbH6#vmQ05!kpM~0Q!Dfj9&ajn2aAY^6{OI3U0wZxW0_M%j3IXHYB12Y|p3$Fx zh3lPhOTnb?XQ#7ceINQ>%XENiK+T0H2H_sM^zwNm?k3G38&d_N`=xq1))o(p*&Muy zQ4=fIKT@e~${P~d-j^(}`k$Qs+Tl+4d>BB-U&wgVf)a_@Clkr?$DlUiQDyF;m&Gmx znsv6{{g>RJ#7@FM5(~7~ACwgu4ybgQb$e;h#nI6Kz-ENo8h@H90ca@CR#R4%Bmm4n zvvuG=90rEh&hGyi`6coOLkB}(o-~M_z`|jv_12~M(@=JTK@^v2MDAq_vde-W z+aeu_oB>nU#VqeWxoKpYry=5X0>YHoiSLf$eXoYu>s|Ag%&sXNRx68Q{SYorLA?gg zq%87`NNQoy^g3@OW=HMCe?+(yd3t(7g2|BBd7HTr61q%(05M0j2jiFm7mur>#|Qfq zVK*i4gq(8GIf>_sfRw6MFo1;)`CL>ci2I5G@9Oj05ZLw&(7%TM`t?tWAC%<8>#UK* z{zDkInQ(bOIrQF`wT@BCg`4p9u5Uq0r8Fy2I((Dg3!B4;!o2vd3;EW1fq~p8;a84Zj z_5-X?rf6>f?ZAcHEociMLQzrvU`pJzJ_WA4Ccs3-^Uy<6lbDUwV+tRj%sCAWLaW@b z!R<>$?>8#O#N?|HQkdLa?9!w7S3!Tic|XMEr>8uIEJJz=KYq>p`gRW*2xxIQXeoxq zey)(H##hRf%M3f8K1imDXxom6t~6Va+)Myw!$D)Pjdo5? z0PFHJk$k->`?;E@fMk~TY?M(25bI+KoD$8%K6c|OCiA`1O6D|ZAOuCb1MJ%?=T3Aq zc&he*0J{xkpjV6v?uthZeQnBSLNjbPpI?H>g&-ozCfA4g=h|kfSmy~gy)z*H{`bAU zf~J*AzT%5LG{UE>_Fe}U>kCO1m9pt z?42{J5U(>`C>{WxG#dM_W6R(|1t}x|$?v~qU;K(% zXdJ$EdALADm|vXr$&;k-2l8N7;k-N4G1H{E5r5o_Q!=nRJodV>n3^G5?J340+x;qo za$Wx{_Ue{CQ=NvM^~y^IQV!;AfEu;K!Im$l;O+mfDa#rG&T)=tW7Vg}btdtA)*&oP@HM?xl zwz)sn)n&Pz5`OZ#=;%yy+-Uk^BQq}d!|A$HI{bOmbbJwK-x0H z^@SqolmIo?oC!4Aq5fnII!q>A7vo{(sxHuqp!bhJb$9uc67RfoVu-Q=eSUH>2v|R@ z01;jrYiU!aUhV1iS7t}xt+{it@3!DVLgn@Ejp&vLJ^dGWVKtFxg9`d$%7{NX^$?iE z?wZ4!u<7x4Bu6WgJ=R6^Ojb|-yx?JXNV@3*wr{`;MC$s}$l~sWKuFH9Uo$2mSg%`4 zE}HU0o4s66F0au3cKUX94jFsIpqq=`8zUFI_5KJlN4ToiMt`KhN%CMCTo6DZDzh4U z(FB;d4XbxxBJ;ANl}Etumvs=cn->61BP9F_&IIOwgN{cpy?sf5r)mRvp0Q`m26$5> zCuZ~wCa<+b>8K5;PCXL=71!5cO})a7r_7!0Qw-#Z zS<|AtuqYI>tNy!5GCYE(PU|U*c`_z`wI_hQkeZDo8h`-IVJXj_vV++VRm2?B8B`?1 zg}8fgQ1$$M4WQ?8U^_}7?n41ovUnWm1S1mM@8I;c$$j{p$aZ!M7*fF*R4mSLmMo;4 z0Ne{C-PEvKBBbt3g0Mg1X7;`$?{@FJ>sGkaEETp$Hyk09-xC3^*h{o+)#b(xtBA+okE*J3{c|9j|u`7_UPum@#^`zUI0CM_+Q%=oS#)JJh zi$G!%Kguc6M$Pd&SP%3k?heUH=Z0_Wu`Y44`65E31*PKah1FH64zX zYbNn)IXKBoNP?4@*{IQ#E>j@pG^&txl&9%vR;YK#TR~i#Gm#OHA zeQnFeG3|?`^tj`;fC#OIMBq#Z_!dI(Vf}*ffVvHRSp0mnvwQ~#-9YZ}kpzn_9!xP} zAZ4dNO_Utq@vQ(O;sSDng^~re(kSe~DMq?b)|uGpkrAMW82xP!yiLffq*dCh2no5- zOpuf&_ur+8sh%U8jobB)I-E9*r|uk=5fh|H~`2Z|&^crvhKG{|E`5 zL0JDr>@G7#FAk+pAP7>}bv*zC`bA~<4&g2>9rUaRe)j_CfGLpQ!Ub%e3rSB)E@OMaU7yFJR1@;20Ez$*d)a z_CUhCQx#Eebo>4L%@~sSB+>R8qJ(rIyk3F)oFeCZYAJIj*vPp!@>m!{xd!m4)e3b zYjLRXzm$WawLWki-d&Ske>&R$g&{9LKO}E}8SiP)VZkY|ju2hD0~`#1%qb`+ME%&f zpeg~MFDpME155}hb3>Q%4a zYhw)0&DKdM!oSfsgWfiClm9a<0pc#u!r&Q~pyWEc5N@Rqz+pEqzW}rB(I1;YTsnL@ z$OMe)fU|M{3^p&-a3>3+ih$$G7r0fE>1d2-)h7v&hzy9H65a&yyz{;fB}#^TUtp^M z$&A$rx+bYHUBZ5_$+AGO$ar#!jRHk;del22Q@zt6^PhfP*3%UpnV$BapMT}-TybAZ z-qWTg(E9z`_W`mC@VCa!GY}q?2$U8SjIz%zd0!eVlo)_vfuH{i*v~&K$rfG!>!pPf z@8i|Zx{Wx!Ge+Pb7}r@}4}sVb0cmZN1{X0n$QD5POEfw|*GNtAP}4oAh@a6?BFlyj z>Wx#gt0wPK@gD4MJ?H^;7T5YWp2v0zH?Zfr$}XfJhDIRHUrq2VhGt()5`~lArSuCB z682G?Rc@Roh<&x4U+DHD8)@-Z;p%t>P)$he8G}T8FO${CL*vr@v;WJl$U}C)m<;K@ zXJDWf^?VfvkA(2veV@Q%h8Y?fdImOu?ghZCav`A^+pjms+t@&lfJC`i#_|VhQlotb z!ku14*Z?t6%RfUg03u+48EfTgV(hSV{96Zk%7HYpy8j|~M__6i>5d0m8}vFcnezC$ zHC;?E7ugwOtjA0-ixq++$uf+L=!#1Nltk-<*k~@DW5C*^+^mln?pzF~fB{x3;LG6q zp|ArVu!h&S@GByG2>?`@2Jc4oOa)dqIyxtC_#&=;AVhE6>ETjb*n6Im7lWXCGQs)j zk9Et~+g<%7=i&W_U1&KTgpeOxjhFLfdVL$g%&O`F<;h#3pqEB;Bt0+-8L45{6equK zkWM)n-c2eI1jew4-y6G$qh)pL++5L&p@U37E5;ag=z0L8Sal97NPq(a0$BOB5ez^O zlCUtif^=^%2n=<154Tf=1fv?;fz_ek?ED@JB`L?boizZErDa5|6 zO^ZGK*2{cY;yqp9)^1LS=_)&}>O8;&$hJzgzfz$hJC}^{jRqW?Jl*DAQpfG8{u4Ke zV7*6|Yz%RnY&PY`#u%EL6$bxlNbEKPVSJc6|HRakDO{S};v))=+*xQa(5)kgy7g%O zVBjKV(t*xq_?yCQ-th_WVEwhUb?hJ*4r9iXL-ouiCwV6mK~9=^LgG`&Rh%VoKFq8JGy_coGt8bQmC|$B7+>ifz=b<5L5nhmF~YiW7Ra5 zI|X8qG!j}ZlA1=~3sdF!4t<_j>H+fFo8U*UDk}ou1DVM>Vm1j1rJ<*1LmHH$coyEy z6;p*Yv{Ee0%)X{3D?lKJ6U{x`6c|Hb4|HnIpv+@$S_6aGf!f z9zNYa-;B5ITFkU_O3)M+(7e+P39A_)rXYFjgG~h?wMW>KdOo~GeoJYyawrXG*8d+* zUl~?a{II^2SiE)>28CR5EYRQrAt~`Ktj4hT7&~f$wNrL zYcv1n<>Op4bM3SDFV?!(9cyO^C`g_3_>r$!2og)+Pq!g(D%45f5KM(s_%TbMI)RB} zFhEr>0D81KSq16ELYepCUO>!Wk0=Zz@to>MPOnJRoan^YwueIL-)=nPzvDodPgTHq zndHR_ZfXxgd1^gaaqTDT<0$ofZf{M=GtvYYs+fr%6xR!bdm|}#?L=Q&-L9tqw)T;ggmNDUOn)JRZJ~ zucQ++91Ln*r0W_*uZe*|bK3PnGhVW~dI?IG54dUd_PMYKWv}%7Iy6dJ~kiX>3 z-lPA-TS?>0l8=fL6MG5M^~>HeJ#q66K*9Pm?OuA~15UHc!o)gq;1^r|XjTQ}@GhyWU4U@;Pye zYI$ei9+tnLqhaus=wXHeY}{3j;l+|A?%@TfXoh%yy8j(}4$^E4D|ir4Alj#JRR?1& ztrymVnWo?u0kzI$%dU^lWnU65KZPbgoRQ8#jzPRogDtv8mO|2U*npO&&y0^rvu{!~ z`!bVG0VY<6-i6oDzkYK-7LJyU7==Wmr(E@ww<SaD|YYXnu zqS*Bg(G)+7)N)VKX23Uk^X&WH_PZa4lQE>acI2>~U%U%QtgLE&q zm7izeJsTI%iHeHS3p^&E1@0;li;qUHcyDJXJ_tzW}lMlMTdvJYPV$QQ`>&1HiJ{dNo%pXI!;Wz@n3Q zw80Ybam>{1uihGS5Z6&ZUBnjdxMlIISO3RdW8|SlSA`)VZcSt!bQWHKD|uVn}O|E=!^vd zI)1u5Thxrh?=gzIN(xRy<&1uD4Fxtok748Jv8Lk!(i?f0BH3WNP-@{{u$kRJgicfH z2x#*;$zRGl@lw;R3i3bM7?{U+F{Xbu3laCKtl^NLv*dJlp)4$`AvtlOIs1wnWL~gN zouXw}Q{|kjdl9!%Nwg0f zYK>F&V7^O#_c!f;z~z#*{2#Qd#NS^z_sn(eN0D3%!mh!S0zs`Od4F=xADlw8T_yfW z1}Fudr9V5~g4ypIUIQ)wUxeP}eKl8Sq5YiF@2^&x1Dqdt@P&&MaXLNVf;UOAJvz*5 zozZa!yg9%_&OwOBC&NnEDM05<#FmxaVtN||DN6`+3o>0qCr--TwUI4qI8-ZAIu#3OW?O6=rA9fpNgv4%_sYuS2jTAHXk6Z3EAlDK*I;5; zJrnrJ$%yBV0So*?Mw;}7G`s2Neot7W)@vxHXp_%iiFPhL4VtU;q9%R&WPLKf+BmE`g`)QqZ0-ywDaL-vEj2 z^}Pe#!i&chVsB^gFrjH|TYsd~z=s9Bd;IlxR*=~t?tUMw^hYz+_X1xyAJ~!h22%XO zV|Oig5bje>l$pR1WAq@z0N;EE%;hn#%U0rWOk@5nHyIDkuvN7N03Om$E80Hj=y+3|5 zW@~=>0&{d9%!8Bx9fW5|%{28%^~#ml4(H{L5*Qoh8`oU~H*`Wxwy-ihrhFN75yHeI zvT(nMr}trzOzbTS^6=LYv0Zc^?L*D}Q0nowUT|jL$rhYg%M~t_WwB(Hep};vWWsl{ zd*S%W5_4PGXr8cY(^SK=vf<#&wf;HG`k}AwoLZfkb0M-dTb>i(4ip~2#`IVzA9d+; zBkt#540$3O6GE8SB?`$q!~dmbqdbjIEgM|OHMiP>O2IQ%^4D(!ZG+Cx0W)-soT4hy zx)$$JRGy)yvgT6@*Vt%_V|(&wo*Odmp;^pQyZ%SLF?D7Wtwq|^Via3a_-bP$TXrTV zqpy{Yj<2zA=GwUDviFoFuTF@H94~u5CP1TpO*Kv35^4FC#CB4rd}lXW^4-A?qm==i7Csr>h`C!TRDWg$i{iqwq0pRDiUW1bFl zpcM}VZ4Z-G44q{*xoh;I9yFZ1d7pIeWO_b>KW}L*9=jlZ?!Jiecbz+dXthIpm#7vT z(3%g1XD{d&dgCNLXN6KHB>nzkqH0Uk^?ep8pNGNdn+-a-%jRTPDXI(+b^i~bLKZb+ z5fch%|EdFPEQ(wBG;g&l3N8<@C3OG(cx_7mv+8R`L7;-Q^6|c>Hg^t@=xL5NyYMid z%DH0sAGrcqxZZF|4n43BFj0Q>C7USnXdCzhX~-wIeS(!c7N9QiGynEgr;aDX`y)dn zMFrDAxerz;cJ=63Pc=njW6va4SlZ>r8a?w21}jg}8(Nr&?;?2E5E~h(CL+YL1dAP( zth3>QfkCON!|}w-v2LZUwCCpMWPc#xj-p%u!hfB}KLAMKtkTlycb~~q2RRRO z-5z%s85l@MCm`N39!J}wi0ucn;I*8xiVDTD=USLz*rPkwn~hQnM_5&C=^F&*d=#b_ zBdODGrp`#LG#nCywCm8P*1SJS3vajiIV-?R5$a)q&UK_3k;*U_6JauZq zhkA|2o~{1NeV{Ti$!=M0kO|Z1To-?NgN2BqiVWW+7Ax(t`lfpScV#l)kB&``lb-_N zz1fvY*{Wq1->7P1Fn&Uqgiaah!{sO*;e#Wto&xTv!upZK9SYsaR8--IYF-GsOR} zX@S<2L%ittS5Y#HR2K=uK*w)28iFW2)2uF)D09`M@9DCxI$6det2!w)Ds^aajBoR- z-BI$HB0QH%UvKRa`5SH4^*o;c6C(F2x$oHo=r!Qn(PVU~Opd`+Ra6KKjf~WrxE@2S z$5LDYoQS{urW!qsjg!eb5Rw%5fuZzLIuGs()|(B5yw%yYgw3F(shI{}4~|Oc{tC$k zAX6%Ya*AKqczOp6!92IacW+<0jjlDL_y5<`(Rl#YE8lS>agVy?7U+hCJ9y~+r7#Fw zH5co=kMBI>S@vq~<#4ASO}6+4uNuv|23=m&ByE1Z$|fhFJr?ewm16@Qy_h48$)Xut zugd)v2I=yMz7z;X_Db)SKzF&pxx^MmM~qj^vt(`zGE}FU`g-Hak#`Jz$aysFgT3!N`JNTU-Q(GHCEeUq{JH;)^M8cO zRU{dHESH#mJi*eb8yTNxa{{jM-ESv*&RIh-M#ofj7OA|rxe=d)Si5DHh?Utt(yIim zPda=|eXuq>QmViRZ&^WYu|(y}6eMeG*Xmk}^9-Zu_>B72z-c68QuUM!!t`D>qv{oU zpwJhXXzjhdqjRDZ+bP;fsv^ev`Z>ZMp8+`_N;DdSMLHifUb0a~AaqJ#&7bWd`enWC zp&j>-$3nA|F__Katdy^Zm&l{@1Z31*BT4$E_`PtepBqxh-F@KMGm1j4NoxG50xM8k z)YcjiEm9JI1qbMG!IH@R-RvY9YYHL+h&8D#6lwtE>jp%IK))QuCTiJXDVW12?RO}G z#KNvjRQ{RIWRx>BFp!adpP%fPjtPcdfHqGsDmYrA<9zdB)1bPM0VsVXftua(e9-pW z_R3K0F*@rXLNJz>_Bj|geVsZn(Wb~2jAl8QW=I`8xVMc%JX4ld$Bu(sGd9bGVSfr! z-<>%DJ@_o>MqBOu4-69_7O__vxX-26RV!`yA)JI$YJ=EUAMDfpQhdTg_SGX}r{=(6 zHG-@+#dDD%A5}vOr6i6fw^?xd&@Yc9`-`|{Wz|(Uq4o`4I$OaF9=`@G$u;jh3P}E? z?cv9;8aooSL+UzJ1Q~1rGk3x*Q#f@z_y}hk+M3I0^==NceY6g`&S!kUmt@$L65>90qdX7=-JD8;1Pasr(iuChuBY@gpQGwB20ToDV--s=QrSU`6e z1U{@mxjPYVo?cPw{`Mc&KM=uE$V5?v+D*g)HP&ovsUI15u7AV70PX;knN*rCE<|X` zvmHjx#9ctCgNfsd&RG6Z)pPwy?G175_%4bpKYqokYaj0m_=oCA;vAC^DzaS`L7%5l zl~^g-SBJ0uOY=&LXoaTTS83kc&qORRUPSxtK^v}1rak>J;d523;7=?9sE1Ny(dxqU=%CqdXFa9g~q?2J>s%7i7dNcg^2tdMy34}oa+(xIH!#2ik z1!6RZV2@8-eTf5dIL}1{UMl$ibl2bQ(bXt%IQH;0?$Fc9aGMCPMkDDY-Ph|UTdz5}{R!AqJYXdzTGOLf3NNb^ zGRr)pZ#}yeebS(~Fmd+0EH#I#2hvfWz__9jdD8h|B-Lp{u2K}kviDYdL@?t;iL z6WPT`5}W&~5yTUn#iDyh8>`xyGuYFgM4z{SY2rTpwYGc2y&Uq=Kv)k6;i}Ej(_J~< zRCn+;RM4xjml=Cgsb^-~5czeE&M z@Eydbj!Dx0JyZ`}Pkb&8r!&R2%nRqLc3WMTxp8A5wUiOwV>CqZvGQKMd?7)b67Vhish|clMIod~ksj>*c zFkR^d7WToPFsz=5ua5iE=tACs435t>1|cEY{K<%xF=d0U?j6~@=Jw)RPAA^?t}C34b7*utCvZ%I3z}aqyVq1|F-g3)?ufT z^#+J-wVkNAZ=(7~fA8U_3m2Oc571VA87;9tEf{&N_()Q=&hy15#z-Dk5 zJhM{Bx-ACBVOwtp2{QQJk(WQ(ebJDsk2;!&try=Ke#GUHU+@L-83bKKCE|`*l@gU-vb0hYP(P9GP==M?2ifj{$o!hRi zxyGc)wlpn&6)4%&a9uKb@2(Cf8JLeCoP9VY*)P?ZA1XhLoN`TjzhUCZH2pQT1S^Tzp^a)gnBegzqR2Q)xb&Hf zNbv#Q=fbL`b8Uy|`+^n~eM&2%?c~YG=~MVdMuvOg%GrMl{Qfys6)GWof`%DQkpO}H zcUeEI_Ysxa&QV7WaZsQHSm@`AAs05EN*3*M-zJ2w%)#KLZ~i_|vbn^rNc6U!O?fHi zrhyV+yG&CzD?OA`C}dnUD|np#*9BiVH$iX+v)9gJT5Wz_6!Z9QKo=^Q3u7MT|)j}4?mV3Rk>+H#|KzPlR zFSUQ%781gQITPau*-wWf}E}03cDha^-nXpiQ`JPs~^GWbD-$ar@kY3 zl*Iit#bTmW+trtCKz&_W*r{S=Yu z*kr_=!giA(=oEiuWX=KBY2b^4ZnA_!3dEU+-OMVekC>8GTcCh6fo@jRxT36Vc5|V# zTCNj{_yV5Zg^$Y)_X9(;URlqIK$$>|@AB4eij(ruuefEA*7j+i7x?JXC3fA@t)s~u zy>66yYIldENQz0sj+Ab1Z`+Qly=R5{jR0La<#x%gZd>Y93G^ zcWY0mtGB|j$oPL}g)&=E0=ei_$VmH$2@}J39P{&>U8s6~PfwcEJ*lF*%e^?ahvTw9 zI!-2`i)Xu#`sd>Nl!%}EmI!G5c!>=6fB88~1TdThh;1IU5MIcvKB3Gk)~y1GV9wVs zMbI^b#WUX;(TsQ(D_D+Pr!!U@R1z`;=emhEGt=a7&~l;t_T zMSA+6X@-|l4&D~-CA!JML+pL?7$sKt7d1EEjFeKoQEiz-v;`CTa8*O-KGx4E7@N&r2{yH8GYn$tbfDETcaB}@46Yh7z zB`#m%1w{tDExmkA6!{GY1XHiVheIHgTc=?M0uU)ye9%{%ze1ZmhYX4GjX>?ZK!r?rz6C7pT04(0JZfZ8HWY# zTe%6V(}i~Qp8lIZzm~B~`?9?lphp)^|3>FaoSe103iD$&6%s_@-FO1zhU)FVp#OGd zWwk$rrcv--fiw!^yNYC2zRFYefB)sSu8|SlL}`CxqD6#b0F&G;R~;Q1_^ed{E|2c2 zUogR69J}m$8SYRX!lj`WnL3jDowJr?H;G1xl=2Lfnr6m723)zJ(OBQoai+Sd_?a&; zCvP`V^Y8hfkdXHKS43iUR|cNy=Jt#h7zQIT4Z%xV`bxlFp;>^0_DV~r6c9NqA|^?8 z=UXei?yhdiu0jpA5stVc~)%%Gg;a%7^+%|mU&pEuJc$jcA8-xJS%{gMjPD?V$N zdEWU$wcn>K@p0LCGWw7wx1Z1Lm7f4{<<_msFVyzlm^-Sj5N_ZmA3 ztCr1)1)clhy%q;&DbgcFA@x>es-)wuSB2^9Pd+Im-74kBF&ve{)ZDm4|8U6?I)Y6pcV3Ilq7njGuN~LSd z9$?>^Iyx;QrSin7;v#SaA$OPL?&K$X)dM%rhDI`V_|I6_%+zk)yxBC}Tg)MYUP^!H z{9-l|#in9F+Lr@@V)_BOXAb@W##|Ol82{0GTP3``9S60}3++5MTHrCyxET<@j7C805-SyEW?y>lf)(C0i(5}2a?MDgb zAuAL~YJx*u0Mr`3;ME;TMkv9|Hw>#C_1Z$8f{Bx9j9VTZq=k@&>$%yxPcj5oc=XN} z>G3aMXYCkf{4D>Kt)=>$luJD^gj+SpW$Na`AawMRuh!D+#z%Us_?PdpY-F!>g&yK! zERaEyW|wk#Ro4?ZVuxuKZ%!O;kD9b0vSbJ^k*tXU9?;L?&h&<|r!0b&q!8m8tnR-* zh-@gZ5+OxCK74*6!X+1)`I3FJE0f)39~W(1eY`3xUaswZf#IfnrB0+U z+-kG66&1RAiS}b(aFKHr=*N!Wz=t>v9*{?SyAq-2+oDEk&|nh4e)ZnR02sY5s~{a{ zSmG@`}f zp-DBt%eWeM-#)mhSEje8OU6wX$j>2f72E@iQK*8K7!SfF$}m-(s>3=;2wQT%L9Dfq zQ3n{j!X2xEGf;?17KQ^31RF5UxsIyVHn9TlJqF;v$q#uug`Za%Dg73aDNtGecnt~( zWM{+BqsK0bN7mhw%EfHRRT|HET}c@ChJ;d)XCdaLw6noAGUgol8}t*Xgy#YKia_ZY z9Nr9rD|A~qU>XLY&}Bmo+-2tKydMi|F}YZTJ&2ghH|{|*Gr!|Yu6felXbPmW;fM+jnM8TtPHsSFN!QjCq8`DK;!PT>*2>sp^QJ-7Q2d(aptce>w}@tNo8 z@2F)}#}EoThyRlHd}j0$VdObRT=>w`@{1vP7rj5UzUJ=7V-)K?v?c2APmX>f}+~Hp1M%=OX zb)Ia}2iuJ>WMFMeu$r-kyp6Nveph%Ma9uuxCXjixP@g>GMSIOxk?II&nl()XR#JEO zSj60)EaaBZewCCFPV8#D&vb66;QZ*nCp*DwB%{jj*Nr~={+4$c_;&}IU6r-5^CvIZ zyU~H8%|h>?1d{k1SgoC+dawogWr!?f-9ti*^>rr915_W@!{GqzJMf;W#zW!ZB`}$W z7^%~4L0>5}ISGKe*Yw`!yYFs*S_8_S_C=xbCvGtO{X5fea%5%+tTW+wXsdFh)K$+l zxU7g=u5jRFOZPJkP-9u7*WvbMB5*IYCF*oo!8tk-R67uHEMnOmA2=|ubXy!l*2BSC1oRl*)4OKW#2=+MRQxuw z{ivF51B=B9JRRb?ZdgGI#c=`<5#XVxkX5mv#dmZ1GoWhreDC^vrm9`NO5+&iLb+VG zas$P|$|5A2<=@jtsV;|}9BIy`?Qs3ky#PACcTeW3luy7|qRs5_P`eMKm{#CJVu5T| z4wNr*V;A>XZY6=T{lLlp)eV{ySAberkRhW<4zv5+Yes@FWj+3?c!Qax}$Nwq* zv&qh0d5E|qA*FpRqyPcWgB&6QWo2b?YmM!PYIMjmz<5$c;~0#j=YSbIgj=nh-f1b! zrh@SJD3YSwyQR^O&93JNCOHFZ{V}v(&5UMIDyH@?C&oXzB}FaqhSeZOrVXen|;v7)EeC@;%#X++8*#R#X2 zlCd%Key(@V9&id>TdIr@(%H-BQ1v0A=o^4o2cN%``4WpbbAj=`*SiP_b!9-Cpfprv zurKk%TEf^G6{Qm$VFe9~7yCtu3}#WX1E2bJcWoPeF!y{o&v%tg9AC0Mpq}sz}0b0RS zb6q-~xXs*`;72HGQSk8&TWlEryfx$4#^lB9Wol~r-Q-gZs^c-)Y5a0!gr=Pb#bX3ei_S5B|` z>7g3cyp_Ln-6l4!eR25YL~;}VUPDjl(r4np?4J;UQ7%FORE7*nPRSQc-{90FR_1QL zz#B$vmT` zQbW6{GyiK23-?5!a!X;~g z6y@vK(0YM|`&r5TNwisZnIk7#_0MggBIEARFRZWj8|O$tre%lxfme<`=l$U%vpKBDKkl=WH=!rUwR{lF( zcL@NQ(UqUiDon1XM?oJS27V#EECN;zgy7*KT#xw_CGdz*Phj!-*O^xr>RgvJ$f-JR zyrGnmh$V4wU0E^ZME|`M^y~Yw0l`ZNiu-58B%)?FEIqG3)ctq5u0qvvJMwaKw-i8s z`|&C^ibFoOYU#gLDoT}=^>TIDCnTK*G{qlK$Gk9Er$tO*c_-i+%RxN%#LTI~!sVm; zxe!_qw0mE`of}{d2Q`?%l$Z{Or2e})HcqLjqyWtTxFD&qeELBqT##QS;07UUvHetXc^~f7z@ds_blL1*nH6pUeH^& zdce3QeTWS=pe(i^C#V0JRgrPmpJe}@K=JhNsU}385<6jgk*D;^z%{{Y-fE7Y+ZU6E0h)x(Ia$;iT84mzi0o~ z>nZvh1(kf27Z0CPX}(2%fthHl?u5hVGp{FDSfrYZrPB&8m~7X7=6fCK>cMwKtg`9v z?^;u@YkbXPnNwgT50`JB5wph{ zti~X5Nn*;e>xoc&r^`jY18Ih0JVM$=6tM}t=C{Itm;;&@5~b>9<=rfYJB>nR!g>Me zN*@9)<%v12%1}M!uWwNMYLs-B$$r)0jyfOzel^R#IDeFmAgovd6XJn3#;wGOo1)rR zeXlmBM3dg2>bZ}>u++?aC|4!@c6P->JEe^sXmkY6-n2$Agdf&AgMdp(+c72mk1}iD zh&D~Xui(x9ux8E2Z$#0{%gbCmJcG~oYCW+C#smE$D2WioeERY7YAf5Pdsnz1=!qYJ z2?4lkFmdgf1wVR@OB3csS|Y<%Bj1S6$n;Y@EiLw!VYs{K08JV< zH>2MV7Q9!!!8yA4Ut$E^8ywu~IeM1lVLO?~-*F+I%t?9`)K?~ogghS$2-%AhsrV&5 zi}*5p?!q9(lR`kU`}Jhvy<0*X5^+fTI(e5Hs7A55Sg4@q5r0hR01NQ9KwcQKm`kbI z3*SSPm0ZTmj2$7NBT+uXxjG`y#*+(NjDH_W25&r z*Ez>1;f5(5;?eaaJZ>)1YBlF4Mf1;31$B~Co90w6 z=6ajd@lAUSTJmlsTf&{yZ3BAA5*(r^Z8n3k#;GLR?WShOrpn=WZSrbvgvdJ%nUv4% zC@m=g^F!@;z>k4Ajf=D=|08sPt{d7c$i!bc^t|(m82KJA9oCpCRVAj3yidxAldD#t6lRx^I2$8*VJYM^k;J zOwDWd45SL~*fYcE|KRRa7I0mlvUP3^_z{ko( zFA@4I0_5)bJ6`J8$y>R!ju5|*p$Lo@ejNfvD|Q`DZ6^da?d$JPTa%L?GNDZEiSyvZM!Wh% z)#~T)B~I;hze|*pGJ$Be&OZvD2^Xv$jlD5S6xEA*^5t25wi|n$jqr;z7oytk#PgSs z5h5L`eDT#%1k~JsLF;V&!D=%wD%o?55KnIrAg=;0*n%L*V0H{Q4iQFPzTaH`!!$iz zBoG){llI%5EdPA~qpy1vP#=m*Ph~4vGBsUvDUKBA|uzfAu=1s_?N>Cf3# zApUT`#d`-vUbBk{_N{;!g7vJY|E_OHwm+cKUAK@?P9o^L?^oJDnJxqQ)d=THvG8GZ zc(V4n@O+sy>C(D9ys5BSed|gFSe1CNDyxTz9p7~b#x^SyQV}FXnn`~y^v~#t>|qUh zefbA-@@pgee@TgYmjFjV0HEC8tDEK=bDmdtCrfV*KJxVP*S(LtJNRN@=-Fe1qZZ)&!_hSlPm8kTK_lUeg#g zYI;39m(pFE6;bu6hqr7Nf^w(eQ6C|X$~b6@KXGWH9MBeuYnEmtepT&bq?AIKS6DL1 zTosq{pQEvZOO~XK32TW z8r5n{Ed-bTZ$*~WW@aktB{cxm3b9uOi>(~Pubpim+r2B){KFBVRi%F5)XjuP7N(f8 z=RP5@K$!p^QQmE*jbwk&)v&TUZ>=3O|izt{DJCaI#T?bekQxjW|{ zyQzBc>0H{YpC(#**Gl(zA`%N%01-#pSreCs7=?RR_{~o@dAh7|gSn+8CKp??T73?n zSaAf4`TO_p?nF5-0HCu)v>%q;7pF>4cU-`#1{!J&1$oE5I%~e`3<_tZ__t#zF#8NU z1>Gf`d73{9O>rrh_4R@jK0(G)4Qxq3mwVIPvFxcm<1v`1~|Xo_WcW&P{x_`OekTTp z33b_vKlWKLIBzuq$m1ZC+o^R0$JMFKsBn0rR)MK^kb*<;g+=wzo?l&N=&d|^+@-&9 za$men&cqvv_3H^?o%O((jG*C?^_*RC;OT_BB}6;w8 zSw+V$HWdGpJqhZV2?*hmg(qbe&D_W}6`#=(CbH#V+msojU-Y;9UVu?7-|rz}C!u_{ z>gnHL9F(=DPV98^w%^}JOz96cLqBiFw3YntroY$zCj#+F2Ub53I!aH`A=Hb$nUFP#?BaS<%5Hy$&{kk^@um}vRm z1pmHQEjUSD<_zO&<4?4n-wOJ6BoR4x=#TO6yEm15HrCnDgYTx~k+;f2ks{LIDBZNW zPor7d@xB($W+{q)G;9^t|J}TYAIFe*`!2G(`+=lVd+GyjQen%0Oex>Kr9^s${y`)i z&3hMVvB$vk2T6p28T`wT_Vd80+4htbY3!j55bQf>d3yNhnV#RTn-vsk)5rHBJpbF$ zIZDUDWUhrqIu%6t)Tz5d)Vjf&3ARMiT4=4^^b|_#RnM~e>DjVl*LroVKE1dXIe=6I z92a0zLnIEUt@g?KCbk4&B*6hxB9r{#Ll6=7 z!K_Wo@PUr}ZfD1T9Dj;!l)D4pGXslaM7i3;TRE8ylgXnGkae-IWdByT(ZkzYoDWs~ z3Nb)|I};I3AuQFYrX(281YKY$RH}MKMN*NLv3e!je~WZ0@1bG}t&Psk&`x&svHSm? z^TRTIL-~31HCI6@$Dy`IV_?75B^xUxh%Z!myeJ}k`l&4l5h`uTQa4>qa z{Q980wW7<8a#zxA>a5<89J=W``)%41CXefU;Z^s!#zJ#Ty)|xTqBj>Kzu$I$#)w zEDj36VVmgu{OgGM6pwEHH@MjaAQ+e_8Lq5v^K%1dH2v=mR~do7xdUVuATjNRm3A#~ zC};DHXioIH_Sf?lK#mC$#K1IYMuoe@8tb8sgpE0B-82!1j*hc zG}cwBm6m5@7Stpup8shl#aOAEVshk4GB7}KAB!e!3w#|>on9+!n;_RW)$Vr3;qSWh z%HTk4d#B^Dv@}wbI9<-+MhJD_c5GL_X9nF{V1d7TVP#)7w6WX!Nq#nd<%P=K_Z>*fC7~K=|d&cc%CxO+TrTYwYxk|nf`@BaxJ<=ivm8|L6 zP?b_Rlh$S@zmm?dyDERj@+&J{)S@u?YcNvwd0PC`+>I=~!1f_?*y|F9WhdwFDO9AJ zS4JZk+Z4IT>sw4l&w)EV{8>BsEn)XGK-%Xx-)ahnEbwru$ofHo56qx>qwyt1Qo?>P zn>uyIt_SG7_Go89#PJsa=)p9b-re_zeo`QP2E)R>wNb8L>Tl!wQbu#T)j#~-opxfW zY(K+Y_XhQ&FvYyQsv2X)gS~5Jf~%@2ezR9XvQ1!e{5{{T*Z%KTpL9-wfc`>=+s_qJ zhi%XFSLk$B-hvcy;v)N=t~8IMm3a!iwBU~^HM-u;uE_Cw4eS(eQO;kE@tO22h`Lod_TY}&6V-|7&~rB}nI+G&VFc?RXN2rE zxMUtpw^Q>bPTt#XC^ zOe8X*0jn2aMWuh%($FB^k-BX)n&+CQrZFR0{@kX%VJ1*7awBB_9j;dy{YNsQ(M12D zpLTiMuGF4BBZ_T}XSef8W#xSVWc6zM#=ZU9=R*2qtE8so8zr{>Cg*XThu+!5_GPy* z!uJOQ+HOWC&&m4Pi3MHgZV8#&nM^a&@MsG`bnMBT2kFW1Wqk zJHFGH^m*7Ti|LLP>#NpQvP2&HZ;LBv*DuM7r9(}6go>n{&F}9jw0B128~DPo=kKI5 zg${*o+Qd`YZ;xNBibd|HXr~4Xa!FtMr1W8SYrONnPslpw0rG;vn-J*;vkHE@uXBV) zQf!!%)$Sz_`EqxH3n6@AGDL}0RJ%#S&CN{@8)x96upJ|mRL#@9nl`%7$z_e$(D5jl z#<_8E#d{gOw_kI4lazs;;1jK}{FM?>ySFq0Nuv?CV%sfOUH5G5rA$+sF&;-pc6m}! zzil2yL?03CMp;_+kKmpJ@<~D z4c?cr;eOY@k8si+fine}Q>ox-)%BxSgC`f%vxr3|;>rfSimF~14J|DO=DKiEb=KzQ zl0eQ=)Bj9Hda7P64|IS#r9QA*6{u5HLH#*Lw9T4LYaz*E^8R+;8i8bYL#@ku|EUbY z)F(^ec~yWCy0b*K79_@Wl7~)7*?bwyEcShhL%t5qW3TR4SbL#xqT&1eT8RWhksFOG zPyD97`kZ%VvA39MOC`V)%C#}rUZ_JYtnW#1T}%vR;J%k~!)-lyRowaxh1=h%?6pff z6Tj$P^h#D(8O7;${6s|==*6oEyf1*A9sF@{68At#hyci|!FR?Gh@F2kcDl+6> zf?Efv({OYkp4foFWuTKfSAfR*3CVwy|DlHG!f=Kvl3MLh!+Nhqzy_}Y0yWMTIxOlraz2_S_wf*cpv7^eFtuM3$eqbV$@LTlI-OWb<{z{${2Hn>0VuVAlKDpydoG zLafMIFy(W3eSm!>g6(=Man4|=1_7>@E}>!!&2yx(dmBYCkC=D^85wbZKys470H_+} zedYB8q;S+)eh72U;p6A$M_jpz-Bt{c@HV)Z2GhVtHW%Woh7xv~idS%KIS;F8P=>Ca z;vMATk#m#yU}Z+@awl*u9#dH%zDBgf9D}p()5>Xl(Cet+esUbjO|JPJeqjpzRbwsn zCV#?M)iP1^1}IH+=xSIrxXeFgR?z$rN@{KGw$jjelZL<5`0{3xZdxf0pkhjH{6T9E z-^9cPg>T(L?j_C5jXfWFm?|L|_Y(hRUshuzcz9mZpyf5Ml=c`x@bReUs2iy34?=2l)T>}waX^T#ql+5 z3!F4e6nxaUGt!OjU@J!w12|vIEmm}&!4-D;+m7b~_>*GL1*F`2&sd#z>I;J~nt@OU zjwWGtIox2JtPfak^dkv+Qt-9c(n~~uiLpBG%0iI_pS_z9+yk6W&5r1CGy?+z#Z+ba z@h$u9~pJBygN*Fq_~TXq7^tX8qz6mxeGO+nFk9tLYkq=@54 zM;dtHQPtI1HOk~*yg9=&9THtzxA=Xeq6~hU{<)4^SMp#rS9XsH$<^!v=})#{#ed{z zD+ky+KyVP@!*(H&?qFg52o@A5+b%&6dI0#MkW*yjf>i*V5Wz2=J+ZGoyHozRMkd&I zN(K95$SegFwR&tl2ecMrcKAs13Wf`uYt&YxS@3Vz)u>p~% zm$7*-!;7T;?o_Si-3=Mt6wW&f2LU~5?!WYWr|I1Og(ndz|5qg_?_QP`J{L0#1buk= z?`-h&Dlxf5a2x{+0~m%n_>TqJ0`K+Ip^)G=lo9}D)vh<41C|wjB#Sf|kaTioV(o)gbTS^eXmM{}zXCLPrVE8wyHYHmvcHn^{Pb~n^<6?lx^>>}3}e@!CWss%biKnAV7)Ejt%A4pLIOPI z;V)FNn)vSUUI+!d!^E>nQ-~3${)J$yFg*Yw?wj@6`g&$$3JKJ`Q!=scN<;*J(&>C9 zj`lE4FkQ1Eni$4%*RbyBxO#d+7=ghTJCRb^qj}c!sr(ftt+bJ0-i|+>Cv+bV7X2gl zKZ*ODbTzyPX@Z0R-yNhPHVTX#?rxi73mvMiYe<Rh- zN1TG=5L>`e!9Fmn2?6@=Q1Sc?F3Fw`@_rIv z@N+vIv_s-L`1;E4iYl~krqt+Dm)RUw{{XvEys2_q&dp z*vH1pEp1!Z-uJzt@=`{f&=2ukHgTgR-@E9~y58789F=85>*bDmZ+2-@9D3*>sB5Tc z5ZF>`<8KIh=)qdb<>#(M!;y2zZ|WQ7swi*sxj>}db9=23mx_H4+>R=`g_=OLF2tf6~x)d{_VKEx~t@>=K(c|N1z`{0p zwR#VKJN~?2+mgZ=FYh*@-Iy7B#p*P?t=*Xg?;~j?39r$$lmm{CrFbY9hYpWew1xLT z7Oiro(*G6x-OnQ{_#MmD|F~@*Zinv4nFXvGt8s;N2-awdx%t75=ujE`-|#2+6&k2q zViFB-n>zxJXK6h#BwelvbZ`>z%E3qfHGh2wIImC*4>K;P$Wz}37IWAQnF~wgNnS-6 zb1zd8Xh!i|*fY;~{7^{>G~Zbq9U7Ti`Y0o%bdl8D@?&<+N$N@-F7_M-7|s2zH{h*1 z-PxIGx+R@wM|KC#QMJWWyM8357d!NG9i{wNYU%RCa|@@dpC&}yluep`K>Z;sj*r~v z)ZP%85VHr}yXzA$O1E$Wn^AR8pxSlUgU=lFh6cUj4PfO4;t=S=`eR~avwH2Digi4C zAUot|{EM@Mg@qdRe#F&OM`BrJS$5as>YbVwj#5Jyf|7<4q;OX#Q^iqpRqgkLrG1Fn z;?A&D^TDdtQJ3;cn}ql&RgCAJs@Qf>bV=R~4Jt`1NrY<%=(zOBdfk&R;}*lf#x zwQBe`>%6j4ZNMl4FO|z~vBmCV=zZcZ?Cs4NK12FD%{BTUTqs1+A>;Luuo{F&oqGEt z)+lGD3gD)^;Bl8?u+j<7U)e)jAz$pArJG<7hK^;6DszC;Q#y6 zE02O2&r$6U?=APd**Y5LrN6d_ia_V*{=V`Kyzt1E_g?+nbJjc5a0krru5Ke0xXV;K zXm?jEDw7+Ex?BHssXIyk*!EywFc5IH68Ucc&n+t}YXDl@7<%gT-vB&@r8Wskz(Ovt zX2G<8+n;8Smx3i6fg5PZHNQ~AFRFg@l|SfOhmm8s_GSmgACP zx}(u}qu9dD3$U(&Ny}nls6>ozA-k>DAe|S^NBH4${C8@6EGkn|8HT>28WFXkV}tqi z*c_WDg9>iU6Tpu3l(wvnnz%pQr~LD_vIMNTe*DN+3L`C4FQ&8W7O?>jezNfUdw+0V z+_iII`t1ULFcAp7SZlDt295OxfF@Fazg&HP6r|WUJ10on0mJ`NSs|Y{xelQex5win zQErHBcni-nR;_xE$vW;G!lbAO$`xKA--rfTi-(1RPT0=uo5I6shdAerW-s@no+yOK zC?M{oFvWGHy*oy<5uxwb{?E7mPrP^SKT)Z5QXKPnCA9r7emFeZ_f>(e&Jtga40dWR z!bb!F@I8~NgO{P?4dXk*z=3h`EAQ(sdF5Ro(PV@tJ#!m2B)g5lY&Ky{A(((9sBxYE z*PHPa7ERhkY7(%=so141_u|a82b*hOz-`QCSbPEfGR5*3pN^+g z4i$pBx*nVC(_@dmV6L@p*;84a)g9<@c%++v@?M>{6t=x(VP>IA1N)52uPhF&0DT(( zQ!!_9ls*W+`c=-6b6^YSLfcDN&t_m1*z&`ScQ)@~)0lT*;M?%&8)=_+`CZA#H5#8Vi& z*X|RNyx^^j5pe@h;N5o{kHn2`KlP5<=6&2IAFV&EKid>4?xZNLE*I=lI_$< z3W9{D-t1_^!^pB63&0ehYN=7l8J5y+=wf7SJPxh`>n9~8CEXBo<5WVlrr!EwyHD>v zH}WCj?%ZE^Pvh8RpDw60GpB+_w2$p`8$!fCzM<%eI!W{gq-YrRIK1LdbOBiy;l=RA_w2x8YO zLspgs!ezQ}w6`Rn_SaM0pCrmr4BWWaiYerFeKOQ~t}3T*dX$AixB)N9zk*UBaVmw< z88aim{Z%*QP|xuB>mF#}H%cWAxJai~m?2=wPjK$PvQUV4*I^C68v|45a6K>|fvqlY z)nFYBOxsZPFGUNcHU~P3sfKaj*D7k^A0PJxRjJ1fv@jZe^$%G`R2gXQ1R=DLjLZ&) z^;OdA>hxqTuLa_Mt!&^wxaa0o(+nA{tPL)gh>V3f*)*9;e%DD={jpY;h1J;#@% zC@MqShHw&hFEqT%WPbLO^xv2)nuNv%R{SvZKRN%N9=Ku_0fnK_haQ@kG!w2U5Iptm z1QA}e#AHJ5<%c8qs&x$vMR3@=cp9d*a(j*Zx7K2<7iXC{FAN;~JdK?@FW^6vq|Kk!t0raMcBdm(Ss3`oqs0Sl*X${)mN zz!n=|$_|AQeUrd+b?6G#%Eg~P(HGq{{mO>}QDYj!ADX_ms`h_ec!lbVamAc*oW)aHV@?%;gRSAr)8m0BY9|1^2-;PN@4Mr9_D=DbP94z_-Hq6N z^_7R7N*6xHVr%wpzlEK8HPaUzqJ-dv2n(9uRpO_+Q+xkenA7Sq%Kw?lyEudIii29x z(JEAQM@V2{esUk}?e`!Co2yEM7EGACVa|cv4vQ}+^2R}*4E7nnV*8V{^uc%vQdowS z-7+0GdB>W;sspC21||!zCb@MQ1hBl;BIs=JVxEuqQ3+o#_$JSx{cyndvqZulO2mOy zRE!C_*}W$nnyeEPKA2M%O%UI`{RkH(aJ|8bP|P4Khja9*Q_mL%sk9(rYCH^QOrhH$P*Uluvl|n8a8BAQxa!)PLrKgWHQKTB=nic%nl0I&`Ew=8}(~P&{ z)iNb;0aGo7|1bpR5(Tcq6K{7r&&)la&3OI|&HUSx8X@4rR`duW#z5ZO>hf|NfRFbo z&#dx%kbr@SBoKFk`TfBnOhr~!cK+@S`OV85oB?NPMX8ylAA3&JyzzOg6Xq>qdn64K zxaxwh(x!(ynnDuK3Mn!3_V!a=U+F%fy~P3Fw;+6Nr8t#Vx|q!Gw^i^?sqtePXT8RJ zLsjE+x584pkm(u19Hn8;TL~V79lQ^7ga(jM?Z>nCyT)$QZz)m@ zdexu$a^VD))!rX|;hBc5H&SdZPPBo#(v3598+a4}H{CY4j)DRS5Sjz}6aWUcZo}-! z0T2YhWq=aCR#$%t6cMlx?pS7tbQ!(@)q~0O4wt{uxN!)sv2j}+MGR6RBGLn9_>Y@wi`MjrJP`*`bY^DuU_w*fX2JsZJzK5c4@Z!F^ z>!)*)0hf(bc{|tX1CbB4s`J&XaL|vw+DCU7m5@K@XMBr4bUIep3E#5!oIU!F+6C4K znPgJ1zDUnJPUXXJ{1_KiO(gvpL3yI&Wjofm--&?h%wFhQ57v~`!%j>Zs*)u-B*3gu zGdjm$VFA4gK=>0q5Abq`iHXgDaupW5;@I}L6p+y5nwXWPMNz}00M-cb#WJ=0U%X>; zK!xqG_p7j^L?$Q)5J?jdc4QIuf;B?MMqavdT!=oGzMAP-@ie=2y9|K*D0)^`Xv@!> zbKHPgv%VX^cJX=$Ya)iu$ zw*K6auv9xE%`F*Pc#2;jmZZD0yQ>CEl2@BeJ}CZR{#;Xhjpst_ukg+*Z9lKp464>| z<6aB01%uLDbGaebTCbE)M}#R>@>VqMdN&Nt#FBDd-@dQrR`fRFB{3b}ti7l$(0our zE02Bd&nNnOF{_HM%~-+oAD*Tm36$tbbaET8yhrl{(b8Av@=Hm0>K1S?5D>Wa!W1Gk zVnB4tSA`2U$Z77oEbQ!YJDt@RBR8}jH(G2`-Fd_;$aQdrX`4>ka~Ko7iHm)m^sI)@ zsB8R7+fIEkzk2xZr`wkEmg~=6s7XreX&~&d<#YH+i;g}vv@J|ezR9DBSfts!Zq~*$ zHmBg|8a+ZbeseL&ALRbGpzSu+`RZ;cef{7(6$AU}w8MZ-WgsdKyN}du=EU!`3d&mi zlKMe-v7_a`LOmo;ku9^)hM&E$HiGOB9n1u^mBcZ*uuha<`n_7c5T`us>f>v-EV}z0 zSRHR0!b%WqOo|NUk7}@MRv*55v*~0hwZ$0g&y_0BB?mgh_z4{_0=ak>c~f zD2cP zyrY-6+l&P&&fFyBA$C_y->b)!1hpd{4;hJ;UZUS+-YW zx6^G!gWk^2LAp?5GHdS%p8h_y@zCV#YQHsKyGdAAi)7#ArWdH{mfT*aX7=1iSd4s~ zzxML#zSx%n$}|}Gl!-+8Pv#0Ug>cuv9VY8w_h-`Le@-6iQ%RMl0O=E*Gk|le$kF?1 zjmxN#Mc{%+h-;W1_u*qK0_4x1Kd`G7U}mDA;$gz}p1>CgRFWZ65Sl$WiYXq`x-nR5 zx|9=7TCv@BEMAqT*AkhN@qA46sZ5dD#oNM!5s5CNU`K%;?l_Zocw!P>)K5S2KJ8#? z_vow#*6+Q$XH-GENvCV?H!1~mPLT;)MASrIs!54soagMkt_c~VVe}_l{!7W``JR4f z>PyE#rNWDcq3`hsJ^~A#INd1Q1y+`yO!v!=g`;4YHeR?^&Yi#5)}KHBoSXnp!v!=) zyT^ccBwDnP3;N6o=A-?6X*V}sSo;7Im%|)Y+{T23@JzM|0T!st$DlYzDcFTpR$PLn z8uiqd-u>=U;=1vT`ER`zbWSqaAF*QBJBw}Oez|Dw0ckCb+vtQj*kK=fF zUpJynH8)x{tvp^`Y4e9{Y_J(GkRFTcUlQ+T-Uwb;k|F8jhkAQ_L&a$PU2$Z)raDQi z7|hlBrNz$E=S7-=%Ej8AN@6JzUcpkxF}gNoLJ84F{6ZE{*rD_W?%DF3Z!}#%dd92U`Vr6T5Zn!8f27E-P46J=%q4Jta}pD6 zB9Z>Y;Evda|3yW|GJo-{fm|C}Zzn8E%W5WTp!jh-Z|zA;NAL~Pad=v#esN-OTkqBD zrjQS~L{nqo5|e}&t!H5Z<$01-Gc4g0)z$K<+7~{aym*RsnjHU852sIlzb6+(@3=R^ zgw3UR(eHHIzWk$x01~g|cwRgq+glS@oLYT))NPsHm=Cao07|epfF|sbLbCategMNk z*qVqLQQq4KMtccN|IqpAl{;GPhIiGiu1r&n?fGjmf`moJfjTF3?dPF2L%V|`SXlx3 z;g8lXSp#i{M~h#D-+!FGN0LsN2V$7vDt9TB_^8LYIG&{+Sx&XA`VYW9eGM^&1)4rK zbC*x?=-`oZuNIcMi96~8sn5uzWanPDsWW})jBN2@h}(!ysI4MV&N6on6D$W4V%V@V z4KCugRqAlT=2SaxA%3d<43tzOBff~#ZSytBe{UM2f)NHVxQ&V545@8^SZWw&F$v~p zF$y61w%#*fxy?4R<^!RCB|QpBIN6y?NJ*!#0`M&s(3QM6F~S#T^$6sAq>DDBmHMtI zev|He85DZvZuk`cMwUugG3YDY%D2E^tlltpIDl%0N#}<=P85!%j;B(ncTamu=ZnNI zgSV=itf-d{YdeCT^v6Nn{&Z>4+&=6|+}QLi6-u4`#O-XRE08nZf)V8s-YPc=>rscF!wVU z#T_8VWufjq;!9ugW#sJassIxR@C{(}aadjbIXwI?Cz@7~0?hTYj*gD=cY=k%ov+8q zQ+=Cf<=U%^G8#@W_l1op-tAlRPgTHLT7vzs{tle~EEs#svanV~{g9xXk#I{T*iK4--x+)snM-LN(x!_M!wMtZ z?b7v$$F=ueXRW8kmCko;yW1LlzpS5K{zx59bKq$R^}0E#vPP7dH4Z$Hiic)?N!{I6 zbBTX@C~M%^CL`xu7j4o3uZB51QOxlB{nP|3f+`WQ%8%mAU$ z+S(elmnEfuO;c1}&iro@eQT!cNDrY}Lng8s7NbLZ>O7`3F79E5VUM3Z= zii1j}&i!Ubk#XrBP&eov4LmS*Nlbfe>r9XRIa!6^T|ZH^pq*EmU5JLQA>5hbiW%Vv ziV%N6`SlA{fzeODaJ@4l#i9_!1`kWyoang^>?**159Y=0I0p-^-Vphy$V`i-X2cJI zc{hOj06-C{YC9{J8t3NbfDbgTdQ9?YtVRf>Dws*Pv*@C{CplyqUm{MfF1O44-HWLF z@byW;!}wBSQd@*v+cb|v7t(+%%dLRqZt*kfkv#nttM^e~KcP%K7z^m$96%{u64nLm zX0lIoR^;7&i?o623%{$d$D}6e|EOP3eu8-L+{<^QmGv`a2y?6zVf!ZU1oscATka;; z1SC<9r+LxlsZREMbw z5XuEs{mK`T6cujoBAp!h_R2+1(@W}yfyag2#7lu!lX6rJ-A?D^eSWKtH+9|3;9z1# zX&6jlINgm|jd!#InU}a$_iWcI*8WX8{f7XkIN>KKHsLCCFFBtLivGGwf$fSZpY&vI zx8RtnMV9SqHRi4LYI-gH2tO`}OzRi{UoXxV3c`XbmnuW!N3p7^QxO7%b-#>(fs0N% z9|MLd@ArF23!14`p2hC__kgUBn)?CwT{!G`lgUrjh_bOMHKU~-`vYt2e~BAjK>1Pw zDFB0@JQoZaJw0_L7xmR@wlQvY%+2#L((HYy3%I_)aT7!Tm-VCUM~ix=ngr)&hjWXi@zMhRlr3+>X%2uN5{={rTqEav;$0nGed$rVztHzV!CFSu8}+BKyB0~&%Nv#l2s3ej z23s$+ughc$kWFNMGFD|>0bf&6_83RykO^kH@P z@Cb)o-3LOM^1P*7a_yoq-;pqKpE^WpYAsW-b8whiTcdPc_dic*@x+@5=sce_e@7Bw ziWUj91q_7pm^{vd22c^2&1QcT#3{S&7>jCseMdxmd{S4LFC80p;$jN@??06LKVdK6 zRW?Q4>Eq8QyN;BSF2m(nN_3!K;J}g%y1#%fo)g|M2{4YaL-+NK$wjakS?r0<#IX=w zxz{UKoboi7pg z%nb`+ZCM&z7`@=1MKFgJjS?`cN3jeFGebwZU8Gi1g4k< z4L1oD6+{Svk<65MHesD&(nx}XB8!XGupT-j3KVi#c)_%V3`7%eNWSG5R1YFBOf;ah ze$Ld18ZUdXfNgG=Uj3nXST;v?8 z4s$k2`GyjG`2hqJCk8mI*MO!Xj-O>7`>LX^H#-6YB|^_-_txIEFu z`){fyO)o;c^BC9t-x+Pgu`JQk#aQcfyc(gdxnvy{DX-@2-??T7F9!VM!9;~{rYlw0 zb-F=R$;JFhfOq5@@*RS8@YuE!5_))J6?r~ELE@@80wEv^f;j=;UA=o3tU*>Jj9!Uc zmON7rEu`^p-ln8yaEakdLFJ!lx-AIxDd;L?hssm|4O8LNj+rotC6bk)?f>Z3qvyl?iPCTr@o{X`srl6ukd$m z2>Tz=frvE2=Z=g}pIpED@w`VD&4laOpo^Pt&;jE>2iK=@tj16cs9M)aZ)pPUUH$z~ z(r;f{1M^@TKD1uigngAX<*Qcqwvg7wKWT5pI8j~1jSZ1AU!HLh5B{O{$hsk7e9_3k z;$e0)=6S!}T-N>XL?pAw3zRWW024bI_AW@CUka9gr} zGSm2c=shH6F9*RR!qhckfxi0>SJ9W5xM~M1`#tBPw&gf;$TqhqvE|d;AwduXHD>_z z56tN`!k@fb71^T4lvnVM<_Yns_~MDr<%>H)M$a@AruV-6+KmI85ap-2*V~$*&_8?P zHn$(WeW+XqS&4Za>|Bo1yEuhh9%qxN_*G&X#)rzoy3Qg(#Th24l$Ey|Bv_CC5t?%%a>Oejrs$b4Efx9PtZA9IrI~Y^W6{V@EWG|Jkz;Wv6dr zgsUhC2Se7a$J4Ql;(#M(un+cgC|lMq*aNb9GHq7Sc`=oYmlr=^JDc!jcf-Dr;7$$5 z{eo3~Kl<};!2tU0Il7`F-@Y@77(!;Q?5G@xqcG$Yacv=ppXHlp$78gVO2lYAC+8kP zPV`oN=Q%^tddfS9OL?3WH54fRk?})imdaB@@-z(O-F?4)C8CMBWOu3B&%81cUoV4A zGkORoqMgKEIz#7zmPOPWhmvGoMAgbpeo`!VN{F7GGFMIh(v*IKTDlgGal7W-7zpb}En&xwZVz1=R&~F_^^lK=ayA)-h&S?cn-r#ZZ&Go0B|! zU(GeNogFSSWr6kuag48QuWK(Te_eJ#di++{!gHm?O4) z1taD?X?(~{UPAR1vow8f=;VCGJNkuZ4A`!wr;(+lj0`X3xxuZT9Tvs3ZmLSmtnmTGf7VH+miqigCdNAQvU*6H|x4Eb?3 z{Z=-SR<85Kbq{~w%(Zc!?<21TbDFsRhF^=T;LjC-VfDiy9JFD@d!4onHo}e8y-RFe zyfN+VihVc4ug?Z2nR{q1iVok#qE?UYOIX3m8)Ja{hGle)5`Bu(O4}Py*5QOYYHGIk zup$%)T{)ASRqOZZ=;&GiFBi76HV2WwK%}i0*Uo+>%GtYxhc`wz;8Q`W(#Yq|w@}x( z5>m7MXYi7+2e*c5bc@*iK{k|n7Pn)IC;Q_DxBJVR;3es#)disrs`BPuQ@)AQw(rX! zZoj4wfaU4FssDvvbqUq2;t@MZX%vh1(}(PQs%!DC$K=x5=yd%=8XlT&KZnV(72b-` zm2}E93i#OTsV}9tWeGHJKnY5`@o#h4Yf{p!s8d`?EJ{jn8tLIhV?BrWSXtOOYV{Ib zpSt>uQAPP`?7!5P{CG$J-NG(Sbm~GQEt;egx5d-u`-n6D$EO}GbVF_HbI=NVW*$^K zzw0GZyvRd%H+21(xP6=Uw`JnJqnksqASxG85__H=F=9^UlNb7*G$qv9z4Lybv41dm z;gW)itffDxqV5sy>%jK!0wLkZP-g6JoB=%*cF=Y2^-P&qIPehawp9`OlW3Z;l*rsk zn>Ri-wlP(r1Pk#v8Q~rO4Z6>L0jms=ZfYSUmaLUc9@DkA{D-T5x>rXXb;3v(2<0LX z8YF?)5H?`Uq;x0RhJ`9^-1cATCj?xP^{i^?r91U{giJ?Hat8>PoYHO=+ z_~w1&(OR_jsyFt(W`k>J!&w0MCxk>&`pWyj&>rA-Mm{^nWkX9A&)VbT3Oy19M)#{0w}FLS3`)nS*B+=8%-Ni>m3 zTgHrV-sNp}y_*l6D}{vVT(EqSFGMwJm9|$BdMVsrHTscV)BRyCtl*HatDRM0>Z+`vwDd`0>PWq?lkcwi{XH$ha8@pFA&n`Qpl%Z?k5qEN$EVG1c+Fwc;V|3vWafGe#NWI*R7VV`9rGb5+ud8c4OK zk2_iAEk6**sLLH<7V4xRulfnQvEn?L7n6$?D@uI;Q;jx9{C1}p2o?B6D6vT*6mkjI z{r&yP!GdT2kTIfRcNUOb#%$)0{{^S;11OBq!(nZT=t5ch^Ifxa((b~QKLrB97rZBe z$mIT-P!gZfN z+?-(-3xfGLzvznG==8XH+H}8NooWd4dAu>P^J?4>NkH_-X)|d0gm8{{b!xsMQW*Lo z8uIfT(c8aJPisBVxRFBUwE3lWD6DfPkwtgMl+Ufwg4`EVJup9Zi(eyy-zR4WR@u(i z&u*N785RufyS}Imitp?c8yO#G>k;bZY7OsmtF$pPGV3WkprpxZudD7wj2xww_JAj` zq?5WB$3(h#;IDgOq_s^es(fB`)mxD?ACi}OpgQIjDY$Lr^n$b}yYGyJi;cb{}QAaBO}ClAd7+6wc6xD|5iiQ(P_^{_}p)8ljh~0v9cuOH>qi3^_78 zy2aQr;RbknlNi-%FYC*G=TdeoY`OeF#>UqyR98G5k|y-5a+t$eIG!uYtt2Jw16sro zCs^M|0T`pSNr{)gQ2m09^>*wzGwxx98Q%}_C~2OFpanf!*+$-)7w>QaN|(OF-6G4E zE5Ex^J0(|t8o}Zk<5b?s{(xTiAqd;$MV%SJSi?!)bPL8V%@XapL-H=(ppSRQ%zk`cBBBhhyzbIWz*baG?xJ1ACV`~3?n1Ab#)})Kk|Q? z!C{i~qyJ*yl#4K~{CD5o)yNZ_)TANnw~M~I;U8(k_-FB$3@(P-wrB2w7cxP2Z1q08Z8=p!&U%o8y-s(2=zG-wb`S*+JVhSdaV@2ZawF33w{z|)cv^~=a z%={mt_frJV@f(y)An|SSIb$5l6ODx#!Bx1ePEUtsW|DG&GFT4nWehvhXh!9@;Int| zii*U~Rq+&XkgahWv-h@kws5Gf99O9b>g0049r2B*^-03Q6P%#4ITT==yD2^G3uymB zegJp<(cMF5+c=?GLpV6&iyWn(_p>!H=WkK$-xXRoqU#m|q;l$_P9!xKfz1kG(F_ z{Z`8EG@7=R(iD=zcy&Uy9V#i(&iYf7LLjU~HQ~qY^#%2-LS~}$_c3m{X6xx`QpdOb zuTT!Q%&=EHzi8&RN8v2}eVBeZ{j>a~(9Kln@)o1ZiFsp2So!lX*Yr2;-g>X!+G^Tn zPWyhsPZ%g|b(nw~Ntv3@#12fiJ@2fs(Z+1kQ7WYLBC?9WjSn;7VtiZ{bws{Au(x`e z3;U!qt_r);EgN(zY*aUH1woSZ6XbJG1<#soD5fNh=rIo;x$C6|Y@`MA|{ z+8re|Mdcz^oONqoVJ>X`dDGXepVDbu9u9;jS4k;D>75GC1?NdhpRoKib3s}-PAJwm zf9IE{#=bWu$J_(|tg>zqH#^YAKw9RgAYe#uYC0?p?|01dqT}mjENeIdz6` z;q|4vscM0B0Q&ylnUxlE_$z9uH5^*fbEAMcUFW57L6DU z3GvgL&NYe~muZ2?7)k}8 z39L}v+M>5*QN&mS7^zh6*-sIFN((d?UJj2w2e@6Y(js5HNr!a)10=$qwbVbK7&CwG_|f}sH5;pB7G~$ zlozymF&RaK6I~Zu-=oWdX58PF>-lwWy{u?+FCi#yX$Yutb+AOz?k{ftjG^qmyC>p; z=pN&ckf9N4ry!Jy^2 z^lU%={iyNv#r!%!Pb+=B^B4giK+R-i!rO*2_VR13Y$vdf{C$;Z7%M~au#j(8g|b(L zmQ}gX@U{*r0^#-?Yrl@Y=CQ|zilM^}wGceBZ6Y*UGHn&9eIm2bqHz0W_p+)?_k$~y zl(r2EhJP7ls1|~=;LzWgsB&^ifh}zZNS%ItfE(|BPlxq( zPOz-y5}DHb3D~Z_4Lc`1$&rDNP@u&7@s}H1ut0~i4)YKPTD^ZgoRLznhBmFMt!nboY5*yK+0_DdDUo)MZn-g_w8#({HuBm&eb86K>~!0bQ-SnL zS`(vX#OvINSk;`_f0VG#zq~u~ccP+nvO~nrjzLRz)g(21iRLfIQpruCfp0O--o1%iUHT#a}>x^!FMSqAx zF4oCn1W$8~wRyzCgu9m)+r@YzMivHgIK3HsZ6#gZ)$-rZjXS4hTuj&+{fmq^bB4Vtn#`i^uTHB_CZZGykZy0b7T z8DAY=#m&c;Y>D;f{ptO!!u64))HU$9`4rHsmrCkyh7EWE`hTU2#6!Eg_S9jck zf)z7@&{3zrP*|Qe@G+65{$AgVk!&YV_kvW0Dng}P@(t1czU%ri7IssUaLO$NL(_iZ ziDLC!$m#;6OHJ&1-R)lsJ{Co2O7HP@P#FG7)Yd(l+?wPUi0ZrLNB%Zr#p*~qfkiZd z%As3@%3UKkYfXhuGaF(GK4#(x^!{)oc`45tySy%ODr@@8KQzL$D=ub4b;5c96_BV*gBOFbOT$>i(Mt zGvGoEWVSe+tgXMp0`^4CCtl4r+7SaEbJ(BX`w44S(AdDB@9%UO;re}Z*8>LMDsgPf%$p%< zqB3617={{n!*fHVWb&@M_P53>ZhF7|szYO1*k~$Ic4S7+*6bVzpV7a=emjNbF7Xii zlM7LK61;Tjk5E7OPiv;3Z4+(`dBl}>BKkEZ9K)o>ryE{U(m~}FxFflr1ty}SS*f#j zma^?mzRBB_$`#|rUFAtS40MMbC@SU5Pt890hq$1@15kcUaF(wu;}Yg!T;a3IdK<*b z#s+X$+r+(`u(OH^7K097LMM=z4zopvIULm1s<{-ysy0SZLXRbPLCsW*0|l17jaNZO zcg_9&SGQcZ(w0ILugKoQMaQk5yotq`xN-cnqGi0BVoV!?6E-eM^t8*#6@Gzkd{H*W zTcO7C8k1`R^6EEd^6(L#D0ZAfO=C!iCJ@(d?|<*9L0kUDcn`f@BTpo5oKB9P`Nf;N z`fk|~x_XTOCXIqcQ)D-$cO{-VoX9=V7-PO45w$M!-BBS5qjvDL=ubt-HIBYDWT@=y zmLvZISD%5+Opf#^i0EPMxq<0sK+XD*!Aye>u8m}sAgeCrcE`0rV{MW$mfEk8&;?jqE^fqd>Zqt4DGCLMm=Z51?Vbww1vTNqCnyaZ;rA*LDk!6Rvm$*_t1(#dVJ`{A9nQ=Ln$TZC>u z%+i&mGgqhR7NTAgq-qdk^)_LrBHLSzrQ=o*6;jP`yPJ2{!=s9E_X{eyeeLX`rw~hR zqQfgCH8A%RC4$9FN1|(#zl-a51MC@$(`lTTQ+f1zT*L+%%c{0pSO30M6()7bug&y= z_Ry-v$D12trc>yeisAHSRt#MP6*y3sTZ9^&h;Y0d)26X`e77z^5%AcrpyHsUm^0s8 zm5b;OJJbuo6D9(9#@CMHkt@$tbD z<|>hMy^d7f_+9rHCzGc~`@~zPSD6DC4bjDmq?RwWR^^7DD3v_k%=-$e_7{ZoUv zqy?H#gn|qE4sLFCka4b|_KI6fWRM@V(fbctXp9{ET6PpWLS{FZ;tzk{4&$pC{9MKw zHg%gKCj08KuP18D_Ss7zNC`j2Y5PQ&N%kU;aeXi5EGJz5eT`jbkKiplWpH z|4eklXX@@%(l0@6b5mcGNqH1dxhBgT%P`|F2>+FA%S}_hY;_}}4*>r|0VaYdp8NBK z_o^SSn_^5qh95pO4nKz;TEsv`@fb z*L8oMkX;iCt}~199KogJY9FlJ>7k+avAHie7#qz258mH8F#E@za~f)s?|9+7LNVqp z9$=u@5JZQd77Fcbc9f|vxiFgwSIx#XS*q&5eu<2Dq}i8O-Xeex+yltD5kPbO-E3XM z2P2uCJ|}rIXE!q;Az>4MPu>@^+9&sC<80!04}q{Dmbr4pjE|Yt$Dm*?Avbt^n-Y_oC?50I^x`zC!h~j0c+7?Ev$}P)SN7|_6a3EB z&SGKpCC){R{S;R3`toTp6Yuu&(;Qp!vHrxuZk&94KfGa z+2<&TLpWkswIk?K)?Km)PC)B&4YN+MwzZu~(ICL$tPkdF2{hv@K6LAG{BR_J zZ5MaDs%JAh%OpekSC>V|THs5X={X+Zl~1<` zj+>iX%;tSxG`@h(DSeGW>-(f6Ty{>*_ppwvr*+s=x*8|C$wQ#7WHdU>m(7-q-FY69 zi&RI%isU7TWiL;8n0)Wmgxqfg71@b3vE@1&;%!0*4U!^5IPb;ubitTe9U_ez^!A&m zDzR}v-;qxcd&j4+N4{f95z14P*aYq?@Mg_%;uWE>k{_Y^ooy2h3^`V2f`T6Tz-u(` z{hdJ-R~3unz30*i!}C>2vhEd34`#l{CGeFizW&6Zz0qp4{%u|-gKS0%dBw581oDfB zXo3_}Gs{p3RGuvXCZHTqL>!YiZ%Iwvx z-=`WLKE~^-apjguV!Lb?-nYr4$wnpon2{1~bG6^RDFo>W z@7}#LA(4GXA5$9z0l8uVp8FXZoA>-(H<+bmWwZ_Mx$S0{0?jtcnx?>XYZ)4k@y;-AZZ`Cdl9$%p>5sEC2s8QbM{ z3MAp4k5)DDM1?vUda(SPw}yh`CHOOyom&l@+gHG|3a>kpn46m`=DOjH4!Nj$j46mP zspo6biZCo?IZAd8(bL6!_L#Wxu;-ul?9FxcH;wk+c5|H< zR3C!3Oby=h`XDjV<5Tm_}e?`tfD+w{qQ zx+!%~@Wp<*2S3SH3kdFct*KdD;ZQ#(j?E#>#apRlt%_=ghjreh!7K9Xx^dck6w+6> zy>m%OpWJN(N01-PDV7uGleIYLzL;Pl3e<6QgJ2|+PY zKA$c_vzF|}rn&aG+3BPLe|PJa-vB0X%)dZ3LtD(Eo4H7|pYePD*PNyUs^(HB!27uZ zt8Lh(cRj%HKV)PCDVSD(0xR+qv>JS{s|d`GSYThQ=x}D0A3y|rQ`1hfz>9s=)1r$a z|EGlU>&(9`ap;n0dF_|)2fu4HBNULSZYLs5nwMbUpPNg3zzVuxRtJ`g8~M{*sV8Qj zuVz=b%Dmk1RxuO-PdW-?wUF7n0mg{vT^s_zU|vPo>{j&E#ehdw3ASE zf)#ngs(omSH)QePf%P-t#NS0NE1xI7aKOv;3M8}`I))(WJ_fcK?%Yu85L;LXC+!Pa za5sq>3geF+Ztaj<{?dv?ulky+eHPJW{A}d|2HHeL6hr|H(oY~HNo?hY->ik`UQ{#_ zza61?j;-?kU#ES~fER6IYAWf&h2h2&A|c_D0~`@3oxYtQ0Rcs^z?htzT&fVH-)Je- z)HPlbcPxI#w%*(>8$Mf~!n&fN=*tLPC^!5c%E2Z{#wqBUxw!z8G5&g1{2Tkux@!|J84`D$Yw z3CenN$AkCh4#M!hp>B0$pMar?5xuKWgtM`)-g(#9;X_j+<)tK7ZEddP%S%IW|H||h zH`_%H6B84+m{<+UdxF1?%-={fZDr+(DTLc{<`)mO`rI0Zo{0KJ=;Gp@}4K+_%f@cmt)>@VSoLSivq9vO7>9kN7* z8z{g8*J9HZu8;^{1)O2tP-+q^UnrLeZX13OH7sh5gM zGMhySx9C693O}0-rN7?YP~Ea7+3c`-z2w4WDqOY_FO^pROW zK%l&@rQLuN?7)l6`xR6-TGx)Wkx~u5dE-Jax*oL|Y68H>0Uke(FbUK$W{)v1ulAGU zZjBif?m^piH{xE4k3fMht@+>v04muSuewZ|ozSa8E-Ofj1-HBlGFJFpU(Hcf!$7>B zF}h3>ljfB_rqsuz&&;$&qHxLc=sy!>Z{vKWRhFQ}A%g=eFT!K*NJkF1+Zx>d7_{v-n{8HQFflER$+I!X~KEE6;^*a-N4hL<` zhi{H2ky`h}pn0O2w$m;*-@pRRj~-8Ug1>fg%!0>kV4Fzmtv8oo$!gxe?_gPyR!DGy zrPLQ#ATYBj*#%+u+M|@`JPr6~<^c2H6YxDR$6HfX1=E@<_FqxecHG8PqUGjhgr&t? z>(5PveGUeY5zwi2z&tlpR8+Ed^Y4fU!h-X1=TH56mp3B`ZVP&o%x0f0Gh%SiQv}tZ zHqYWTQ}KTN`QC{0Lt!eG!{ot>rsI)vaSp>vsprncQ7A7O{qZF9SK_fDWkpc zgA;RFm^Yz&0ejcF)DUAl*gJ2glc~5RrT|_MlMPzbq;oli_y6D|k%7I74WJP9UJoaJ zZD@$uyo8w??Zlh8VFEsfaCG8-$l;h^$Kl?drZkM~7b_Wsq}u+Jqmd5=CJP=}Hx)N6 zvj>htSR;mzmYSWkYj7KX=N_>9yoJ!`WHU!orxIQ-mXa|qqf zMmJqduh}ao$LtSd4`Nwql#a6l(J16QIDV!b-n&nG2}u1L%aiExkHmeq22_~(Y&KsP zdEPMRSlQzj7dDm7Hsr!>gQDxYrBpKW06(0LSrOlz=YH z&S-bu@XF6M(ke?@{bY6G%T!xM4_x+-uOC_^2((M5hxU~V_&%`-Q{XInd9}%LvTk_8p+Xd+J zhd6**wEBXNe03e5tyMoi*Xij9T4fkWz_pE*I?}$~&6kUH!dcu3rn)$*Us=?0`X(K< zL$7Fs7Ag2x@1lUR^J1sGKY1RZ0d7`QoG-(58}_`spZ6R4H-j-`IoDk0d1TyuRpM%ueI`F$xfvqrnQ>B{ z8zBNAjr_TpL^U4|Z-@ZL^ud1G7GI7u_DPhSd6uw3Ta>ATp6LF@?ZT`CYU60_ln56g z%G{J5;9e1tQ5FAp9)g3!N-n(*=UB&Oj6zmV`ao>gFNb5f4&e%?2xBr*(hs={tL~d9 zZz>*vkSirU-FTL#YYS=$Zo`#uT+OIwM4stQMQi@ZTkvf_A4NIjH%lS52bOb)&DiPD ziATkIXEKduM@i2hiXdM>yIeVJ)(LCR$+@z}G~!6Ouwp3qliCIABKsw4<&=OT*H0?E zVFmKW&MXWf!E!TtLjJm|13Xz#;X()OPbm~ZUhkYYF7JI;ZR=wYPG_SjsIn|G4=5x$ z1SS<6<&QXci*_DGT3A`a&}!KYC{H6JXECCgVv4>rGhT$vgSoymD?TIhBV3~+WP43c zY_hkvqe0q*?CJ44W48kM$Zs8HwtDlMcCqbRfkYZCB=l9s$kpT7kEx`9JrF;G2o^RV zY5IwCS2*B7ur&6V>r^=D>6=JM1)?mAa<5Ko3uoNSTW~=ZTZfy!1_{Z@R+iddE=Ohf zubCxSj>5XjCG;}aH&c4>n+xM%9ApzK9nIroU~wltUVGyxb1PFx|9lW4AJ(Kb_%tj< zjJ$W!fU7zc@DG)7IZM`0)8RhLD4lTc6J##D9z@9vv73WrM*0a*gqsQ?8SYo%jRE}xT=u}L|IH#~1QXQ*$KYsH!t1r1o53!THoW6)4t#sS{? z^N-J&3_l<2dem>9L--Byz{`_rysFQcyQn&MwFd}NmqZsAOW07teI?6kiYy3P#gjEi z+hcvWN`O0hi~9sk`}O^M66dBcyP{HIH#6vp6@2j5fOmli8gtx7FbmT`K47!IAKuf` z^M~KF?;nxzW7p=4Fk$Xmj9cXCi2KUok%-JWvKy83L8QGGTeYNl8j#&}j4E&+$ zYm_f`Sedq#@(Lv3_+vU(2J4#nPLA~SW-}(QwpQKg@!T8(VYh2G=?4o=%cdI!xp>+J zaTnpzH;ge|QJtvk)3K%^AIB*YPX~(ZGA~%V2(~8JpeIJQ7d&Gp!rp4WekxfS2>+b~ znP_i^zsxZYMSC$lzd5(U)fE?XG#7yeJ{`Px1GWx;0JN{h0KLt{^)-F&EeLbXZy2F#6Tp6pxQW%Z z#YlBLwq{w_6*j06Pmy`Du+@2mO0!>D{zLm6k=+oBoFk+M3^+4XwM+c;7+Q_T!@jII z9bnmb8xYvOKO_}b42gDngRos{!auQVs2QF$O8YZC$NGj}tk*0Ks%)E2NE-1oN^tyL z#XMjh;gNRfUZV>6QJ`|QL!n>}ZaZ>?*=JVtyPD|rvkZhCc^1la$XB?uSi#fI+kEW$3%lto-81J`GsQO>rFZK6=UgWApd}2hk68}Iyd==J{-gculkLOq z$tnPu$s2i>?{o`~5R^yosw!rElkAzB)cdapiyTvqKj{{WA8@Vzoy>Yt^C-wN z;gRR+1w0*0_>OBD)H0(h@zQZ`Te&Se;`)-Y@p`(!8G$VEPpxTH*5aqz!@mgFNO*c_ zpy5FG`d-FP6MnY}tEIfxq|m*IS$-*LD<oV2Oab$`|X|_iP&;1xD){SkaQFGrw3e z=b8|1`@iL|4%=LY?GS|PByYCN@cOiP;L!bc8T+4v2D@WcO&{tXF~=!bnz!tCS*pJd z!enKm_N2&su+ungL_yyMJ~h!;n{*(rG_4=#J9hw|RuIPs+uGV1ftAtY1nx>IT#s~W zFk9}XRni# zvHkm2>dt5>Lk4jdd;aOzp86mY50BZq{`MfZlAF?uV=}cey8%YQ^)>84n4EGapKnRZ zAI0C~7D{iwdJ;Fj&bt;LNN2g|{ZaTAc7nVUb(lHV&X$z%4FN%a61&|JVUQ5<&P$%~ z3xDJI7b>aAD|;r1S&{Jj3CQl#2idCSWl05=OJ43s(WLFj|2+oIt*bZdUoCSL<>ay} zE78CWIR`oqAr%LV+I6&-LwFt2s_vV3W3~3-+uvbKX%_O$X;OK=O1!7LXL-v zHUtCZSl)9jRMuO)fu8ht56FtK& zGc}T4j|mpbE>O$t?v-zC_?&X%%lQ+#M#ygx5i$;HNaTsY#SC$iG+ z%z;fpxIu$LBATC-+Xu|mevBie&(NGKM1pk!5<880ryTPx@f;w=8UZ#Vc3Opsks>jY~BE1>a^ZCf6--4mFd2Lz)g%g?TWoB$mK}b^DCdr4E=%z zcObZzwEoJSdOtf2V^qDn>6*t;v~;#%?Q#wrP1#Rtu8)EBJ~{Irs`J0Ezy&V3@IxM z->_XNFE|WMuilx>8Aa0{{<7ugDUllUg&KYz7%~scY;!eKNu2Y>KOdvoP$okF@{oCV zn3qsJC~~NuBAlQ5r33>Y33foh88B>W1eGB}fH_Kc^m%C;VkNW(WwIuIdF(K_qXg8~ z_`zXDSQ}$ksBoy(E=Jd;TqT1;KNi2R5Zn^~Vj+qGnPBp>c9a^v)OW!zX`QL>yi*9( zD)C4$5t}$hSVxn#{l%#=iCpxI;tw9Sq+RnCgDthkKAwiAX+2>Qe5JAefB@8t4&1j} zFZQ^E4llefBDoNSFg_c6=y>Uw8jJo|g533f&88&FSa-*&U^FRG$7*qUw|t;Hzm-(V zODzdp8cHkhyC+d)4q3mgGILtDJ$Sp%r$@C4WViwRfz7uCGob>Pv1?rl{qL>}4p&)_ z2-}U1k59?Ul48N{2F*Y?Rp%f@OSa5QULFNs5-q`T?ff=D1!{}i4?+Thb~eE5s~0;d z+!Op$5}&f6@r;zq%6VzTlYkvmO+)JwD*;d)c3BHUu3Vs9v9jb7xN%kPu3zQns4PCN zVaCRJ>3R6wn$UcUg=h^W-^{DA{4Tnx=4q#Q8V>3^QPtcVY)-#0WP|Fm=PzP(;wNd) zB94RApGUB97_JJ!3)@*P_T$Jn1Ss{M1lfdH8%AAL@$&H(E0V$bp~0;oQ94Fy)MgZ^ zr<0K?;wC}hIB@#3etCSZ-c5oZd-y8|CW?*lw(?K)pOF{H`a;qBGp!{|7bS>jf~Rqh zH`7Qo|D1Pn2BHCl0EO9Cj@P~cxoCsukVFvB$ozKvSfLQhw3+}JD+VBQTP!DgdmUgc z|2y%XnQnvUG5Q}K+qi5hY!mznu%Z(DtJ6oK65%q=H%{NwL+1O5`Q6b;W19R!Hx_qj zn6k$j&#o9=>e*OuIr-Dd+Em5(PX%k*auvu6GuQ9&&7d-dupDhpWjdctTx+>W###~KUF*&^9B2-G3Z^a7t(7^Gc`EdaP@@}K4PqJ?kDa7+kOi=R7>@Wme_V_fhq z*Um8MFAKgBVOLeyPQ3k!^tkoceB{+db=Rib6GiV%ZXJOO!raej4=Pnkf$-ZOwog#w z_AmY)a@D*X(MP)S`#<0g8){3sP-}V%o0{ehZ0xxW-=6-WJ)`UD>eABDc?jVqY%UXs z>X{r+oTg78`<|z*u0c$B5V02xFTw#pu}A|&0)88)?WaGlbf_H8Z%7)sh$J_dq~t;( zu*sfp`V6Wx)fS_5JYdI_L<*gZ4Bme4uD3E_O}Wv^7lq#qJl`u8(leaYoA8tgyTa>r z!m4GixWH4&hCh9%j1{5n^kMY>gh(MaHAed+0EE>Pn!<|jFuyZLsxDXdtkdn0SKl(F z7Y3^>Z_bC==m)R-`ChJztQLF)b2&Z`yz=f{=+)0JD7NqW8{-geMA!e2eJ%6IWQF3> z-SEKOR+bje!*CEAFMXShRUS3Hdu;t{nn>(F1r&Go-ISP^nEPoD9uDgx7(ja;uUBKB z;ZT1axptWw7gAIsCqiX+2Y@Mk4eTkkUyX(DQS%9ZxR0}qu!TpHTjqeFHQ0V_eQS zg`=DiD2`uX&+WX64tzFhi*%<)n)*>L(q6EXTZNj;HPEYJ z5~wD>>1-qlqqTjtt@OF&@A8Zv^Gdp>ni!%cqm`i1slTVsfM3#AC=Rf`2YL~({fZk! z^9Ed1Ds1;}NyejhjJ7-4<>zI3L~rODegkd6C49N(?E9EG(#oUV4NP0P(cJ15?D_9@ zrld&zYiDRybs|f;q9=7xfivcSG3wVUd@sVEod1$=?JE^krs740g#5jK&=IjKeVy~^ zCn?DHhfeatejWtshxl7S(9mD7gKUC|DM)2EAf%w1mq$cBF@yu(?uu;O3=JXQ-QOqP zZTo@D{Yw7H*GLcy6ihE<+Q+PU)$`G<%eG6^%`i-b7^YaI+sLY6V7L39j%rjwU&)rD zqZ+Dl}S%yC1|u90QzY! z#R7^HeB#Xi7QLPUS+(oy_Gh1#s|71ahzn%8fYh#otgKInM3|!%WcVZ`5RY$m_kBC0 zR9Q<)#dnlN?ii!qmezr2T+6O2@LskGm?fKJ>8)|0si0Ts-pP@Rnz(}b4^<|RHBL4c6 zBI$qH>8AapbU~9$-jyKJ67u--#`lVSg)qZTzPJ`) zP1S=j&c-Ak4({6Z=YM0I#8AY&JJ60gjU?J>HPfzQRwf<77An*}f zYH$z>Hy84K;AR5Z*_oN7Z#p5QuMwM!J>QpI%Q~d-rEnWjZo8to+$ke~4ZcHGZ5aD3 zS$;X%S}m~AlG&{JSB{Nit4|J*qiY~IlUA=)E^M_JaaTRM`zt!a?QB6nL`s$s#kTZ! zbiNnQ#2o0(`vfHrNPOG*D@))puNUr(wAb#Ab@=?Ao`QnJ z4VBerta(f}r+xlp=NjEtQQUkS{7D>8k8WIduPYlt^jKT5Z^*!ux}piXgvvo0OIMq_ zX8J!}!=~$}z9iF!!$!AXkcn2#p<0Cug8IouIb%-B$mP!hm96;u_mLaY^_py2da(m6 z7~_jlfG^sDphgh>2*k6i7JIb)_>m3ae3wLR2UL;~0C`ZuG54dj%YV3Bp=N3kP{j^E z+)nhkGZg*-$F>*9h=~U$Lv$~le+E$)ZoudoZ3*L*$0Cv@Ldj#Tu)yM}XiKJs1%0U? z$hL=-ZTp*%gck0*Ms18AVaHV_;xuwXpWR_YMr^Jucio`H?N1(?d?eKvEO;fs4 zhRiOL?pWoOn3}V9^#2Jn8BDRRtnL0|l!g%1$TD)9Wpv)K0;8*bUm%)bn4;g^WCUd^ zr~-1xQ~h3)q^V4O-CysOxmTTU?iz7e*mMn~W{O~xQB_Ts>;{rl5)~PKH$FL8xqDqc zfd)4_1mFW#fd)@*<1;Ly3TEuUcP5T6Iv$egt4QzK9`~z0!n72l93mBkrK39STadb{ zK6u=8v5kD$=4|r8@u#f3+#VkM9{x=9aTl>pJKu%%vADY)OHJg(e=m(ew0Hij-&~)kCC7L2$c*0YVnk}xqePAr<@t!+49zeZf35Ff>x?rWa?z9` ztSes`_3L?2VZm4M?&srGi}A6lQY^$&Q3)|s%qDKGbZOgP+?YTP4sur+H9oSTwKXzx z>%~`!f|J#DeT>Os)p}4k2F5wLr)tdEmDSZ44SgT=Vi(2E+wSfl%z4Pg!kR{nXmWMk19r3jcE&hmsOGwt|wF# zYD>i$+MF4t-+?> z*Vm8lu*nC+4b7ISG6#Qt6;{MF44LkR<63YgT{YL8-nENNKN0{NOmK^=iD7^zAr8< z+Y>v>{Tz!j;g(aH%1l+Cmq@4ljU06Favylj+{>iQ7E_YaYw|s6mnrM9w4nZ;#C?N+aio}8g;t3 zXJKEr2VIUBO%crAH&O++nEEqh(ohki8nyh-lmYCjRaRE?|Bz;bjVg+6J+Rg|m5 zLPj@8ULKJ6(p4Q#ja$`fb!?HA7%8wm00j}m(FQT=LpVuy0Hq|tyZ!ey28?84zG;5l z?Nhm}wUt|LaZ*eka5F)oY*hzG`xCRs3F%sHu83&1*R-W${vM*y;PTL|2O@6`Bvn^n z_no@?6+bgh}0SI$0q;ke-Acuu699jMkN0Z~1mZmWPnu&;KL65WV z6xl++ize%HQBY8`l*&r?^Nb+Q{0XQbH$hD2;0_LAFt|dGfwMW^77J+R9PHDGnwytt z9S96+e{QB5L}Vy}x>s`>o9QW6$#A<-zBtY|xMrgGjd6l`HOve&$n^PC=s<=X`#r5; zh*T)pVlde*D@upuWs`NR?`MX_QH0VzBLZPpbd^FTaJ*LGa^oF*K1rfWq+;A0rxR*Q0< zkfo~zonKd3JqLXaSDwZ0sDMLpxZ88CpwBW{_~5&lH`SyAVAmwWrRzg;$orI1MiIV( zSl!@R@i%2m&#a@{8b&Oh+#OmO`xAjs2pw(zx?J2b1X6pKVYm#jW-WQ0v_@p>>FJ>Y z3OA-&hMPEK_CTF@hejb?Nf0fZpxMp(uFuCffV8XNWR0TXJYYakxv?l> zR|og%*ZHcAkDB!wV?PD%c`Avtcia1w1U^RhDPmP;do+=x+jHjYWzV}%`K)*SH;LQ` zyAiGZ3HF&2-tjoUW-9_Sdo9AkXWvsVuMad;)YeV2ozP=VHWW5OndUv6uQ@U6b(ODJ zNQk!wz771Ds}*!=-0h@p*f4^%zv-~FZ?%(S_APwPH)L)|@xlrqw44ME?yJ<^_o0dqkpX1U`<6mwtQ6)tOJit_vZ{{4X| zAbU(#5@X9^zp7M_4HbXEGxi#G;TU|~m4W8|voC;WAR0xF7vURJ(O&7)>@%9<(}o}* zKhuqaFUa0DV0x%eI>bQmv+S06qbpGIIf+w1VPgW3TcDj_Yp&C4iqbnTousYkE@y8p zBBN0rhC3H%3u5?KT;nco#1}G2&t%4p^m8@aP6f92pZ1&Ix|zL`fJ55lStHUXcHaZh z6%ScGtUIgWWKot!@5s}4rg}1S5BTTzR2(u7$W=$21Z*ywzSDI+PW{D4<(d|uXMVWi zt+<9?=f{*{pyl|kxEmwF#<4aj*l%=+Q;s^zgGCnMKz1S!wGb_auo#Ere0{|UzFx-h zILSEESXPx>c{vL~$JF#Ade@tW@uFQ@-6Xl|pgTDNPvr6zS> zgL*Ub*hTilLW~N>fQ$4+k}~B&WP_)1u(*K7#%tktRPdewI5hI%A?g~^K=G);V%#9v3G5qu$Sh6xSUO#OTK_4K*6W_h&Z=)KHI!vtIVM z3oxDQFideL!#c9RJCU-f`=IKW5w0G6qcZkIs2!FoOdg#B|BncO zcV(V%e}3sQRf6pt+^xXLkDDkmuT!SA_A*r`cVvx4t)m4`$arZ+& zwg>HaTtw>qY(S%l!UCVax9P%^qspHFvKkxQY}C%%cdd-yR=k&t2 zneQzuRjtMUgcabs<(4-R-n+W2O*Nuq?RT>b!S;T74dwGuypo9{x48F9sw3sdasmq{ zR_}vK0?8hr_G4oeL{HY%vNxm)J(nQW?0GSQ5ddJ!1sVm6iQ?YEq?8Fm$q$2?{jzF& zD3Y(M9(Kp`Aig3pSn8BBB2gl^u4_af(hJC>GY;Ea4dwN7oNwxzrG=?B4 zP{7AheAJ(4hDhD!@BSn0Sh{qb{6G1Y+zr*8n)=GMh zdZoi;iO&v9BLxb5ccVP`vZJ;2tcG*{LRtb|UGM|?3f1=(+L=C-;ccc7) zz@`LbgnYn}B?RQ&N9=~$%~)v1%st1pc(O~>uIcZP^9agMkG2F)1Rk@L;RQZn&--4^ zF|Y}sDwV6%vW9o0f5?MTP2YQY`;o}&6#j>SR1RG3nUkT_4prx%f%Y@ceW1lc!dC;J zk_}tqd*)vU4~d^n+}ZOMCgBWU`dbbBj^}2_rd(F--dCLw#2yg#0T;#nu-qfapm(*8 zH=nkv3`xI!M_)D&3h-;R!#9zb?63C=LsAR#6rHr zkdfl*XfgEa%9Vxe#|AG=TskaSto_pn-wBWxTDw4ypW}#<2 z!m0E1t+3uoR}lRtcKzrF78z6`q<2wMqH z`X=Ae9vkZ54*WY_{*{F%2C zcbI=Tx@2MJ-%w-mMq%ErEsh)|X^c@B>2`-r*pSfB@yW@&h6+x*l`m&!XStOz3Y`sr z7pOy$Sk2=1zywO&kPYFij0_-NZtSyU%~lJeiJJc4TssF4sGP9f3%+XB0ftW@1`)Wj zJL80_g6}S(8+HaN?-mB^4-WaaX#)CT4R8eb2*$HJN%dg~hrw0$yT5A=0%rG(C5)yL zFck1zqwhON&%XARNdhnh1nc+coo#3T3%7bBa-L2#@C?JlKUP7l{zm`&V%{;MQftPt zhDjq3gNJ_P+!zk2s1Cy`L&qYBJvB(IyN<8>o0JN!{eRve;*BGV^qxXFzv z^xU{uOJL1!gyXAY2W$(AoSx|AIGyOQEk}0ARM;^!64N!D!(lESR>vaN4Y@+8GWbVjQ4v-JqQU7CVZRxtUBJgI8y8HYL6JjU-8e9=r(_23pmC+-4 zf}NIyZ20#K^Jj1>w7@r1)p`zvN2jWy(-!Qp{P%MJ=gpY$qrbYw-HNT9E-0!r7*8XG z^05l7#Y9#W2g;OC{>ML0epka}oM@4Gi(EZ1O(&Kr(YCXjwhB8nGEDS1@+LoQEUJFoasCR`p{ucVFS{u| z9MSbX0o##1;MZ5rLmHme1#Qc}W37CDoAY)6w-z5$w$!C12bC3q%}s)mqIaq-I0Xi9qr_2+Tyx739^8FQ4KmynY|} z>YuoDo2y-UKNDDJ0wDltXIPK*XW)L*&3^^-FklNX&@RM!Bg#zq7DKw_`X!Rf3WHf;1bqrF{AY0;F!4q^@F5@E zl~1k_`k4gbd(hpEp%T4)-N0q5!lwolVM5f>S&-*40o!G}8yM*}v%{h$R8Z1D`Yw^SWK zob&IwS$-ztb4BKJJ^U4~C>RccWbuKpYHm07^YNu8D>rvo7AQ%8MDGC9^yg3?ZO8x~ zGAzO$Qmi^xZa|&?*|q#h?{H+z1y+M)Vs3k3nFZy*jYZ11!^qLS-0P*6lD6(~NSzj( z!Oe^gK%{FT=YFmzY-gW__cZP#Hh_&cj6n13ndPC9`M}i=9p1I4`TP-1tXRL=?%-#I zj*2}AenHVEC?9A@j;I=g=`7cC-RViU!_7NQmuy+H)^jzPUX09gix2(Z&-pW7=$KY- zRZSE!{>GG3Q!ML-DV_e@gotH}4C~8!+|4m>@?B%iN#hRb67XacRaS-$n|4VCY|P1U7lye;So!@))UZF8VFVl0Pr!eA zywH`>45k$wKLiwL#AZwLbo8LgyL4A9K;GD}A;;@MNT8{i8B0sPcg}Kqlk;Iq{5+u@ z^zZv|*4g#Uc!pq8Hq+6(*B_cP^L`{eUb-eMd{Lbf4w5a@@1>B9g`2ZExI7YOsU2<9 zx=@UTe&qb>-8xC>vb+ZWwtyD$C{Hh$QG6A`cKv9hRi70ec4h0GI6fNiG8-*clQ&pu zN(L`S$Jkj)C3Z!()=uBpDEckc(UreXzYJegD6L+meBwp4Ipq#1Vx#276TP_H7u2BxH@s_X};*4+R4^;w148?+J5wRpTEBqG8g z7sxuu3+*y6dGUg0#De7)2*`(c1kwe(J~%9bR0W_Dr*|2#ddpy5UY}DsUm;#s&%vFr z06rir-!_o+ZvwV&uI5n)SDAFrw$=D)rjBnftf$2OdnfnX&`*dH zz9Uk*-SMpDL~sk?!}%TB;*R3cLThQy&pRnP>>qXEJ5FGX`~2zxB?NuE{qX{gNRLGV zg*lw8{x#0l6y@UigiBjUO~fecLSLF+USDvGD{yUCs{5``!dzg98Kt1Xu#fVMKWxU; zUB9=HGqin^tD#?x+tioMG+2nPUun@~4D%P}a>T`^kNaHnc503#g$}Es=}LSqz=3aSAK%9Zr+TTJxxKrO=TBAIH6pmJ{QVhc@5uHC{zs>;=n(nd=)qIEy#iJ1q&;y|Ls@cX#b#I9^5p;d}VhT}s~w8E2WWS4o%6PmgjBCOr)h z#`%j76zV+@nk8M95I^umIhe6Fpo>^gN3`&*OZ5-d7EWtxsAvmB)?fkFl01_zXgv(Z4tq-{!cIz;yqP$iRBkq%?l6Kuo^v+>=Xg&L zchDl1-uJ}{_A|ljtZvxXN*qsbKaQT6Xw+-XpcUjkaYzj{^^aJ z(}n{S1zckx!U@EeO$HqJZyHEoHRVhjtYOvMzcjEK_m+>N!%~Z;=tnq~@pWzSs1f;q zNKxPr^eAw@fQTo4`9lMG{0GJN#Uoc^BFBu$reOdIL_28}{>$3)09;n(KU5EQA5LSi z*?lO&zAYal2%Ey~mke#({eqzf`(2lDc%}Cr`qT;y+BP3s=$?9_!Y-E83y~&WwDjW+ zX=gq7Z3UdDk}2U?&wCA9t_rL|js8FPdFs3kItTnSSzSLx+QRtz{Cs}{eMPUph4R*W z-t7)E zu)l9|^k~iRr4%ge{SqseH$Q9Gtjmc^y85Z2gP$eGeNq!qDZ@Lu8mf?hvyn9}{m@P{ zxr;hW)YE3F6!>LJ6-H(L81q=pd6t(foC8f>{GYS*zt|euO9SAFui;eBar^WV+;~JJ z`R!u44Ig9(l=YOGbnsg1D1y$OUU>Eeq-4hY0$M3k@(hDBLPtkcUFQgC8n1pJu<6{Er5`%|9qsOe+xKdV_3Ybnz6jk7Uc>UMbmrt?+d_xs9g=YBdS6oV z-egb1zUN4j1du8KgFA*4B=igpGRdvpfj%KhTvlWrKAoIfG@5MPipSf@{R}3F`a496 zN`eZC7mM=F8_az^!ze!pqb!}ebmd(dcsZh!sG4k_Qgye!IcD~yRcb%56Ph(mut&Ko z)`c|AT)kZso^7jq- z4;09?UQ$}Bz8H7k^1O82T`T#7*8OhvtcxA@%lzohkV8}Gf`G30<~Cz>pD!5(>+^cg z;jHJXs+Cyn)RP7qK)N<{-0_f zxdKyDnE5rJv6HDrn%gcPxBXtLH9o5n|4NHvu!!&)rTtchM;bc)n+DdcX}8}vyNsztN^YLEZN!|<#jJ!o1#+o96PG8NFS&r{M@_ULt>MZ zs9&-*e2s0uI|3wWKwhN8TMT-DvAH~X$!B>OLy33PHq$p2ikbMrZ?||MNVbx|d6R4; z=4_i^DG}o(m>crTzNlAJihAeXqgejk<(~l8Sci5wJBI4 zwVQ52t)+_j_yx19ch0A-O^Lk}x>6Sx`f7H*)>Hz*s6?8Y^n2gF!$i%2q(OCu5I-j~e3yJg(TC4tFm#lGgUdTc`B zgxx`I-C?mX%~)s0O>Q)x$yA#Ee=JLhO*0=MuwCKJikjgUd?JTS{iqY4kc_|fgFtDU zEw`*YER_w*HY%8f7YC%-c^CKfvdCFWPZgx@ZaqrrK4#UX-R0xo@Ms*yY}$0`={Y|b`I5Pb5gwnW@^3fTIat$q zWdRretD}t^4q=G^XB-dN-HD|89+OM5$|n*Z%v*|V)q(oj8)#tqa|w@nKM`@CX%O)O zToWlm&!LaclKhWpc0TR5%sn{|XgvpP0+TfK$fggNloI40CQoWB^9wWf93jk?i@ce=PI-F^Mhi%?BV@_2OFIj$uCMS z5IS+7r;g_-??MM`{ss^xHNdnd%oOisle%+@s?EiW7E;C4D~GEBG9M$6A!Z2-_yG?r z`abZKiv)S6#R>`cu*-e#E-WD7Y7GGD#ldJTD?>&N6`SQBScmLnJUrpR1-Ax?SJU&o zHId*i{AUsUAXN*{0P*uKJ^|n$bwq7hiNwiTS$lmCE)VVnj}Pm5(nl@3>&DzvJ6VW8B3a~Tq36ISKc>tl9)vy2t;&d5 z99E)jVVKdnxwe20{xb|Cf+ns+3$pxkDj%aQ&F)6fy!J~@C!+LhqAtBTwG@{;DOdJ9 zL-#XA%Xm*cr>tJSA^wqlO(8bAhQM>hUNYJ9&GhIZRp;a_%DhiSmUMqicw2Rmg;4B| z3;-0jhSse;-(8&pjVc{(f1;kcVSrgR1_=u85cwX-Gom;bXPaVNO7+ z8c{N{elNs}3$c%&2|fIn@GlQdbidJm+}Dsb_Oi39+z>Yd**}h>KizGG)r(~?hS84E zeNf9?HOoTMk+{HTmR^Z)BvkN%JY{%4(37@J0CO-_nN}jnRMh>%Z4&-2snUOnxQkls zIHoIn<`IulIUs^JZ1m?+SsRNuf@Z2k$VHB1v@;(6m<-j5nJ8zg3_7E9j! ze3@G2o;iGTiT%o#F}GM`smIeAH(}A*{GwruBFM=x(rn|=rn0yjc=#D$0+h5XaW3H7 zEu1ndZ8aPVKQlGv-`K=`(*4@l)ZdE}9%3SGm5DVHSQ}A;1-dx69Nq(}F_oy~Zxz}} zmlJaa&@sy8R6AB%qh}n$(kmIUb(&V?4B3clXAo$>1?-X`8Fu`(g+N@=;)T-J!mnRs zjfMghfP|b7=yY>ES_qDgMpe^To%fTH5xB^{QdLz2XBT4aQ@DcgYC!$xkT=-^vHyPf z?U->sTn=e?$<7;(ZhBh^{$s#qLPOh@VVP}ZVEWg_AtTQ3^k}jRN=J}4k9(~4>w$yZ z*TJ)7HJA&@7=m8zz!%is-$8Kes7)(&u3AHxx?GX?Hi>Wh1Z)q(_s7F zZ1gBU68~_e;;`E8+MdG_CQ*6y=xdcM@3KlMiZKUJ>6iK$c;wG_Xs}?adz^m0s~?UL z&pVskXlT%Xu%7m@i4A~HwdVJxE{N;?mNR78lXIsf!BFWq7l&d_xQeo$GR6NTt<@P@sWLWt_Ul4(Sn^ggtyhdRU~wg`lZmniY+jW4F`U!Bn$2v;uci zPx%-ebIyN|^|*+FGg9ODdz9RFzVpi;)>(5^_+fj+Qc|KmjSvl_Y1trmb%*Td#p8n} zj%j)j@x9vS16ia~Q&ZO*8@sO`1I1}0{IfDMKP;#q^H1~9%<_bv0*D%Sf|Ws(n;C<` z!zu$OZIO6xWxW$b_ot&8>Er;TCUr9ZSwAJvzbiwcC!CCoiAO4lzQi5qEpc;%?h^LZ zE@;WB*v1Tm!2B+Bxemc>5A@V{xVd_29O|h*DX+~Lw3wJCBM$557CP?xu7PnS^|Xuq zGoHB;Lg)y=6k-VJ zFww_VWG1_{Nc??R?WdbAk%cKVYt)li;ctz!zUQ2&{YBFHEpyLFEhl}YQ^(4kWjYaw z6z$J#>$KcY>2-t~R*T^RVoW&YGA$=n#Y9rVw`i- z`4vH36+di${J6<=V?slD((V37xM`0*a@#}C0N%aQ#lrHC`&17nl#8uw{OjA(w33&+ z%IfM7fnK~2+^Are9PiaM`{KB%m~JpZGj9O5*JMnZn8*-=qkwV9ymV}~ARk{Oh}m6U zkIi+z`osbfV$PuNJhg&Sl<0%bTeWrOs^^1ec;8kUhD;CojDqvc1%Zckbu$X;CdKTK za(MlY=_*Lmddy=qYTKDfc{sCablS9dDhgmuk5t<(qz-4f<>&Nl)Wx04V`KdcmSPZ2 z7JMXm1Nl2~I7zS+O~Mzp-g~f@nmk^inG-Wql`g{Og$z9kEA`%54St4m&3-2VjkG&N z^6*<|HxFxiXYW$~A={!IyC*B4+nJzNv$ow>0$E=|Hg0*Nq|1Ucr@RK{ntiGZ;6&br zZZ;2S8GZEmJ{uB%Cgv8_g@Hd|xb{Os@YtvRS~j3A&GUySWH#D5 zauyWA?Z|kdy!W=6{_e9Egq;0GsZ18va%RcJTs@A)T8+NwtGBE8k(=LL=J88}c=i_2 z;A7`WEDfNqlCsj|=1OLm(&08GnF|;;>~jvV zRn26O><(Zdz_G4)!Pb(%Vb$e<@YfmMB`{N4Z3RD@!ZZZZc%AU z$|bD^E1Mv{H;8s{G~Yp0s=Swu+j!WL*Ut2Wt+Fl#$dcrfY!1cZkQtawRa$> zbBy$hECC2j|9fgLsWMeF&Y`t+8{8DbHw5b!uR*Xyy-Zq`NkBpceLe?wlQ&WD%Yga~wV9 zsY+K$2qI)YD@@W*^*`&Ms!U*7kq*K^EmuEPzpj5?65SZ}wklNDX)bE-`^cJ=*}*p` z?m$8anYJ=yBK#hw*P%`?PV9uRpN8F17fob*g>{06F?UkrH{fg_nBDk9@rg+Hcg z)RV*+y1{9O)yXq00Kx!8q~tZhkGbQ z;$~%`o#gg_H?+slhLd6eJMoX~_(yFlU^Gmw zsm-<=HyRG_P&k~)%Zle2{1?(jK3$jAOnCa=i2Fx^5R@%|%mq>2#?2C0Ia(~Pi70j4 z1YQ(TIj&qY_Mq@@EV$jnZh~JbAT4Mq-k)nwn&s2!e>0dD*BUyNLTfLQi1OD1bfIww z$ViA13o|_tflqy6%JpCHb0d*GpQ8@~m%<1o;rM~OjCbtFrEbhLw%?=aCj9Oezgus( z9a@lTjGY}LM_%a?VtLNnnijXvma&_0cpl-wV!Gq$liDQM-2acMvy7_p`=Ygo(%s!H z-Q6YK-4fE>Dcvd3Eh61r(jYC}(jg(;diU}7zjxfP9*1L`*M0W8)?9NvlYP#_v+`*o z-}H0XWZvV1VY~Ztg!uGD)b~33lZH~G@ahz%1Kl-uN)KUZ4CgJP5*PsG2U^KyiDm`kQVz9H;Os-rKad|)kVF1B4fOZbZyy|B`3WixuwOo$%Nwl{z?<0! z2PYmtCEY&_Kled`|K+}ZD1ABHyHH=j5YlJ{6zipf;&sGk+^lz zSNZRL_CWInFJHuFx%}I;tgqM5dk+CaI5MKj4SM#}do5cxpLrU^P*%z+-e0A2UFRj6 ztP2qKUt1f--%9a?Y9~sBdId-eYF7Tq`E1IWy^yz(Ghmry5?$MUhl!MaVAI%-wYKm> zgeaOAngz0XiweF-nBjylo}lM^6~=SQMy;`n@)EXPZc67vq_IJnbA*3s;SWd?3G21v5IArZJ1qN?mcq z40N7>@yp__7ZV#-rf=OaLR*C)pg47N6_K_+OG(4j*Sq z!F!oYS@@m`!Y+om-14G?@mXAY!n8}+xOQaN6QAWYMJH>8-*XI*B&NzPR=Z|xDY@Em z-~ZTpJUagBg2&Z(9cGbDa&AigwY~3hFR6KGFp1LWN$HpG7KfwZbNjA~Ra8k)0wvm* z{l0^DDS9o&-!#8kPn?pzpog-48Y(j%=3xC0=g&A%p!@U!_aQx5;a;3ka8Yr^E8HQP zBu@I4k!!e1`29TT{nj$HI7SE-XYyKM^rg?yllFrge-z5bI|`O1tpsAgTvD zg)OC33(j5#F1iHvW-;`ckvL&a{K1bcrSZeZAY%-OeuM-XmW{IS%W4bCN8(Sl1o-=1 z{Zp|WN>ro9LEtU@D~Px2=*VWyV@H^j_pik8G+f3Y(0J~!thw@QpZbtKcCC#T^UZKp@e3;=MsymUmT{BPd zEk%YrHlY)b$q%wI*$bl8ba6~)18(t%9&WmtMTgH&`1@7;e;EfXM-10s!bjL42Pedi z)&5H1xbvE;g0Sp=7(f3QA)w<1ZaYjk(s^V2@0QQ309a zpWvA_P9x}b>(TMMy}rf66%U-5SpGMvjj7Z$A9<1ASJnNL3nK+n{1!eU73nW5QG|9? z2@vuD7Qv|dL>!%SmWsZq>eljz`}*|zh#7|+5SZJCh4pXZ=W{@wu5jeiGdyQZhLtYH zt&3I2$2SSRJ}c=PEu$^qx34FfP!#rNx4~>$)iTOgi9r8HwR`5k^M)a^hg7n;xCOdR(PX@ratY?x;ztP+-{DhC(2C;Pl=PAnxWs(6O}M^wyI0bX_y}3qd(WHX)#gfy^I1 zuyn~UAOLJJBz}m~PB#qJN>@?7@nGvXRPD^K!4@ryl22@o?rT65rPX7UDd|%w@)r`mi^02$B^Pe=gmPnhnz!RzgcMl3WeMb-GDmMQcxdr%x zviI&~zuZf0v8!fw1Q+<@ENNRwU;|^Vx00AW|H7au3=^6=hw=Dr6aUXk`l-!nW0UD_ zWYXmm3bQbhHrBvz{Kw58MCadFs+6A9 z%&hf{Azb0l7ME-W=+26kCf+KbUW)G~$&h?lInjc2`C)kvRLWTxN8AzzWx^60?L7 z%8?8f{(t1;VWzs`a`amS^ymM2wXx#3e#w9Dy+Zh8r5wt(QkCe$VUtELUd;PZ<3 zPbH|F?0pj3;~OeBTkO`AQN{x-RIUhizGdb3&qPaqgw32WmAi${1?&0|H|$%<`Y-ME zmi0K18sJ{J=x5DX7(0rTC|kNeUuMc-GK^x#2f1wo{K@oCZ+-PY$rSR^l5ZC3B>aQp z>FO?J2IY@z?f%Yci-1j$`8u{hby1l&NOa%V{MP$HHyx6SsTSwltUJ!zQ4Ki?3Jp1P$i$IQ$2*Vdxsr0I*4H|uhiXC?XRz4t({Uvi=wJA^oFX>Z{t*RXAuMExKwmBI< zFfpqFTaEXnC4@9ZlhURjI&s-LJu^(z6$T=XEfD?;jP1PBk3AalG)Bo801x20=wbHK z_SH(&#a-cTtZ`OLdueZQ6NY>*)Vqe`+G01UrVTM*M>Kv=Quo(jC&Kh^9@i^jvqhWg z{6mD&;6ym!>G8}jP04P#m)0$Sb+$g2d{>YB$|AcXUqIE2;NO6H0t*esm0Yp~Q$I8) zpu!REgU*14np<+ocu(a5F#uG-?!51*~~5AouaAxLHV_gQR;a zJ|y>O%}iVJYEUn0i+B6q+X@pbWwHRH4;Lu>E@BUSr|~YcU(HAa7zEhjY?|z4cj6## z7kv_Mb;TLNoT3yTFd}3!-i~EDQ7O;Gzn--AO~pngaqaDzag%PUCI|UA-62Sqy|h#2q|0aCWTCcVTjEhBFmlq(rN+w<<2XfuEOWQI;WqG@5tIj08+NRkj(egCzo_vGg(8}L@A(B}DJI5g`+O5?|g z0GX>!b7_N9f$pF`h%wP2+$rzzsdh&Tf*cZ3f-nr~4UY_HsC$KQuxf?3l~>PO$_K;s z*b*f5Ltrqn3C@QqI&)zL6FRtWh}efOH>~eD$Y=gmZxti+vwej-xUyEc@~)zL6Gglx z(p=M_L_Cf&eT&~sBr3_-?j-cWm@Min%MK5+Y2p|04GX2NL-sF@+=s()O>9qugAA;G z^$Oyu=Dk)DQvv(yW%V2*qswdrGm`MtPb2g?6yzd2(w`cut z9BU%MrIG@FprcRYuq>a$ZD-T4^z}pt)U1wLttC%wUm_w3*ED5MJESaCT z;is#-8qI!`w27w(>9{-j)Qx?%eYs_!#-)oy zaDy30#>3M9yiTLKRgx#lVX8-Lg|#$YwUNO{Rcik znYuZy5B)phR4~IDBV0Y!dx8I~p<$GUV1XWcI>27Tw_}%Z=|e7h;WXUdpu<;$14-{v zL}1|r^#J&uP+Fe6!&|Uf2OEbrz#eSczh?=|=@C;L1pRkzk-#zsepInyy{+RmqE;!y z0{n&ms}cp0X}$|tI#+Fd1$t9-)};TbD`4iAoecX6|6ae9%9Hnb*I`kxljH4-fT+Io z>xZVmO^RD?c};~{7F(55JK9q|<+KIcH;Z`8Yv!iIIG}|7YaysyXhvK32!CKf{uP7qx_OL4-m5upHp94uT_ot_(Sw~}R3khoLd!cjz3nURB9|VW0 zZi4{H%#A(PJc)W0!1KY55~!HpvKIwy0TXw$vu9zTrO~~2BQGIt=jjPn&c5>s4Q6>4 z4T;c_`vPaBme%}Rnbr1ri~68kJ|Kgn`W)D>ok|x$-4ZRvuC1&%-Mln@WCKnggtk^5 z0&1^pXz z^<@+Fqf7z_(}`7TB0}WJ^cd{U6QRx_w-qe}M5&N{hkH?kZo z0VVf&-%Sty(i)W|AiNElsS1cgL)di?p}+3`GokkRDYueahpBcUum2Lt`R|%Y_771! zK8Cj`|GZmnUz`#tp=85@>sZ~jQ@dI6F-zyK=6@I|6ZtOpUvkZSp?DhQFNxwx0M<3M zNz6J+Va9x``1hP3n)tt~+e6(-=;qWMOsDZ^^wUG%i(OC2XLGwX6RfjDBdJFYPjaVaYDT+Zw=~64l(fr!2Y}1IOgt+p4oOi;R>l}=& zJtO>wC+?v7MrA3hNj}g|&0YlSTt_6r7-J(pY4wqgjR*YDvDG>)eJ9o(r+u3}@8Lxe zoApdji#SX}FNg$g>buhq^hCWEj29fdg4S&eqb6MV?s@mr=45R`gY5H36_wZGMp zFO`3Br)UOPvPVM{3?B{Wf^rZI^!p&f1HvF3Vb&mBvx&^FUk|1wsT^Do){KBf{a8@8 z`ci2Y^qQv0pqq#oj|62PNq6&0W1kL~JimMlN-1jXt!tycM?8YR=W>(!jRz;$3!awUQ`!p+p?jls^pc+Z5<$KoQzfjg&1CGspnvwh4Tf2R->I+qU1p(tVJLBM?s9-({5Mq~a zI}hMa$_(|%tzB}WvH3z%Le2^Cfx@QA#{))H6*cOpeN82S@I9Pup6}9jkC~ZAb#jD; zm-8#!gn3TAGy z^uzo`AL5}r?$o!q>Tdo36#9!TRQ|GEmAn1Im}}M_b{LKNv%Ym!xOLrmAAMqL^xt)B zwhhH|q2<8H#wvt5a|vznp+8OKDKSE7W#GT*C8v;43A!C5PPI6H?Z(vWk$qD>jk%Ir z)4AT{lfAEoF)GX5B!s=gTb)rM&U`hUoAT9Rtw;~Cvtuj_Riq^gV*E-cLc4$^hh?I3 z)!)P+7C=tLk&>)t;Mguhn~oTSPS=kl!;5F&`3rev)dy2#uONNJ+K&aQ4kR3{vafWO zKLOVf5)l3(LFfigkR-uIz$Fj0<2K~u+Ww{q7SJ$4J(MJQ?PX%JnB$<@aozi7D=GMIk4h!+{ z3mlLN;2^(`Ti>16z%!t18$+9mnh@bs$+Nq7Gq>aL3Y7A|C6m!B*2Mf{kq-+`1NK?x z3{5;q(~$|e*JD|B9thK4e1dP_OWtaqxCqVI953?JWH7%8g^tNIIM@kVZ36CyX=9%g zM#%s4u^7)aR3MyIgl4I(KDi{C4@ke;asgj9JG1AoJSH6{N35r2i~^#16^TATwbtl` zIt45!p`LDN2QOdjy267GF!N}0yHxa_D6XzygT>S@jIpjXUZ+P>7#T z2|d-Z#f|!o*U6O6lh)4@8OyxR$7@PTUEBZGG~-6f$*eyu#<%=+J^Wwvw--;%`gtEe z9~ejHcF>rk6)gu)cqEB_vdtGDhVjZ?j=RAc65%C~lNrAhK&w|g2?C@;B*C~(Fy9hfxDm2cv90G> znP#iMetkdx{rn%zb_5E_7)>k?O{;zPc_WFgu5=*&0)rBgBR7^R)!}Im?_U&vGY#JA z(ReQVtvS+=luXZhLj4s${x7D&OtFdJ0gnb+@OoAq>>6m>%bZ>ojEYEcCU?Bx@v?w# zo*0Yq-Wht`F_L&Eh>l(Mjw&ZFoxXQkBVe$P+u zg(VQl4bo-xvzv|9@3pIA6U1n{@3X$3Nc7)fo}=7E<<2z>HdYV3*CF|w7OBGf_$cdX z>vwyv_m$+KvWM(JMqHN13|qSA-?|>Sal&yodym!ZnJ)dv@~fllwW)QR+i;Qu@NZjl zm1T?V8JL}f&MdAuJ!6@s@E5w+bCO`Z$KkORY1^0t%O-NaJj254?HF&Hrz;#@mtuCO6XX^`9x!~qhL9B zf~Fm9g80D3CBNy%%ZMDnZ$avNzd0>KIsg`{OgYO)d1R`e5qgT@sYd7C)#Lp--y8p_ zo%L1?n=FJ6>tTD&D(^S5!03t`lXFSVg;Y)5QM--ZSC6VRzpv}}*N0>edp}spY^WH- z{!IGN+#MMsip))%P$7O zi=5BkdJYCEs#AJX_$EBAx$@EcvRpO^(F_j)yDo04R*z8px7^rE!K}2B(#TWi5^d}5 zo1#PjMIk^Z&rSFjB?G1uz<;{f*_rykYlsTBt?y;bbqJL5th4FIPhnTYhRmFEOH+Uk zF(QvBE_-XH0(U51SRcs`zX-CEk<`-@%U5Y6!!U4LC+rs+N5X`%3_*^eD})QCgFw@py$J(b`%{_O6vWygj?^1MFU} zoLf871Yg3kL9X8VJkaC6x>p9~bva?3MfsLwtfBx)=EHSV_ssI$y<_uJYC}+UbQ<+A z1vRsK$YZaXhk!@>N<-@;z1E)}<1Z}tId1tzll}1jEi_JG5%3X8r@j4t%+1S$GxjLb z;-on5U$uZwqW)8<{!)->!Xx!ijT(Q*r^A}BSIBpGYr_8S!TCR3On{hM&}{?dspPB^ zxC8KL+C!yEl%`1ABt(so;pr?$Fd=bLOxj)sA0__;p^;&In=1b@ShjH`^P;*)!{pE(ka~j6ZU$KrPo1GU-N@s_y$0xMNT$a2iM}>b1(XJ@SD`h6ITH5E08fy)dJB~(;gzHU2>$hs1j6Ip;)z%X3*SUag z?Nm<4=geI$DINgyv1tv&&hk!@1fdSX$?o1ph;mw|_zgFB9R0&cN7szmK%7#ere0y#Js@QfSnAwl| z;H336dBB3q-)SA&5W|q)5D07kKIwB&;H#3E(&hNo{pbBIM7}aZ1#aZmCIm=iKPNYA zoyz5wP|L`>5{oq6B)C661Mq2QJvmXC^06>WBmT6J&EQe3#SV8j^_Nb*6dtyRk^~~+ zv#9HcZ()^rxXK%C>x6a^ByLAp;|z~ci%m(4Cp0VV74QqR4D&^fypih#75DJZq|Zlj z@c%naCbGg?!Vf)tT{Y`>o_e zzs(8(Y-$-KfXlEYwKp|wsV5MBW62ePz`AMLUv-Er=4kDDWy3viz#kTaU!0>y0azO7 z)L-@5UBl0AZ;R|Xf6wMu{DKgZyjmwt#<<-pNoM8nfG0^V|95iP7-qupx$r>HU$5gB4b^%& z?Xd?J2KsdIQ|+*m7-KT8FVfA0M8!awSZS>bITt8*D(zOH zgS?Cd9^zyPx$`pwdj3hxoJ&y`Xjt~hOw5gRo`vdx*K;SC#O(!Ofxx1edDZp(f7S@T zAff{e#5J4d_ql^)N$;j3n|ug`??tIS+}fNr2Pu?{^uFCG$hx`I0DKD`jWM}U2!<5! z=S08nY8{W)BhU5)4wG!~iJ{-0%e;txdj09;hszCIf4XH!zF$%-NSDn5Z95jYp2BL> z6C4Z=e0$KX&K;a-tA`}UrgrqPILc30QZA#-sd^?xTmb4i_LX#9#c1vC6^Zw|yQqOW70H~MRmO~LQ2CutLQKBG;dSvD);w1Y3W1+^QZ$RU_Fa3{Tg zPfF1WWzEE*%aU(J*(9Xs-bh`9}D|L6ownX@7BzGCpNVdaW^ zPxYB#Tj_XxK03kQi!|5w5bM8!GKY43AV>+yP%w1ZtPX!#<&GX|lGF zKfTNklx8ERk~GlPXJPF5`J7K|Xt{6upkCbfbvgVfZaFg@ z1yb48o}5t%myCj!KM0%p@-6X8%IL*9o?RL9&`NVSTKsyKs3v;Z^6&Br_Q+D@(`ug8clL^a1*uYBtDAc5 z%s`qPt3uoT;*fB7TO0qsfoj*2XCh@(7~cqP*mW}Qk4#$|{QDJ3eM@=9*dIO#jON{a z@mG%8u>=b{RMj4X-MGBArhRxvihc4May5G$F?RR}P{?_ zF=l7vTMUNw7L*^=mGZcyhlq6*M^OjopFeW?(X0D>VuRNIJ3u;h-{pM%xDEO6$EcOaqweuavvMm~QMg)W*)%4Q zKM>{_lQC&!=)e5^pv1zLP?T%OKrQyw!sUFRTtk{eu`@*D zx-}6kSLcWH4=Xu=g_F#wKaAp5xW3&xTgbAvfe}3cKhdQ(aAdxhhdbfgS=b(Kt)=|N zHhUsDZ=qgF3YZis>$|0IH)%CjxOud;y4wF4ijh*FzoPi?Vug=nubzCDBQ1bf2GxU$ z*Mm^?V-GM2$9MIOvRmsS;iso}wjUspHvSOZLy`O{4d=p=lSw(EJ+cSq+@gxEjaK|j zMGmO9&BGy52%u$y@PO;?sP~Jww`X0`WZxg5oe^{PZ5=CS?1Fj{?V5zL3VbatW34T@Me9nD+aD-B0GdwrtpCrwcy)f74y(Q(p$-e*kg@Oq9|vk!p1!Dl$xBe zr)z~GcDNT)wDUtbH1G?p^Sds7zNZD~)9bCyij7kz9&b=imR>>LU5|9kSKcCW3bE(^yq)Q3L zolY1?DOeXL63~Hv@uhh{U)v)Jhf|JUT9~dBnyJ({EuSq77^2Sp-y%F&#aq%k@r=Fmz?c2ZGt;I7U;Fo| zh4h19mt(=Npa*-J#76`6ug%88&`_Oq3Kk;hS-y4*91~xOv+SaS@*;s>cQ-eCzLmvm zhN7<@(wo&JB1?!D&(eoE2r}fLT*20P3`eOJ6I9>+g~*@rk4*kUtvB= zjn#ow280BBfp!C4Z)+&4YUTwQ)bP7UAPA)}Vx|15!LI?q#Jm0g_(H3j@ zg2-eTp5eAZppk;ckI)C4a2)X#PW0i&^Ly@u&^j7QIU(t}01F?Mdc-B=7drB#0<}Sk z(3Q~mk(nE_Ht1XaTeejEmd0n}_Cs}yBSae$knjqQurPG>NHT_riP!#~>sqSOA2ROm zkbjV6mnYj%`4N1=^vocLQ2LCql8dw>$YT}A`X(jFX)5Nwg`NE6rs7rt(m*%TT>o<{ z5WV1*B0;RCeralOi1^J~Us5LLwPvw2^~6V0Jol${vI-9$okZrZ@1iB$A{5~c#oykx z#6{Ogp!aF}bhfN+4=lQ&8HwD|L0bGU3O#^Vi^JAmCSF`U64fsvZrsJe8`ywI`a3un z8(*=0u8Qm6vwEE#VN|VNm@zB=qU9((pH)}3uJRWK(|fqrd-Kl$cgq+Kxq3L0@F~$L zyy+1kgQb63Ri*BX;mrSL=D|?5FcMTOH5V}X+Hyz!njxeVYxlUU+tDy8Tt5@jgnsF* z0=;Ic{N!y;!QWZD9{XT(-Lr*7EW(zuA_lW1cS`p!I4Osou{Q}H56MlM{=G$EXWc8u zTRgOQE)8D%a|7i^^J;6e$dyvwgBf;3ezO&>Z;g|es2K(aV8cvv)Ik%sZOCHiEbxK^ zv^1Y1BXi4^2H>hthSQBAP1;uC6_IgfHPclnUI~;T+psz%u=n*#I2ZWNya7qR{MFgq zMHE+@8me(dgkVZ!fJ6K}WE-kjoeyp2-~DyY8e@x}g$7mjW=yVbC?19O#=*I$a2BZ? z#W~0{{i@#O83TS)2O*SAh;(oqigdlb>oeRzA0`yDv3mZ~NZu2Cwo-|Wz<__iA6Rj! zZuRt>gUdDYTukZIB$W?>4fzYUUjv1cL&T`unN!M&0=cl*x>fsK%jLxtZ|in;T)rB^ zN?z>XN&0g{;pHh+2N@dMi|ZFjxd)LK7v*&C$;89Uqj$Xgm!WQjfLL#ehfYuBfXO~H znn~+rr*&RqvfO_3s*I<~k4vvwGugdKzTC)GN;$g?h5RYrT1&(>!;*`CJ#7t^W-_1O zQ3KJx@Jwj7;Y@z;ffS#t=j4jSt_7yOBSV%U70jcFJ z+?+Tq`r6*`@ovtFwYX;tbfr7@71I6r>A>p_cMlQ?aaq*xMZow+s>dn%5Dx^r$n8DK zi0?H;Gf~TOqjf6@On^0pJJoqs$P%0tB1|O2!BXY8$HtAVwt65aTEj|ydtV?C!P!XM z`5+(qRPXuZ;K3OLhAC%glki+U3#1d>#ARy5e#3H%K279MhHuoj9(_&Cwr9gCj-GyY zE-@Z0y!;?Ym#1lDBU!kX6`xv^a!B}IRo_}%yIk{HE$U`6X5n(H-q`Dk^m+}9;6TbD z_$61G!^^vVW++FkU;R1jl}!qF05I+|2U;@8qi>u1o8B$HD->(tkxZjp&3K{&WvIt- zCg6LhFkMXs97D2PKjvpK8>>kF^@2lOr}G&UU;JU#^9ANjW|<;ul+pWBTg&w8M8q6P zxAL_LBpW%Naw}_2JdziFWdUEy^5bV>FS={^FP2j#KAMIt6j?>FGW4v{~r!H5S?nOnJ`zy{~xm~ncTX4bonWC6oQBY%V z_jmA!`g^KBy|ZNhC}aY)mF@7#eizJ7S7}4vSVzRgeqguQo@HNR~ZfEQy9G-`jkBuF_sDo%v| zyp}<;U;-8{3W-wJQ?`Px@6i)9kio;$+_4G~1UN`SP$Ta=%zay*OnY{3b;e)&@qQd5>xpl-%j)n)IJpw&;>8+;_m_Mx6Hhi^Fr{=>Ep6ZEkFV0VzdZYqfrd0rfRyx_<1> zI<#?R(5sh@B7$P4-pPmx66gT2?XEgB+vtPgj^Tr2A|+{mTAshRoOAvVrD=bo7vpY5 zP?gr-?5a)2aZ8b|&iP`aw4AOwFgAvB$UmzZXDaac1*@hmm7(fR;Nz)Y-+IQ|sE27h zij+{&mDezv#Wg2LJA5ASptg>bn>c{-`0{@zQ}pxw>W;S+ZV2!8rzLwlc;@wUUrm{o z(DW=BM{T!>oPB&62T8x|lV%S+8?!ZD>gZ@34D;|R5-IOKEgicfo{TJhLMJa{+&{Ts z14nU6vE3N%u!w`*NT@xOuusg52S|Nu;RMcohvpKveH{rKxWRL{V=ah6I9lXHTno!8 zK6#+FA>s}6ho_Ysa+}O2g@RaC6`u>I2ik8xTN}=HSD|kF6m$S>t6S2w_Y^z`XzL9q~b)PyV;}#XMhXSyLBJ%Cso? zH~QBZWXzWOaN{XH?ml_Ep>AEoKpbsga-4XTy1Y*aQ|mbEz}?eglakgp_u5VF3SqAW z#wThtu|^Q8*his+?!wWgF~4iDqSQF6X~b9i`JPi&fGpz~+>nrVm2^fBO0AqhyRR;YKRr^( z-bd!r`UuaqW~zCH1(v|;>4Gij%6KPyVfv4m?!-C&JL%UR9#==+0#oJnAvhu0t|ydnM>B>5o;yCZr0>oThC=bPcD9qoG0i@@~bhs z3KS{rFsMfT(~lW;TGx+_ZgbemVQokK)WoH)j2Vs>%_S@{ntstd5Ud@b?nxQm-6paA zIRM)kV22g~JWui;F%$*Gg|E(Tkl%2*Yc~Aa>Hm#KrH&~GLJl(EJmO})6zlsp{xX0r z&(hTu++a;4tLGI8t<^74ooUi;d~O;azw3PT{0S@KPmGkJG|b0-mRkE0(M%HVV4K5K zVJy71cq#gb9aGLgdNIsPrq}dSqeS=!;mfT@^xwKBt~!bKA19d4cQ0EMocLo4>j$F0 z@Dm<6GH#kpVmL&{58+R5N)gW!{Q@95=`e#`k`h&Xs@Zvyp$TT%f7)#dpgx70&KJ${ z;oc%6iu00YATR{qx0c652MM#|YryQW4-Ba*3x!oxF#`}v^)tqY0d$p;g;g)KXIxy( z$HlK7WeWAD{1Ex+Y6()^<6-e9ee3WxjHpkEJv3HK*vb~nyE$8Hw-}Md2_1x-O5hYz z4;p5@jW2eM=$M^p;~hzJWCKL_YWh&pBz#M=3ThKChG{?3F$0+!?BQpKn-fWiH?BYd zmYjDW8U4ASe(gyafT1W+QwT4Zb#4jo-`yZfQDO9&|HaqfIzz+#8zqyc^~v{ltMY0b zVYBr4O;ou_x?4TQuK;_pNGRt^x6?1AkL@RmbEXpVak^1z7U^bTFvu_;@otY156a15 z<3}AdB#UpP1%R}>nR9vRb+W?HL$oJUq#MT%@ONH176yMwr{QV+077Kv}RLuDH^OU zMmKrWEv>x8zpYU%lw5pwlOxVs(zb8&!G$U}k5FCt;dH{qY(zV>itYV<5e#;L#gMO*edu#@HQst)@O;66zqfrGh8Zki7# zm*0&VbwHIrM3tcj;4ktzHv%87g*0V4KEKm-E}7v)Zs1W5v(0l9{HSAc_L2scrLfJS z+2*k--pB9y5*0XT&9N-Hk;I$}N!t&ky3u9?j+hpg#6TdU94rr58y;o8%E#EveWT?G zr#dA2t`R%_*#eB;Ho=U19~?rt>a;LmFW`RlWyO6$AnQ2#{rcRos6?t1y*6N)({8XT zI25qYX+(J1Fo$OK1!T811ZBy=X9Q8?$`tx_s*XMVIr}RN7#&rmCyQ~$lm|H~HhFn} z*RWp7FTYaAqOXNs%d=YOz`p5ETEa@nwYKT!bCWODT=Iy@XKGd*aE*}=U)j9AHQy~h zO2+Iw8_8HjIG9VN8DJtstu_v<(=kki&(f=e-*5la8WyQ`D~Jj|BHhOVM!^3bA9`v; zKe4dIH>|L_DJ|V-LQIZde-mT9a%p-DQvp6d)ml?3pp)vC4(bRiY-@xy<-h%E*O#er zE1+@4sec>g5_r71=JhAF-XvW?EXP!wR?>t&*4r3M9no|wS}FcU4>7ZBJUY>#5%`n7 zwCFe&?5lxU-hc$ZopdpcQ^rbY8TUSTxXtd9_a9k@*qsw(;vgA?D60%?JLpSuL7RgVJtolg(~A1OEAM)5L5? z2nP=3y#>6?9%`$vZh%z<@^kK$NQNB{aSI{8=% zcDBG|3ijlH+h!@9c{@6zMR7PIlL(dfeG+n^izFQTWjY>jLZ;TW-hpN+_1!A%87N#w z5X>2Lv3RsV$OdXuR!i2Ln4NuX*O|2E5^~Mz>8wc_o;uQ9Cz#v-Y5Cq+pvdp6zi*eb zaOPC>T_rJC6p*WU%y<*iLeJmnUl>A1$B(;21!yr<gk!ELd(%fW5r6sxchnK#A*2&S@`px9M8$e#Og@pa|93< z2PxtO#ecAl~4&dKn$nnA!!rRkwE%S|f)y{Hca9Q>jqyo>87wG~~@pn@gh} ziYqzP(sBnMLx@NgEx;%^+J(F0;cQ$Oz5%TB0cn`TqxH0;Voob=dZoOjXCE(N~0&vdnI ziH@>cPoP#W^Y|z#k**q~(T za(!{_be6in;ziG~xWg^T5>^rV7)2z9d3RT0$G!r|Aw~dBl>a7*EYs)u2CF+2;bDutQ}`&e z{Ug-e4YE77*Of#&SQe`L?((rH_8x9d7L~rbRLMu*P^C0!UB@DP)bv#!7C+WD36LI} zb{6r~^`c_7xko zG@>^$yneIv?GUvM8iTx0YLf{g{r+oVQkWs=^h{*>c(;sd!gS52P0~N)fEitc6styw zabp^AOyrQ8Ik*)YFjUX=fmil%SDXa?pz4)bw+NA9`TMmUwjznheeSq@)dvJ+Z%SUi z+a+{>Y zA4cat?|JQ|Vqlh-KfvsEa(6sR;Vn3vr1Y|VEzO(O2hh$Nrl-xYIx3&{b z`|4RhuAMpN(bwOw7D!5=k}~>`$e7r1NF7!-D^u-6=(r$bC4&!)Cy4&m>k&WXcrLJA zjHiNdBG%%M5Z)XCzX&tt#v}$Ns2kGJh_@hEf^>yiwf)s?PSCvuE0O1(9lMyhW?_Qx zp*073FoaRQ^2l*@p+t$a4atHQHaODlJsgcm*GHlxGM&rTRR&5zWW_M+6_cSjvNl*zP3;=k6Swr3)6e^4&Zw<;VkG=H5BH&#^fORH9R{i6w` zwb#%>^ttJd*ekX8DCEBM&;6Bw!`X-L@>|uk*M~|I{l+2@<3Wa5_BFcK#xhLIQqEhw z;dr8K*NY1dhOhgu_#pDi_fRi8=_HkH=U(etlXX(Bzn*1DC)O1yU3DD|N@>S+8ZCY1 zT^`WZk!cBYRGhd{oKE}3PX%Amrk0?}!h*PJy}Dk`Nuug~lDbmB{3pZ{G!jQ>tZ>h1 z|C}Ke>VL_f!XYbr3sZPNn1H}06kGl*c6{2f`I{ToMt{NO&fv#Kddc8Fi5E4C zv#^4@7)L`zK7CpG#P7?SH>(V(d3}6PhSsyR`A14;k_;_?Ga8fsY$nJkVI~qpeF)Z6 zV*wHRr$^>pW{|1N*pX|1>=p4Cg4oG?4e2Cl&Y+aDA#0OY`E`E zD?MLpD55cKN7sfPGPYJn;v9y5BWE(oVB`9L-k1D4l?S()0YU3j;9qsm?e6C-d+=gY zF(Vz|2{$+xVtM??e@N_(b8OdKSUgy`O2w{FP|z}k>*vh^5m;@@NBtGLu??i^J)C1R;|<0D|lOthsz)47kd}x=OwG_rK)j3?2uv zdSX6W?t%ko_aymca=YCW7G z!0$aaEp56SoM{*MoBFZG%JV=kvJU?M#T?|J7Er9oD$%dEG-!VMIoRJokx%uDKh3Qv zK_DmG`?EbUmr{z&OaBV%5qA>2gtci!+!4+~wb8J5Y!cHaw#_QNdBqm!Yl&fx^|Ex4 z`c}CTw}#54O_k;JeM2H0c|cRxpW+LG`K=J%3&ztXmZta9OK8&am9M!hqlB`F$MkFnTiZDa!26>0vEQWmx1(dhE1{YuS@#IY2Wat->(b5{{(DRyvnKb z0W)s8p_DznH%)Noe)3roQT8m(nI_!lqWs|_uyh3JN7=Utch0+?aJ3&hz$iJJj61^0ZZNtCdqZ4r2Fiw9zt8wz%u#i{V~&AZ zDX##nn|pEd-M}qyuoH5Kd0mba=DoyPGiqk4{kYRWXfo^6%Eq6uBG!j(alQd7RRKGH zJkyv;V`tMy2aRicfBnWI}~46K=V!H(;MVixeEmfPs)Su~lU@X`}%8^#*(Ce{u} z)3UPaOjlL$FoJ)Ejh-HMXH3!!Fgp!N{Y?Zz&ofwkq(c_hE&Fb?-ViV-M8CJf&N(L9 z{Eqcf4jXx69aL>Fj9a=Qd6Xtiy(sc$g|1T)C-{Mt06yQf zRqSco1y9w`R9dEp__4XArf4+o=prsafbUv?9U@}_r0%2T)$J`T2u2DFsx%WdUd;)F$Zetk!{ zsE~{{VIO^IFuCYj=DIGz(yvCIosv!(i8biCVy>CsKxAs?(Wux%@BQ|=TNb3aVocg4^Ia0vEo6dSL$_KMP(Ih18equSv?6qi` zq6st3!d270;nl62Kv`)x<-yloK6;(n*oRJSCEmK_Y0Vz3F0!k42xm3dbj6Hwfr28w8~8WDKmmo8h3ThFHEs`D45&T& zW$YcsUxTqZIrJma%X-<4dxt8pGaoNbQ0#mVC*J;f^l7iBL5J?t2N1dHd(yY zY4@vvCWldu`6dO|kFWYR7s>3g118)Q3o?4f+E$d^MC%kqpVrd_q`BMzUN_CF7D&^= zLDxoG_KO4?SNH?4x7v1y{Dv(mRL{0WuA(;S?2KE$5i}Mvx@KHknn)b*(tI2ABmjw^i1t+~;Mv7!c(# z-BC0h9&S^9(82vC-c2dvUub|A9T9e~H=eemcPhdD!eb{yiwmIdAeX|Xx&1c+`v+r{ z>KEGh8AiJKU7s>hov3(Ijw(M!m*tfUsp`6(O_Y8~&ep69?p$?|z$jyM%vyy6AMK`} zjzN)e?y6{GrMub>6Uh@C`&(^~tcRwo^of(87)gr1Q#!KV>px7T6vOBbZA+K#;U)}} z?0?Fk6i^N(d}ED$39f9@I{Ote=G@CDZEh@dVoeKPXWLhsUmpf+r61I+(9WbW$(wm&bY@7kU?@#eSU_(TnTpcVE8D~t+8 z6dUpGq`3&DHo~#!=Yr(?SKM5B(*_pO0ORgaPF~t(1afCWgH4NZ9;7j+wBMl-2Wp+a zFRd?VTMY(gw(qN!kov50bNAt^aG(Z01gml`M%=0q941#gMV6&Fj$&7=w|}DKl}%$o zh5|BXBme~)1*Rxn7qX8XY3pxf(6WiW)rz`31FUXub0Le6?Ve{i3o%FVl<#-~;&Nwr zYB&kS%Xl%UGDE{=KcQ+DBcI+a{C#$f>h{F;pls68-JDHYt)s|J+4d_kPM!G%U48(a zzv$!h1?rV$-$ftQ1BW5%`xR!7^3Tg@qC>;jN&L8pbR?6iN+FpvmK3}lD+L{C=J~e^ zA{gS6-@=9GC;fM9{i}mb@m_--Jyi^L64Ssq4@7v3^v5d84+gQuC z%{z11u4UV{YuQ@1R^7{6_V4QRe4l@y`}KNvUMG(8IFExB8>1MNXoC~Uyvz56V>ChZ z$rk>I_v>#mg_Kca>;Qz9aRwg2?to9k>amKteXV`JT+MhQhtiDz?#Wn4kGD5b&vpCL z-&VgnSbQ2%EsS4JBVzd32>aH4=SR|(SPZ=1ySr_oa&o!68eIK%R}s&E0@6& z7U0gKIs(Jm`uvt(k$RcB9v8zD`T{Ipc+DUqonvZPOqb>eN-XnK8W)Wfk265_&U^V# z#b8WGuk^4^SKznuoSjs&GR3I+Cqo<_4l%a`xxx}t@#=rC8{UA@yMBK$ctHI2?Hi!h zdiwIwK095Uw~jWvZaR!`o9a8?UJ^~=O(%{8Iz+a{-NKrp)$%#}mSwDS=L#pbodO+X zQ}!v1xf`as1q!RPn9Ue2p9?dirT zRjr=>=?8^~zldQS1P1bo|BPT5pl^A~x9)yR@YZ)&w|nj`+)RCejaOG8s!FB4q1190S zy;+~twE*lOsWtISRLMGT51Qepk#?VxEGwl-AT`nb;J*Fb%AoV}J<#xlsr7p~;b5p7 zh3I+)#ZhJzMi9~X?8!HC={{e1yNm7lzBTdncxZ zQng`}h@Kl?YIxyw@%oO2JfQndhYXyPi=??US0#7>RJoZOgTXD9)+JiMJ4`2RPD6^n znA7^qV4n>A(zQ70;8QR5I*LLp*gd6~SLLU{jzDCIY@7|!!d3f};!lFrTbiCzJ50%VIoAk&ND+ zT+`M(iLawl53UhDnj_QY_##2qZjF%o+D%iHZzX*w<`Mj@>1zz&e&iXjw?(r*e9>Jy zANbO(etKSCklAn$>>;00$v+cg6d9G_$e4Hr5@%=@bvsKPeoo6mGL~zax+WYjeb-XI z3_$z-0XM3}e|)gKcVMFqsl7j5T-X2!S7^OujL@%(P~Et#tJ)S)4z{g+Gmtk*MCEHD z=4tA8)@cSywjUVST3C_N9gdX?cqFU29xV!4Aks%Fv&}UdF9*VlP+i#e1u* z7sn}>=BXBIxypm&gz4}Rf77B7$?>Dc{g6V9YTh}z?O@eXwT-v zv>J~Z&j(E2o({Xa&*|s6nhLiP82aOz!v3c}7!J;8GC5T5_%jZOA@wk3+FcrEtM?{) zp5(ap79JeCT#f-qjhKww$Bie@EH%2m9Uk>2-7!x?#IF;&Qw=Q&{URDR2YxU~5PNcK zRFuoA0z-?j>}HPoqnoSNV)V6us4Snr@1gby{b+eOKu4@#Ny>se+h{x!WmlJWO&>~| zkcxQKPJ?X*Ey}wSKIh%^gN`wCiry^CyNfkNof03r;33_JDU=3MR2Hp~4>?f<@HiIC z;&v3BZyBZuo?Ty zLI*4NtO|WP2qp_&Y|o=`${%(@Qj%x2n#eUIn;8$wI>8U*briQ*qM-GbHF$W?yqC?S z&H8)3?zVIAY2xk;5-Jxox8`9{_X7s@(Y$O3h(Mtp&o`T!j`MSmSS9VD9MSfcBDagN%x z8yf`tL9?My6G>#}O4g-rM8=umy3&bgEN^eV1Ij8Q!5|kf_OV; zizt$*8yfPORc7wvkr{;!@trNS*0_@@R#_e~2+K#ii;LD>03BzZHIp!@E=qAW#4ll2 zOp2+xx=QW#IBY_~8-a9qFun1_ok`af-FxWVez9LUbCa9Mec8P*^!yd1tCUNnk~thZ z)Z%dAGMvgOs?#td{k^AsGt#TFrRvH*d>e%^tp4{5NZk>IM|L&Z68%Y{zkMveH`-|` zoD1z%JYREOTP9jYSw>csvqls7`gaW}4i2e_mtbH*IrHaOd=kKVZux&fYcbS|Em8%z zFlsn=qt7n0Va_I+|CJ1T;Q1SJPhJ~d;N!VG zg7=V}Mp%*dS0e8CnIz@~duS-5ujMZ1VH>kHBYxI#c78@aGkpE%=&-y_Nuam1;oA-*#No=ogh0)&T&?5=ib0h zI9lO6#3Vv~3{CAAB3Fm(dHYFCXWhHE>V&+(JzUp4lR{*h#QC%YrY9B#-9H`>hMh?a zk8iY{i=EhpE%x5^oI27Z;c(6GJ@&H%M@ODJ*Xe3eG7!!gk69`owU|}-fg?QE5W2O( zo3~w=+{cqFgU>lro;oV_MFDx?30VY){iJ1iO;;KT`SWim_@V8nKx;EjZAly^fnb+5 zqlyQ`aN}|K4?8dcIy(`%{EsKbOkDsd zNXI*-F%b$PxjQSkZ;n7-Pg#BSs*fX%h|F0eppWheUee<#)$OS*#R2&YumC^S5FFep ztO@^TH^$bbgP{|<$_v|tgJ@275CA8Y5wj7p3ynRk{g1mb5unN)J z>z#}M?z8I{x>d-HRV4WmAcm(#0mw`eOm%Y!gT9ii6lsH7x0~>4yU#x4_`Xu$m+0m{ zf>n%v%A|wwXhpd>4Tn)Wt5>!u%e5ROG0KhtnTb-)~y-H#9 z7%=Tujs_=!Ncf$Hi(wzjB}o^p529T{=}^9MFGu;&o3q$ga_p4^$!~ZS!Ajk6FOby+ ztgD97ea=igp`%~vF0%#OldVJt{{ zKkebP3$To7^JAR!?WLetH(w-ifZaW^T%J6?J*A;irZ>I(25)md&X`Cozgqf} zc@h;ER6l1^JDv#Ru+HlCstC^%rFdj~%*wjPFd^uXs_>!K*>gZ{;6hy0%Svw$VYzS7 z`OFvIi-Xyf49y@%bM%c49-I_Hg5Xup?x?MT>t*3h>HAlp)&$rud0YOJS>>`Jfnh>} zVQwbde=bAdIusg9do1YVOdlhDk%tG#49wZ!c~8v3!R0Mdt&`w-2K-ZwAwiGYE7Mm|dq#IeA~32c{gy zGuuQFQ8_Zzyzf*MUv4!HStocwEd;ZN%oQAa3LEg3HGUuqs%7jIw__U zpQi}1rRc_)KfJvSH9H#)=xV~i_4pg04$lYZpp?7N44&av#0ylTc=(#aVn~eTl4V;G zt(pSP^$+vsONiP0gb^a-a~nizZ;Uilf+2&iX>yAg_(;@*C&hI~3T?I#(4PyG2%I(a zXOlwgSqU7k4N1>Cu3(?RV*sk<6bhSwE$i}N3?Dk+5Ro_5!4&!065f_R`z6?=Gx?;D ztvFacAwutoC4Yi-g2p8V%1;IvXwX4?`)PF|tJ$3wL?*~dc4r~u2%f)~6z<2s$* z|2IP6JLLPZLrU@KRbMIN5&u(`Hnj<)S(#v`OS5r?Y zV7oDXnRP1#yKO-M1I;Hlr?Jkzc`%$d=KDgCoBD((MxNCTjnl1lk1b)tBvAkRAK1EZ zGkKw12;&$hM_bnE)b0GE)?>ue>v3sKnDVBnO71yulyz|_$VZveMM&EEuuKWNr5uBi zoTH10^P+0TM$WOiT=$^On(%z=TpS-DU#0~%>OG{tZb{+&e)(U3m*ZP1k|2-N)zO#? zRU3M-1g@GPA zC|)a%spmeCW`Mdot}4tBBFf14rDkv8%&a06j`TY^t$ddMTpF)!?UJC-gHS#Hfmltw z%ww=gd-#1fb|st@=ALVeXDRcy47ZAWT7+SMCYRB0L{tsy66w~_XY9YK`0U8=@dB*o zm{p@e?sye-U&=%rB7_+twE;Ki!+Z6~dhHtAO?TB3zE~y00}($=6hdt8(u7~%DK+k) zETq+(+oOr2b+kM?bV-398u88`GsBwKYvYY;`#f;hseO!v2u5gZZ>+anj{lS6kRZ#e zQXd22!d*q5Ec7MMh>F!JH>INuVeYp(rxjRIk~^2`f2hTbQB}O(Qr_kXDtrbxlc2oF`5Jk+!!9# zsmkF#xl;$?0 zT0IobMm4^HBvf`u_a{?+_oa}dnGQ$&ro;e4Rh$a^lG*R4CZu9gVJ+54&SG!TyGO(M z;!b`wKOC~kivLMQT3obM>PKcmv@H z%?|b*$1UBLh2)9YH|1eEQjFl_bLGBNXKTnWTm;;ur|5C*F@Gg=1B)Oc*2gVu$4MrI zV3t-@SL#}0mXEInfNlidd&@#o!H3`zt!<5(QQYx}> zxAACt{g}%666UgyK*i;iaqziENsSrL*t2RhPQ4K(U3%f#O&CClwBdz;_%Xaf!43W^6B9Hr)*2?J5vSk^GJ;i6(5(7#yJ9- zuvtL9+gZ?XWKIC}x+Qb&7numA$%iE%2i@CV8x*Dir_g(8q)Y~vhSuca#T*sRHDxUW z$SRhCSLri5hnb)y_OZx@8Cr!mg~>Rt1hhRfPf&xp_|q+?x0lJpirU2O6$1TwrY-FC zQY1^|eb+F5)M2L9Z>r$18pPi@irDt#=bfVMIHQS1>?aPF42M-ulv6ijy-1kF7I;@o zUlX4;QQ+tcE|OQ_{)KZ7k0C**{!z4iIS-@h0mjO`cQ)@TclQ2eJ7k$M#HJNT;k13< zk9EJZ_AafK()F>gip#uRpI|Fq$4Se7`0JZgZtQ4%>XfdMR{HieEJ_k*5>+TFrDvb6 zaWqYqDTV);>vGQ0VdG2lGgUPw0}L z@B>zryHm!jQOwDYIifP>jnGAy5UOKnTo4mLro7>QLgKB}CJ@|_6A2zGd+S5Bv0yvs zt+TIQUffPG<31K#fIiJ-lq0Li#S3Gii!OHXQLOd&Ywth*K%bQsFFh*cPmiX=6OO`j!WICpiMZbv}hLOTfT>Le@r;S)0=DM0& zTu07zA=6g!t0(#t*GYWTY_4_XIqouUhD#k|uoLEVRD}NE!Xt>IoB+I9$5Zn)bRzTZ z-X2tn;PVmlnjo0KvS4A*7Jr{@QKteR+ye6%%{zS`C#L4@4QY5imP(>$A z-VwEKVf{AV^0B~l$1tHlzZzMdip3fObcwe2fti{9gy0NTu`-+w77ym&-n}#s%o$Fr z+NCIW8=jP~Vdj^O7EC}eV|4U{0I`ccow|&pn}cAY&>GB#x;i^&C?11yJm~(2z2O7fh~VHn6`c_4eRpQ&4ROF^xj4K1g{c7jEjLUiRB`lU&Yb6 zm?!^@r)eT~`D5+Cmi`x8bvGlUG~+^fd|*?r9!DVYwZ*uvgLiC*u?CAM~RDa+@R6vbl|%zXRybSk3qf^uYUNhb9(4K__)bI zvmznHt>L`J$uyI3n2D8YE23@%ZFr?)=K)~rsFhE>Ug-SYZM^YQ_xs}YyN((D6T_zu;IpNP1 zEZ?Gl#t|4_$`JVY32D=4QA3yJTiXX;G~ki5!y^)1&A|lhE+oOGzyROVTZ>cM`|<%O z2x`J2<2bF5+sS$G@{)C>D*g2kNT_!@h8#f>vL!pgK^V~AiEd`oQIJKiZO{V-bx;@c zY6l|spFVn=R}qO}`BqhFfH+}+tEUXsM5VA6Noj^ShY2HEH+L;16E4voZP_Mi%H&kT z+b8-2OnMIc2O?;U(f7MJq8dfe5{xB}9wU5P0q)%=dJeoQBiP~XGTTG{u0KPbKg+!` z(}b&qB<($$k1F>pRmt50h}(=D+`>qboxJOOW)&>QIzQ1@`nd3!i`1bTarjypUoD)8 ziT-Zs@7K3Mk}f1;F~kc?SsROA=%KAsX@vqhOT3^^Pgw^nW#68PYOOuhh94%#nKipl z_V?eALya)sa|Q}>#QKS1@dA8EL7)B5kM&fKd|6(vbT?F$YT7|(v1*ck+ODSg^U+eB z#SM@)A$6K@Y2T!T0gyDhUM0?O`;7E!d)20S--*3IIG=$xzJj0+39`zc`07q3bTMXZ z6}I{1F2s^lij{RcNsB~;X1DIoJ1nx~dG_JkSi#b)6|L45&ZtN*xz?w!n&SQm=VQKJ z3UO-HF@pRA{yOle4gHW%1GXW)Lh2ZkAe?@l7kyMTTg_(o7EQ$y=7tHxfus-Yhp18o zX%T0tn%is$=xXNa`AIP;)*YhgXNYyvY z#ILt;B$_eAcw1AkvY!taOsJrCNZTy?ti8_v~{Lnx6C^^B#kU9iy?H^zc7E{vsjvWD_={mML$Bj|`Zj4S+C()rU< zQ&C=~Tmk)Vl#fDsuqUUQTrsZEvB&7M2o?3_t*Y_@JKq-sxB0`2bx2cJ$P4LRW{#0@ zB@IMQYOv^1FV5_T`OZ7u)xWJ*v`Kw7OAXy5h8uMHwipovrf6J0$S#ZG{z?}mlfvde z%7(czQ&yZmd~_a7dgvKk6B1p-|EfXS=&ZaB4Lz z{t2(j3~c8j9;&#Hz7h?;3;sgMDV=f#RXdigM`h+uOVp`i_jj(G*(qYPVx;~Bx0zU% z<{nb1%SrG#Yk?`1#dmYw6k3*f4K?;!A$YF|pF?Tb(1jbi)8Y7slxw1*rieua z{-Y23V!FfA9AVe4IK%Dr%EA#Kr_QJ&;dl(1W(spKUx^wq&>R{3j;`;Apq0iliTj@@ zP;ITkd;?q1cBsuRJI!=wzWBdo(#qCBwDZ{u+diGPQ@vl7pw7>sv_axmT5-{+r5J#n zUOo!u}lirQa_GaL{|G`iYZ#^`brx*{96@ZZfjpe5&}IBg((+<@Yh& zw8}!kO5}yS@-(~=c@#XK;~@(5ai;#yM$#yAx=R}{Hnt#V^I5Sj z?j)nD>m6VjlsK=D@#eTl&qjH7`xcUZi~G}T)5vEtM=(L)R!`2h-@&ZW*f*UD0`l|%GaM=%kk!-a~jZZ777aY zl*Esyu_G#6r6$t91|pP6)0z%y$$$BVaQtzu3_n=UlLP>%iY7&AmG(jhUOX-XmUq^- zy}qy%P2Yu)id?XIYc1{ zD&n^2edAo^p?I|?9S}vjtEH7~3TNm;cQN~yQr~bo!#vIH>`( zm{6s%olW|;t9>ip<)0xpJ)kLa8s{jK>}|tEK3|hEf;TjAbj3GEMZ)gJinMEh$(8ZJ zkX7G@UX|NRwl?vlJD`8-v6AA!%}AHO%`Mm!VXwG6u*?ziIuo+9Eec#XCj_A6bO5Kh z9M!m9Y3}}16sNJb5Q8ahnu6Y9C1Q>&2h^=#vFUO0N1V1_)k4^`nU}XkHFxUAldoN0 zxN?{}Ua!8VeE5DAdgo)$BWC0($Ta_{p4%7E4yv_Cw`bT2_(on(bxE>EzF0{9WL_LK z_i<@(HNb&7iwJ?gy&LCV14$ZWBHYLq@_yLNa-3prrvf91v1XEK$r@r7c4qjjYgUd_ zOWDjWTMgwP2{${Ql31wP;#s+njO54 z{1l4bSh)Q>T8%S|VT+H4rJ-FF9`b=+Nk?uh)YG8XL(pD|j=d7?a%mvYB2GUm3?{+T zFnKISP(B2*_QoLGmZR@EyT>3r5m9p>abZ~Ve|@H;Mt5qBJXAS{U#cA3bxQ1reGWeo zw?KTlT^%|F))%%tyZ#c@o;e8Dn=|2Q{Ra^n?Phk-Aue?pH_Vx?6uy-zHuag*FC0c$ z;(w=X9UtW?g~;_{O$x2fT(U~_ee4&$U;knT(iZ}dzFhN`^)R|CTk|68!*RQtmtxCt z-22U(sC{kpgw$yJ4d)RcKB_^WTv9gZpSdJcCfL3FOUgB_?C;UD+kPe7SLDqvo__=3=8?$Tx>zX^J{4?W18=YAz8P}Yec@BL zewLAv+j*@JFJ@1UDp}8&xlQ)9o7y)*1e3<1yS@HUelQ0X;RRr~XfJ09U3iFzH8{D$ z6joUF>{QCbAqJtlRlD*A`>>>aY`7iEXDl70fzxM{@BoTo0eN0B^EqVPa7!ql@&uRhEF;Rx_fm=o8 zWz%~*_To(h7lp^B?^VW@?~`D-*q71GOgL$~9oIA5txH_5w3spT6Vepg00KnILt^9{TOnx^K!vQu&!ox%+|WOs7!VQ+gy4U z=5^R2GH~vUOv91ca_$x+GS$I+%tgO-cdhB@I2kwh2UsLy|1?f>GM=}}4+9v9>kgJb zV|!4Mw8fdXt+=SBf=%#Cn8lM(I&X&-;iuys9UK?pCK7!oYlC;u#23fXkX2CQ{eAai zxU99+rv!y=P#j;w>U+>7xo5O?2xF+^;jUJC`Fgx<%vC6 zJ+8s9HMO!yAfZw%^6}ou$Atz@@gXLU33|*nxNmf6QagVK(`;W^z$N3u%DlZ2X)9+2 zGyA#5Nnxi1Sz?Gw$-?R+cj;By=^7f)gI?P6-QKP(*is1~0Vzk7Qzi&7^ZTcbpXf}E ztnlD?*nqarCQ{=(o%Hd-@9oL)?d1+>PF|g?Joq;b^@tbcwBl4mKjQKY#Yak2IM#(*oa>&5WlI%=g?lakpxQ(2AvLaHeYk}SDskriq;l+vRe_&qNzHeh-PYjH&Ez#bbX9$)y)07~tMB3j z#zj%{y-enn>QhvO2Or>crM9+EWf~;nvIvA-7+6E{=8qahXL~_E*}n;oo1yHrdag(K zw7uEUUXGg70%J4^=Sd+`H3C7aRdAJ+XPD0T88nKI{{in=~v#diu1LupOZ(LIbv zBLHr-z@;!rEE=(iU9M;@2&09(AG@+?qYA!GzJXtswD^W=EjF6dr~`k*b=tTu*Sb(x zs1-Oco{t$y2UB)N77$>&il;H)vD*bFB-GBhmii$T*=RiF9UBISV@pl8qrJg@6Ah&3 zI}%n;v`76=_!`j(F=!J!R&$>w-3j|Qx6H(1w4MenF$p%wVfID2bMO8^6J~R}=t;?e z`7^eAkRocwj(>D^ebdIWAUZ)_>7A%r!ktNSpbD-3Q};PK5nbU)>V>zN#1mKafdhgM zxAU_#2!016-xBIsEz?oW=s#y2iB**UQ{JVSg*HvZ416_A@xJ%xkQ zLd;>G@n$0g&QS36bXB0z2VH$4Y=fO+PD;BOSA&<1G4v;ECDh7=-CR&B$@jg4LTF0X z+w7j}UnH=D%Y02pU8r$|@?%>p%m}Xvney%aYjdq?hM0QpZUE>=7V?uv$9a^o1An*# zdD&faxrRau*D6~aSZQAF|Q2(Sk$gvClBAQnYyU6Z76y{Hnr zRRZ`@n@E)(<&`|8lqk|V|M6>kfzY8cf2(V=`wP02k>)-Zx9**6zt1u4Ia9VSsY0*@ zpCDU>D$I+SYR17HprqTkv3+^nN$^5~ZZGm>6X{IIm3jw9}&_zR| zME}9qhhg&|P2GsP%RX!rUIn>5;^OElJqpX--kFLez6(pB+V}PPyvKhGJamDkCd&Rl zU^Rl|1QeasA@uJe5;*(-J;!sOXgeJ3`wo<)z5PWZ9==h z5>w2{#FP0aVnK`kMA{7T?6QF+j(MroYwp72B?7gHipy$g_vEWpwEdLBhx&fUQO*XX z2m)s%S+c$wHubdkU?Rx&wsNg~qSZZB3PybF`rx0#J@)3Y8d!U6&kR6AghWElx+o@l z7YT;xAw~Aew088h#`yE2+{}CFR6u~<9LNP$hPW8o#aA!lREpwv zJZaQ^=`5#%%(xkYIo7$~1cGh{e^6--5umX3x83~YT%DPdv@d5G9`!EMu??~p`kNAaiHraa_z z>{;Kop%1-?lHDN$Y@9_=5XYu8WP9a1dRiw5!2xz7?=%?!d>0|SLe_ux<&Rgd!WLMJ zQ}kktOABYntV<{bjUj5qJLywH{=EL|Yz+%TxhJRVNTW-w(RQ81xe_wl zf0MMpgMCl}9xrEb@19#IqsDcz%}djah{QMda~#2#1GH`Wmlor|N1 z)%YdBc?drmWsKgz3Jdv8W*$=25a$q^Y&M*q-rG<5?~qS0mGplNrk=QHjg6nTL@sb3 z0#Zhhqj65#Ljue2RQUCjiirAU2V<}CfGv9WQXQ?Rk^O>kW~()AT)CZkC7MA@*xetM z`^Q45)N8#lb4kPQv}aW%2AhN~u@I3Efdh7)DKU8!K6D3XIXIRHuH&H2d6t4WppSzBAeu%%`= zJP67SIriSscQ8!NJ-89*K*jnzGZ+2U$GNvJe)i~RqR%maZCQ{Y#8O$WVvN$B8`9;D zu?omm8x8PpOdJ+UQ=ZZca0|2)ccWEGD8R?Z$}rd6-gnm8g1-&=2g~0A%KllaUp(XZ zZTX=!c{*n~VnwVvZ=D7)Na-+Gy5lDv&d&-$2OG+}PM5CK_`o%P^dk0%A_ys|p?Mud zfvThybY61N zW_(1N1}OP`e&Qvp2LtQs&<<|L#33ZItdRlm?0=Jz7P_YdS)bJxJZy@+ z11Pr~@A8g~BotB{A1@ySdHIqIGd3}W!u%^Tswkj`JgdI(xO-{c-Md7d*2@Ai##noe z;G-)3#0etq;D^lPBKOv`S#^+j_P~d3beWZsRB4!O1%P)@pE>lQby{I^5-vik5a}!4G?!uV3 z-ivd$YymSFcOR0M^S1pp$hA~h=7Kjf-=|ah`pW*Iq2K&lO-X2S+UG2VMzbeWKu3S~ ziJlp|oKH;a_Y!m>Y1w)EdM8G1am4Y+t%r71(R=}r-*hw7leQuA7ADVa{{dx|tBdmAVqo%@{t zFaiOM*r$Q9{Wx;6;A;++pLcLTKNV%@9u|DAj%9rYyQrLDv?oF^tDj2h`a`AhfF_ZI zT_m2KyxcTK;uli=e4ciPduuui`}s)n*oTxQt*;iCVnT8wi@Zmw``-<6aXP)Lz&5SI zn9J^N#6ZxBW{@Hr>Gu}MM;F+1dims{8hVjaJ(?q~I0TogZr%0V?FPV+_^(z~o8N2{ zUr=D`j@%lK{4zDNy*+gtmcSsltbv=K5pKnIZL6Ly*`giz7`fMgK9l;qx~y4CRTj6= zG?8bXgO~U!PiHTR7LpJ)!U+lTexhn>O^cUHjcQmeAAWe4cwkafG!r*r*~|sLqv&@K zk+EoY9$u>~9(`E^kDa&5(nY(rG9*Wpe}+x_NxLG(I~g73k{|(Iil{X#@6~6?MpW-@viy?jHY|_w6whk5S3!D&dYw;= zZD(mXOZ1J?<#7uAJaTRpPSL1%7oL{S>%i{F1W1V$h?_a2q3?wb1_`{pvb^OXCp@Fh zANQrm+~$eo=;cN&B}Be2EDygaExH&3IePdHQRxc~?F7|K-wK^ECe%+%*YA--1(!9` zhDO&oP3OD`P7k48aDvxcT<;?FJpRXpwc%tn6QzcxoY4Y$fVoj1(VgZlIz>m{Pek6v zM1L;$L{tA&?G5C3Ymw4<1dPpKEI8tod6S{!@((#Y`@>^0`jZTRv;`E$z}V-&iEIY* zuGeAS8(s1fw+g>$dkkb1Ug$t20F=6{Y70$t5ab2+by_AYxD#pPM{Kzd$mebQs8eUZ zW>wI{Vm;jXd--vKmHl~V?c7W@koVfz&(;CD6)_0Q&gqAX=_2kH<^G1T5$nkWOva?% zvf0lbJ{glqmRY+yru4HsJ7cWR~-i zyiNviMRYSkzRKxt8b$>ysu^Um1w<^@yhEiQ=Ce)9fhP8XvMZa^<9J-@`&LAP1YP+#{wCrJhXn-%1@yu_muP9EuNLCT*;*e=N;fY% zuShpm)M)$2^=dDW%vx}Sx#MQ3wJIT=M;AJD6ZWWP$A*1Sk41S0}8G z>r^hB1YF03GFfAzw&=*gMoGvH3u`~IVYBZals>fdEWwxF3$$>AZ<|L2t2-*(IFF%v zs6CrgIwhSPsdHm@HS3^QmU9{9tw(kPcRCl1<(zN0Y=Ao{z&KfJHmG*)>B7ZWK0=?? z`&*H629WPvS-FvpWH}sX1nze3|L$j`sQvy>GX2ctNNS+y#uTCiKkDYg*Yg!wdvlQw zuof>H3N#JXUohxwARGpJ840TJ2)}F|LQuMG+KbZ7ts4c7HC;^<*|ckoS8Yq2)O28H z5urL|#`~FO3*J5fiNNMP5yV-Z(t%wUbWBL6D~V6+h7Q_sSn6VWGFY%t7(%%kXWUOE8f>pjQ_egKl3-jY2-TSRo})8DYPgC>=x?I7 z{|JD35`e|P7>nu2`OS#K@i%x4^M0^B%WkX~=jj<|VSVT^D`;VD(OKJM5$iJ45Suo5 zXjpGlRBUM@MwGvJJx8AiR?5fYJetTNR6rAhg4c{=Tvw=ZPca)FnRhY7|2S*=`)oue z+G5!fU<0q>Pm8&xPi3^@BBdWlryUzzaIG(A0JWTW-RM?AxqfB5|5FjOZH%p#|ZWE z%Qe=A{$U#g)ZnY1cf_rF{)md9pMw3u-_;(5*M`HpFqV}Xp zi@$t~C;%s@C<;P}IEB82@8}9$ZLuRm zXT?Y)^wprG;az00lC`!!C7G96@T1}=-ow)APS4JpHpAuU*+f+GqL5tD~iCLdaA-nqd zhTa9!#5^=dQtU|NE3U=(flW5&;<%5?cMJu7AJli{s0LTGU=#S-Uq0}a1wQHe(T47+ z!CSZpa?P-=m{=#Ai!uQB&%b&j3Q^A7aRs?9jltTSHCYF2&t~E<8CRc9hPzCWb)z{v zd$VY?c`uK4y{^`I3m_BPMAQo_+~50{heG>dk{r*`=5M>fePhmkQZFfmAkIYc5$`|WZ`K~@)-KzRbB@?@L;WwmXh z9ul72pt5sUYq~up;H1lclAY&$%?M`_*DBxgpLKF|8IICJ638&>*Qg=v zGWV%R1#>3uv}J!7N`BEQFYR0gdBC<#>u7^C+;|A5Z_pMUm}?!37Q*V&KTxn5fYOf- z``}0i!vwF%S8Ug4wB&Q&yxR^HBDUq8u|W;?Xb*^3N0AzD-^oLKyaC)s0A(y>CmtNu zO;&^U3cv1#WGr>gb#jVQyjhxm>fFfFDZ*%$ZIF&^;+F6cF7jv7gw-1|@C6ds?oO*x zqxqTVYJIJ}klK|imLVj(kZ0)p!I)UL)eifY53l87y;TA%$NMQjQ^F!YQLdPZKvBm; zM8muK{+VUeX;-LD7E6ik9x~>e5wwe57EuIv7*mL=9|8?oGLhzsdjrb3rQOf94!j_- zcUG03qMbqmnVz-=bNi>@Yc;LzIz_jl#mScQ#c%W-bGr$XB{5E{vP$`anC(|hT+%D+ zHexb`(mwX~Jd?QnX2FZL!Um-nFF|pRZ|B-P}#@1 z7v-sW+rL(R_&hxf4c?v!5L)M`+&((9y(Vd$s)?Sy#__p05lnUq)U87%vRuWcE|U%+ zSwJ0&yOivFGTymrclW&?rvqv|8#h#TxqSbxt9a8~kEAuW_DJrP#o&39t4nA%w_jI; zt=|fTK5CSf(icfW1v)3QbSAJm$kIR&yCK{(<2E((&TgtjEt!uro7F_q?;fPmDq0#7 zWWlSx@u!qxeVs6$AV(5-FIU%9=3nkQwE28@&)mx(A4Brrf7@VmZIdY6*j5m^)u33LOA$Fo)YzT)xmx+EUHj2 zTDH;0l+IZ3BJ%` zE4iZlr8l|h|0+fKp}Gzkb?W?TP4xr~(k|Fly!d2~ss765wHTVS1WxQ5F%MDPCUy!5 zKJ)^!to-|Y_05IL*MiRNHGtr+gHW1{V$1YaENmAmtNY8<+36Vpu+IpRFB zR?6N^W{7B-^=aXmF0NN^ckY;#7 zq7ucn>$tB57Up#S*yTyOF#E@OTTvt^LnRtT-pGLb!9#pzRFSqqfMIO{;X^d?w9dla z94xFUe>$FH-t9!SHoWviOty#!v56;9e!W1Km}UQC>_ZfM&H5Q8;c>O4Z5=|wM$Hxx zO1cHZmO~ZN3_o9>WfL`+{ou)uaC>?q3;`Mnwew`U z$+)iYmH-`PMi48(-vIYslKs8A$N#r0?avE0H=iO3(Frd#K{7hEX4_q1M7jk4Yi%ZR z7wJ;@cw>mNe-Xhr(1V^oA-$~f5&zJT7e%@K8x@3m?5N`YKc?O(ptAP;AAYiJ+qUfq zQ&Uac*|u%l#!R*`)#S-FX|ip*{;TirJ$TRe$zFTy`@XIZTNVRLm1=fYu}I9YC1BxI zB2J2Nh@b5&iV`ItQ@vN100kICZC4?7b!^hJAW)wj8kWjQ4JT!E`Aoj;g*Vh#y5_N0 z1Y_KIy4%Zo^>`UB5+me&Z=wA?5h6qIr8Q!7gd_1l2Er(_&*fXr%5nbKwm9ov+^J^G zpxr>B83Ll*5U<@#kC)qWyj3qFvUGNT88HF+q#`E7s*{fkG$YAtotk`nES0Wg`m=d$ z*9^2TG^k#bHY|M-O05;W#NyBPz)P-x2!A(nn4uH0jCTgT^h4X@f$t{&;i6cOoxVH~ zvl2_CKaC)-<#LU={HSfj+YDZ)CeuLlrPaB)kR2=;(3RE2D-Atw20{V!y`PQ}?n*T7 zY}ApHsxrr{Ef?A2o2R1orNCuvhJ^)q4$%=c(R8jRPVLFWA3>hKZX8#fQ^fQ~!THhD z0c^+*o5^>0(9`ToyHECG_4~HBe*9SR4Q>ZJ1ke%)V`}yk%!a5K&PKDG>%2ooxMn(3 z4_1l#H#EX-^IVDx^;QMD0}VSH53r@)3Ff*%xVh`hXqxvSi7Sh6><-=>tZM2;mx=SM z;<{+`MCZA2obzf27ki%`TCnxoag|MiA@-+0yMPGu5I0lBcmTPMfg=}qZGIy>9yKwF z&@JkD`vEa->~i19rxzh{lisL)_bvV@v2Vab_P-Vz1}Q1L-7Q-qi(re&_$Y1xE$1#` zwaZrpKw4~$V4B*B(EDrMC_sy_6>}|pvoJops|o+DP!+?b%!lL){K$`fCYh>jLZu#- zmU9&cs{|SiEP^ZRH<1S)n^*rp!;D|Q0jjBs_WG*<>o@tSL55aGqXLNH8*A7xK4Mz) zjP{xl@pt;9*#PQJqzD_$DHS*Fx7K!D-XcbzsHr-`gT!0g1Jf`-R%MWjf}u9-=wO|h%0gzBDe*@hbqY}4w#r-Bb2hN5 zZ7GXTY$EiVaQ7N)A})WE$bFQ36O=1mZr7m{ItI#XnzI}Y=i;~EL`rbPb7J#kEZEWJ z`AX#wU;b2dErz`#BV-X!-gyEOItmCvj*=!kt})#g7yrT7h`DUJSrxcT^hxl{U|QF` z7=-W2zZQ0P>&;#RAq3Qbc|nEBGuGlb{&9hv7BYpe%eSmyt$U5`S!sBMk(K(&wpQ{g zN0`YpJ=s8yVLLd9SJ{#`W>DLnP1wBQ^QPc z5X+hg{^hj=!9n%GKF8E8UgnH{Gi?<1@{L7Pf-x1-nO-oFjz*nliFstDkt}kJuUdF9 zb%HR};;VuNw90ckzCJw=;V`F%b}O)RPMHXRTzRI_b&_t!$B-%}a*31~e(N<=EZ$4; zM`R!nmQ`9^jr2c>PCpWlg`WB0f&YJer*iG9ePtwH0)gtTMUm3+o9g>B>KVO_IYag8 z5sWQ(^*E1pE1sfRI!Nbe)bYE_2X#d3H4LI!uJ!IazU7p)3Jh@mFF~JXhO?F*wkt{) zf>(jy3)Tw`T+X{jiOfxqEGXj`UM`m1dwMU-e zhe+~!g$QP#6g&J(U!2wNEmmVMFQ(e&X`aT`S*dW1p8o3iXgFVNiOAvLA{8jHDfFz4 zcnj_Bk|F336HM^uF(8?tO?hp4&lRuO*-(L5Qcd6&KUz*hwCK2*&YwP&Jv8+qD<+po zaTZ@%3K09z%#6)Y9&xr;aYrn3K6rZTfca7?9A?Z<8-MwkztTLOvZs{X_M<1>-gN4TW__^;rC1cRm=rGb1p6{zJPf-W1 zMm~TGudkOnnit!w3E^s$`I%+t^qGE#$43bfzTjl}J!laJ%XeZMrg&K=hL<&=+k-hw z02kPG+!9~L2Bn++g0Yo6?XIE3ejozR9P3lGEe(4ZTcqmDl0l?7LCsj@y>%VV-l99D zbLNcn(ztzZtnZ$zJ=^uSUQ;1M-=Y5kg+gBviGXWhwouKun9cXdybyz|hXA@5E-tJl zWh^PxTSs09m}vDp_Sip_@pB4vY((IN8Ci+KU6j#oa)F;~KEt9+t)y%Oso{c6>hBbk zTb&;xOlr}cwf*FfdKkanX~h%EtSrZWz_@mvNL_k9r*0(XZF@o0SUh$qp&Ah5{|@|`^*%{^w1Iaa+AKNWOK%HlrKwy& zh^ZB*!ro`GOZJ^lR7B`l0x#BUjvuiMM@+4Opw2gMv>zXT6e8YjMjuA_P&j&B(A zIAXZ{J|6r@?7df3Bv(qAVt5}1?E8DT!I^sFEw8e5GwBpSM}XmhsYOFXLNsoB`+CTG zW7SZqi^|cTn^f|?bWBpP6#qO0TK^P5&Jo^wVDI0kh{ zaia_^n?1l?{L@2(9pzi)vEhd=Uo!)|rZ98M9-rU$0iUHG0%AWVWZXHc`UHv3+28B_ ze7;Mzt2*LwElolvoN$gi^x`v3K_{seSgo=MqL)?LvzB5OEt@8Scia0{q_!uTapTW zMoVWIj!2+$K49MqFk4o8Ok8OLmJ=a6{zJ)JXNr>?fcz?Kk+097U#_Z>aqy&%FrR9> z+Ksm6bsr2@Z)L2p2Q+aMBu{^2E<;&>?Vwb3_ImcoRxUesc{q3hF(@oEK3l; z;@fhDY9~_UNF$iyK$FdWjAXhgjD_s+x53HYu0nzox3ApU7&zFQ3Ph8~a0YLkAd7F% z?!0Upah0tPm_2`@rt%O%Q%1un@D-_s-T;I`*BSQdS#vptF1Q$!p1J~zGZy+(_4c!? z$?ve%RqgnPU+s7>&$h>uka?H`!0&j+VL?7Uok1dkR`e8~2LjUOYONM0P3du|h3qnpd}{2Xe)=b@q7IRu@)vZG{kDGSZnDrOfo~yXfPDEGS~mX zM;q(nB@h*5?mCeP?=OSjhskC-bjg|<0ekLi-%zOSQX79(c0)tu=1~=NTS@G(XJ&;Nd26#l+rLp z8p2sjW=?0g5?o<1e0k0jg%uGIh!cpv5dW#F&k~fTh&(>go?y*Ac%!&@cQW8)Pzt4n zH()F)S~~TU;mY?XE!Mxo_RIr~i_c_wfldb0|1Q>P_(L zJNu$D&zoy?FmOz!GGb5!4S% z@?3(imty7hGd=Pou}u_K7BNSLixg&W3$q7V@oqdak~Er0#VXBi+-oV7dS=kUdM=De zbrGaxOC}-xjJ=krfM~J|+irC&FcXW1eC4m*wb@d4Dq#%C(Eh^oT0_uUZfuze?b!Q3 ztkC0DF;2lQuhbW;tXg5EMNJ)=yx4=Hu52~Z@5(Pj4*6&$7rXWZvfAAabz_V zzW%}w(DEgcDja=5Y%x<(bxqX9UUWfN4`B&FS2SSHf^1gksBrjNE{VwpKh;5UH?e#w zl=(L##Hb>)TR&m|RBd((+uJ4vJDffgirS3YH`);+Dq9XOFaH<*&_i?F%Y{389u5lT z`HYv>KtjF?&W#})3%4Z0Mlali587UIsLu*lqa+BI@T&a#83KdhJb#8^#`xm^jd0<* z0=2F9?ro_5@8?y92&rbBb*5OXni7xXJN4d7>a}riQ$kBN8qC5Yd}mLt5GwyGrq@4u z-91VX`{I{8nEqv$(Z|OAWpmOWjUH8bgoVo6*429PK@GJVF>z_P&lb0!uaRuWf7I|G zM@J!_*GG^7pJxev7CSJB$_;xLufoqIsnj3F)m1Pqyk5Bb+PvNX?=|hEY6yU2x++kWXP-AOSNqzYCQ9A5Ekg*0+B~d z&2G0`^M$45E!#E-+156PmNor1F(#sln{S*Cv93Usd zdtCOz&Z4j*%KJ5e2!MzGgo8V>6Itua(2OalRqvYtnXS4_M|p*#nZYeK=<-%J{(^<+ zyYvpK<6|-yO`q7vowfTNC@kRSz5<9a2M`X{Jnm!UvHnVISqw%WmQ=Rfb0%&g(HuMU z3x``dP64r_Dzzfp(rKqB;*bRSaGOV}%)dN(gP*XlMRBQhJ}GOT=h=K|Rn_E@JwU-Z z!tqhtwrJ;D9UbwXX`MqZ+^Fcr07;}#I_eKax$TVEJlLVd=6S~{m^*9;Hy+tCjuUx? zb^QLXx~(!7IPu!t`S6q@(=59laW*TnSW|TIHXec@Ks4W+B@4_ULsN!po%UUw*6p!z z^bb{tx?~j%)tH%_Dr}jaN##vj^HyqWaH{ed|vG6|WR#K>KLye;4!m~+ns~D z^g9~tu3#*L1j9$U7E2crQRcogG(2@?FMtP!?ei&40<1-69+)?et)|{EpZ_ z`c%JNW&G- z25*!4*`2Vb zf&xP{cl7g`N#{0Pn4_7ISeMH033Bb_yb}CVTYE{FU{za}F}PCHoqHF~?Y;qWC%M1H z1zQ5L2egwlZC9h0j7q0xqEtIB+SBt|@nafJH=w~5?|kzsf)Oa4gOQCPOjeFyP-9PuvvLIp~4Km;2aA)O8usy1!o5+ zd9f>xk)H;O4Iz2oF|w><>vXhaS!hi7;PX*utQC-3c545dQ$W8Wfg2@CB6dZF0PuDf z&P+DJqv1a;|J{f;T|;3>j_Jym{wDKnnZ$#s)Go@MldNTc1V%Ok61YoGh=t zs|;%+?$F*y0DTT%8drb0SB9IXH3RaV*rzrCHI!IVQ>p{vQ#z~P^~p9**1G+49b-Q; zR!RN_Eu`hnydPbxNK)iMw=5>h6qK^;^RdEVIa~RQ`uI6?Xx!XYCSy%A7!*ey>}su2 z8seF6@YBNp&Ks8vf;<&dx=H}Dntmyr?N!ckOOFe4LX)32mAJ1q`pAhjqC?cngo2Y3 zAFYvodUwbHmexDe3Q|7@aM~UMlA9DR|GT{!Z?su|ZtU1KvSn`c38X7+zKJtEY~N6m z3$lBZKnF;PMuy{9NY_deN$YAN5E9ov3duXCI_w_PuQWsZi;@8%N@mW`Ty;0}dBYfA z2AvOv_h)7fCB2PJ7pa82nlPMim_53drZB0qZ;X~3?H4avh24pC)bBVST6G~^`nos+ zp8ym2|DdotFQGURqTkv2{uuxtNQXh&NQN6{Xu=)RJ`Y|p#voU>8*XEg26jj_7-Sryope&s1YrHd-}j&?+_C_FlzN0FF^ z{Q|&F*sI`B=dckhdyjsC%giYs=-AlUtVO&};j1CbU$G070t{d1&T`f$Q1IUT^T7zU zM_4LuUOrunho13*v3@b0YuffaSE)RsX}b5Id;KOLC1$258aVqi7(>0*kJR-n0>+nb z7Yymrp*M_Sz$34JQ0Xn3cIKP=O&bFRyq7jlMD?E>`e4B6yd1546-SxYo|$F8UDv=q z?@Nfw2h!1Hs6HU0r-A@xeXT2V{{^eoEXAI{jPtkcDNxa(q1^nP>{x@4;@?q=jb}_O zb~N(af7=~i-qNr-W@t#I+B;nn&Hrd1T~*3$qx@9y>1ENq(Xr=I(vLL+q z(YFGCii}jja4lVHSxum4(B0>@ zm}GFh%X_{>58=S?)><>$7wia{QbCnK4#mvaa9JC@l1J`#M3zUm5mkYb^dKhC3l4~A zxmt3Cibu19-v@Gsob~V;^I$oBS8?;&jv&(XQR9IJ$w(7T2da)G8td1kK@We3s5j!z zoCVDJwK=s4SHBi4MOC}NT({S)W>PzX(Q`e6pEKT*ODGQV0UI5MH2{C;BE5&tkA-tFIrx(A4f7=>3 zSBjaeH3UHhI}5wA$1=Ks8f<_3-b1Lko8EA{Ay#8wTf1v>u@pXGyw#+0Vc(h9oVc=2 zZQi6o}H;P=o6)R9Hz(#WZ1T-i{xc9uQWmT_~PJIY1?CYWTS!A7c9iE;D5r{>I<8~#uc5)38 zsCbyVFvX+_-hs;Ap987kkiHxDHcrT~K1dmfv&I`NGgbPRj`Z2~*yLh9*eg8}e~ChL z0i8QfS7QssodQ7CQ{0IiR4FsG3Z1fh;t{@5sq!qmC9eQy4DURb!CtoI^&O0LSx-~hoDmQ&P-=I zY2p9iS`d)BRP5zo(E}n5_n?|J)RHHG<;@a=Eq0rsO_2-Enc`^1eyFCyU*ZA;-dQEn zY5lE~`;!7QCsKlF2Uv&D`kbA+;1svbTJcFiNNUN=?DLGwse~#(M(n@EZe#{P#=f~A z!PRz@fB~!`W%UGuT%k1Hz-bC_rqSGf6I8}N%w=g2pCLdrES_p$YiFu+egIh0zV|1Q z;<2*lnZd=agxDMd&}DD#^rW`93Xp-|#4lE0MW<^$ZG?h+{*pdZsp$(Y?XF1W$Mo)< z%7fXJO5HNWwQALMiUomgW8n>R6`$MmWPW5f zOF!`0#3~LK0`|Mdr;-DTh<(<5$&EcGnQF^eC=C$2l0LotRSx_4NR3}XxSd%O55ZR5 z(fp3+aJQQDP(2Y!4O!6NM=_wnP!k2^Gqz2&!2z0Il^rO6gkW-_yv`q#y&@_?vmBa7 zmJ_e%BxpcwH}+gUUwAoFzRwgu?JKYMyptxPOzsUx)9%d5U7uBp#?QtJHS%{)M!ik1 zugiP?k8E!s7<}+QT2eO4M?_LU+4Ju)A|6) zTMDa-wyX?iF^a$5|K+)=?ahM84tv{EB35Oh2#BZkuvvaiQWuyfxqrmc#l6}xbwu(6 zHk!9=Dd55+2}dUC`yUoOMSNx#>YUykEgO*}JNs%Iwb5V*EStYjgV?o7Xb5OL`c!hV zrmE|{Tr8?Fb1HGjZC-&>tM@iarwc9Rjyw|}i?pVxL+;)eyqe|(5?Jg6rb91! zcp3RimrIoPw>w96HEs3%Psp1tL_DA1*FQ>%D>juQr#B<43R#%E)e)8y{)C6VEL`sq z*aszLlH;?1eZw^sqeTDx@94sK!xqI#ySu(OQr~ClgpIvB0!I%ISXlPp?jV9pMB3L-BM%n5O-sYm|5ftPN z!`rli*s1=~HnkVK?Si+|vbcypy-qo~f*;H;SD>6caFj#ds}r)O&L)T()prozw-en* zg6R)aoGJTXl;%;+BjU#t2q0Wgfr$eNFltF{jp?7iyBDF{F>D+9$4vG^GJVxs9zxXS z1I4wLT6S96Wt)}5^s7NkL=U>MOe!(zV$7d}l&#O|MhCWp<(O8qF7VZLc7dgrG?ta- z3?0Z@t>lF{bo&Yb3+Pl%{_m5x`@(OQc5X%OBY-RR)+5NXFKb^aj2cmyx}#g6Y84c1 z3^-!IfRF|&Z9jK^0b-v;qEAa8~B}GG%$u^K=`DvxZc?PlJk|Wq*xt!5Ddn zPd0tQ#d%8w_f1kH%_^%x{SxgKHTX>+Z5Rzi8|QidPc{*0^B_(4Xg0qPKi3@H>g2jr|(OdE|d8xA4O4P$qPCMe)ywra5C5{2+P8%Voa51feJjgNGT8BFB}n zLG3W;A9a1@{Mtif#}kENUm8VFYWrolTPWSAY5&ZOcF6im%S2tbN5z>6$fi_X+`9|I zn;*Y%^czj@`-iZvSoK8S%sZB*=+_n$lwa?p_*V2h8E1E4m&L=-Qp2ooq_&#Ns3{y| z<;KBwD;rdhT5aj_*!+f^S`NF4`2bj;^!O_F+WPU%^0;FEfr;3!2K^&hb)xkg8v_Wo za;%$TlypJ!0jf+AZ*5NW#BpQ1=H^xmTN+Zmo5jTVvo0Iz(1)DOS3fC&@+Z;-K~6aC zj;+T`3EG`i>X4TqZHjv!X=A$p2ryZmQ8Py`;{TL<*%WC6KX4|Rc``B9z>ooaW-vmr zuma0&H#A#6YozDv)$r92PdA!Z?AcB`i7#^H>{LXHz#ANM+N|Co_+qULC}4QlC*fw3 z(@`cJiEIBcKYIOa)C!lvIul0JhFS<2A+USh=+8<?)o2l`JTd?BoUK0}u!1J8aiG0CoFtf+tDOJqp zk)dq(O5^<@svNNkcv3x!G@bXF8R4Nu_2Z;mKcWwh?Kc$0YjM&yl zBK?L4q?}VVmu8mru#`>4G`emkY-v_Ypv5$A?py30=uLFG_mL`Ed&{ZRm0Po^T)6oi z>q_xrmCnc;q}aD*^%?XC^OW!}$D%#*_T9dn^;1mg^|5rHg+(Dz^Ann#ZY)MQADAaH zA8EGH2>Q0d@7LQ-rDk|2O`E4lAy_j0Yhx7Hl|?l!CGPEB5h<|r?3@US|Jc@HW$z9s z&F_H)UO$qk=ET9(LtRK`2KLE#7{?nwhBze6nOP%DF+%LIFHlnJO-?-G_L~f_^i-M*+B#{*sg+3v?dmhJl$`$fjQPujX_qB|kc!!8Hz40Q_5 zDwj#zrs!h&%1 zIw8vg#x})PvjfAJHRw!_aQ(Oa@0g&yC2LXRJZv~9|E8O6u#{)O$?@F-vkJa2$Es%- z9>W_k`s+;&ZqCOLkZGqis5IomO|;% zxCXcTw?cu%ftIxcuTD5pv9&#v3Lf-1#Uh;V=B;J-r!Sq^WIxMhJZ&@x034z2@Osb} z)atA6M3rInPny3^Kx@B?oikbo*`@H?(UIlv)I=&s@TcasWyjUz+!ZR?Jo_TtQ6NrH zSAGZA@BPEz!uDdZ$p@goh2O^Pfe3R$dc+1dlnC5^eHAh0ERd}Aq{bSZa4_BzhvYi$ zHSv1rfGAU4v~^LlR}Cc_3#)8A3G|BHxl-o#6O4$-3_$2udAIv7CI8!!#muBGz>8Ho zSdH-Q`o3B>RcMyi%9W|2Z;bio_5KDdE2xQppg&#->gsO+LGi2@;CD((8eFi;gLh#9R2uaeAx6Ii)UA^lOl!@tU(&ErN!) zRkkX80+aXG(h&YqVY@KD5@k0}UU55S6~@{TO)ZVN9)uWPE#s*ngU3%10umsEiV6fO z4QXBn^>62oVn<0L_bu{b?TLzi#W&g}=_K+T_UKMMVR;3RY^@ z^$4>9=WWE@RgsYIS_;?#2cMW;IxY_x($(377b!7~Z+^EYdfqnA7g8bUynGuvYBG2@ z$IcPp3HDKjds5J0(Ye*cHdZuVm$%x39yM@e`D);|EA_v8V$Wc)_#GLT%Sx2B*q-P7 zc!1*>HB^<%2gMmo6dO1)1*x|Nt&tnd%o_p0MPf}CUg`tJQQ=vkcGyKFOOPec1V=-g=_-sgN0z(+84jt#kQ+} zQWmfxjguTzqGdpqQ=Z)0_EJHP1<&K8coOJBl*+3ql9W z_*3t$P5ZmNT3Qd^grZM2je*S-Ysh`#<}sw*obE%U50mvL3bS^ zq%&ETO!Q)iv=r)<%{c1Yt`JGC7aVW}5d!}~yqnb8Caz(F=OX1yVpO5u+(eQ4bbr1e zGASEp#8=(;%&Ba6dI7<~>c)2AUeMKPEuM*dZ}HO2 z(~9hzPP)<kV)ltYKTX4Q=+S%LprG0N~C+Ed_idOG zaC-UpP)FqFyOj4mtvVsAD&mF7MFTMb+dCv5yvRiSDPgWJt#!gTMrI3VH-?8oBZCTb z;Xi%tj_ab%1}|U|{&~2ug+xft&rm*N@HA;nC+y%K7|!%$Vl57iRg$IrB`iwo8j^}u zU5pe=hz;;_(cgwcTPd_T-MZRtW}6Uay|Cjccb#agPHDFsQOdWplp1=CD$<@!|F6;L z!0+HZ{_DFvut(MdKPqe?e>$5XI5 zlw2x()uMB+W@APic?jryi_B>EL(c9d~dzGo%IxO4o_F7e+&R|KSw z7@%;s;t4h!r_Rla^gB?z`?qG>znOtDmG5foBnIdo{G z!#AgDr5FzqW*0X`wJ;@mj~>ETqbr18e%mPq$i+*0EeF|^F*sHY24Q!iwPz*E7$>

  • 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