push_restapi_dart 0.1.6-alpha copy "push_restapi_dart: ^0.1.6-alpha" to clipboard
push_restapi_dart: ^0.1.6-alpha copied to clipboard

Push SDK provides an abstraction layer to integrate Push protocol features with your Frontend as well as Backend.

example/lib/main.dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:push_restapi_dart/push_restapi_dart.dart';

import '__lib.dart';
import 'package:ethers/signers/wallet.dart' as ether;

void main() async {
  //testSendVideoCallNotification();

  // testFetchRequests();
  // testVideoInitialise();

  // testCreateSpace();
  // testStartSpace();

  runApp(
    ProviderScope(
      child: const MyApp(),
    ),
  );
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
          primaryColor: Colors.purple,
          appBarTheme: AppBarTheme(backgroundColor: Colors.purple)),
      home: HomeScreen(),
    );
  }
}

exampleInit() async {
  WidgetsFlutterBinding.ensureInitialized();

  const mnemonic =
      'coconut slight random umbrella print verify agent disagree endorse october beyond bracket';
  final ethersWallet = ether.Wallet.fromMnemonic(mnemonic);
  final signer = EthersSigner(
    ethersWallet: ethersWallet,
    address: ethersWallet.address!,
  );

  print('walletMnemonic.address: ${ethersWallet.address}');
  final user = await getUser(address: ethersWallet.address!);

  if (user == null) {
    print('Cannot get user');
    return;
  }

  String? pgpPrivateKey = null;
  if (user.encryptedPrivateKey != null) {
    pgpPrivateKey = await decryptPGPKey(
      encryptedPGPPrivateKey: user.encryptedPrivateKey!,
      wallet: getWallet(signer: signer),
    );
  }

  print('pgpPrivateKey: $pgpPrivateKey');

  final pushWallet = Wallet(
    address: ethersWallet.address,
    signer: signer,
    pgpPrivateKey: pgpPrivateKey,
  );

  await initPush(
    wallet: pushWallet,
    env: ENV.staging,
  );
}
4
likes
0
pub points
0%
popularity

Publisher

unverified uploader

Push SDK provides an abstraction layer to integrate Push protocol features with your Frontend as well as Backend.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

crypto, cryptography, dart_pg, encrypt, flutter, flutter_riverpod, flutter_webrtc, hex, http, livekit_client, openpgp, pointycastle, riverpod, uuid

More

Packages that depend on push_restapi_dart