mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-01-30 14:15:52 +00:00
debugPrints that aren't needed ?
This commit is contained in:
parent
fccc1c4447
commit
390623560e
33 changed files with 160 additions and 85 deletions
|
@ -208,8 +208,9 @@ class ExchangeFormState extends ChangeNotifier {
|
||||||
reversed: reversed,
|
reversed: reversed,
|
||||||
);
|
);
|
||||||
|
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"_updated TO: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange");
|
// debugPrint(
|
||||||
|
// "_updated TO: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange");
|
||||||
|
|
||||||
if (shouldNotifyListeners) {
|
if (shouldNotifyListeners) {
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
@ -236,8 +237,9 @@ class ExchangeFormState extends ChangeNotifier {
|
||||||
reversed: reversed,
|
reversed: reversed,
|
||||||
);
|
);
|
||||||
|
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"_updated FROM: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange");
|
// debugPrint(
|
||||||
|
// "_updated FROM: _from=${_from!.ticker} _to=${_to!.ticker} _fromAmount=$fromAmount _toAmount=$toAmount rate:$rate for: $exchange");
|
||||||
if (shouldNotifyListeners) {
|
if (shouldNotifyListeners) {
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
@ -325,8 +327,9 @@ class ExchangeFormState extends ChangeNotifier {
|
||||||
minAmount = range.min;
|
minAmount = range.min;
|
||||||
maxAmount = range.max;
|
maxAmount = range.max;
|
||||||
|
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"updated range for: $exchange for $_fromTicker-$_toTicker: $range");
|
// debugPrint(
|
||||||
|
// "updated range for: $exchange for $_fromTicker-$_toTicker: $range");
|
||||||
|
|
||||||
if (shouldNotifyListeners) {
|
if (shouldNotifyListeners) {
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
@ -377,8 +380,9 @@ class ExchangeFormState extends ChangeNotifier {
|
||||||
|
|
||||||
rate = (toAmount! / fromAmount!).toDecimal(scaleOnInfinitePrecision: 12);
|
rate = (toAmount! / fromAmount!).toDecimal(scaleOnInfinitePrecision: 12);
|
||||||
|
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"updated estimate for: $exchange for $fromTicker-$toTicker: $estimate");
|
// debugPrint(
|
||||||
|
// "updated estimate for: $exchange for $fromTicker-$toTicker: $estimate");
|
||||||
|
|
||||||
if (shouldNotifyListeners) {
|
if (shouldNotifyListeners) {
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
|
|
@ -27,7 +27,9 @@ class AddWalletNextButton extends ConsumerWidget {
|
||||||
: () {
|
: () {
|
||||||
final selectedCoin =
|
final selectedCoin =
|
||||||
ref.read(addWalletSelectedCoinStateProvider.state).state;
|
ref.read(addWalletSelectedCoinStateProvider.state).state;
|
||||||
debugPrint("Next pressed with ${selectedCoin!.name} selected!");
|
|
||||||
|
//todo: check if print needed
|
||||||
|
// debugPrint("Next pressed with ${selectedCoin!.name} selected!");
|
||||||
Navigator.of(context).pushNamed(
|
Navigator.of(context).pushNamed(
|
||||||
CreateOrRestoreWalletView.routeName,
|
CreateOrRestoreWalletView.routeName,
|
||||||
arguments: selectedCoin,
|
arguments: selectedCoin,
|
||||||
|
|
|
@ -92,8 +92,9 @@ class _NameYourWalletViewState extends ConsumerState<NameYourWalletView> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"BUILD: NameYourWalletView with ${coin.name} ${addWalletType.name}");
|
// debugPrint(
|
||||||
|
// "BUILD: NameYourWalletView with ${coin.name} ${addWalletType.name}");
|
||||||
|
|
||||||
if (isDesktop) {
|
if (isDesktop) {
|
||||||
return DesktopScaffold(
|
return DesktopScaffold(
|
||||||
|
@ -274,8 +275,7 @@ class _NameYourWalletViewState extends ConsumerState<NameYourWalletView> {
|
||||||
),
|
),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
textEditingController.text =
|
textEditingController.text = await _generateRandomWalletName();
|
||||||
await _generateRandomWalletName();
|
|
||||||
setState(() {
|
setState(() {
|
||||||
_nextEnabled = true;
|
_nextEnabled = true;
|
||||||
_showDiceIcon = false;
|
_showDiceIcon = false;
|
||||||
|
|
|
@ -203,8 +203,9 @@ class _RestoreWalletViewState extends ConsumerState<RestoreWalletView> {
|
||||||
const double overestimateSecondsPerBlock = 61;
|
const double overestimateSecondsPerBlock = 61;
|
||||||
int chosenSeconds = secondsSinceEpoch - epicCashFirstBlock;
|
int chosenSeconds = secondsSinceEpoch - epicCashFirstBlock;
|
||||||
int approximateHeight = chosenSeconds ~/ overestimateSecondsPerBlock;
|
int approximateHeight = chosenSeconds ~/ overestimateSecondsPerBlock;
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"approximate height: $approximateHeight chosen_seconds: $chosenSeconds");
|
// debugPrint(
|
||||||
|
// "approximate height: $approximateHeight chosen_seconds: $chosenSeconds");
|
||||||
height = approximateHeight;
|
height = approximateHeight;
|
||||||
if (height < 0) {
|
if (height < 0) {
|
||||||
height = 0;
|
height = 0;
|
||||||
|
@ -519,7 +520,8 @@ class _RestoreWalletViewState extends ConsumerState<RestoreWalletView> {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> pasteMnemonic() async {
|
Future<void> pasteMnemonic() async {
|
||||||
debugPrint("restoreWalletPasteButton tapped");
|
//todo: check if print needed
|
||||||
|
// debugPrint("restoreWalletPasteButton tapped");
|
||||||
final ClipboardData? data =
|
final ClipboardData? data =
|
||||||
await widget.clipboard.getData(Clipboard.kTextPlain);
|
await widget.clipboard.getData(Clipboard.kTextPlain);
|
||||||
|
|
||||||
|
|
|
@ -160,7 +160,8 @@ class _VerifyRecoveryPhraseViewState
|
||||||
|
|
||||||
result.insert(random.nextInt(wordsToShow), chosenWord);
|
result.insert(random.nextInt(wordsToShow), chosenWord);
|
||||||
|
|
||||||
debugPrint("Mnemonic game correct word: $chosenWord");
|
//todo: this prints sensitive info
|
||||||
|
// debugPrint("Mnemonic game correct word: $chosenWord");
|
||||||
|
|
||||||
return Tuple2(result, chosenWord);
|
return Tuple2(result, chosenWord);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,8 @@ class BuyView extends StatefulWidget {
|
||||||
class _BuyViewState extends State<BuyView> {
|
class _BuyViewState extends State<BuyView> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
debugPrint("BUILD: BuyView");
|
//todo: check if print needed
|
||||||
|
// debugPrint("BUILD: BuyView");
|
||||||
return SafeArea(
|
return SafeArea(
|
||||||
child: Center(
|
child: Center(
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
|
|
|
@ -1182,7 +1182,8 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
|
||||||
next.isEmpty
|
next.isEmpty
|
||||||
? "-"
|
? "-"
|
||||||
: next;
|
: next;
|
||||||
debugPrint("RECEIVE AMOUNT LISTENER ACTIVATED");
|
//todo: check if print needed
|
||||||
|
// debugPrint("RECEIVE AMOUNT LISTENER ACTIVATED");
|
||||||
if (_swapLock) {
|
if (_swapLock) {
|
||||||
_sendController.text =
|
_sendController.text =
|
||||||
ref.read(exchangeFormStateProvider).fromAmountString;
|
ref.read(exchangeFormStateProvider).fromAmountString;
|
||||||
|
@ -1194,7 +1195,8 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
|
||||||
(previous, String next) {
|
(previous, String next) {
|
||||||
if (!_sendFocusNode.hasFocus) {
|
if (!_sendFocusNode.hasFocus) {
|
||||||
_sendController.text = next;
|
_sendController.text = next;
|
||||||
debugPrint("SEND AMOUNT LISTENER ACTIVATED");
|
//todo: check if print needed
|
||||||
|
// debugPrint("SEND AMOUNT LISTENER ACTIVATED");
|
||||||
if (_swapLock) {
|
if (_swapLock) {
|
||||||
_receiveController.text = isEstimated
|
_receiveController.text = isEstimated
|
||||||
? ref.read(exchangeFormStateProvider).toAmountString.isEmpty
|
? ref.read(exchangeFormStateProvider).toAmountString.isEmpty
|
||||||
|
|
|
@ -109,7 +109,8 @@ class _ExchangeViewState extends ConsumerState<ExchangeView> {
|
||||||
.read(tradeSentFromStackLookupProvider)
|
.read(tradeSentFromStackLookupProvider)
|
||||||
.all;
|
.all;
|
||||||
|
|
||||||
debugPrint("ALL: $lookup");
|
//todo: check if print needed
|
||||||
|
// debugPrint("ALL: $lookup");
|
||||||
|
|
||||||
final String? txid = ref
|
final String? txid = ref
|
||||||
.read(tradeSentFromStackLookupProvider)
|
.read(tradeSentFromStackLookupProvider)
|
||||||
|
@ -125,7 +126,8 @@ class _ExchangeViewState extends ConsumerState<ExchangeView> {
|
||||||
.read(walletsChangeNotifierProvider)
|
.read(walletsChangeNotifierProvider)
|
||||||
.getManager(walletIds.first);
|
.getManager(walletIds.first);
|
||||||
|
|
||||||
debugPrint("name: ${manager.walletName}");
|
//todo: check if print needed
|
||||||
|
// debugPrint("name: ${manager.walletName}");
|
||||||
|
|
||||||
// TODO store tx data completely locally in isar so we don't lock up ui here when querying txData
|
// TODO store tx data completely locally in isar so we don't lock up ui here when querying txData
|
||||||
final txData = await manager.transactionData;
|
final txData = await manager.transactionData;
|
||||||
|
|
|
@ -84,7 +84,8 @@ class ExchangeRateSheet extends ConsumerWidget {
|
||||||
groupValue: ref.watch(prefsChangeNotifierProvider
|
groupValue: ref.watch(prefsChangeNotifierProvider
|
||||||
.select((value) => value.exchangeRateType)),
|
.select((value) => value.exchangeRateType)),
|
||||||
onChanged: (x) {
|
onChanged: (x) {
|
||||||
debugPrint(x.toString());
|
//todo: check if print needed
|
||||||
|
// debugPrint(x.toString());
|
||||||
ref
|
ref
|
||||||
.read(prefsChangeNotifierProvider)
|
.read(prefsChangeNotifierProvider)
|
||||||
.exchangeRateType =
|
.exchangeRateType =
|
||||||
|
|
|
@ -157,9 +157,10 @@ class _TradeDetailsViewState extends ConsumerState<TradeDetailsView> {
|
||||||
trade.status == "Failed" ||
|
trade.status == "Failed" ||
|
||||||
trade.status == "failed");
|
trade.status == "failed");
|
||||||
|
|
||||||
debugPrint("sentFromStack: $sentFromStack");
|
//todo: check if print needed
|
||||||
debugPrint("hasTx: $hasTx");
|
// debugPrint("sentFromStack: $sentFromStack");
|
||||||
debugPrint("trade: ${trade.toString()}");
|
// debugPrint("hasTx: $hasTx");
|
||||||
|
// debugPrint("trade: ${trade.toString()}");
|
||||||
|
|
||||||
final sendAmount =
|
final sendAmount =
|
||||||
Decimal.tryParse(trade.payInAmount) ?? Decimal.parse("-1");
|
Decimal.tryParse(trade.payInAmount) ?? Decimal.parse("-1");
|
||||||
|
|
|
@ -257,7 +257,8 @@ class _HomeViewState extends ConsumerState<HomeView> {
|
||||||
height: 20,
|
height: 20,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
debugPrint("main view settings tapped");
|
//todo: check if print needed
|
||||||
|
// debugPrint("main view settings tapped");
|
||||||
Navigator.of(context)
|
Navigator.of(context)
|
||||||
.pushNamed(GlobalSettingsView.routeName);
|
.pushNamed(GlobalSettingsView.routeName);
|
||||||
},
|
},
|
||||||
|
|
|
@ -34,7 +34,8 @@ class _HomeViewButtonBarState extends ConsumerState<HomeViewButtonBar> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
debugPrint("BUILD: HomeViewButtonBar");
|
//todo: check if print needed
|
||||||
|
// debugPrint("BUILD: HomeViewButtonBar");
|
||||||
final selectedIndex = ref.watch(homeViewPageIndexStateProvider.state).state;
|
final selectedIndex = ref.watch(homeViewPageIndexStateProvider.state).state;
|
||||||
return Row(
|
return Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||||
|
|
|
@ -122,6 +122,7 @@ class _GenerateUriQrCodeViewState extends State<GenerateUriQrCodeView> {
|
||||||
text: "Receive URI QR Code");
|
text: "Receive URI QR Code");
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
//todo: comeback to this
|
||||||
debugPrint(e.toString());
|
debugPrint(e.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,6 +119,7 @@ class _ConfirmTransactionViewState
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
//todo: comeback to this
|
||||||
debugPrint("$e\n$s");
|
debugPrint("$e\n$s");
|
||||||
// pop sending dialog
|
// pop sending dialog
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
|
|
|
@ -548,7 +548,8 @@ class _TransactionFeeSelectionSheetState
|
||||||
.watch(feeRateTypeStateProvider.state)
|
.watch(feeRateTypeStateProvider.state)
|
||||||
.state,
|
.state,
|
||||||
onChanged: (x) {
|
onChanged: (x) {
|
||||||
debugPrint(x.toString());
|
//todo: check if print needed
|
||||||
|
// debugPrint(x.toString());
|
||||||
ref
|
ref
|
||||||
.read(feeRateTypeStateProvider.state)
|
.read(feeRateTypeStateProvider.state)
|
||||||
.state = FeeRateType.slow;
|
.state = FeeRateType.slow;
|
||||||
|
|
|
@ -20,11 +20,13 @@ class SWBFileSystem {
|
||||||
await Permission.storage.request();
|
await Permission.storage.request();
|
||||||
}
|
}
|
||||||
rootPath = (await getApplicationDocumentsDirectory());
|
rootPath = (await getApplicationDocumentsDirectory());
|
||||||
debugPrint(rootPath!.absolute.toString());
|
//todo: check if print needed
|
||||||
|
// debugPrint(rootPath!.absolute.toString());
|
||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
rootPath = Directory("/storage/emulated/0/");
|
rootPath = Directory("/storage/emulated/0/");
|
||||||
}
|
}
|
||||||
debugPrint(rootPath!.absolute.toString());
|
//todo: check if print needed
|
||||||
|
// debugPrint(rootPath!.absolute.toString());
|
||||||
|
|
||||||
late Directory sampleFolder;
|
late Directory sampleFolder;
|
||||||
|
|
||||||
|
@ -45,6 +47,7 @@ class SWBFileSystem {
|
||||||
sampleFolder.createSync(recursive: true);
|
sampleFolder.createSync(recursive: true);
|
||||||
}
|
}
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
// todo: come back to this
|
||||||
debugPrint("$e $s");
|
debugPrint("$e $s");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,6 +61,7 @@ class SWBFileSystem {
|
||||||
sampleFile.createSync();
|
sampleFile.createSync();
|
||||||
}
|
}
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
// todo: come back to this
|
||||||
debugPrint("$e $s");
|
debugPrint("$e $s");
|
||||||
}
|
}
|
||||||
startPath = sampleFolder;
|
startPath = sampleFolder;
|
||||||
|
|
|
@ -234,7 +234,8 @@ class _TransactionsListState extends ConsumerState<TransactionsList> {
|
||||||
list.sort((a, b) => b.timestamp - a.timestamp);
|
list.sort((a, b) => b.timestamp - a.timestamp);
|
||||||
return RefreshIndicator(
|
return RefreshIndicator(
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
debugPrint("pulled down to refresh on transaction list");
|
//todo: check if print needed
|
||||||
|
// debugPrint("pulled down to refresh on transaction list");
|
||||||
final managerProvider = ref
|
final managerProvider = ref
|
||||||
.read(walletsChangeNotifierProvider)
|
.read(walletsChangeNotifierProvider)
|
||||||
.getManagerProvider(widget.walletId);
|
.getManagerProvider(widget.walletId);
|
||||||
|
|
|
@ -77,7 +77,8 @@ class _TransactionDetailsViewState extends ConsumerState<AllTransactionsView> {
|
||||||
return transactions;
|
return transactions;
|
||||||
}
|
}
|
||||||
|
|
||||||
debugPrint("FILTER: $filter");
|
//todo: check if print needed
|
||||||
|
// debugPrint("FILTER: $filter");
|
||||||
|
|
||||||
final contacts = ref.read(addressBookServiceProvider).contacts;
|
final contacts = ref.read(addressBookServiceProvider).contacts;
|
||||||
final notes =
|
final notes =
|
||||||
|
@ -449,7 +450,8 @@ class _TransactionDetailsViewState extends ConsumerState<AllTransactionsView> {
|
||||||
final criteria =
|
final criteria =
|
||||||
ref.watch(transactionFilterProvider.state).state;
|
ref.watch(transactionFilterProvider.state).state;
|
||||||
|
|
||||||
debugPrint("Consumer build called");
|
//todo: check if print needed
|
||||||
|
// debugPrint("Consumer build called");
|
||||||
|
|
||||||
return FutureBuilder(
|
return FutureBuilder(
|
||||||
future: ref.watch(managerProvider
|
future: ref.watch(managerProvider
|
||||||
|
|
|
@ -529,7 +529,8 @@ class _WalletViewState extends ConsumerState<WalletView> {
|
||||||
height: 20,
|
height: 20,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
debugPrint("wallet view settings tapped");
|
//todo: check if print needed
|
||||||
|
// debugPrint("wallet view settings tapped");
|
||||||
Navigator.of(context).pushNamed(
|
Navigator.of(context).pushNamed(
|
||||||
WalletSettingsView.routeName,
|
WalletSettingsView.routeName,
|
||||||
arguments: Tuple4(
|
arguments: Tuple4(
|
||||||
|
|
|
@ -346,7 +346,8 @@ class _DesktopTradeRowCardState extends ConsumerState<DesktopTradeRowCard> {
|
||||||
.read(walletsChangeNotifierProvider)
|
.read(walletsChangeNotifierProvider)
|
||||||
.getManager(walletIds.first);
|
.getManager(walletIds.first);
|
||||||
|
|
||||||
debugPrint("name: ${manager.walletName}");
|
//todo: check if print needed
|
||||||
|
// debugPrint("name: ${manager.walletName}");
|
||||||
|
|
||||||
// TODO store tx data completely locally in isar so we don't lock up ui here when querying txData
|
// TODO store tx data completely locally in isar so we don't lock up ui here when querying txData
|
||||||
final txData = await manager.transactionData;
|
final txData = await manager.transactionData;
|
||||||
|
|
|
@ -106,7 +106,8 @@ class _DesktopTradeHistoryState extends ConsumerState<DesktopTradeHistory> {
|
||||||
final lookup =
|
final lookup =
|
||||||
ref.read(tradeSentFromStackLookupProvider).all;
|
ref.read(tradeSentFromStackLookupProvider).all;
|
||||||
|
|
||||||
debugPrint("ALL: $lookup");
|
//todo: check if print needed
|
||||||
|
// debugPrint("ALL: $lookup");
|
||||||
|
|
||||||
final String? txid = ref
|
final String? txid = ref
|
||||||
.read(tradeSentFromStackLookupProvider)
|
.read(tradeSentFromStackLookupProvider)
|
||||||
|
@ -122,7 +123,8 @@ class _DesktopTradeHistoryState extends ConsumerState<DesktopTradeHistory> {
|
||||||
.read(walletsChangeNotifierProvider)
|
.read(walletsChangeNotifierProvider)
|
||||||
.getManager(walletIds.first);
|
.getManager(walletIds.first);
|
||||||
|
|
||||||
debugPrint("name: ${manager.walletName}");
|
//todo: check if print needed
|
||||||
|
// debugPrint("name: ${manager.walletName}");
|
||||||
|
|
||||||
// TODO store tx data completely locally in isar so we don't lock up ui here when querying txData
|
// TODO store tx data completely locally in isar so we don't lock up ui here when querying txData
|
||||||
final txData = await manager.transactionData;
|
final txData = await manager.transactionData;
|
||||||
|
|
|
@ -2665,6 +2665,7 @@ class BitcoinCashWallet extends CoinServiceAPI {
|
||||||
satoshisBeingUsed - satoshiAmountToSend - 1,
|
satoshisBeingUsed - satoshiAmountToSend - 1,
|
||||||
], // dust limit is the minimum amount a change output should be
|
], // dust limit is the minimum amount a change output should be
|
||||||
))["vSize"] as int;
|
))["vSize"] as int;
|
||||||
|
//todo: check if print needed
|
||||||
debugPrint("vSizeForOneOutput $vSizeForOneOutput");
|
debugPrint("vSizeForOneOutput $vSizeForOneOutput");
|
||||||
debugPrint("vSizeForTwoOutPuts $vSizeForTwoOutPuts");
|
debugPrint("vSizeForTwoOutPuts $vSizeForTwoOutPuts");
|
||||||
|
|
||||||
|
@ -3140,6 +3141,7 @@ class BitcoinCashWallet extends CoinServiceAPI {
|
||||||
final tx = builder.build();
|
final tx = builder.build();
|
||||||
final txHex = tx.toHex();
|
final txHex = tx.toHex();
|
||||||
final vSize = tx.virtualSize();
|
final vSize = tx.virtualSize();
|
||||||
|
//todo: check if print needed
|
||||||
Logger.print("bch raw hex: $txHex");
|
Logger.print("bch raw hex: $txHex");
|
||||||
|
|
||||||
return {"hex": txHex, "vSize": vSize};
|
return {"hex": txHex, "vSize": vSize};
|
||||||
|
|
|
@ -2476,6 +2476,7 @@ class DogecoinWallet extends CoinServiceAPI {
|
||||||
satoshisBeingUsed - satoshiAmountToSend - 1,
|
satoshisBeingUsed - satoshiAmountToSend - 1,
|
||||||
], // dust limit is the minimum amount a change output should be
|
], // dust limit is the minimum amount a change output should be
|
||||||
))["vSize"] as int;
|
))["vSize"] as int;
|
||||||
|
//todo: check if print needed
|
||||||
debugPrint("vSizeForOneOutput $vSizeForOneOutput");
|
debugPrint("vSizeForOneOutput $vSizeForOneOutput");
|
||||||
debugPrint("vSizeForTwoOutPuts $vSizeForTwoOutPuts");
|
debugPrint("vSizeForTwoOutPuts $vSizeForTwoOutPuts");
|
||||||
|
|
||||||
|
|
|
@ -978,7 +978,8 @@ class EpicCashWallet extends CoinServiceAPI {
|
||||||
await _secureStore.write(key: '${_walletId}_wallet', value: walletOpen);
|
await _secureStore.write(key: '${_walletId}_wallet', value: walletOpen);
|
||||||
|
|
||||||
if ((DB.instance.get<dynamic>(boxName: walletId, key: "id")) == null) {
|
if ((DB.instance.get<dynamic>(boxName: walletId, key: "id")) == null) {
|
||||||
debugPrint("Exception was thrown");
|
//todo: check if print needed
|
||||||
|
// debugPrint("Exception was thrown");
|
||||||
throw Exception(
|
throw Exception(
|
||||||
"Attempted to initialize an existing wallet using an unknown wallet ID!");
|
"Attempted to initialize an existing wallet using an unknown wallet ID!");
|
||||||
}
|
}
|
||||||
|
@ -1023,8 +1024,9 @@ class EpicCashWallet extends CoinServiceAPI {
|
||||||
const double overestimateSecondsPerBlock = 61;
|
const double overestimateSecondsPerBlock = 61;
|
||||||
int chosenSeconds = secondsSinceEpoch - epicCashFirstBlock;
|
int chosenSeconds = secondsSinceEpoch - epicCashFirstBlock;
|
||||||
int approximateHeight = chosenSeconds ~/ overestimateSecondsPerBlock;
|
int approximateHeight = chosenSeconds ~/ overestimateSecondsPerBlock;
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"approximate height: $approximateHeight chosen_seconds: $chosenSeconds");
|
// debugPrint(
|
||||||
|
// "approximate height: $approximateHeight chosen_seconds: $chosenSeconds");
|
||||||
int height = approximateHeight;
|
int height = approximateHeight;
|
||||||
if (height < 0) {
|
if (height < 0) {
|
||||||
height = 0;
|
height = 0;
|
||||||
|
@ -1229,6 +1231,7 @@ class EpicCashWallet extends CoinServiceAPI {
|
||||||
realfee =
|
realfee =
|
||||||
(Decimal.parse(txObject["fee"].toString())).toBigInt().toInt();
|
(Decimal.parse(txObject["fee"].toString())).toBigInt().toInt();
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
//todo: come back to this
|
||||||
debugPrint("$e $s");
|
debugPrint("$e $s");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2183,6 +2186,7 @@ class EpicCashWallet extends CoinServiceAPI {
|
||||||
try {
|
try {
|
||||||
confirmations = currentChainHeight - txHeight;
|
confirmations = currentChainHeight - txHeight;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
//todo: come back to this
|
||||||
debugPrint("$e $s");
|
debugPrint("$e $s");
|
||||||
}
|
}
|
||||||
midSortedTx["confirmations"] = confirmations;
|
midSortedTx["confirmations"] = confirmations;
|
||||||
|
|
|
@ -284,7 +284,8 @@ Future<Map<String, dynamic>> isolateRestore(
|
||||||
coin.anonymitySetId != setId;
|
coin.anonymitySetId != setId;
|
||||||
}, orElse: () => {});
|
}, orElse: () => {});
|
||||||
if (duplicateCoin.isNotEmpty) {
|
if (duplicateCoin.isNotEmpty) {
|
||||||
debugPrint("removing duplicate: $duplicateCoin");
|
//todo: check if print needed
|
||||||
|
// debugPrint("removing duplicate: $duplicateCoin");
|
||||||
lelantusCoins.remove(duplicateCoin);
|
lelantusCoins.remove(duplicateCoin);
|
||||||
}
|
}
|
||||||
lelantusCoins.add({
|
lelantusCoins.add({
|
||||||
|
@ -325,7 +326,8 @@ Future<Map<String, dynamic>> isolateRestore(
|
||||||
coin.anonymitySetId != setId;
|
coin.anonymitySetId != setId;
|
||||||
}, orElse: () => {});
|
}, orElse: () => {});
|
||||||
if (duplicateCoin.isNotEmpty) {
|
if (duplicateCoin.isNotEmpty) {
|
||||||
debugPrint("removing duplicate: $duplicateCoin");
|
//todo: check if print needed
|
||||||
|
// debugPrint("removing duplicate: $duplicateCoin");
|
||||||
lelantusCoins.remove(duplicateCoin);
|
lelantusCoins.remove(duplicateCoin);
|
||||||
}
|
}
|
||||||
lelantusCoins.add({
|
lelantusCoins.add({
|
||||||
|
@ -1231,6 +1233,7 @@ class FiroWallet extends CoinServiceAPI {
|
||||||
|
|
||||||
return txid;
|
return txid;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
//todo: come back to this
|
||||||
debugPrint("$e $s");
|
debugPrint("$e $s");
|
||||||
return txData["txid"] as String;
|
return txData["txid"] as String;
|
||||||
// don't throw anything here or it will tell the user that th tx
|
// don't throw anything here or it will tell the user that th tx
|
||||||
|
@ -1487,6 +1490,7 @@ class FiroWallet extends CoinServiceAPI {
|
||||||
satoshisBeingUsed - satoshiAmountToSend - 1,
|
satoshisBeingUsed - satoshiAmountToSend - 1,
|
||||||
], // dust limit is the minimum amount a change output should be
|
], // dust limit is the minimum amount a change output should be
|
||||||
))["vSize"] as int;
|
))["vSize"] as int;
|
||||||
|
//todo: check if print needed
|
||||||
debugPrint("vSizeForOneOutput $vSizeForOneOutput");
|
debugPrint("vSizeForOneOutput $vSizeForOneOutput");
|
||||||
debugPrint("vSizeForTwoOutPuts $vSizeForTwoOutPuts");
|
debugPrint("vSizeForTwoOutPuts $vSizeForTwoOutPuts");
|
||||||
|
|
||||||
|
@ -2666,7 +2670,8 @@ class FiroWallet extends CoinServiceAPI {
|
||||||
/// Builds and signs a transaction
|
/// Builds and signs a transaction
|
||||||
Future<Map<String, dynamic>> buildMintTransaction(List<UtxoObject> utxosToUse,
|
Future<Map<String, dynamic>> buildMintTransaction(List<UtxoObject> utxosToUse,
|
||||||
int satoshisPerRecipient, List<Map<String, dynamic>> mintsMap) async {
|
int satoshisPerRecipient, List<Map<String, dynamic>> mintsMap) async {
|
||||||
debugPrint(utxosToUse.toString());
|
//todo: check if print needed
|
||||||
|
// debugPrint(utxosToUse.toString());
|
||||||
List<String> addressesToDerive = [];
|
List<String> addressesToDerive = [];
|
||||||
|
|
||||||
// Populating the addresses to derive
|
// Populating the addresses to derive
|
||||||
|
|
|
@ -48,6 +48,7 @@ class Manager with ChangeNotifier {
|
||||||
if (_isActiveWallet != isActive) {
|
if (_isActiveWallet != isActive) {
|
||||||
_isActiveWallet = isActive;
|
_isActiveWallet = isActive;
|
||||||
_currentWallet.onIsActiveWalletChanged?.call(isActive);
|
_currentWallet.onIsActiveWalletChanged?.call(isActive);
|
||||||
|
//todo: check if print needed
|
||||||
debugPrint(
|
debugPrint(
|
||||||
"wallet ID: ${_currentWallet.walletId} is active set to: $isActive");
|
"wallet ID: ${_currentWallet.walletId} is active set to: $isActive");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -457,7 +457,8 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
|
|
||||||
if (isActive || shouldAutoSync) {
|
if (isActive || shouldAutoSync) {
|
||||||
timer ??= Timer.periodic(const Duration(seconds: 60), (timer) async {
|
timer ??= Timer.periodic(const Duration(seconds: 60), (timer) async {
|
||||||
debugPrint("run timer");
|
//todo: check if print needed
|
||||||
|
// debugPrint("run timer");
|
||||||
//TODO: check for new data and refresh if needed. if monero even needs this
|
//TODO: check for new data and refresh if needed. if monero even needs this
|
||||||
// chain height check currently broken
|
// chain height check currently broken
|
||||||
// if ((await chainHeight) != (await storedChainHeight)) {
|
// if ((await chainHeight) != (await storedChainHeight)) {
|
||||||
|
@ -471,7 +472,8 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
});
|
});
|
||||||
moneroAutosaveTimer ??=
|
moneroAutosaveTimer ??=
|
||||||
Timer.periodic(const Duration(seconds: 93), (timer) async {
|
Timer.periodic(const Duration(seconds: 93), (timer) async {
|
||||||
debugPrint("run monero timer");
|
//todo: check if print needed
|
||||||
|
// debugPrint("run monero timer");
|
||||||
if (isActive) {
|
if (isActive) {
|
||||||
await walletBase?.save();
|
await walletBase?.save();
|
||||||
GlobalEventBus.instance.fire(UpdatedInBackgroundEvent(
|
GlobalEventBus.instance.fire(UpdatedInBackgroundEvent(
|
||||||
|
@ -724,6 +726,7 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
walletBase?.close();
|
walletBase?.close();
|
||||||
walletBase = wallet as MoneroWalletBase;
|
walletBase = wallet as MoneroWalletBase;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
//todo: come back to this
|
||||||
debugPrint(e.toString());
|
debugPrint(e.toString());
|
||||||
debugPrint(s.toString());
|
debugPrint(s.toString());
|
||||||
}
|
}
|
||||||
|
@ -826,7 +829,8 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
level: LogLevel.Info);
|
level: LogLevel.Info);
|
||||||
|
|
||||||
if ((DB.instance.get<dynamic>(boxName: walletId, key: "id")) == null) {
|
if ((DB.instance.get<dynamic>(boxName: walletId, key: "id")) == null) {
|
||||||
debugPrint("Exception was thrown");
|
//todo: check if print is needed
|
||||||
|
// debugPrint("Exception was thrown");
|
||||||
throw Exception(
|
throw Exception(
|
||||||
"Attempted to initialize an existing wallet using an unknown wallet ID!");
|
"Attempted to initialize an existing wallet using an unknown wallet ID!");
|
||||||
}
|
}
|
||||||
|
@ -847,7 +851,8 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
try {
|
try {
|
||||||
password = await keysStorage?.getWalletPassword(walletName: _walletId);
|
password = await keysStorage?.getWalletPassword(walletName: _walletId);
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
debugPrint("Exception was thrown $e $s");
|
//todo: check if print needed
|
||||||
|
// debugPrint("Exception was thrown $e $s");
|
||||||
throw Exception("Password not found $e, $s");
|
throw Exception("Password not found $e, $s");
|
||||||
}
|
}
|
||||||
walletBase = (await walletService?.openWallet(_walletId, password!))
|
walletBase = (await walletService?.openWallet(_walletId, password!))
|
||||||
|
@ -1125,7 +1130,8 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
for (var element in walletBase!.balance!.entries) {
|
for (var element in walletBase!.balance!.entries) {
|
||||||
bal = bal + element.value.fullBalance;
|
bal = bal + element.value.fullBalance;
|
||||||
}
|
}
|
||||||
debugPrint("balances: $transactionBalance $bal");
|
//todo: check if print needed
|
||||||
|
// debugPrint("balances: $transactionBalance $bal");
|
||||||
if (isActive) {
|
if (isActive) {
|
||||||
String am = moneroAmountToString(amount: bal);
|
String am = moneroAmountToString(amount: bal);
|
||||||
|
|
||||||
|
@ -1153,7 +1159,8 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
password =
|
password =
|
||||||
await keysStorage?.getWalletPassword(walletName: _walletId);
|
await keysStorage?.getWalletPassword(walletName: _walletId);
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
debugPrint("Exception was thrown $e $s");
|
//todo: check if print needed
|
||||||
|
// debugPrint("Exception was thrown $e $s");
|
||||||
throw Exception("Password not found $e, $s");
|
throw Exception("Password not found $e, $s");
|
||||||
}
|
}
|
||||||
walletBase = (await walletService?.openWallet(_walletId, password!))
|
walletBase = (await walletService?.openWallet(_walletId, password!))
|
||||||
|
|
|
@ -458,7 +458,8 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
|
|
||||||
if (isActive || shouldAutoSync) {
|
if (isActive || shouldAutoSync) {
|
||||||
timer ??= Timer.periodic(const Duration(seconds: 60), (timer) async {
|
timer ??= Timer.periodic(const Duration(seconds: 60), (timer) async {
|
||||||
debugPrint("run timer");
|
//todo: check if print needed
|
||||||
|
// debugPrint("run timer");
|
||||||
//TODO: check for new data and refresh if needed. if wownero even needs this
|
//TODO: check for new data and refresh if needed. if wownero even needs this
|
||||||
// chain height check currently broken
|
// chain height check currently broken
|
||||||
// if ((await chainHeight) != (await storedChainHeight)) {
|
// if ((await chainHeight) != (await storedChainHeight)) {
|
||||||
|
@ -472,7 +473,8 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
});
|
});
|
||||||
wowneroAutosaveTimer ??=
|
wowneroAutosaveTimer ??=
|
||||||
Timer.periodic(const Duration(seconds: 93), (timer) async {
|
Timer.periodic(const Duration(seconds: 93), (timer) async {
|
||||||
debugPrint("run wownero timer");
|
//todo: check if print needed
|
||||||
|
// debugPrint("run wownero timer");
|
||||||
if (isActive) {
|
if (isActive) {
|
||||||
await walletBase?.save();
|
await walletBase?.save();
|
||||||
GlobalEventBus.instance.fire(UpdatedInBackgroundEvent(
|
GlobalEventBus.instance.fire(UpdatedInBackgroundEvent(
|
||||||
|
@ -828,7 +830,8 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
level: LogLevel.Info);
|
level: LogLevel.Info);
|
||||||
|
|
||||||
if ((DB.instance.get<dynamic>(boxName: walletId, key: "id")) == null) {
|
if ((DB.instance.get<dynamic>(boxName: walletId, key: "id")) == null) {
|
||||||
debugPrint("Exception was thrown");
|
//todo: check if print needed
|
||||||
|
// debugPrint("Exception was thrown");
|
||||||
throw Exception(
|
throw Exception(
|
||||||
"Attempted to initialize an existing wallet using an unknown wallet ID!");
|
"Attempted to initialize an existing wallet using an unknown wallet ID!");
|
||||||
}
|
}
|
||||||
|
@ -849,7 +852,8 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
try {
|
try {
|
||||||
password = await keysStorage?.getWalletPassword(walletName: _walletId);
|
password = await keysStorage?.getWalletPassword(walletName: _walletId);
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
debugPrint("Exception was thrown $e $s");
|
//todo: check if print needed
|
||||||
|
// debugPrint("Exception was thrown $e $s");
|
||||||
throw Exception("Password not found $e, $s");
|
throw Exception("Password not found $e, $s");
|
||||||
}
|
}
|
||||||
walletBase = (await walletService?.openWallet(_walletId, password!))
|
walletBase = (await walletService?.openWallet(_walletId, password!))
|
||||||
|
@ -1046,6 +1050,7 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
await DB.instance
|
await DB.instance
|
||||||
.put<dynamic>(boxName: walletId, key: "isFavorite", value: false);
|
.put<dynamic>(boxName: walletId, key: "isFavorite", value: false);
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
//todo: come back to this
|
||||||
debugPrint(e.toString());
|
debugPrint(e.toString());
|
||||||
debugPrint(s.toString());
|
debugPrint(s.toString());
|
||||||
}
|
}
|
||||||
|
@ -1146,7 +1151,8 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
for (var element in walletBase!.balance!.entries) {
|
for (var element in walletBase!.balance!.entries) {
|
||||||
bal = bal + element.value.fullBalance;
|
bal = bal + element.value.fullBalance;
|
||||||
}
|
}
|
||||||
debugPrint("balances: $transactionBalance $bal");
|
//todo: check if print needed
|
||||||
|
// debugPrint("balances: $transactionBalance $bal");
|
||||||
if (isActive) {
|
if (isActive) {
|
||||||
String am = wowneroAmountToString(amount: bal);
|
String am = wowneroAmountToString(amount: bal);
|
||||||
|
|
||||||
|
@ -1174,8 +1180,10 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
password =
|
password =
|
||||||
await keysStorage?.getWalletPassword(walletName: _walletId);
|
await keysStorage?.getWalletPassword(walletName: _walletId);
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
debugPrint("Exception was thrown $e $s");
|
//todo: check if print needed
|
||||||
throw Exception("Password not found $e, $s");
|
// debugPrint("Exception was thrown $e $s");
|
||||||
|
throw Exception("Password not fou"
|
||||||
|
"*nd $e, $s");
|
||||||
}
|
}
|
||||||
walletBase = (await walletService?.openWallet(_walletId, password!))
|
walletBase = (await walletService?.openWallet(_walletId, password!))
|
||||||
as WowneroWalletBase?;
|
as WowneroWalletBase?;
|
||||||
|
@ -1499,7 +1507,8 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
await (awaitPendingTransaction!) as PendingWowneroTransaction;
|
await (awaitPendingTransaction!) as PendingWowneroTransaction;
|
||||||
int realfee = Format.decimalAmountToSatoshis(
|
int realfee = Format.decimalAmountToSatoshis(
|
||||||
Decimal.parse(pendingWowneroTransaction.feeFormatted), coin);
|
Decimal.parse(pendingWowneroTransaction.feeFormatted), coin);
|
||||||
debugPrint("fee? $realfee");
|
//todo: check if print needed
|
||||||
|
// debugPrint("fee? $realfee");
|
||||||
Map<String, dynamic> txData = {
|
Map<String, dynamic> txData = {
|
||||||
"pendingWowneroTransaction": pendingWowneroTransaction,
|
"pendingWowneroTransaction": pendingWowneroTransaction,
|
||||||
"fee": realfee,
|
"fee": realfee,
|
||||||
|
|
|
@ -60,6 +60,7 @@ class DebugService extends ChangeNotifier {
|
||||||
await isar.writeTxn(() async => await isar.logs.clear());
|
await isar.writeTxn(() async => await isar.logs.clear());
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
|
//todo: come back to this
|
||||||
debugPrint("$e, $s");
|
debugPrint("$e, $s");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,8 @@ class Wallets extends ChangeNotifier {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
dispose() {
|
dispose() {
|
||||||
debugPrint("Wallets dispose was called!!");
|
//todo: check if print needed
|
||||||
|
// debugPrint("Wallets dispose was called!!");
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,7 +146,8 @@ class Wallets extends ChangeNotifier {
|
||||||
|
|
||||||
static int _count = 0;
|
static int _count = 0;
|
||||||
Future<void> load(Prefs prefs) async {
|
Future<void> load(Prefs prefs) async {
|
||||||
debugPrint("++++++++++++++ Wallets().load() called: ${++_count} times");
|
//todo: check if print needed
|
||||||
|
// debugPrint("++++++++++++++ Wallets().load() called: ${++_count} times");
|
||||||
if (hasLoaded) {
|
if (hasLoaded) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -315,8 +317,9 @@ class Wallets extends ChangeNotifier {
|
||||||
|
|
||||||
final isVerified =
|
final isVerified =
|
||||||
await walletsService.isMnemonicVerified(walletId: walletId);
|
await walletsService.isMnemonicVerified(walletId: walletId);
|
||||||
debugPrint(
|
//todo: check if print needed
|
||||||
"LOADING RESTORED WALLET: ${manager.walletName} ${manager.walletId} IS VERIFIED: $isVerified");
|
// debugPrint(
|
||||||
|
// "LOADING RESTORED WALLET: ${manager.walletName} ${manager.walletId} IS VERIFIED: $isVerified");
|
||||||
|
|
||||||
if (isVerified) {
|
if (isVerified) {
|
||||||
if (_managerMap[walletId] == null &&
|
if (_managerMap[walletId] == null &&
|
||||||
|
|
|
@ -236,7 +236,8 @@ class WalletsService extends ChangeNotifier {
|
||||||
await DB.instance.deleteAll<String>(boxName: DB.boxNameFavoriteWallets);
|
await DB.instance.deleteAll<String>(boxName: DB.boxNameFavoriteWallets);
|
||||||
await DB.instance
|
await DB.instance
|
||||||
.addAll(boxName: DB.boxNameFavoriteWallets, values: walletIds);
|
.addAll(boxName: DB.boxNameFavoriteWallets, values: walletIds);
|
||||||
debugPrint("saveFavoriteWalletIds list: $walletIds");
|
//todo: check if print needed
|
||||||
|
// debugPrint("saveFavoriteWalletIds list: $walletIds");
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> addFavorite(String walletId) async {
|
Future<void> addFavorite(String walletId) async {
|
||||||
|
|
|
@ -34,14 +34,16 @@ class Biometrics {
|
||||||
final canCheckBiometrics = await localAuth.canCheckBiometrics;
|
final canCheckBiometrics = await localAuth.canCheckBiometrics;
|
||||||
final isDeviceSupported = await localAuth.isDeviceSupported();
|
final isDeviceSupported = await localAuth.isDeviceSupported();
|
||||||
|
|
||||||
debugPrint("canCheckBiometrics: $canCheckBiometrics");
|
//todo: check if print needed
|
||||||
debugPrint("isDeviceSupported: $isDeviceSupported");
|
// debugPrint("canCheckBiometrics: $canCheckBiometrics");
|
||||||
|
// debugPrint("isDeviceSupported: $isDeviceSupported");
|
||||||
|
|
||||||
if (canCheckBiometrics && isDeviceSupported) {
|
if (canCheckBiometrics && isDeviceSupported) {
|
||||||
List<BiometricType> availableSystems =
|
List<BiometricType> availableSystems =
|
||||||
await localAuth.getAvailableBiometrics();
|
await localAuth.getAvailableBiometrics();
|
||||||
|
|
||||||
debugPrint("availableSystems: $availableSystems");
|
//todo: check if print needed
|
||||||
|
// debugPrint("availableSystems: $availableSystems");
|
||||||
|
|
||||||
//TODO properly handle caught exceptions
|
//TODO properly handle caught exceptions
|
||||||
if (Platform.isIOS) {
|
if (Platform.isIOS) {
|
||||||
|
|
45
pubspec.lock
45
pubspec.lock
|
@ -42,7 +42,7 @@ packages:
|
||||||
name: archive
|
name: archive
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.3.0"
|
version: "3.1.11"
|
||||||
args:
|
args:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -63,7 +63,7 @@ packages:
|
||||||
name: async
|
name: async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.9.0"
|
version: "2.8.2"
|
||||||
barcode_scan2:
|
barcode_scan2:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -190,7 +190,14 @@ packages:
|
||||||
name: characters
|
name: characters
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "1.2.0"
|
||||||
|
charcode:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: charcode
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.1"
|
||||||
checked_yaml:
|
checked_yaml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -211,7 +218,7 @@ packages:
|
||||||
name: clock
|
name: clock
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.0"
|
||||||
code_builder:
|
code_builder:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -281,7 +288,7 @@ packages:
|
||||||
name: coverage
|
name: coverage
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.0"
|
version: "1.2.0"
|
||||||
cross_file:
|
cross_file:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -435,7 +442,7 @@ packages:
|
||||||
name: fake_async
|
name: fake_async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
version: "1.3.0"
|
||||||
ffi:
|
ffi:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -864,21 +871,21 @@ packages:
|
||||||
name: matcher
|
name: matcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.12"
|
version: "0.12.11"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: material_color_utilities
|
name: material_color_utilities
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.5"
|
version: "0.1.4"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.0"
|
version: "1.7.0"
|
||||||
mime:
|
mime:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -990,7 +997,7 @@ packages:
|
||||||
name: path
|
name: path
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.2"
|
version: "1.8.1"
|
||||||
path_drawing:
|
path_drawing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1366,7 +1373,7 @@ packages:
|
||||||
name: source_span
|
name: source_span
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.0"
|
version: "1.8.2"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1410,7 +1417,7 @@ packages:
|
||||||
name: string_scanner
|
name: string_scanner
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.0"
|
||||||
string_validator:
|
string_validator:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -1424,35 +1431,35 @@ packages:
|
||||||
name: sync_http
|
name: sync_http
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.3.1"
|
version: "0.3.0"
|
||||||
term_glyph:
|
term_glyph:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: term_glyph
|
name: term_glyph
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "1.2.0"
|
||||||
test:
|
test:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test
|
name: test
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.21.4"
|
version: "1.21.1"
|
||||||
test_api:
|
test_api:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.12"
|
version: "0.4.9"
|
||||||
test_core:
|
test_core:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_core
|
name: test_core
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.16"
|
version: "0.4.13"
|
||||||
time:
|
time:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1501,7 +1508,7 @@ packages:
|
||||||
name: typed_data
|
name: typed_data
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
version: "1.3.0"
|
||||||
universal_io:
|
universal_io:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1585,7 +1592,7 @@ packages:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "9.0.0"
|
version: "8.2.2"
|
||||||
wakelock:
|
wakelock:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
Loading…
Reference in a new issue