From ab8099b87b99b4b1c4748d2cd55bca80f9e0205e Mon Sep 17 00:00:00 2001 From: jawad Date: Thu, 21 Mar 2024 05:32:15 +0100 Subject: [PATCH] Recursively call the account creation api for the set username --- dart_sdk/example/android/app/build.gradle | 4 +- easel/android/app/build.gradle | 4 +- easel/android/build.gradle | 4 +- easel/pubspec.yaml | 4 +- testapp-flutter/android/app/build.gradle | 4 +- wallet/android/app/build.gradle | 2 +- wallet/android/build.gradle | 2 +- wallet/devtools_options.yaml | 1 + wallet/ios/Podfile | 4 + wallet/ios/Runner.xcodeproj/project.pbxproj | 20 ++++- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- wallet/lib/components/user_image_widget.dart | 60 ++++--------- .../local_transaction_detail_screen.dart | 34 ++++--- wallet/lib/stores/wallet_store_imp.dart | 88 +++++++++++++------ wallet/lib/utils/route_util.dart | 8 +- .../Flutter/GeneratedPluginRegistrant.swift | 6 ++ wallet/pkgs/alan/pubspec.yaml | 2 +- .../pdf_viewer-master/android/build.gradle | 2 +- wallet/pubspec.yaml | 21 ++--- 19 files changed, 162 insertions(+), 110 deletions(-) create mode 100644 wallet/devtools_options.yaml diff --git a/dart_sdk/example/android/app/build.gradle b/dart_sdk/example/android/app/build.gradle index c862559769..1a93708663 100644 --- a/dart_sdk/example/android/app/build.gradle +++ b/dart_sdk/example/android/app/build.gradle @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 31 + compileSdkVersion 34 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -45,7 +45,7 @@ android { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.pylons.example" minSdkVersion 16 - targetSdkVersion 30 + targetSdkVersion 33 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } diff --git a/easel/android/app/build.gradle b/easel/android/app/build.gradle index d91a5d8b12..cd8c6a63cd 100644 --- a/easel/android/app/build.gradle +++ b/easel/android/app/build.gradle @@ -28,7 +28,7 @@ apply plugin: 'com.google.firebase.crashlytics' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 33 + compileSdkVersion 34 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -47,7 +47,7 @@ android { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "tech.pylons.easel" minSdkVersion 21 - targetSdkVersion 32 + targetSdkVersion 33 versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/easel/android/build.gradle b/easel/android/build.gradle index 2a3b1eaeb7..a02ce66205 100644 --- a/easel/android/build.gradle +++ b/easel/android/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.6.10' + ext.kotlin_version = '1.9.22' repositories { google() mavenCentral() @@ -26,6 +26,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/easel/pubspec.yaml b/easel/pubspec.yaml index d94cc58bb8..2d541ad5e5 100644 --- a/easel/pubspec.yaml +++ b/easel/pubspec.yaml @@ -32,7 +32,7 @@ dependencies: audio_video_progress_bar: ^1.0.0 auto_size_text: 3.0.0 bottom_drawer: ^0.0.5 - cached_network_image: ^3.1.0 + cached_network_image: collection: ^1.16.0 cupertino_icons: ^1.0.2 dartz: ^0.10.0 @@ -71,7 +71,7 @@ dependencies: provider: ^6.0.1 pylons_sdk: path: ../dart_sdk - share_plus: ^7.0.1 # Used for sharing the NFT link. + share_plus: shared_preferences: ^2.0.8 shimmer_animation: 2.1.0+1 sqflite: ^2.0.3+1 diff --git a/testapp-flutter/android/app/build.gradle b/testapp-flutter/android/app/build.gradle index 102542ab8d..b9fe5ca0c0 100644 --- a/testapp-flutter/android/app/build.gradle +++ b/testapp-flutter/android/app/build.gradle @@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) { } android { - compileSdkVersion 31 + compileSdkVersion 34 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -51,7 +51,7 @@ android { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "tech.pylons.testapp_flutter" minSdkVersion 16 - targetSdkVersion 31 + targetSdkVersion 33 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } diff --git a/wallet/android/app/build.gradle b/wallet/android/app/build.gradle index 8ad4ddf511..ba1c666c1e 100644 --- a/wallet/android/app/build.gradle +++ b/wallet/android/app/build.gradle @@ -28,7 +28,7 @@ apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics' android { - compileSdkVersion 33 + compileSdkVersion 34 compileOptions { diff --git a/wallet/android/build.gradle b/wallet/android/build.gradle index 5bf4eeef0b..2c89f33026 100644 --- a/wallet/android/build.gradle +++ b/wallet/android/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.7.10' + ext.kotlin_version = '1.9.22' repositories { google() mavenCentral() diff --git a/wallet/devtools_options.yaml b/wallet/devtools_options.yaml new file mode 100644 index 0000000000..7e7e7f67de --- /dev/null +++ b/wallet/devtools_options.yaml @@ -0,0 +1 @@ +extensions: diff --git a/wallet/ios/Podfile b/wallet/ios/Podfile index 20ec412399..ba3e75d35a 100644 --- a/wallet/ios/Podfile +++ b/wallet/ios/Podfile @@ -42,6 +42,10 @@ post_install do |installer| config.build_settings['SWIFT_VERSION'] = '5.0' # required by simple_permission config.build_settings['ENABLE_BITCODE'] = 'NO' config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' + xcconfig_path = config.base_configuration_reference.real_path + xcconfig = File.read(xcconfig_path) + xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR") + File.open(xcconfig_path, "w") { |file| file << xcconfig_mod } # Here are some configurations automatically generated by flutter diff --git a/wallet/ios/Runner.xcodeproj/project.pbxproj b/wallet/ios/Runner.xcodeproj/project.pbxproj index ef740201ca..b2f6f33c71 100644 --- a/wallet/ios/Runner.xcodeproj/project.pbxproj +++ b/wallet/ios/Runner.xcodeproj/project.pbxproj @@ -172,6 +172,7 @@ 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, CF928C1E0DCFC5A4D6CA1CDA /* [CP] Embed Pods Frameworks */, + A9B35EDB27B07E6A1784FF19 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -188,7 +189,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -301,6 +302,23 @@ shellPath = /bin/sh; shellScript = "\necho \"${CONFIGURATION}\"\necho \"${GOOGLE_SERVICE_PATH}\"\n\ncp -r \"${GOOGLE_SERVICE_PATH}\" \"${PROJECT_DIR}/Runner/GoogleService-Info.plist\"\n\necho \"Plist copied\"\n\n\nPLIST_DESTINATION=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\necho \"Will copy ${GOOGLE_SERVICE_PATH} to final destination: ${PLIST_DESTINATION}\"\n\n\necho \"Using ${GOOGLE_SERVICE_PATH}\"\ncp \"${GOOGLE_SERVICE_PATH}\" \"${PLIST_DESTINATION}\"\n"; }; + A9B35EDB27B07E6A1784FF19 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; CF928C1E0DCFC5A4D6CA1CDA /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/wallet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/wallet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index f3d88aced0..4ba725f4c3 100644 --- a/wallet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/wallet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ - ''))); // todo? - does this work when the URI points to a network file? + file = File.fromUri( + Uri.parse(imageEither.getOrElse(() => ''))); // todo? - does this work when the URI points to a network file? return FileImage(file); } @visibleForTesting - static void setToFile( - int filesizeLimit, String uriKey, File? file, BuildContext context) { + static void setToFile(int filesizeLimit, String uriKey, File? file, BuildContext context) { final userBanner = GetIt.I.get(); userBanner.setToFile(filesizeLimit, uriKey, file, context); } @@ -53,8 +52,7 @@ abstract class UserImageWidget extends StatelessWidget { class UserAvatarWidget extends UserImageWidget { final double radius; @visibleForTesting - static const filesizeLimit = - 1024 * 1024 * 4; // 4MB (this should always divide cleanly) + static const filesizeLimit = 1024 * 1024 * 4; // 4MB (this should always divide cleanly) @visibleForTesting static const resolutionLimitX = 2048; @visibleForTesting @@ -62,8 +60,7 @@ class UserAvatarWidget extends UserImageWidget { @visibleForTesting static const uriKey = "pylons_avatar_file_uri"; @visibleForTesting - static svg.Svg defaultImage = - svg.Svg(Assets.images.svg.userAvatar); // todo: sensible default avatar + static svg.Svg defaultImage = svg.Svg(Assets.images.svg.userAvatar); // todo: sensible default avatar const UserAvatarWidget({this.radius = 20}); @@ -95,35 +92,26 @@ class UserAvatarPickerWidget extends UserAvatarWidget { @override Widget build(BuildContext context) { - return StatefulBuilder(builder: - (BuildContext context, void Function(void Function()) setState) { + return StatefulBuilder(builder: (BuildContext context, void Function(void Function()) setState) { return GestureDetector( onTap: () async { final userInfoProvider = context.read(); - final file = await pickImageFromGallery( - UserAvatarWidget.resolutionLimitX.toDouble(), - UserAvatarWidget.resolutionLimitY.toDouble(), - kImageQuality, - context); + final file = await pickImageFromGallery(UserAvatarWidget.resolutionLimitX.toDouble(), + UserAvatarWidget.resolutionLimitY.toDouble(), kImageQuality, context); if (file == null) { return; } - final newImagePathEither = await GetIt.I - .get() - .saveImageInLocalDirectory(file.path); + final newImagePathEither = await GetIt.I.get().saveImageInLocalDirectory(file.path); if (newImagePathEither.isLeft()) { return; } // ignore: use_build_context_synchronously - UserImageWidget.setToFile( - UserAvatarWidget.filesizeLimit, - UserAvatarWidget.uriKey, - File(newImagePathEither.getOrElse(() => '')), - context); + UserImageWidget.setToFile(UserAvatarWidget.filesizeLimit, UserAvatarWidget.uriKey, + File(newImagePathEither.getOrElse(() => '')), context); userInfoProvider.onImageChange(); @@ -143,8 +131,7 @@ class UserAvatarPickerWidget extends UserAvatarWidget { class UserBannerWidget extends UserImageWidget { final double height; @visibleForTesting - static const filesizeLimit = - 1024 * 1024 * 4; // 4MB (this should always divide cleanly) + static const filesizeLimit = 1024 * 1024 * 4; // 4MB (this should always divide cleanly) @visibleForTesting static const resolutionLimitX = 2048; @visibleForTesting @@ -162,8 +149,7 @@ class UserBannerWidget extends UserImageWidget { return ChangeNotifierProvider.value( value: userBannerViewModel, builder: (context, child) { - return Consumer( - builder: (context, viewModel, child) { + return Consumer(builder: (context, viewModel, child) { return Container( height: height, decoration: BoxDecoration( @@ -214,33 +200,25 @@ class UserBannerPickerWidget extends UserBannerWidget { @override Widget build(BuildContext context) { final viewModel = context.watch(); - return StatefulBuilder(builder: - (BuildContext context, void Function(void Function()) setState) { + return StatefulBuilder(builder: (BuildContext context, void Function(void Function()) setState) { return InkResponse( onTap: () async { - final file = await pickImageFromGallery( - UserBannerWidget.resolutionLimitX.toDouble(), - UserBannerWidget.resolutionLimitY.toDouble(), - kImageQuality, - context); + final file = await pickImageFromGallery(UserBannerWidget.resolutionLimitX.toDouble(), + UserBannerWidget.resolutionLimitY.toDouble(), kImageQuality, context); if (file == null) { return; } - final newImagePathEither = - await repository.saveImageInLocalDirectory(file.path); + final newImagePathEither = await repository.saveImageInLocalDirectory(file.path); if (newImagePathEither.isLeft()) { return; } // ignore: use_build_context_synchronously - UserImageWidget.setToFile( - UserBannerWidget.filesizeLimit, - UserBannerWidget.uriKey, - File(newImagePathEither.getOrElse(() => '')), - context); + UserImageWidget.setToFile(UserBannerWidget.filesizeLimit, UserBannerWidget.uriKey, + File(newImagePathEither.getOrElse(() => '')), context); final int brightness = getBrightness(file); final bool isBannerDark = getIsBannerDark(brightness); diff --git a/wallet/lib/pages/transaction_failure_manager/local_transaction_detail_screen.dart b/wallet/lib/pages/transaction_failure_manager/local_transaction_detail_screen.dart index 325c1c595f..2040e34e8d 100644 --- a/wallet/lib/pages/transaction_failure_manager/local_transaction_detail_screen.dart +++ b/wallet/lib/pages/transaction_failure_manager/local_transaction_detail_screen.dart @@ -18,11 +18,13 @@ import 'package:pylons_wallet/utils/extension.dart'; import '../../generated/locale_keys.g.dart'; -TextStyle _titleTextStyle = TextStyle(color: AppColors.kBlack, fontFamily: kUniversalFontFamily, fontWeight: FontWeight.bold, fontSize: 20.sp); +TextStyle _titleTextStyle = + TextStyle(color: AppColors.kBlack, fontFamily: kUniversalFontFamily, fontWeight: FontWeight.bold, fontSize: 20.sp); class LocalTransactionDetailScreen extends StatefulWidget { - const LocalTransactionDetailScreen({super.key}); + const LocalTransactionDetailScreen({super.key, required this.localTransactionModel}); + final LocalTransactionModel localTransactionModel; @override State createState() => _LocalTransactionDetailScreenState(); } @@ -121,7 +123,9 @@ class _LocalTransactionDetailScreenState extends State TransactionResponse.initial()).hash, - transaction: '', + return setUserNameFunction( + info: info, + walletCreationModel: walletCreationModel, + customTransactionSigningGateway: customTransactionSigningGateway, + username: username, + maxTries: 2, + accountCreationResult: accountCreationResult, ); } catch (error) { await deleteAccountCredentials(customTransactionSigningGateway, walletCreationModel.creds.publicInfo); @@ -166,6 +157,44 @@ class WalletsStoreImp implements WalletsStore { ); } + Future setUserNameFunction({ + required AccountPublicInfo info, + required WalletCreationModel walletCreationModel, + required CustomTransactionSigningGateway customTransactionSigningGateway, + required String username, + required int maxTries, + required Either accountCreationResult, + }) async { + int tries = 0; + + while (true) { + final setUserNameResult = await repository.setUserName( + accountPublicInfo: info, + address: walletCreationModel.creatorAddress.toString(), + username: username, + ); + + if (setUserNameResult.isLeft()) { + if (tries > maxTries) { + await deleteAccountCredentials(customTransactionSigningGateway, info); + return SdkIpcResponse.failure( + sender: '', + error: setUserNameResult.swap().toOption().toNullable().toString(), + errorCode: HandlerFactory.ERR_SOMETHING_WENT_WRONG, + ); + } else { + tries++; + } + } else { + return SdkIpcResponse.success( + sender: '', + data: accountCreationResult.getOrElse(() => TransactionResponse.initial()).hash, + transaction: '', + ); + } + } + } + Future> deleteAccountCredentials( CustomTransactionSigningGateway customTransactionSigningGateway, AccountPublicInfo info, @@ -335,14 +364,15 @@ class WalletsStoreImp implements WalletsStore { required String transactionDescription, }) { final LocalTransactionModel txManager = LocalTransactionModel( - transactionType: transactionTypeEnum.name, - transactionData: transactionData, - transactionCurrency: transactionCurrency, - transactionPrice: transactionPrice, - transactionDescription: transactionDescription, - transactionHash: "", - dateTime: DateTime.now().millisecondsSinceEpoch, - status: TransactionStatus.Undefined.name); + transactionType: transactionTypeEnum.name, + transactionData: transactionData, + transactionCurrency: transactionCurrency, + transactionPrice: transactionPrice, + transactionDescription: transactionDescription, + transactionHash: "", + dateTime: DateTime.now().millisecondsSinceEpoch, + status: TransactionStatus.Undefined.name, + ); return txManager; } diff --git a/wallet/lib/utils/route_util.dart b/wallet/lib/utils/route_util.dart index 0b29aa77d7..194caab143 100644 --- a/wallet/lib/utils/route_util.dart +++ b/wallet/lib/utils/route_util.dart @@ -5,6 +5,7 @@ import 'package:pylons_wallet/pages/settings/screens/general_screen/general_scre import 'package:pylons_wallet/pages/settings/screens/recovery_screen/recovery_screen.dart'; import '../model/nft.dart'; +import '../model/transaction_failure_model.dart'; import '../pages/detailed_asset_view/owner_view.dart'; import '../pages/detailed_asset_view/widgets/pdf_viewer_full_screen.dart'; import '../pages/home/home.dart'; @@ -100,7 +101,12 @@ class RouteUtil { return createRoute(const SizedBox()); case Routes.localTransactionDetails: - return createRoute(const LocalTransactionDetailScreen()); + if (settings.arguments != null && settings.arguments is LocalTransactionModel) { + return createRoute(LocalTransactionDetailScreen( + localTransactionModel: settings.arguments as LocalTransactionModel, + )); + } + break; case Routes.fallback: return createRoute(const SizedBox()); case Routes.transactionHistory: diff --git a/wallet/macos/Flutter/GeneratedPluginRegistrant.swift b/wallet/macos/Flutter/GeneratedPluginRegistrant.swift index 68639d0ba8..330e80cb6c 100644 --- a/wallet/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/wallet/macos/Flutter/GeneratedPluginRegistrant.swift @@ -8,6 +8,7 @@ import Foundation import audio_session import biometric_storage import cloud_firestore +import file_selector_macos import firebase_analytics import firebase_app_check import firebase_core @@ -16,6 +17,7 @@ import firebase_messaging import firebase_remote_config import flutter_local_notifications import flutter_secure_storage_macos +import google_sign_in_ios import icloud_storage import in_app_purchase_storekit import just_audio @@ -25,11 +27,13 @@ import share_plus import shared_preferences_foundation import sqflite import url_launcher_macos +import video_player_avfoundation func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin")) BiometricStorageMacOSPlugin.register(with: registry.registrar(forPlugin: "BiometricStorageMacOSPlugin")) FLTFirebaseFirestorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseFirestorePlugin")) + FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FLTFirebaseAnalyticsPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAnalyticsPlugin")) FLTFirebaseAppCheckPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAppCheckPlugin")) FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) @@ -38,6 +42,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FLTFirebaseRemoteConfigPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseRemoteConfigPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) + FLTGoogleSignInPlugin.register(with: registry.registrar(forPlugin: "FLTGoogleSignInPlugin")) IcloudStoragePlugin.register(with: registry.registrar(forPlugin: "IcloudStoragePlugin")) InAppPurchasePlugin.register(with: registry.registrar(forPlugin: "InAppPurchasePlugin")) JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin")) @@ -47,4 +52,5 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) + FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin")) } diff --git a/wallet/pkgs/alan/pubspec.yaml b/wallet/pkgs/alan/pubspec.yaml index 15cf557b0b..ea49896895 100644 --- a/wallet/pkgs/alan/pubspec.yaml +++ b/wallet/pkgs/alan/pubspec.yaml @@ -15,7 +15,7 @@ dependencies: fixnum: ^1.0.0 grpc: ^3.0.2 hex: ^0.2.0 - http: ^0.13.4 + http: json_annotation: ^4.7.0 json_serializable: ^6.4.1 meta: ^1.3.0 diff --git a/wallet/pkgs/pdf_viewer-master/android/build.gradle b/wallet/pkgs/pdf_viewer-master/android/build.gradle index e165f24eed..e6a9c8c87f 100644 --- a/wallet/pkgs/pdf_viewer-master/android/build.gradle +++ b/wallet/pkgs/pdf_viewer-master/android/build.gradle @@ -22,7 +22,7 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { - compileSdkVersion 30 + compileSdkVersion 34 defaultConfig { minSdkVersion 21 diff --git a/wallet/pubspec.yaml b/wallet/pubspec.yaml index 5d22159e4e..1a77f752c8 100644 --- a/wallet/pubspec.yaml +++ b/wallet/pubspec.yaml @@ -1,9 +1,7 @@ name: pylons_wallet description: Pylons Wallet publish_to: "none" -version: 1.0.1+172 - - +version: 1.0.1+176 environment: sdk: ">=2.17.0 <3.0.0" @@ -17,7 +15,7 @@ dependencies: auto_size_text: ^3.0.0 backdrop: ^0.9.0 bottom_drawer: ^0.0.3 - cached_network_image: ^3.1.0 + cached_network_image: cloud_firestore: ^4.3.0 cupertino_icons: ^1.0.3 dartz: ^0.10.1 @@ -27,7 +25,7 @@ dependencies: easy_localization: ^3.0.1 equatable: ^2.0.5 expandable: ^5.0.1 - firebase_analytics: ^10.0.8 + firebase_analytics: firebase_app_check: ^0.1.1+7 firebase_core: ^2.4.0 firebase_crashlytics: ^3.0.8 @@ -49,19 +47,22 @@ dependencies: flutter_secure_storage: ^8.0.0 flutter_staggered_grid_view: ^0.6.2 flutter_sticky_header: ^0.6.0 - flutter_stripe: ^9.0.0+1 - flutter_svg: ^1.0.3 - flutter_svg_provider: ^1.0.3 + flutter_stripe: + flutter_svg: + flutter_svg_provider: + git: + url: https://github.com/arigilder/flutter_svg_provider + ref: patch-1 focus_detector: ^2.0.1 get_it: ^7.2.0 google_sign_in: ^6.0.2 googleapis: ^11.1.0 grpc: ^3.0.2 home_widget: ^0.2.0+1 - http: ^0.13.4 + http: icloud_storage: ^2.0.0 image: ^4.0.12 - image_cropper: ^4.0.1 + image_cropper: image_picker: ^0.8.5+3 in_app_purchase: ^3.0.7 internet_connection_checker: ^1.0.0+1