Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
652da68
Open wallet once and store instrance
Likho Aug 30, 2022
345889c
Delete already processed slate
Likho Aug 30, 2022
0eaf4eb
Clean up logs
Likho Aug 30, 2022
3ef6bf3
Merge branch 'main' into open-wallet-and-store
Likho Aug 30, 2022
d49fc88
Update IOS header file signatures
Likho Aug 30, 2022
f129c13
recipient ticker fix
julian-CStack Aug 30, 2022
549e587
finished basic change_now.dart tests
julian-CStack Aug 30, 2022
ef5f076
Merge branch 'staging' into ui-testing
julian-CStack Aug 30, 2022
0cebce6
in wallet exchange loading fix
julian-CStack Aug 30, 2022
71826d4
refactor ChangeNow for easier testability
julian-CStack Aug 30, 2022
88af887
initial ExchangeView screen tests
julian-CStack Aug 30, 2022
6dfcc16
Merge pull request #21 from cypherstack/main
ryleedavis Aug 30, 2022
9276809
added edge case Logging
julian-CStack Aug 30, 2022
39d5bfc
Merge pull request #20 from cypherstack/ui-testing
ryleedavis Aug 30, 2022
d721583
Merge branch 'staging' into rylee-tmp
Aug 30, 2022
7d18e76
show activity while checking balance+fee for a wallet initiated exchange
julian-CStack Aug 30, 2022
5db5e02
change build
Aug 30, 2022
4fa13d9
Merge pull request #22 from cypherstack/rylee-tmp
ryleedavis Aug 30, 2022
1407336
preliminary static build
Aug 31, 2022
f63c5e5
add some detail to logging
julian-CStack Aug 31, 2022
b49955b
some estimated exchange refactoring, fetch estimated rate on reversin…
julian-CStack Aug 31, 2022
53d4e6e
Merge branch 'staging' into ui-testing
julian-CStack Aug 31, 2022
8b3c15c
log level fix
julian-CStack Aug 31, 2022
2e459ff
add an await in btc rescan
julian-CStack Aug 31, 2022
588fc8a
fix broken change now tests
julian-CStack Aug 31, 2022
90f0d36
commented out communityNodes
Aug 31, 2022
d5b2f58
disable a couple tests that fail on flutter 3.3.0
julian-CStack Aug 31, 2022
988b365
commented out communityNodes
Aug 31, 2022
99b0543
community electrumx node todo edit
julian-CStack Aug 31, 2022
992797d
file rename
julian-CStack Aug 31, 2022
550752f
ubuntu 20
Sep 1, 2022
6ee57ab
arm success
Sep 1, 2022
e02215f
Merge pull request #23 from cypherstack/ui-testing
msalazarm Sep 1, 2022
39c5f79
Merge branch 'staging' into linuxstandalone
Sep 1, 2022
9b85e52
minor merge
Sep 1, 2022
bf186fe
Add HTTP send method for epiccash
Likho Sep 1, 2022
6914873
Merge pull request #24 from cypherstack/linuxstandalone
msalazarm Sep 1, 2022
ffef101
epic http address support in ui and some async lint fixes
julian-CStack Sep 1, 2022
91b4fdf
Merge remote-tracking branch 'origin/staging' into open-wallet-and-store
Likho Sep 1, 2022
df34b6e
Merge pull request #25 from cypherstack/ui-testing
julian-CStack Sep 1, 2022
cfcd7a7
Implement HTTP sending and use Julian's error checking
Likho Sep 1, 2022
b076e76
Resolve merge conflicts with staging
Likho Sep 1, 2022
9d68ffe
Fix HTTP send dart errors
Likho Sep 1, 2022
9c9db5b
Merge pull request #26 from cypherstack/open-wallet-and-store
julian-CStack Sep 1, 2022
28421ff
Merge branch 'staging' into rylee-tmp
Sep 1, 2022
2ea55ef
change build
Sep 1, 2022
931e8e4
Merge pull request #28 from cypherstack/rylee-tmp
ryleedavis Sep 1, 2022
d86b14e
change build
Sep 2, 2022
74e8e35
Merge branch 'staging' into rylee-tmp
Sep 2, 2022
1552fc9
change build
Sep 2, 2022
0377bd2
Merge pull request #29 from cypherstack/rylee-tmp
ryleedavis Sep 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 28 additions & 23 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@ import 'package:stackwallet/pages/pinpad_views/lock_screen_view.dart';
import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/restore_from_encrypted_string_view.dart';
import 'package:stackwallet/providers/exchange/available_currencies_state_provider.dart';
import 'package:stackwallet/providers/exchange/available_floating_rate_pairs_state_provider.dart';
import 'package:stackwallet/providers/exchange/change_now_provider.dart';
import 'package:stackwallet/providers/exchange/changenow_initial_load_status.dart';
import 'package:stackwallet/providers/exchange/exchange_form_provider.dart';
import 'package:stackwallet/providers/exchange/estimate_rate_exchange_form_provider.dart';
import 'package:stackwallet/providers/exchange/fixed_rate_exchange_form_provider.dart';
import 'package:stackwallet/providers/exchange/fixed_rate_market_pairs_provider.dart';
import 'package:stackwallet/providers/global/auto_swb_service_provider.dart';
Expand All @@ -41,7 +42,6 @@ import 'package:stackwallet/providers/global/base_currencies_provider.dart';
import 'package:stackwallet/providers/global/trades_service_provider.dart';
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/services/change_now/change_now.dart';
import 'package:stackwallet/services/debug_service.dart';
import 'package:stackwallet/services/locale_service.dart';
import 'package:stackwallet/services/node_service.dart';
Expand Down Expand Up @@ -70,16 +70,18 @@ void main() async {
}
// FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
await Hive.initFlutter(appDirectory.path);
final isar = await Isar.open(
[LogSchema],
directory: appDirectory.path,
inspector: false,
);
await Logging.instance.init(isar);
await DebugService.instance.init(isar);
if (!(Logging.isArmLinux || Logging.isTestEnv)) {
final isar = await Isar.open(
[LogSchema],
directory: appDirectory.path,
inspector: false,
);
await Logging.instance.init(isar);
await DebugService.instance.init(isar);

// clear out all info logs on startup. No need to await and block
DebugService.instance.purgeInfoLogs();
// clear out all info logs on startup. No need to await and block
unawaited(DebugService.instance.purgeInfoLogs());
}

// Registering Transaction Model Adapters
Hive.registerAdapter(TransactionDataAdapter());
Expand Down Expand Up @@ -193,20 +195,21 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
NotificationApi.prefs = _prefs;
NotificationApi.notificationsService = _notificationsService;

ref.read(baseCurrenciesProvider).update();
unawaited(ref.read(baseCurrenciesProvider).update());

await _nodeService.updateDefaults();
await _notificationsService.init(
nodeService: _nodeService,
tradesService: _tradesService,
prefs: _prefs,
changeNow: ref.read(changeNowProvider),
);
await _prefs.init();
ref.read(priceAnd24hChangeNotifierProvider).start(true);
await _wallets.load(_prefs);
loadingCompleter.complete();
// TODO: this currently hangs for a long time
await _nodeService.updateCommunityNodes();
// TODO: this should probably run unawaited. Keep commented out for now as proper community nodes ui hasn't been implemented yet
// unawaited(_nodeService.updateCommunityNodes());

if (_prefs.isAutoBackupEnabled) {
switch (_prefs.backupFrequencyType) {
Expand All @@ -216,7 +219,7 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
.startPeriodicBackupTimer(duration: const Duration(minutes: 10));
break;
case BackupFrequencyType.everyAppStart:
ref.read(autoSWBServiceProvider).doBackup();
unawaited(ref.read(autoSWBServiceProvider).doBackup());
break;
case BackupFrequencyType.afterClosingAWallet:
// ignore this case here
Expand All @@ -236,8 +239,9 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
.isNotEmpty) {
return;
}
final response = await ChangeNow.getAvailableCurrencies();
final response2 = await ChangeNow.getAvailableFloatingRatePairs();
final response = await ref.read(changeNowProvider).getAvailableCurrencies();
final response2 =
await ref.read(changeNowProvider).getAvailableFloatingRatePairs();
if (response.value != null) {
ref.read(availableChangeNowCurrenciesStateProvider.state).state =
response.value!;
Expand All @@ -248,13 +252,13 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
if (response.value!.length > 1) {
if (ref.read(estimatedRateExchangeFormProvider).from == null) {
if (response.value!.where((e) => e.ticker == "btc").isNotEmpty) {
ref.read(estimatedRateExchangeFormProvider).updateFrom(
await ref.read(estimatedRateExchangeFormProvider).updateFrom(
response.value!.firstWhere((e) => e.ticker == "btc"), false);
}
}
if (ref.read(estimatedRateExchangeFormProvider).to == null) {
if (response.value!.where((e) => e.ticker == "doge").isNotEmpty) {
ref.read(estimatedRateExchangeFormProvider).updateTo(
await ref.read(estimatedRateExchangeFormProvider).updateTo(
response.value!.firstWhere((e) => e.ticker == "doge"), false);
}
}
Expand Down Expand Up @@ -288,7 +292,8 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
return;
}

final response3 = await ChangeNow.getAvailableFixedRateMarkets();
final response3 =
await ref.read(changeNowProvider).getAvailableFixedRateMarkets();
if (response3.value != null) {
ref.read(fixedRateMarketPairsStateProvider.state).state =
response3.value!;
Expand All @@ -297,7 +302,7 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
final matchingMarkets =
response3.value!.where((e) => e.to == "doge" && e.from == "btc");
if (matchingMarkets.isNotEmpty) {
ref
await ref
.read(fixedRateExchangeFormProvider)
.updateMarket(matchingMarkets.first, true);
}
Expand Down Expand Up @@ -443,7 +448,7 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
}
});
} else {
Navigator.push(
unawaited(Navigator.push(
navigatorKey.currentContext!,
RouteGenerator.getRoute(
shouldUseMaterialRoute: RouteGenerator.useMaterialPageRoute,
Expand All @@ -458,7 +463,7 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
),
settings: const RouteSettings(name: "/swbrestorelockscreen"),
),
);
));
}
}

Expand Down
Loading