diff --git a/android/app/build.gradle b/android/app/build.gradle index 9bc29fb..e36ed9e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -53,8 +53,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 23 targetSdkVersion 33 - versionCode 8 - versionName "0.8.1" + versionCode 9 + versionName "0.8.5" } signingConfigs { @@ -78,7 +78,3 @@ android { flutter { source '../..' } - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} diff --git a/android/build.gradle b/android/build.gradle index f7eb7f6..bc157bd 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() diff --git a/android/settings.gradle b/android/settings.gradle index 55c4ca8..1d6d19b 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -10,11 +10,17 @@ pluginManagement { includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") - plugins { - id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + repositories { + google() + mavenCentral() + gradlePluginPortal() } } -include ":app" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.3.0" apply false + id "org.jetbrains.kotlin.android" version "1.7.10" apply false +} -apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" diff --git a/lib/main.dart b/lib/main.dart index 73cc2e7..d2df14f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,8 +2,7 @@ import 'package:flutter/material.dart'; import 'package:thirdbank/pages/loadingpage.dart'; -void main() => runApp( - const MaterialApp( - title: "Third Bank", - home: LoadingPage(), -)); \ No newline at end of file +void main() => runApp(const MaterialApp( + title: "Third Bank", + home: LoadingPage(), + )); diff --git a/lib/pages/homepage.dart b/lib/pages/homepage.dart index a98defc..3c54388 100644 --- a/lib/pages/homepage.dart +++ b/lib/pages/homepage.dart @@ -31,9 +31,11 @@ class _HomePageState extends State { _refreshWallet() async { try { await wallet.syncWallet(); - await wallet.getBlockchainHeight(); - await wallet.getBalance(); - await wallet.getTransactions(); + await Future.wait([ + Future(() => wallet.getBlockchainHeight()), + Future(() => wallet.getBalance()), + Future(() => wallet.getTransactions()), + ]); if (wallet.transactions.isNotEmpty) { setState(() { _transactionAreaMessage = 'Tap on a transaction to get more info.'; diff --git a/lib/pages/loadingpage.dart b/lib/pages/loadingpage.dart index 518dfc0..00fd0f9 100644 --- a/lib/pages/loadingpage.dart +++ b/lib/pages/loadingpage.dart @@ -17,12 +17,14 @@ class _LoadingPageState extends State { final StorageProvider storage = StorageProvider(); final AuthenticationProvider auth = AuthenticationProvider(); - String _loadingpagetext = "Please wait..."; + String _loadingpagetext = "Powered by aldrinzigmund.com"; void _startup() async { Future.delayed(const Duration(seconds: 1), () async { - await storage.initialize(); - await auth.initialize(); + await Future.wait([ + Future(() => storage.initialize()), + Future(() => auth.initialize()), + ]); if (await storage.read(key: "setupdone") == "true" && await storage.read(key: "lock") == "true") { if (await auth.authenticate()) { @@ -34,7 +36,7 @@ class _LoadingPageState extends State { await storage.read(key: "lock") == "false") { _startWallet(); } else { - if (context.mounted) { + if (mounted) { goToMnemonicQuestionPage( context: context, wallet: wallet, storage: storage); } @@ -44,12 +46,18 @@ class _LoadingPageState extends State { void _startWallet() async { try { - wallet.mnemonic = await storage.read(key: "mnemonic"); - wallet.walletAddress = await storage.read(key: "address"); + await Future.wait([ + Future(() => storage.read(key: "mnemonic")), + Future(() => storage.read(key: "address")), + ]).then((values) => { + wallet.mnemonic = values[0], + wallet.walletAddress = values[1], + }); + await wallet.createOrRestoreWallet(mnemonic: wallet.mnemonic); wallet.mnemonic = ""; - wallet.getBlockchainHeight(); - if (context.mounted) { + await wallet.getBlockchainHeight(); + if (mounted) { goToHomePage(context: context, wallet: wallet, storage: storage); } } catch (_) { @@ -76,32 +84,31 @@ class _LoadingPageState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: Colors.yellowAccent, - body: Center( - child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ - Image.asset("assets/icons/icon.png"), - const Padding( - padding: EdgeInsets.all(9.0), - child: Text( - 'Third Bank', - style: TextStyle( - fontSize: 27.0, + backgroundColor: Colors.yellowAccent, + body: Center( + child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ + Image.asset("assets/icons/icon.png"), + const Padding( + padding: EdgeInsets.all(9.0), + child: Text( + 'Third Bank', + style: TextStyle( + fontSize: 27.0, + ), + textAlign: TextAlign.center, ), - textAlign: TextAlign.center, ), - ), - ]), - ), - bottomNavigationBar: Padding( - padding: const EdgeInsets.fromLTRB(9.0, 9.0, 9.0, 36.0), - child: Text( - _loadingpagetext, - style: const TextStyle( - fontSize: 18.0, - ), - textAlign: TextAlign.center, + ]), + ), + bottomNavigationBar: Padding( + padding: const EdgeInsets.fromLTRB(9.0, 9.0, 9.0, 36.0), + child: Text( + _loadingpagetext, + style: const TextStyle( + fontSize: 15.0, ), - ) - ); + textAlign: TextAlign.center, + ), + )); } } diff --git a/lib/pages/setup pages/authenticationquestionpage.dart b/lib/pages/setup pages/authenticationquestionpage.dart index 60d36bc..fbc4b1e 100644 --- a/lib/pages/setup pages/authenticationquestionpage.dart +++ b/lib/pages/setup pages/authenticationquestionpage.dart @@ -27,17 +27,21 @@ class _AuthenticationQuestionPageState final AuthenticationProvider authentication = AuthenticationProvider(); _addLocalAuth() async { - await storage.write(key: "setupdone", value: "true"); - await storage.write(key: "lock", value: "true"); - if (context.mounted) { + await Future.wait([ + Future(() => storage.write(key: "setupdone", value: "true")), + Future(() => storage.write(key: "lock", value: "true")), + ]); + if (mounted) { goToHomePage(context: context, wallet: wallet, storage: storage); } } _noLocalAuth() async { - await storage.write(key: "setupdone", value: "true"); - await storage.write(key: "lock", value: "false"); - if (context.mounted) { + await Future.wait([ + Future(() => storage.write(key: "setupdone", value: "true")), + Future(() => storage.write(key: "lock", value: "false")), + ]); + if (mounted) { goToHomePage(context: context, wallet: wallet, storage: storage); } } diff --git a/lib/pages/setup pages/generatemnemonicpage.dart b/lib/pages/setup pages/generatemnemonicpage.dart index eedf08d..9aa2e55 100644 --- a/lib/pages/setup pages/generatemnemonicpage.dart +++ b/lib/pages/setup pages/generatemnemonicpage.dart @@ -37,8 +37,10 @@ class _GenerateMnemonicPageState extends State { duration: Duration(seconds: 2), )); try { - await wallet.createOrRestoreWallet(mnemonic: wallet.mnemonic); - await storage.write(key: "mnemonic", value: wallet.mnemonic); + await Future.wait([ + Future(() => wallet.createOrRestoreWallet(mnemonic: wallet.mnemonic)), + Future(() => storage.write(key: "mnemonic", value: wallet.mnemonic)), + ]); wallet.mnemonic = ""; await wallet.getNewAddress(); await storage.write(key: "address", value: wallet.walletAddress); @@ -52,13 +54,15 @@ class _GenerateMnemonicPageState extends State { final localAuthAvailable = await authentication.checkAuthenticationAvailability(); if (!localAuthAvailable) { - await storage.write(key: "setupdone", value: "true"); - await storage.write(key: "lock", value: "false"); - if (context.mounted) { + await Future.wait([ + Future(() => storage.write(key: "setupdone", value: "true")), + Future(() => storage.write(key: "lock", value: "false")), + ]); + if (mounted) { goToHomePage(context: context, wallet: wallet, storage: storage); } } else { - if (context.mounted) { + if (mounted) { goToAuthenticationQuestionPage( context: context, wallet: wallet, storage: storage); } diff --git a/lib/pages/setup pages/restoremnemonicpage.dart b/lib/pages/setup pages/restoremnemonicpage.dart index 38eb518..2986573 100644 --- a/lib/pages/setup pages/restoremnemonicpage.dart +++ b/lib/pages/setup pages/restoremnemonicpage.dart @@ -40,8 +40,10 @@ class _RestoreMnemonicPageState extends State { duration: Duration(seconds: 2), )); try { - await wallet.createOrRestoreWallet(mnemonic: _mnemonic.text); - await storage.write(key: "mnemonic", value: _mnemonic.text); + await Future.wait([ + Future(() => wallet.createOrRestoreWallet(mnemonic: _mnemonic.text)), + Future(() => storage.write(key: "mnemonic", value: _mnemonic.text)), + ]); wallet.mnemonic = ""; await wallet.getNewAddress(); await storage.write(key: "address", value: wallet.walletAddress); @@ -58,13 +60,15 @@ class _RestoreMnemonicPageState extends State { final localAuthAvailable = await authentication.checkAuthenticationAvailability(); if (!localAuthAvailable) { - await storage.write(key: "setupdone", value: "true"); - await storage.write(key: "lock", value: "false"); - if (context.mounted) { + await Future.wait([ + Future(() => storage.write(key: "setupdone", value: "true")), + Future(() => storage.write(key: "lock", value: "false")), + ]); + if (mounted) { goToHomePage(context: context, wallet: wallet, storage: storage); } } else { - if (context.mounted) { + if (mounted) { goToAuthenticationQuestionPage( context: context, wallet: wallet, storage: storage); } diff --git a/lib/pages/transactionpages/receivepage.dart b/lib/pages/transactionpages/receivepage.dart index 953ee78..08da227 100644 --- a/lib/pages/transactionpages/receivepage.dart +++ b/lib/pages/transactionpages/receivepage.dart @@ -21,10 +21,10 @@ class _ReceivePageState extends State { _copyWalletAddressToClipboard() { Clipboard.setData(ClipboardData(text: wallet.walletAddress)); - ScaffoldMessenger.of(context).showSnackBar(const SnackBar( - content: Text("Wallet address copied to clipboard."), - duration: Duration(seconds: 2), - )); + ScaffoldMessenger.of(context).showSnackBar(const SnackBar( + content: Text("Wallet address copied to clipboard."), + duration: Duration(seconds: 2), + )); } @override diff --git a/lib/pages/transactionpages/sendpage.dart b/lib/pages/transactionpages/sendpage.dart index b4abf41..777575a 100644 --- a/lib/pages/transactionpages/sendpage.dart +++ b/lib/pages/transactionpages/sendpage.dart @@ -27,14 +27,13 @@ class _SendPage extends State { String _scannedQRAddress = ""; String _scanQRButtonText = "Scan Recipient's QR Code"; - String _speedDropdownValue = - 'Moderate Fee, Moderate Settlement (around 1 hour)'; + String _speedDropdownValue = 'Moderate Fee (settles around 1 hour)'; final List _speeds = [ - 'Highest Fee, Settles Fastest (<10 minutes)', - 'Higher Fee, Settles Faster (around 10 minutes)', - 'Moderate Fee, Moderate Settlement (around 1 hour)', - 'Lower Fee, Settles Slower (around 24 hours)', - 'Lowest Fee, Settles Slowest (around 7 days)', + 'Highest Fee (settles <10 minutes)', + 'Higher Fee (settles around 10 minutes)', + 'Moderate Fee (settles around 1 hour)', + 'Lower Fee (settles around 24 hours)', + 'Lowest Fee (settles around 7 days)', ]; _scanQRCode() async { @@ -91,7 +90,7 @@ class _SendPage extends State { chosenAddress = _destinationAddress.text; } final cleanedDestinationAddress = _cleanAddress(chosenAddress); - if (context.mounted) { + if (mounted) { goToTransactionConfirmationPage( context: context, wallet: wallet, diff --git a/lib/pages/transactionpages/transactionconfirmationpage.dart b/lib/pages/transactionpages/transactionconfirmationpage.dart index dbf8520..79d1156 100644 --- a/lib/pages/transactionpages/transactionconfirmationpage.dart +++ b/lib/pages/transactionpages/transactionconfirmationpage.dart @@ -81,14 +81,42 @@ class TransactionConfirmationPage extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - const Padding(padding: EdgeInsets.all(9.0), child: Text('Transaction Fee', style: TextStyle(fontSize: 21.0, fontWeight: FontWeight.bold))), - Padding(padding: const EdgeInsets.all(9.0), child: Text(fee, style: const TextStyle(fontSize: 21.0))), - const SizedBox(height: 18.0,), - const Padding(padding: EdgeInsets.all(9.0), child: Text('Amount to Send', style: TextStyle(fontSize: 21.0, fontWeight: FontWeight.bold))), - Padding(padding: const EdgeInsets.all(9.0), child: Text('$amount sats', style: const TextStyle(fontSize: 21.0))), - const SizedBox(height: 18.0,), - const Padding(padding: EdgeInsets.all(9.0), child: Text('Destination Address', style: TextStyle(fontSize: 21.0, fontWeight: FontWeight.bold))), - Padding(padding: const EdgeInsets.all(9.0), child: Text(address, style: const TextStyle(fontSize: 21.0))), + const Padding( + padding: EdgeInsets.all(6.0), + child: Text('Transaction Fee', + style: TextStyle( + fontSize: 21.0, + fontWeight: FontWeight.bold))), + Padding( + padding: const EdgeInsets.all(6.0), + child: Text(fee, + style: const TextStyle(fontSize: 21.0))), + const SizedBox( + height: 18.0, + ), + const Padding( + padding: EdgeInsets.all(6.0), + child: Text('Amount to Send', + style: TextStyle( + fontSize: 21.0, + fontWeight: FontWeight.bold))), + Padding( + padding: const EdgeInsets.all(6.0), + child: Text('$amount sats', + style: const TextStyle(fontSize: 21.0))), + const SizedBox( + height: 18.0, + ), + const Padding( + padding: EdgeInsets.all(6.0), + child: Text('Destination Address', + style: TextStyle( + fontSize: 21.0, + fontWeight: FontWeight.bold))), + Padding( + padding: const EdgeInsets.all(6.0), + child: Text(address, + style: const TextStyle(fontSize: 21.0))), ]), ), ) diff --git a/lib/services/authentication.dart b/lib/services/authentication.dart index 16e0cbf..d4b2c96 100644 --- a/lib/services/authentication.dart +++ b/lib/services/authentication.dart @@ -1,23 +1,14 @@ -import 'package:mobx/mobx.dart'; - import 'package:local_auth/local_auth.dart'; -part 'authentication.g.dart'; - -class AuthenticationProvider = _AuthenticationProvider - with _$AuthenticationProvider; - -abstract class _AuthenticationProvider with Store { +class AuthenticationProvider { late LocalAuthentication auth; late List availableBiometrics; - @action initialize() { auth = LocalAuthentication(); } - @action checkAuthenticationAvailability() async { LocalAuthentication auth = LocalAuthentication(); final localAuthAvailable = await auth.isDeviceSupported(); @@ -28,7 +19,6 @@ abstract class _AuthenticationProvider with Store { } } - @action authenticate() async { try { final bool didAuthenticate = await auth.authenticate( diff --git a/lib/services/authentication.g.dart b/lib/services/authentication.g.dart deleted file mode 100644 index 6c31a9e..0000000 --- a/lib/services/authentication.g.dart +++ /dev/null @@ -1,50 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'authentication.dart'; - -// ************************************************************************** -// StoreGenerator -// ************************************************************************** - -// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers - -mixin _$AuthenticationProvider on _AuthenticationProvider, Store { - late final _$checkAuthenticationAvailabilityAsyncAction = AsyncAction( - '_AuthenticationProvider.checkAuthenticationAvailability', - context: context); - - @override - Future checkAuthenticationAvailability() { - return _$checkAuthenticationAvailabilityAsyncAction - .run(() => super.checkAuthenticationAvailability()); - } - - late final _$authenticateAsyncAction = - AsyncAction('_AuthenticationProvider.authenticate', context: context); - - @override - Future authenticate() { - return _$authenticateAsyncAction.run(() => super.authenticate()); - } - - late final _$_AuthenticationProviderActionController = - ActionController(name: '_AuthenticationProvider', context: context); - - @override - dynamic initialize() { - final _$actionInfo = _$_AuthenticationProviderActionController.startAction( - name: '_AuthenticationProvider.initialize'); - try { - return super.initialize(); - } finally { - _$_AuthenticationProviderActionController.endAction(_$actionInfo); - } - } - - @override - String toString() { - return ''' - - '''; - } -} diff --git a/lib/services/esplora.dart b/lib/services/esplora.dart index 4a1df51..b8d0741 100644 --- a/lib/services/esplora.dart +++ b/lib/services/esplora.dart @@ -1,29 +1,14 @@ import 'dart:convert'; -import 'package:mobx/mobx.dart'; import 'package:http/http.dart'; -part 'esplora.g.dart'; - -class EsploraProvider = _EsploraProvider with _$EsploraProvider; - -abstract class _EsploraProvider with Store { - @observable +class EsploraProvider { double emergency = 0.0; - - @observable double fast = 0.0; - - @observable double medium = 0.0; - - @observable double slow = 0.0; - - @observable double superslow = 0.0; - @action getFees() async { try { Response response = @@ -31,20 +16,20 @@ abstract class _EsploraProvider with Store { Map data = jsonDecode(response.body); if (response.statusCode == 200) { - //asap transactions - emergency = data['1'] * 2.0; + //asap transactions + emergency = data['1'] * 2.0; - //10 min transactions - fast = data['1']; + //10 min transactions + fast = data['1']; - //one hour transactions - medium = data['6']; + //one hour transactions + medium = data['6']; - //24 hrs - slow = data['144']; + //24 hrs + slow = data['144']; - //7 days - superslow = data['1008']; + //7 days + superslow = data['1008']; } else { throw Exception("Getting estimated fees is not successful."); } @@ -53,7 +38,6 @@ abstract class _EsploraProvider with Store { } } - @action double getFee(String speed) { if (speed == 'Emergency') { return emergency; diff --git a/lib/services/esplora.g.dart b/lib/services/esplora.g.dart deleted file mode 100644 index 45a7887..0000000 --- a/lib/services/esplora.g.dart +++ /dev/null @@ -1,122 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'esplora.dart'; - -// ************************************************************************** -// StoreGenerator -// ************************************************************************** - -// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers - -mixin _$EsploraProvider on _EsploraProvider, Store { - late final _$emergencyAtom = - Atom(name: '_EsploraProvider.emergency', context: context); - - @override - double get emergency { - _$emergencyAtom.reportRead(); - return super.emergency; - } - - @override - set emergency(double value) { - _$emergencyAtom.reportWrite(value, super.emergency, () { - super.emergency = value; - }); - } - - late final _$fastAtom = Atom(name: '_EsploraProvider.fast', context: context); - - @override - double get fast { - _$fastAtom.reportRead(); - return super.fast; - } - - @override - set fast(double value) { - _$fastAtom.reportWrite(value, super.fast, () { - super.fast = value; - }); - } - - late final _$mediumAtom = - Atom(name: '_EsploraProvider.medium', context: context); - - @override - double get medium { - _$mediumAtom.reportRead(); - return super.medium; - } - - @override - set medium(double value) { - _$mediumAtom.reportWrite(value, super.medium, () { - super.medium = value; - }); - } - - late final _$slowAtom = Atom(name: '_EsploraProvider.slow', context: context); - - @override - double get slow { - _$slowAtom.reportRead(); - return super.slow; - } - - @override - set slow(double value) { - _$slowAtom.reportWrite(value, super.slow, () { - super.slow = value; - }); - } - - late final _$superslowAtom = - Atom(name: '_EsploraProvider.superslow', context: context); - - @override - double get superslow { - _$superslowAtom.reportRead(); - return super.superslow; - } - - @override - set superslow(double value) { - _$superslowAtom.reportWrite(value, super.superslow, () { - super.superslow = value; - }); - } - - late final _$getFeesAsyncAction = - AsyncAction('_EsploraProvider.getFees', context: context); - - @override - Future getFees() { - return _$getFeesAsyncAction.run(() => super.getFees()); - } - - late final _$_EsploraProviderActionController = - ActionController(name: '_EsploraProvider', context: context); - - @override - double getFee(String speed) { - final _$actionInfo = _$_EsploraProviderActionController.startAction( - name: '_EsploraProvider.getFee'); - try { - return super.getFee(speed); - } finally { - _$_EsploraProviderActionController.endAction(_$actionInfo); - } - } - - @override - String toString() { - return ''' -emergency: ${emergency}, -fast: ${fast}, -medium: ${medium}, -slow: ${slow}, -superslow: ${superslow} - '''; - } -} diff --git a/lib/services/formatting.dart b/lib/services/formatting.dart index ec07f67..0f99e66 100644 --- a/lib/services/formatting.dart +++ b/lib/services/formatting.dart @@ -1,12 +1,6 @@ -import 'package:mobx/mobx.dart'; - import 'package:intl/intl.dart'; -part 'formatting.g.dart'; - -class FormattingProvider = _FormattingProvider with _$FormattingProvider; - -abstract class _FormattingProvider with Store { +class FormattingProvider { String formatTimeStamp(int? timestamp) { int result = timestamp ?? 0; DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(result * 1000); @@ -46,15 +40,15 @@ abstract class _FormattingProvider with Store { } String formatSpeed(String speed) { - if (speed == 'Highest Fee, Settles Fastest (<10 minutes)') { + if (speed == 'Highest Fee (settles <10 minutes)') { return 'Emergency'; - } else if (speed == 'Higher Fee, Settles Faster (around 10 minutes)') { + } else if (speed == 'Higher Fee (settles around 10 minutes)') { return 'Fast'; - } else if (speed == 'Moderate Fee, Moderate Settlement (around 1 hour)') { + } else if (speed == 'Moderate Fee (settles around 1 hour)') { return 'Medium'; - } else if (speed == 'Lower Fee, Settles Slower (around 24 hours)') { + } else if (speed == 'Lower Fee (settles around 24 hours)') { return 'Slow'; - } else if (speed == 'Lowest Fee, Settles Slowest (around 7 days)') { + } else if (speed == 'Lowest Fee (settles around 7 days)') { return 'Super Slow'; } else { return 'Medium'; diff --git a/lib/services/formatting.g.dart b/lib/services/formatting.g.dart deleted file mode 100644 index 22501c0..0000000 --- a/lib/services/formatting.g.dart +++ /dev/null @@ -1,18 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'formatting.dart'; - -// ************************************************************************** -// StoreGenerator -// ************************************************************************** - -// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers - -mixin _$FormattingProvider on _FormattingProvider, Store { - @override - String toString() { - return ''' - - '''; - } -} diff --git a/lib/services/storage.dart b/lib/services/storage.dart index 0f08df0..2cb422a 100644 --- a/lib/services/storage.dart +++ b/lib/services/storage.dart @@ -1,26 +1,17 @@ -import 'package:mobx/mobx.dart'; - import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -part 'storage.g.dart'; - -class StorageProvider = _StorageProvider with _$StorageProvider; - -abstract class _StorageProvider with Store { +class StorageProvider { late FlutterSecureStorage storage; - @action initialize() { storage = const FlutterSecureStorage( aOptions: AndroidOptions(encryptedSharedPreferences: true)); } - @action write({required String key, required String value}) async { await storage.write(key: key, value: value); } - @action read({required String key}) async { final result = await storage.read(key: key); if (result != null) { diff --git a/lib/services/storage.g.dart b/lib/services/storage.g.dart deleted file mode 100644 index ac15d5f..0000000 --- a/lib/services/storage.g.dart +++ /dev/null @@ -1,48 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'storage.dart'; - -// ************************************************************************** -// StoreGenerator -// ************************************************************************** - -// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers - -mixin _$StorageProvider on _StorageProvider, Store { - late final _$writeAsyncAction = - AsyncAction('_StorageProvider.write', context: context); - - @override - Future write({required String key, required String value}) { - return _$writeAsyncAction.run(() => super.write(key: key, value: value)); - } - - late final _$readAsyncAction = - AsyncAction('_StorageProvider.read', context: context); - - @override - Future read({required String key}) { - return _$readAsyncAction.run(() => super.read(key: key)); - } - - late final _$_StorageProviderActionController = - ActionController(name: '_StorageProvider', context: context); - - @override - dynamic initialize() { - final _$actionInfo = _$_StorageProviderActionController.startAction( - name: '_StorageProvider.initialize'); - try { - return super.initialize(); - } finally { - _$_StorageProviderActionController.endAction(_$actionInfo); - } - } - - @override - String toString() { - return ''' - - '''; - } -} diff --git a/lib/services/wallet.dart b/lib/services/wallet.dart index 29cb41b..8f0145c 100644 --- a/lib/services/wallet.dart +++ b/lib/services/wallet.dart @@ -128,7 +128,7 @@ abstract class _WalletProvider with Store { return 1; } else { return b.confirmationTime!.timestamp! - .compareTo(a.confirmationTime!.timestamp!); + .compareTo(a.confirmationTime!.timestamp); } }); } diff --git a/pubspec.lock b/pubspec.lock index 06ee0bc..f6f8826 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,26 +5,26 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "61.0.0" + version: "67.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "5.13.0" + version: "6.4.1" archive: dependency: transitive description: name: archive - sha256: "49b1fad315e57ab0bbc15bcbb874e83116a1d78f77ebd500a4af6c9407d6b28e" + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" url: "https://pub.dev" source: hosted - version: "3.3.8" + version: "3.4.10" args: dependency: transitive description: @@ -45,18 +45,18 @@ packages: dependency: "direct main" description: name: barcode_scan2 - sha256: "0b0625d27841a21e36e896195d86b2aada335e3c486f63647cce701495718e16" + sha256: "847ff88888213a3b2866d98839ee6d85e4da8002df83e7971d355d24d5f31c4c" url: "https://pub.dev" source: hosted - version: "4.2.4" + version: "4.3.0" bdk_flutter: dependency: "direct main" description: name: bdk_flutter - sha256: d24cfbf3fece4c16708d4e8a08916b324a47abd75998ead88eb1a4217fbe6246 + sha256: "94283cb9ffd95c98f5d8b1eebd223a179565a56d0c3f2265f1feacf6d4c5825e" url: "https://pub.dev" source: hosted - version: "0.29.0" + version: "0.30.0" boolean_selector: dependency: transitive description: @@ -93,34 +93,34 @@ packages: dependency: transitive description: name: build_daemon - sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65" + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.0.1" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: a7417cc44d9edb3f2c8760000270c99dba8c72ff66d0146772b8326565780745 + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" + sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.4.8" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41" + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" url: "https://pub.dev" source: hosted - version: "7.2.10" + version: "7.3.0" built_collection: dependency: transitive description: @@ -133,10 +133,10 @@ packages: dependency: transitive description: name: built_value - sha256: ff627b645b28fb8bdb69e645f910c2458fd6b65f6585c3a53e0626024897dedf + sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e url: "https://pub.dev" source: hosted - version: "8.6.2" + version: "8.9.1" characters: dependency: transitive description: @@ -157,10 +157,10 @@ packages: dependency: transitive description: name: cli_util - sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7 + sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.4.1" clock: dependency: transitive description: @@ -173,26 +173,18 @@ packages: dependency: transitive description: name: code_builder - sha256: "315a598c7fbe77f22de1c9da7cfd6fd21816312f16ffa124453b4fc679e540f1" + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 url: "https://pub.dev" source: hosted - version: "4.6.0" + version: "4.10.0" collection: dependency: transitive description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" - colorize: - dependency: transitive - description: - name: colorize - sha256: "584746cd6ba1cba0633b6720f494fe6f9601c4170f0666c1579d2aa2a61071ba" - url: "https://pub.dev" - source: hosted - version: "3.0.0" + version: "1.18.0" convert: dependency: transitive description: @@ -213,10 +205,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55" + sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.4" fake_async: dependency: transitive description: @@ -229,10 +221,10 @@ packages: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" file: dependency: transitive description: @@ -266,34 +258,34 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "3.0.1" flutter_mobx: dependency: "direct main" description: name: flutter_mobx - sha256: "0da4add0016387a7bf309a0d0c41d36c6b3ae25ed7a176409267f166509e723e" + sha256: "4a5d062ff85ed3759f4aac6410ff0ffae32e324b2e71ca722ae1b37b32e865f4" url: "https://pub.dev" source: hosted - version: "2.0.6+5" + version: "2.2.0+2" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: f185ac890306b5779ecbd611f52502d8d4d63d27703ef73161ca0407e815f02c + sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da url: "https://pub.dev" source: hosted - version: "2.0.16" + version: "2.0.17" flutter_rust_bridge: dependency: transitive description: name: flutter_rust_bridge - sha256: "6960d0843f6f7b4eac28f2531eb0024f01c49bf9eec798327fbbafa084c1f535" + sha256: "02720226035257ad0b571c1256f43df3e1556a499f6bcb004849a0faaa0e87f0" url: "https://pub.dev" source: hosted - version: "1.78.0" + version: "1.82.6" flutter_secure_storage: dependency: "direct main" description: @@ -356,10 +348,10 @@ packages: dependency: transitive description: name: freezed - sha256: "2df89855fe181baae3b6d714dc3c4317acf4fccd495a6f36e5e00f24144c6c3b" + sha256: "57247f692f35f068cae297549a46a9a097100685c6780fe67177503eea5ed4e5" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.7" freezed_annotation: dependency: transitive description: @@ -396,10 +388,10 @@ packages: dependency: "direct main" description: name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.1" http_multi_server: dependency: transitive description: @@ -420,18 +412,18 @@ packages: dependency: transitive description: name: image - sha256: a72242c9a0ffb65d03de1b7113bc4e189686fc07c7147b8b41811d0dd0e0d9bf + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" url: "https://pub.dev" source: hosted - version: "4.0.17" + version: "4.1.7" intl: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" io: dependency: transitive description: @@ -456,46 +448,70 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "3.0.0" local_auth: dependency: "direct main" description: name: local_auth - sha256: "7e6c63082e399b61e4af71266b012e767a5d4525dd6e9ba41e174fd42d76e115" + sha256: "280421b416b32de31405b0a25c3bd42dfcef2538dfbb20c03019e02a5ed55ed0" url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.2.0" local_auth_android: dependency: transitive description: name: local_auth_android - sha256: "9ad0b1ffa6f04f4d91e38c2d4c5046583e23f4cae8345776a994e8670df57fb1" + sha256: "3bcd732dda7c75fcb7ddaef12e131230f53dcc8c00790d0d6efb3aa0fbbeda57" url: "https://pub.dev" source: hosted - version: "1.0.34" - local_auth_ios: + version: "1.0.37" + local_auth_darwin: dependency: transitive description: - name: local_auth_ios - sha256: "26a8d1ad0b4ef6f861d29921be8383000fda952e323a5b6752cf82ca9cf9a7a9" + name: local_auth_darwin + sha256: "33381a15b0de2279523eca694089393bb146baebdce72a404555d03174ebc1e9" url: "https://pub.dev" source: hosted - version: "1.1.4" + version: "1.2.2" local_auth_platform_interface: dependency: transitive description: name: local_auth_platform_interface - sha256: fc5bd537970a324260fda506cfb61b33ad7426f37a8ea5c461cf612161ebba54 + sha256: "1b842ff177a7068442eae093b64abe3592f816afd2a533c0ebcdbe40f9d2075a" url: "https://pub.dev" source: hosted - version: "1.0.8" + version: "1.0.10" local_auth_windows: dependency: transitive description: @@ -516,58 +532,66 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.11.0" mime: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" mobx: dependency: "direct main" description: name: mobx - sha256: "0afcf88b3ee9d6819890bf16c11a727fc8c62cf736fda8e5d3b9b4eace4e62ea" + sha256: "74ee54012dc7c1b3276eaa960a600a7418ef5f9997565deb8fca1fd88fb36b78" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0+1" mobx_codegen: dependency: "direct main" description: name: mobx_codegen - sha256: d4beb9cea4b7b014321235f8fdc7c2193ee0fe1d1198e9da7403f8bc85c4407c + sha256: b26c7f9c20b38f0ea572c1ed3f29d8e027cb265538bbd1aed3ec198642cfca42 url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.6.0+1" mockito: dependency: transitive description: name: mockito - sha256: "7d5b53bcd556c1bc7ffbe4e4d5a19c3e112b7e925e9e172dd7c6ad0630812616" + sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + url: "https://pub.dev" + source: hosted + version: "5.4.4" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" url: "https://pub.dev" source: hosted - version: "5.4.2" + version: "1.0.0" package_config: dependency: transitive description: @@ -580,34 +604,34 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_provider: dependency: transitive description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1" + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.2.2" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" path_provider_linux: dependency: transitive description: @@ -620,10 +644,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -636,34 +660,34 @@ packages: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.2" platform: dependency: transitive description: name: platform - sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.6" + version: "2.1.8" pointycastle: dependency: transitive description: name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" url: "https://pub.dev" source: hosted - version: "3.7.3" + version: "3.7.4" pool: dependency: transitive description: @@ -676,10 +700,18 @@ packages: dependency: transitive description: name: protobuf - sha256: "01dd9bd0fa02548bf2ceee13545d4a0ec6046459d847b6b061d8a27237108a08" + sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "3.1.0" + provider: + dependency: transitive + description: + name: provider + sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + url: "https://pub.dev" + source: hosted + version: "6.1.1" pub_semver: dependency: transitive description: @@ -700,10 +732,10 @@ packages: dependency: transitive description: name: puppeteer - sha256: "59e723cc5b69537159a7c34efd645dc08a6a1ac4647d7d7823606802c0f93cdb" + sha256: "070c40596ae61a2500a3adbd08cb00e07fabb78c9c656534db149d4c3a93f1ad" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.7.0" qr: dependency: transitive description: @@ -753,10 +785,10 @@ packages: dependency: transitive description: name: source_gen - sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16 + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.5.0" source_span: dependency: transitive description: @@ -765,22 +797,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.0" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -809,10 +849,10 @@ packages: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.1" timing: dependency: transitive description: @@ -841,10 +881,10 @@ packages: dependency: transitive description: name: uuid - sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" + sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 url: "https://pub.dev" source: hosted - version: "3.0.7" + version: "4.3.3" vector_math: dependency: transitive description: @@ -853,6 +893,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" watcher: dependency: transitive description: @@ -865,42 +913,42 @@ packages: dependency: transitive description: name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + sha256: "1d9158c616048c38f712a6646e317a3426da10e884447626167240d45209cbad" url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "0.5.0" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.4" win32: dependency: transitive description: name: win32 - sha256: "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa" + sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" url: "https://pub.dev" source: hosted - version: "5.0.7" + version: "5.2.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.5.0" yaml: dependency: transitive description: @@ -910,5 +958,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.1.0 <4.0.0" - flutter: ">=3.10.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.16.6" diff --git a/pubspec.yaml b/pubspec.yaml index 899c187..af65fcc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,14 +8,14 @@ environment: dependencies: barcode_scan2: ^4.2.4 - bdk_flutter: ^0.29.0 + bdk_flutter: ^0.30.0 flutter: sdk: flutter flutter_launcher_icons: ^0.13.1 flutter_mobx: ^2.0.6+5 flutter_secure_storage: ^9.0.0 http: ^1.1.0 - intl: ^0.18.1 + intl: ^0.19.0 local_auth: ^2.1.7 mobx: ^2.2.0 mobx_codegen: ^2.3.0 @@ -24,7 +24,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.0 + flutter_lints: ^3.0.1 build_runner: ^2.4.6 flutter_launcher_icons: