Build exchange workspace and shared transaction services (#28)

This commit is contained in:
Stephan D committed 2026-09-12 12:01:36 +02:00
1 parent 52b7135eda
commit c496da8a55
48 files changed
+4757 -120

No files matched your search

+15 -1
View File
@@ -10,6 +10,8 @@ import 'package:sxchnge_kyc/sxchnge_kyc.dart';
import 'package:sxchnge_theme/sxchnge_theme.dart';
import 'package:sxchnge_wallet/sxchnge_wallet.dart';
import 'providers/locale.dart';
import 'routing/router.dart';
@@ -28,6 +30,7 @@ class SxchngeApp extends StatefulWidget {
this.analyticsService,
this.identityService,
this.limitsService,
this.walletService,
this.photoService = const FilePhotoService(),
this.loginService = const DummyLoginService(),
this.signupService = const DummySignupService(),
@@ -37,6 +40,7 @@ class SxchngeApp extends StatefulWidget {
final AnalyticsService? analyticsService;
final IdentityService? identityService;
final LimitsService? limitsService;
final WalletService? walletService;
final PhotoService photoService;
final LoginService loginService;
final SignupService signupService;
@@ -51,7 +55,15 @@ class _SxchngeAppState extends State<SxchngeApp> {
late final _analytics = widget.analyticsService ?? DummyAnalyticsService();
late final _identity = widget.identityService ?? DummyIdentityService();
late final _limits = widget.limitsService ?? DummyLimitsService(_identity);
late final _walletService =
widget.walletService ??
DummyWalletService(_identity, initialLocale: _locale.locale.languageCode);
late final _wallet = WalletProvider(_walletService, _analytics);
late final _limits =
widget.limitsService ??
(_walletService is DummyWalletService
? WalletLimitsService(_walletService)
: DummyLimitsService(_identity));
late final _journeys = JourneyRecorder(_analytics);
late final _services = InstrumentedAuthServices(
recorder: _journeys,
@@ -82,6 +94,7 @@ class _SxchngeAppState extends State<SxchngeApp> {
_router.routeInformationProvider.removeListener(_routeChanged);
_router.dispose();
_journeys.dispose();
_wallet.dispose();
_locale.dispose();
super.dispose();
}
@@ -89,6 +102,7 @@ class _SxchngeAppState extends State<SxchngeApp> {
@override
Widget build(BuildContext context) => MultiProvider(
providers: [
ChangeNotifierProvider.value(value: _wallet),
Provider<JourneyRecorder>.value(value: _journeys),
Provider<AnalyticsService>.value(value: _analytics),
Provider<IdentityService>.value(value: _identity),