Merge branch 'dev'
|
@ -29,6 +29,9 @@ build_and_test:
|
||||||
- when: manual
|
- when: manual
|
||||||
stage: build_and_test
|
stage: build_and_test
|
||||||
script:
|
script:
|
||||||
|
- flutter clean
|
||||||
|
- rm -rf /root/.pub-cache
|
||||||
|
- flutter pub get
|
||||||
- flutter analyze
|
- flutter analyze
|
||||||
|
|
||||||
releases:test:
|
releases:test:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[
|
[
|
||||||
"wss://gdev.p2p.legal/ws",
|
"wss://gdev.p2p.legal/ws",
|
||||||
"wss://gdev.librelois.fr/ws"
|
"wss://gdev.trentesaux.fr/ws"
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,122 +1,122 @@
|
||||||
{
|
{
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
"size" : "20x20",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-20x20@2x.png",
|
"filename": "Icon-App-20x20@2x.png",
|
||||||
"scale" : "2x"
|
"idiom": "iphone",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "20x20"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "20x20",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-20x20@3x.png",
|
"filename": "Icon-App-20x20@3x.png",
|
||||||
"scale" : "3x"
|
"idiom": "iphone",
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "20x20"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-29x29@1x.png",
|
"filename": "Icon-App-29x29@1x.png",
|
||||||
"scale" : "1x"
|
"idiom": "iphone",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "29x29"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-29x29@2x.png",
|
"filename": "Icon-App-29x29@2x.png",
|
||||||
"scale" : "2x"
|
"idiom": "iphone",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "29x29"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-29x29@3x.png",
|
"filename": "Icon-App-29x29@3x.png",
|
||||||
"scale" : "3x"
|
"idiom": "iphone",
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "29x29"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "40x40",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-40x40@2x.png",
|
"filename": "Icon-App-40x40@2x.png",
|
||||||
"scale" : "2x"
|
"idiom": "iphone",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "40x40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "40x40",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-40x40@3x.png",
|
"filename": "Icon-App-40x40@3x.png",
|
||||||
"scale" : "3x"
|
"idiom": "iphone",
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "40x40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "60x60",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename": "Icon-App-60x60@2x.png",
|
"filename": "Icon-App-60x60@2x.png",
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "60x60",
|
|
||||||
"idiom": "iphone",
|
"idiom": "iphone",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "60x60"
|
||||||
|
},
|
||||||
|
{
|
||||||
"filename": "Icon-App-60x60@3x.png",
|
"filename": "Icon-App-60x60@3x.png",
|
||||||
"scale" : "3x"
|
"idiom": "iphone",
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "60x60"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "20x20",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-20x20@1x.png",
|
"filename": "Icon-App-20x20@1x.png",
|
||||||
"scale" : "1x"
|
"idiom": "ipad",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "20x20"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "20x20",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-20x20@2x.png",
|
"filename": "Icon-App-20x20@2x.png",
|
||||||
"scale" : "2x"
|
"idiom": "ipad",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "20x20"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-29x29@1x.png",
|
"filename": "Icon-App-29x29@1x.png",
|
||||||
"scale" : "1x"
|
"idiom": "ipad",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "29x29"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-29x29@2x.png",
|
"filename": "Icon-App-29x29@2x.png",
|
||||||
"scale" : "2x"
|
"idiom": "ipad",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "29x29"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "40x40",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-40x40@1x.png",
|
"filename": "Icon-App-40x40@1x.png",
|
||||||
"scale" : "1x"
|
"idiom": "ipad",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "40x40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "40x40",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-40x40@2x.png",
|
"filename": "Icon-App-40x40@2x.png",
|
||||||
"scale" : "2x"
|
"idiom": "ipad",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "40x40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "76x76",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-76x76@1x.png",
|
"filename": "Icon-App-76x76@1x.png",
|
||||||
"scale" : "1x"
|
"idiom": "ipad",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "76x76"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "76x76",
|
|
||||||
"idiom" : "ipad",
|
|
||||||
"filename": "Icon-App-76x76@2x.png",
|
"filename": "Icon-App-76x76@2x.png",
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "83.5x83.5",
|
|
||||||
"idiom": "ipad",
|
"idiom": "ipad",
|
||||||
"filename" : "Icon-App-83.5x83.5@2x.png",
|
"scale": "2x",
|
||||||
"scale" : "2x"
|
"size": "76x76"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "Icon-App-83.5x83.5@2x.png",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "83.5x83.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "1024x1024",
|
|
||||||
"idiom" : "ios-marketing",
|
|
||||||
"filename": "Icon-App-1024x1024@1x.png",
|
"filename": "Icon-App-1024x1024@1x.png",
|
||||||
"scale" : "1x"
|
"idiom": "ios-marketing",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "1024x1024"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info": {
|
"info": {
|
||||||
"version" : 1,
|
"author": "icons_launcher",
|
||||||
"author" : "xcode"
|
"version": 1
|
||||||
}
|
}
|
||||||
}
|
}
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 11 KiB |
|
@ -58,8 +58,11 @@ Future<void> main() async {
|
||||||
|
|
||||||
HomeProvider homeProvider = HomeProvider();
|
HomeProvider homeProvider = HomeProvider();
|
||||||
// DuniterIndexer _duniterIndexer = DuniterIndexer();
|
// DuniterIndexer _duniterIndexer = DuniterIndexer();
|
||||||
|
|
||||||
await initHiveForFlutter();
|
await initHiveForFlutter();
|
||||||
await homeProvider.initHive();
|
await homeProvider.initHive();
|
||||||
|
configBox = await Hive.openBox("configBox");
|
||||||
|
|
||||||
appVersion = await homeProvider.getAppVersion();
|
appVersion = await homeProvider.getAppVersion();
|
||||||
|
|
||||||
// Configure Hive and open boxes
|
// Configure Hive and open boxes
|
||||||
|
|
|
@ -47,24 +47,28 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||||
final myWalletProvider =
|
final myWalletProvider =
|
||||||
Provider.of<MyWalletsProvider>(context, listen: false);
|
Provider.of<MyWalletsProvider>(context, listen: false);
|
||||||
|
|
||||||
configBox = await Hive.openBox("configBox");
|
|
||||||
final bool isWalletsExists = myWalletProvider.checkIfWalletExist();
|
final bool isWalletsExists = myWalletProvider.checkIfWalletExist();
|
||||||
|
|
||||||
if (!sub.sdkReady && !sub.sdkLoading) await sub.initApi();
|
|
||||||
if (sub.sdkReady && !sub.nodeConnected) {
|
|
||||||
// Check if versionData non compatible, drop everything
|
// Check if versionData non compatible, drop everything
|
||||||
if (isWalletsExists &&
|
if (configBox.get('dataVersion') == null) {
|
||||||
(configBox.get('dataVersion') ?? 0) < dataVersion) {
|
configBox.put('dataVersion', dataVersion);
|
||||||
|
}
|
||||||
|
if (isWalletsExists && (configBox.get('dataVersion')) < dataVersion) {
|
||||||
|
if (!sub.sdkReady && !sub.sdkLoading) sub.initApi();
|
||||||
await infoPopup(context, "chestNotCompatibleMustReinstallGecko".tr());
|
await infoPopup(context, "chestNotCompatibleMustReinstallGecko".tr());
|
||||||
await Hive.deleteBoxFromDisk('walletBox');
|
await Hive.deleteBoxFromDisk('walletBox');
|
||||||
await Hive.deleteBoxFromDisk('chestBox');
|
await Hive.deleteBoxFromDisk('chestBox');
|
||||||
chestBox = await Hive.openBox<ChestData>("chestBox");
|
chestBox = await Hive.openBox<ChestData>("chestBox");
|
||||||
await configBox.delete('defaultWallet');
|
await configBox.delete('defaultWallet');
|
||||||
|
if (!sub.sdkReady && !sub.sdkLoading) await sub.initApi();
|
||||||
await sub.deleteAllAccounts();
|
await sub.deleteAllAccounts();
|
||||||
configBox.put('dataVersion', dataVersion);
|
configBox.put('dataVersion', dataVersion);
|
||||||
myWalletProvider.reload();
|
myWalletProvider.reload();
|
||||||
|
} else {
|
||||||
|
if (!sub.sdkReady && !sub.sdkLoading) await sub.initApi();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sub.sdkReady && !sub.nodeConnected) {
|
||||||
walletBox = await Hive.openBox<WalletData>("walletBox");
|
walletBox = await Hive.openBox<WalletData>("walletBox");
|
||||||
await Hive.deleteBoxFromDisk('g1WalletsBox');
|
await Hive.deleteBoxFromDisk('g1WalletsBox');
|
||||||
g1WalletsBox = await Hive.openBox<G1WalletsList>("g1WalletsBox");
|
g1WalletsBox = await Hive.openBox<G1WalletsList>("g1WalletsBox");
|
||||||
|
@ -164,6 +168,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
if (isWalletsExists)
|
||||||
ListTile(
|
ListTile(
|
||||||
key: keyContacts,
|
key: keyContacts,
|
||||||
title: Text('contactsManagement'.tr()),
|
title: Text('contactsManagement'.tr()),
|
||||||
|
|
10
pubspec.lock
|
@ -182,7 +182,7 @@ packages:
|
||||||
name: carousel_slider
|
name: carousel_slider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.1"
|
version: "4.2.1"
|
||||||
characters:
|
characters:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -266,7 +266,7 @@ packages:
|
||||||
name: dart_code_metrics
|
name: dart_code_metrics
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.1.0"
|
version: "5.2.1"
|
||||||
dart_style:
|
dart_style:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1031,7 +1031,7 @@ packages:
|
||||||
name: provider
|
name: provider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.4"
|
version: "6.0.5"
|
||||||
pub_semver:
|
pub_semver:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1110,14 +1110,14 @@ packages:
|
||||||
name: sentry
|
name: sentry
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.18.0"
|
version: "6.18.1"
|
||||||
sentry_flutter:
|
sentry_flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: sentry_flutter
|
name: sentry_flutter
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.18.0"
|
version: "6.18.1"
|
||||||
shared_preferences:
|
shared_preferences:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
16
pubspec.yaml
|
@ -5,7 +5,7 @@ description: Pay with G1.
|
||||||
# pub.dev using `pub publish`. This is preferred for private packages.
|
# pub.dev using `pub publish`. This is preferred for private packages.
|
||||||
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||||
|
|
||||||
version: 0.0.15+51
|
version: 0.1.0+52
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=2.12.0 <3.0.0'
|
sdk: '>=2.12.0 <3.0.0'
|
||||||
|
@ -68,7 +68,7 @@ dependencies:
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
# flutter_launcher_icons: ^0.9.2
|
# flutter_launcher_icons: ^0.9.2
|
||||||
# flutter_launcher_icons_maker: ^^0.10.2
|
# flutter_launcher_icons_maker: ^^0.10.2
|
||||||
icons_launcher: ^2.0.2
|
icons_launcher: ^2.0.6
|
||||||
build_runner: ^2.1.2
|
build_runner: ^2.1.2
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
@ -76,11 +76,13 @@ dev_dependencies:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
dart_code_metrics: ^5.0.1
|
dart_code_metrics: ^5.0.1
|
||||||
|
|
||||||
flutter_icons:
|
icons_launcher:
|
||||||
android: true
|
image_path: 'assets/icon/gecko_flat.png'
|
||||||
ios: true
|
platforms:
|
||||||
image_path: "assets/icon/gecko_flat.png"
|
android:
|
||||||
remove_alpha_ios: true
|
enable: true
|
||||||
|
ios:
|
||||||
|
enable: true
|
||||||
|
|
||||||
uses-material-design: true
|
uses-material-design: true
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
flutter pub run icons_launcher:main
|
flutter pub run icons_launcher:create
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|