diff --git a/single-factor-auth-flutter/sfa-flutter-aggregate-example/ios/Runner/Runner.entitlements b/single-factor-auth-flutter/sfa-flutter-aggregate-example/ios/Runner/Runner.entitlements
deleted file mode 100644
index 31429136..00000000
--- a/single-factor-auth-flutter/sfa-flutter-aggregate-example/ios/Runner/Runner.entitlements
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- com.apple.developer.associated-domains
-
-
-
diff --git a/single-factor-auth-flutter/sfa_flutter_aggregate_example/ios/Podfile.lock b/single-factor-auth-flutter/sfa_flutter_aggregate_example/ios/Podfile.lock
index 19e85ef4..8ba5e715 100644
--- a/single-factor-auth-flutter/sfa_flutter_aggregate_example/ios/Podfile.lock
+++ b/single-factor-auth-flutter/sfa_flutter_aggregate_example/ios/Podfile.lock
@@ -13,17 +13,17 @@ PODS:
- SimpleKeychain (1.2.0)
- single_factor_auth_flutter (0.0.1):
- Flutter
- - SingleFactorAuth (= 9.0.4)
- - SingleFactorAuth (9.0.4):
+ - SingleFactorAuth (= 9.1.0)
+ - SingleFactorAuth (9.1.0):
- JWTDecode (~> 3.2)
- - Torus-utils (~> 10.0.0)
- - TorusSessionManager (~> 6.0.2)
+ - Torus-utils (~> 10.0.1)
+ - TorusSessionManager (~> 6.1.0)
- Torus-fetchNodeDetails (8.0.1):
- BigInt (~> 5.2.0)
- Torus-utils (10.0.1):
- curvelib.swift (~> 2.0.0)
- Torus-fetchNodeDetails (~> 8.0.1)
- - TorusSessionManager (6.0.2):
+ - TorusSessionManager (6.1.0):
- curvelib.swift (~> 2.0.0)
- KeychainSwift (~> 20.0.0)
@@ -62,11 +62,11 @@ SPEC CHECKSUMS:
JWTDecode: 7dae24cb9bf9b608eae61e5081029ec169bb5527
KeychainSwift: 0ce6a4d13f7228054d1a71bb1b500448fb2ab837
SimpleKeychain: 768cf43ae778b1c21816e94dddf01bb8ee96a075
- single_factor_auth_flutter: aab0e8cb32b6e76fe5cb8a2036489367bc549338
- SingleFactorAuth: 6a2639e2d25d4cec901753193b97f8503734734d
+ single_factor_auth_flutter: a88b865146d24d217ff13d567060631350208511
+ SingleFactorAuth: ddb65765484f6e98813797b007e094996c2bc4b9
Torus-fetchNodeDetails: 0ae97719263ee98f5bf5549a86464eea38a828f3
Torus-utils: 7c53a9c71663c2f458bfdcf1a380d7a5b88f9632
- TorusSessionManager: 3c47c2a4c4d6173a10006eb0af4b86317ee45ff8
+ TorusSessionManager: cd2de693425cefb976c7bca42a45964297d8c2cc
PODFILE CHECKSUM: 56264e0dd12a31d6c8ce70118e2f08719327d55d
diff --git a/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.lock b/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.lock
index 8913893c..07da4f8c 100644
--- a/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.lock
+++ b/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.lock
@@ -271,10 +271,10 @@ packages:
dependency: "direct main"
description:
name: single_factor_auth_flutter
- sha256: bc7702d92711ce4f11977ae074370a75de2bdcde45645a33af282f0a6a7e7369
+ sha256: "0fa78d329b61dbf39aebe0f21b690c6ae131f6276c6d5bca13d71b171ef88ae9"
url: "https://pub.dev"
source: hosted
- version: "6.0.1"
+ version: "7.0.0"
sky_engine:
dependency: transitive
description: flutter
diff --git a/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.yaml b/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.yaml
index ed4a736f..c9b1655c 100644
--- a/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.yaml
+++ b/single-factor-auth-flutter/sfa_flutter_aggregate_example/pubspec.yaml
@@ -13,7 +13,7 @@ dependencies:
get_it: ^8.0.0
http: ^1.2.2
provider: ^6.1.2
- single_factor_auth_flutter: ^6.0.1
+ single_factor_auth_flutter: ^7.0.0
web3dart: ^2.7.3
dev_dependencies:
diff --git a/single-factor-auth-flutter/sfa_flutter_quick_start/android/app/build.gradle b/single-factor-auth-flutter/sfa_flutter_quick_start/android/app/build.gradle
index 13bcec73..ebf7f40c 100644
--- a/single-factor-auth-flutter/sfa_flutter_quick_start/android/app/build.gradle
+++ b/single-factor-auth-flutter/sfa_flutter_quick_start/android/app/build.gradle
@@ -60,6 +60,7 @@ android {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
diff --git a/single-factor-auth-flutter/sfa_flutter_quick_start/android/proguard-rules.pro b/single-factor-auth-flutter/sfa_flutter_quick_start/android/proguard-rules.pro
new file mode 100644
index 00000000..8102dc5d
--- /dev/null
+++ b/single-factor-auth-flutter/sfa_flutter_quick_start/android/proguard-rules.pro
@@ -0,0 +1,11 @@
+# Keep the plugin class and its methods
+-keep class com.web3auth.singlefactorauth.** { *; }
+-keep class com.web3auth.singlefactorauth.types.** { *; }
+
+# Keep Gson serialized classes (prevents issues with reflection-based deserialization)
+-keep class com.google.gson.** { *; }
+-keepattributes *Annotation*
+
+-keep class org.torusresearch.fetchnodedetails.types.** { *; }
+-keepclassmembers enum * { *; }
+-printmapping mapping.txt
\ No newline at end of file
diff --git a/single-factor-auth-flutter/sfa_flutter_quick_start/ios/Podfile.lock b/single-factor-auth-flutter/sfa_flutter_quick_start/ios/Podfile.lock
index 2fee1393..e178be72 100644
--- a/single-factor-auth-flutter/sfa_flutter_quick_start/ios/Podfile.lock
+++ b/single-factor-auth-flutter/sfa_flutter_quick_start/ios/Podfile.lock
@@ -51,23 +51,23 @@ PODS:
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GTMSessionFetcher/Core (3.5.0)
- - JWTDecode (3.2.0)
+ - JWTDecode (3.3.0)
- KeychainSwift (20.0.0)
- PromisesObjC (2.4.0)
- RecaptchaInterop (100.0.0)
- single_factor_auth_flutter (0.0.1):
- Flutter
- - SingleFactorAuth (= 9.0.4)
- - SingleFactorAuth (9.0.4):
+ - SingleFactorAuth (= 9.1.0)
+ - SingleFactorAuth (9.1.0):
- JWTDecode (~> 3.2)
- - Torus-utils (~> 10.0.0)
- - TorusSessionManager (~> 6.0.2)
+ - Torus-utils (~> 10.0.1)
+ - TorusSessionManager (~> 6.1.0)
- Torus-fetchNodeDetails (8.0.1):
- BigInt (~> 5.2.0)
- Torus-utils (10.0.1):
- curvelib.swift (~> 2.0.0)
- Torus-fetchNodeDetails (~> 8.0.1)
- - TorusSessionManager (6.0.2):
+ - TorusSessionManager (6.1.0):
- curvelib.swift (~> 2.0.0)
- KeychainSwift (~> 20.0.0)
@@ -120,15 +120,15 @@ SPEC CHECKSUMS:
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
- JWTDecode: 7dae24cb9bf9b608eae61e5081029ec169bb5527
+ JWTDecode: 1ca6f765844457d0dd8690436860fecee788f631
KeychainSwift: 0ce6a4d13f7228054d1a71bb1b500448fb2ab837
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
- single_factor_auth_flutter: aab0e8cb32b6e76fe5cb8a2036489367bc549338
- SingleFactorAuth: 6a2639e2d25d4cec901753193b97f8503734734d
+ single_factor_auth_flutter: a88b865146d24d217ff13d567060631350208511
+ SingleFactorAuth: ddb65765484f6e98813797b007e094996c2bc4b9
Torus-fetchNodeDetails: 0ae97719263ee98f5bf5549a86464eea38a828f3
Torus-utils: 7c53a9c71663c2f458bfdcf1a380d7a5b88f9632
- TorusSessionManager: 3c47c2a4c4d6173a10006eb0af4b86317ee45ff8
+ TorusSessionManager: cd2de693425cefb976c7bca42a45964297d8c2cc
PODFILE CHECKSUM: 8829a2c70d7efdc95f3d8431d36cdb48fed2bec5
diff --git a/single-factor-auth-flutter/sfa_flutter_quick_start/lib/core/web3auth_sfa.dart b/single-factor-auth-flutter/sfa_flutter_quick_start/lib/core/web3auth_sfa.dart
index b6efc6ff..cefbfb88 100644
--- a/single-factor-auth-flutter/sfa_flutter_quick_start/lib/core/web3auth_sfa.dart
+++ b/single-factor-auth-flutter/sfa_flutter_quick_start/lib/core/web3auth_sfa.dart
@@ -20,6 +20,7 @@ class Web3AuthSFA {
network: Web3AuthNetwork.mainnet,
clientId:
"BJRZ6qdDTbj6Vd5YXvV994TYCqY42-PxldCetmvGTUdoq6pkCqdpuC1DIehz76zuYdaq1RJkXGHuDraHRhCQHvA",
+ redirectUrl: 'com.example.sfa_flutter_quick_start',
),
);
// IMP END - Initialize Web3Auth SFA
@@ -37,6 +38,38 @@ class Web3AuthSFA {
}
}
+ Future showWalletUI() async {
+ try {
+ final chainConfig = ChainConfig(
+ chainId: '0xaa36a7',
+ rpcTarget: 'https://1rpc.io/sepolia',
+ );
+ await singleFactorAuthFlutter.showWalletUI(chainConfig);
+ } catch (e) {
+ log("Error showing wallet UI: $e");
+ }
+ }
+
+ Future showTransactionUI() async {
+ try {
+ final chainConfig = ChainConfig(
+ chainId: '0xaa36a7',
+ rpcTarget: 'https://1rpc.io/sepolia',
+ );
+
+ final sessionData = await singleFactorAuthFlutter.getSessionData();
+ final result =
+ await singleFactorAuthFlutter.request(chainConfig, "personal_sign", [
+ "Hello, Web3Auth from Flutter SFA!",
+ sessionData!.publicAddress,
+ ]);
+
+ log("Transaction result: $result");
+ } catch (e) {
+ log("Error showing wallet UI: $e");
+ }
+ }
+
Future getKey(User user) async {
// IMP START - Get Key
try {
diff --git a/single-factor-auth-flutter/sfa_flutter_quick_start/lib/home_page.dart b/single-factor-auth-flutter/sfa_flutter_quick_start/lib/home_page.dart
index e50d1442..df62938d 100644
--- a/single-factor-auth-flutter/sfa_flutter_quick_start/lib/home_page.dart
+++ b/single-factor-auth-flutter/sfa_flutter_quick_start/lib/home_page.dart
@@ -93,6 +93,18 @@ class _HomePageState extends State {
},
),
const SizedBox(height: 24),
+ ElevatedButton(
+ onPressed: () {
+ web3authSFA.showWalletUI();
+ },
+ child: const Text('Show Wallet UI'),
+ ),
+ ElevatedButton(
+ onPressed: () {
+ web3authSFA.showTransactionUI();
+ },
+ child: const Text('Show Transaction UI'),
+ ),
ElevatedButton(
onPressed: () {
// Use the AuthService class to handle sign out
diff --git a/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.lock b/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.lock
index 94a1a6f7..156fa399 100644
--- a/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.lock
+++ b/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.lock
@@ -252,10 +252,10 @@ packages:
dependency: "direct main"
description:
name: single_factor_auth_flutter
- sha256: bc7702d92711ce4f11977ae074370a75de2bdcde45645a33af282f0a6a7e7369
+ sha256: "0fa78d329b61dbf39aebe0f21b690c6ae131f6276c6d5bca13d71b171ef88ae9"
url: "https://pub.dev"
source: hosted
- version: "6.0.1"
+ version: "7.0.0"
sky_engine:
dependency: transitive
description: flutter
diff --git a/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.yaml b/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.yaml
index cb7d9a5f..145b7fa3 100644
--- a/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.yaml
+++ b/single-factor-auth-flutter/sfa_flutter_quick_start/pubspec.yaml
@@ -19,7 +19,7 @@ dependencies:
firebase_core: ^2.24.2
provider: ^6.1.1
# // IMP START - Installation
- single_factor_auth_flutter: ^6.0.1
+ single_factor_auth_flutter: 7.0.0
get_it: ^7.6.7
# // IMP END - Installation
diff --git a/single-factor-auth-flutter/sfa_flutter_solana/ios/Podfile.lock b/single-factor-auth-flutter/sfa_flutter_solana/ios/Podfile.lock
index a0788816..aee6e73a 100644
--- a/single-factor-auth-flutter/sfa_flutter_solana/ios/Podfile.lock
+++ b/single-factor-auth-flutter/sfa_flutter_solana/ios/Podfile.lock
@@ -1,9 +1,9 @@
PODS:
- - AppAuth (1.7.5):
- - AppAuth/Core (= 1.7.5)
- - AppAuth/ExternalUserAgent (= 1.7.5)
- - AppAuth/Core (1.7.5)
- - AppAuth/ExternalUserAgent (1.7.5):
+ - AppAuth (1.7.6):
+ - AppAuth/Core (= 1.7.6)
+ - AppAuth/ExternalUserAgent (= 1.7.6)
+ - AppAuth/Core (1.7.6)
+ - AppAuth/ExternalUserAgent (1.7.6):
- AppAuth/Core
- BigInt (5.2.0)
- curvelib.swift (2.0.0)
@@ -68,23 +68,23 @@ PODS:
- AppAuth/Core (~> 1.7)
- GTMSessionFetcher/Core (< 4.0, >= 3.3)
- GTMSessionFetcher/Core (3.5.0)
- - JWTDecode (3.2.0)
+ - JWTDecode (3.3.0)
- KeychainSwift (20.0.0)
- PromisesObjC (2.4.0)
- RecaptchaInterop (100.0.0)
- single_factor_auth_flutter (0.0.1):
- Flutter
- - SingleFactorAuth (= 9.0.4)
- - SingleFactorAuth (9.0.4):
+ - SingleFactorAuth (= 9.1.0)
+ - SingleFactorAuth (9.1.0):
- JWTDecode (~> 3.2)
- - Torus-utils (~> 10.0.0)
- - TorusSessionManager (~> 6.0.2)
+ - Torus-utils (~> 10.0.1)
+ - TorusSessionManager (~> 6.1.0)
- Torus-fetchNodeDetails (8.0.1):
- BigInt (~> 5.2.0)
- Torus-utils (10.0.1):
- curvelib.swift (~> 2.0.0)
- Torus-fetchNodeDetails (~> 8.0.1)
- - TorusSessionManager (6.0.2):
+ - TorusSessionManager (6.1.0):
- curvelib.swift (~> 2.0.0)
- KeychainSwift (~> 20.0.0)
@@ -131,7 +131,7 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/single_factor_auth_flutter/ios"
SPEC CHECKSUMS:
- AppAuth: 501c04eda8a8d11f179dbe8637b7a91bb7e5d2fa
+ AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73
BigInt: f668a80089607f521586bbe29513d708491ef2f7
curvelib.swift: b9223e5cac801effed8a5fe8968e952b3fe427a5
Firebase: 0312a2352584f782ea56f66d91606891d4607f06
@@ -147,15 +147,15 @@ SPEC CHECKSUMS:
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
- JWTDecode: 7dae24cb9bf9b608eae61e5081029ec169bb5527
+ JWTDecode: 1ca6f765844457d0dd8690436860fecee788f631
KeychainSwift: 0ce6a4d13f7228054d1a71bb1b500448fb2ab837
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
- single_factor_auth_flutter: aab0e8cb32b6e76fe5cb8a2036489367bc549338
- SingleFactorAuth: 6a2639e2d25d4cec901753193b97f8503734734d
+ single_factor_auth_flutter: a88b865146d24d217ff13d567060631350208511
+ SingleFactorAuth: ddb65765484f6e98813797b007e094996c2bc4b9
Torus-fetchNodeDetails: 0ae97719263ee98f5bf5549a86464eea38a828f3
Torus-utils: 7c53a9c71663c2f458bfdcf1a380d7a5b88f9632
- TorusSessionManager: 3c47c2a4c4d6173a10006eb0af4b86317ee45ff8
+ TorusSessionManager: cd2de693425cefb976c7bca42a45964297d8c2cc
PODFILE CHECKSUM: 1959d098c91d8a792531a723c4a9d7e9f6a01e38
diff --git a/single-factor-auth-flutter/sfa_flutter_solana/pubspec.lock b/single-factor-auth-flutter/sfa_flutter_solana/pubspec.lock
index 48531621..7036fc21 100644
--- a/single-factor-auth-flutter/sfa_flutter_solana/pubspec.lock
+++ b/single-factor-auth-flutter/sfa_flutter_solana/pubspec.lock
@@ -404,10 +404,10 @@ packages:
dependency: "direct main"
description:
name: single_factor_auth_flutter
- sha256: bc7702d92711ce4f11977ae074370a75de2bdcde45645a33af282f0a6a7e7369
+ sha256: "0fa78d329b61dbf39aebe0f21b690c6ae131f6276c6d5bca13d71b171ef88ae9"
url: "https://pub.dev"
source: hosted
- version: "6.0.1"
+ version: "7.0.0"
sky_engine:
dependency: transitive
description: flutter
diff --git a/single-factor-auth-flutter/sfa_flutter_solana/pubspec.yaml b/single-factor-auth-flutter/sfa_flutter_solana/pubspec.yaml
index c4c33c05..988d85ae 100644
--- a/single-factor-auth-flutter/sfa_flutter_solana/pubspec.yaml
+++ b/single-factor-auth-flutter/sfa_flutter_solana/pubspec.yaml
@@ -35,7 +35,7 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
get_it: ^7.6.7
- single_factor_auth_flutter: ^6.0.1
+ single_factor_auth_flutter: ^7.0.0
firebase_auth: ^4.15.3
firebase_core: ^2.24.2
google_sign_in: ^6.2.1