Skip to content

Commit

Permalink
fix on link mode
Browse files Browse the repository at this point in the history
  • Loading branch information
quetool committed Oct 31, 2024
1 parent 5201c44 commit ffbe591
Show file tree
Hide file tree
Showing 11 changed files with 101 additions and 43 deletions.
24 changes: 24 additions & 0 deletions packages/reown_appkit/example/base/lib/pages/connect_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,30 @@ class __FooterWidgetState extends State<_FooterWidget> {
},
),
const SizedBox(height: StyleConstants.linear8),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Visibility(
visible: !widget.appKitModal.isConnected,
child: SizedBox(
height: 30.0,
child: ElevatedButton(
onPressed: () async {
await widget.appKitModal.appKit!.core.storage.deleteAll();
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text('Storage cleared'),
duration: Duration(seconds: 1),
));
},
child: Text(
'CLEAR STORAGE',
style: TextStyle(fontSize: 10.0),
),
),
),
),
],
),
],
);
}
Expand Down
24 changes: 12 additions & 12 deletions packages/reown_appkit/example/modal/lib/home_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -242,18 +242,18 @@ class _MyHomePageState extends State<MyHomePage> {
metadata: _pairingMetadata(),
siweConfig: _siweConfig(siweAuthValue),
enableAnalytics: analyticsValue, // OPTIONAL - null by default
// featuresConfig: emailWalletValue
// ? FeaturesConfig(
// email: true,
// socials: [
// AppKitSocialOption.Farcaster,
// AppKitSocialOption.X,
// AppKitSocialOption.Apple,
// AppKitSocialOption.Discord,
// ],
// // showMainWallets: false, // OPTIONAL - true by default
// )
// : null,
featuresConfig: emailWalletValue
? FeaturesConfig(
email: true,
socials: [
AppKitSocialOption.Farcaster,
AppKitSocialOption.X,
AppKitSocialOption.Apple,
AppKitSocialOption.Discord,
],
// showMainWallets: false, // OPTIONAL - true by default
)
: null,
// requiredNamespaces: {},
// optionalNamespaces: {},
// includedWalletIds: {},
Expand Down
18 changes: 13 additions & 5 deletions packages/reown_appkit/lib/modal/appkit_modal_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -809,11 +809,16 @@ class ReownAppKitModal with ChangeNotifier implements IReownAppKitModal {
await _explorerService.storeConnectedWallet(_selectedWallet);
} else {
await buildConnectionUri();
// await _uriService.openRedirect(
// walletRedirect,
// wcURI: wcUri!,
// pType: pType,
// );
final linkMode = walletRedirect.linkMode ?? '';
if (linkMode.isNotEmpty && _wcUri.startsWith(linkMode)) {
await ReownCoreUtils.openURL(_wcUri);
} else {
await _uriService.openRedirect(
walletRedirect,
wcURI: _wcUri,
pType: pType,
);
}
}
} on LaunchUrlException catch (e) {
if (e is CanNotLaunchUrl) {
Expand Down Expand Up @@ -885,6 +890,9 @@ class ReownAppKitModal with ChangeNotifier implements IReownAppKitModal {
...p2,
});
// One-Click Auth
_appKit.core.logger.d(
'[$runtimeType] authenticate ${jsonEncode(authParams.toJson())}, ${walletRedirect?.linkMode}',
);
final authResponse = await _appKit.authenticate(
params: authParams,
walletUniversalLink: walletRedirect?.linkMode,
Expand Down
12 changes: 6 additions & 6 deletions packages/reown_appkit/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ dependencies:
json_annotation: ^4.8.1
plugin_platform_interface: ^2.1.8
qr_flutter_wc: ^0.0.3
# reown_core: ^1.0.3
reown_core:
path: ../reown_core/
# reown_sign: ^1.0.3
reown_sign:
path: ../reown_sign/
reown_core: ^1.0.3
# reown_core:
# path: ../reown_core/
reown_sign: ^1.0.3
# reown_sign:
# path: ../reown_sign/
shimmer: ^3.0.0
uuid: ^4.5.1
webview_flutter: ^4.8.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1483,14 +1483,15 @@ class MockReownCore extends _i1.Mock implements _i28.ReownCore {
) as _i23.Future<void>);

@override
_i23.Future<bool> addLinkModeSupportedApp(String? universalLink) =>
_i23.Future<void> addLinkModeSupportedApp(String? universalLink) =>
(super.noSuchMethod(
Invocation.method(
#addLinkModeSupportedApp,
[universalLink],
),
returnValue: _i23.Future<bool>.value(false),
) as _i23.Future<bool>);
returnValue: _i23.Future<void>.value(),
returnValueForMissingStub: _i23.Future<void>.value(),
) as _i23.Future<void>);

@override
List<String> getLinkModeSupportedApps() => (super.noSuchMethod(
Expand Down
2 changes: 1 addition & 1 deletion packages/reown_sign/lib/sign_engine.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2283,7 +2283,7 @@ class ReownSign implements IReownSign {
ttl: ttl,
appLink: isLinkMode ? walletUniversalLink : null,
// We don't want to open the appLink in this case as it will be opened by the host app
// openUrl: false,
openUrl: false,
);
result = WcSessionAuthRequestResult.fromJson(response);
} catch (error) {
Expand Down
7 changes: 4 additions & 3 deletions packages/reown_sign/test/shared/shared_test_utils.mocks.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1483,14 +1483,15 @@ class MockReownCore extends _i1.Mock implements _i28.ReownCore {
) as _i23.Future<void>);

@override
_i23.Future<bool> addLinkModeSupportedApp(String? universalLink) =>
_i23.Future<void> addLinkModeSupportedApp(String? universalLink) =>
(super.noSuchMethod(
Invocation.method(
#addLinkModeSupportedApp,
[universalLink],
),
returnValue: _i23.Future<bool>.value(false),
) as _i23.Future<bool>);
returnValue: _i23.Future<void>.value(),
returnValueForMissingStub: _i23.Future<void>.value(),
) as _i23.Future<void>);

@override
List<String> getLinkModeSupportedApps() => (super.noSuchMethod(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class DeepLinkHandler {
try {
return await _walletKit.dispatchEnvelope('$link');
} catch (e) {
final decodedUri = Uri.parse(Uri.decodeFull(link.toString()));
final decodedUri = Uri.parse(Uri.decodeFull('$link'));
if (decodedUri.isScheme('wc')) {
debugPrint('[SampleWallet] is legacy uri $decodedUri');
waiting.value = true;
Expand Down
23 changes: 23 additions & 0 deletions packages/reown_walletkit/example/lib/pages/settings_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@ class _SettingsPageState extends State<SettingsPage> {
const SizedBox(height: 20.0),
const Divider(height: 1.0),
_Buttons(
onDeleteData: () async {
final walletKit = GetIt.I<IWalletKitService>().walletKit;
await walletKit.core.storage.deleteAll();
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text('Storage cleared'),
duration: Duration(seconds: 1),
));
},
onRestoreFromSeed: () async {
final mnemonic =
await GetIt.I<IBottomSheetService>().queueBottomSheet(
Expand Down Expand Up @@ -624,9 +632,11 @@ class _DeviceData extends StatelessWidget {
class _Buttons extends StatelessWidget {
final VoidCallback onRestoreFromSeed;
final VoidCallback onRestoreDefault;
final VoidCallback onDeleteData;
const _Buttons({
required this.onRestoreFromSeed,
required this.onRestoreDefault,
required this.onDeleteData,
});

@override
Expand All @@ -636,6 +646,19 @@ class _Buttons extends StatelessWidget {
child: Column(
children: [
const SizedBox(height: 8.0),
SizedBox(
width: double.infinity,
child: ElevatedButton(
onPressed: onDeleteData,
child: Text(
'Clear local storage',
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
),
),
const SizedBox(height: 12.0),
Row(
children: [
CustomButton(
Expand Down
18 changes: 9 additions & 9 deletions packages/reown_walletkit/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ dependencies:
event: ^2.1.2
flutter:
sdk: flutter
# reown_core: ^1.0.3
reown_core:
path: ../reown_core/
# reown_sign: ^1.0.3
reown_sign:
path: ../reown_sign/
reown_core: ^1.0.3
# reown_core:
# path: ../reown_core/
reown_sign: ^1.0.3
# reown_sign:
# path: ../reown_sign/

dev_dependencies:
build_runner: ^2.4.7
Expand All @@ -30,9 +30,9 @@ dev_dependencies:
logger: ^2.2.0
mockito: ^5.4.3
package_info_plus: ^8.0.2
# reown_appkit: ^1.0.2
reown_appkit:
path: ../reown_appkit/
reown_appkit: ^1.0.2
# reown_appkit:
# path: ../reown_appkit/

platforms:
android:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1483,14 +1483,15 @@ class MockReownCore extends _i1.Mock implements _i28.ReownCore {
) as _i23.Future<void>);

@override
_i23.Future<bool> addLinkModeSupportedApp(String? universalLink) =>
_i23.Future<void> addLinkModeSupportedApp(String? universalLink) =>
(super.noSuchMethod(
Invocation.method(
#addLinkModeSupportedApp,
[universalLink],
),
returnValue: _i23.Future<bool>.value(false),
) as _i23.Future<bool>);
returnValue: _i23.Future<void>.value(),
returnValueForMissingStub: _i23.Future<void>.value(),
) as _i23.Future<void>);

@override
List<String> getLinkModeSupportedApps() => (super.noSuchMethod(
Expand Down

0 comments on commit ffbe591

Please sign in to comment.