verify_public_address 0.0.4 copy "verify_public_address: ^0.0.4" to clipboard
verify_public_address: ^0.0.4 copied to clipboard

Using WalletConnect protocol to get verified public address in wallet for mobile apps, nft apps.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:verify_public_address/verify_public_address.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String urlWc = "";

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(urlWc),
            TextButton(
                onPressed: () {
                  startConnect();
                },
                child: Text('start session'))
          ],
        ),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }

  void startConnect() async {
    final connector = WalletConnect(
      bridge: 'https://bridge.walletconnect.org',
      clientMeta: const PeerMeta(
        name: 'WalletConnect',
        description: 'WalletConnect Developer App',
        url: 'https://walletconnect.org',
        icons: [
          'https://gblobscdn.gitbook.com/spaces%2F-LJJeCjcLrr53DcT1Ml7%2Favatar.png?alt=media'
        ],
      ),
    );
    // Create a new session
    if (!connector.connected) {
      final session = await connector.createSession(
        chainId: 4160,
        onDisplayUri: (uri) {
          var metamask = 'https://metamask.app.link/wc?uri=';
          var trustwallet = 'https://link.trustwallet.com/wc?uri=';
          var deeplink = metamask + uri;
          print(deeplink);
        },
      );
      print(session.accounts);
    }
    // Subscribe to events
    connector.on('connect', (session) => print(session));
    connector.on('session_update', (payload) => print(payload));
    connector.on('disconnect', (session) => print(session));
  }
}
0
likes
135
points
6
downloads

Publisher

unverified uploader

Weekly Downloads

Using WalletConnect protocol to get verified public address in wallet for mobile apps, nft apps.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

convert, cryptography, json_annotation, stack_trace, uuid, web_socket_channel

More

Packages that depend on verify_public_address