flutterchain 1.0.0-beta.15 copy "flutterchain: ^1.0.0-beta.15" to clipboard
flutterchain: ^1.0.0-beta.15 copied to clipboard

Multi-chain library for communication with blockchain systems. Based on WalletCore.

example/lib/main.dart

import 'dart:async';
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutterchain/flutterchain_lib/services/core/lib_initialization_service.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:flutterchain_example/assets/localizations/localizations_strings.dart';
import 'package:flutterchain_example/modules/app_module.dart';
import 'package:flutterchain_example/routes/routes.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

void main() {
  runZonedGuarded(() async {
    LicenseRegistry.addLicense(() async* {
      final license = await rootBundle.loadString('OFL.txt');
      yield LicenseEntryWithLineBreaks(['assets/fonts/manrope'], license);
    });
    WidgetsFlutterBinding.ensureInitialized();
    await initFlutterChainLib();
    await EasyLocalization.ensureInitialized();
    final isAuthorized = await checkIfUserAuthorized();

    //Catch Errors caught by Flutter
    FlutterError.onError = (details) {
      FlutterError.presentError(details);
      //TODO add catcher
    };
    SystemChrome.setPreferredOrientations([
      // DeviceOrientation.portraitUp,
      // DeviceOrientation.portraitDown,
    ]).then((value) => runApp(EasyLocalization(
          supportedLocales: const [
            Locale('en'),
          ],
          path: LocalizationsStrings.localizationPath,
          fallbackLocale: const Locale('en'),
          saveLocale: false,
          child: ModularApp(
            module: AppModule(),
            child: AppWidget(isAuthorized),
          ),
        )));
  }, (error, stack) {
    print(error.toString());
    //Catch Errors not caught by Flutter
    //TODO add catcher
  });
}

class AppWidget extends StatelessWidget {
  final bool isAuthorized;
  // ignore: use_key_in_widget_constructors
  const AppWidget(this.isAuthorized);

  @override
  Widget build(BuildContext context) {
    Modular.setInitialRoute(Routes.home.getModule());
    ScreenUtil.init(context);
    ScreenUtil.configure(
      designSize: const Size(360, 690),
      minTextAdapt: true,
      splitScreenMode: true,
    );
    return MaterialApp.router(
      debugShowCheckedModeBanner: false,
      title: 'Flutterchain Wallet',
      routeInformationParser: Modular.routeInformationParser,
      routerDelegate: Modular.routerDelegate,
      localizationsDelegates: context.localizationDelegates,
      supportedLocales: context.supportedLocales,
      locale: context.locale,
    );
    // !isAuthorized
    //     ? Modular.setInitialRoute(Routes.auth.getModule())
    //     : Modular.setInitialRoute(Routes.home.getModule());
    // Modular.setInitialRoute(Routes.home.getModule());
    // return MaterialApp.router(
    //   debugShowCheckedModeBanner: false,
    //   title: 'Flutterchain Wallet',
    //   routeInformationParser: Modular.routeInformationParser,
    //   routerDelegate: Modular.routerDelegate,
    //   localizationsDelegates: context.localizationDelegates,
    //   supportedLocales: context.supportedLocales,
    //   locale: context.locale,
    // );
  }
}
22
likes
120
points
50
downloads

Publisher

unverified uploader

Weekly Downloads

Multi-chain library for communication with blockchain systems. Based on WalletCore.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

bs58, collection, dio, dio_smart_retry, flutter, flutter_inappwebview, flutter_secure_storage, flutter_web_plugins, hex, json_annotation, plugin_platform_interface, rxdart

More

Packages that depend on flutterchain