variance_dart 0.2.0 copy "variance_dart: ^0.2.0" to clipboard
variance_dart: ^0.2.0 copied to clipboard

An Account Abstraction (4337) Development kit, for quickly building mobile web3 apps and smart wallets.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'package:variancedemo/providers/account_providers.dart';
import 'package:variancedemo/providers/module_provider.dart';
import 'package:variancedemo/providers/wallet_provider.dart';
import 'package:variancedemo/screens/create_account.dart';
import 'package:variancedemo/screens/home/home_screen.dart';
import 'package:variancedemo/screens/initial_page.dart';

final globalScaffoldMessengerKey = GlobalKey<ScaffoldMessengerState>();

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await dotenv.load(fileName: ".env");
  runApp(MultiProvider(providers: [
    ChangeNotifierProvider(create: (_) => WalletProvider()),
    ChangeNotifierProvider(create: (_) => AccountProvider()),
    ChangeNotifierProxyProvider<WalletProvider, ModuleProvider?>(
      create: (_) => null,
      update: (context, walletProvider, previousModule) {
        final wallet = walletProvider.wallet;
        final keyPair = walletProvider.keyPair;
        if (wallet == null) return previousModule;

        return ModuleProvider(wallet, keyPair);
      },
    ),
  ], child: const MyApp()));
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return ScreenUtilInit(
      designSize: const Size(375, 812),
      child: MaterialApp(
        title: 'Variance Dart',
        routes: {
          '/': (context) => const InitialPage(),
          '/create-account': (context) => const CreateAccountScreen(),
          '/home': (context) => const HomeScreen(),
        },
        theme: ThemeData(
          colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xffE1FF01)),
          textTheme: GoogleFonts.poppinsTextTheme(),
        ),
        debugShowCheckedModeBanner: false,
      ),
    );
  }
}
9
likes
140
points
162
downloads

Publisher

verified publishervariance.space

Weekly Downloads

An Account Abstraction (4337) Development kit, for quickly building mobile web3 apps and smart wallets.

Homepage
Repository (GitHub)
View/report issues

Topics

#wallets #ethereum #web3 #account-abstraction

Documentation

Documentation
API reference

License

BSD-3-Clause (license)

Dependencies

eip1559, flutter, http, web3_signers, web3dart

More

Packages that depend on variance_dart