variance_dart 0.2.2 copy "variance_dart: ^0.2.2" to clipboard
variance_dart: ^0.2.2 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,
      ),
    );
  }
}
10
likes
140
points
186
downloads

Documentation

Documentation
API reference

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

License

BSD-3-Clause (license)

Dependencies

eip1559, http, web3_signers, web3dart

More

Packages that depend on variance_dart