diff --git a/lib/general_storage.dart b/lib/general_storage.dart new file mode 100644 index 0000000..f6fc542 --- /dev/null +++ b/lib/general_storage.dart @@ -0,0 +1,21 @@ +import 'dart:async'; + +import 'package:flutter/services.dart'; + +class GeneralStorage { + static const MethodChannel _channel = const MethodChannel('libauk_dart'); + + Future hasPlatformShards() async { + final result = await _channel.invokeMethod('hasPlatformShards'); + return result['result']; + } + + Future> scanPersonaUUIDs() async { + final result = await _channel.invokeMethod('scanPersonaUUIDs'); + return List.from(result['result']); + } + + Future migrateAccountsFromV0ToV1() async { + await _channel.invokeMethod('migrateAccountsFromV0ToV1'); + } +} diff --git a/lib/libauk_dart.dart b/lib/libauk_dart.dart index 54ed892..8536a61 100644 --- a/lib/libauk_dart.dart +++ b/lib/libauk_dart.dart @@ -2,11 +2,16 @@ import 'dart:async'; import 'dart:typed_data'; import 'package:flutter/services.dart'; +import 'package:libauk_dart/general_storage.dart'; class LibAukDart { static WalletStorage getWallet(String uuid) { return WalletStorage(uuid); } + + static GeneralStorage general() { + return GeneralStorage(); + } } class WalletStorage { @@ -150,9 +155,13 @@ class WalletStorage { } Future getShard(ShardType shardType) async { - Map res = await _channel.invokeMethod( - 'getShard', {'uuid': uuid, 'shardType': shardType.intValue}); - return res["data"]; + try { + Map res = await _channel.invokeMethod( + 'getShard', {'uuid': uuid, 'shardType': shardType.intValue}); + return res["data"]; + } catch (_) { + return null; + } } Future removeShard(ShardType shardType) async {