feat: global NDK with account
This commit is contained in:
@@ -10,8 +10,6 @@ import 'package:flutter/services.dart';
|
||||
import 'package:flutter_dropzone/flutter_dropzone.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:mime/mime.dart';
|
||||
import 'package:ndk/data_layer/repositories/verifiers/bip340_event_verifier.dart';
|
||||
import 'package:ndk_flutter/ndk_flutter.dart';
|
||||
import 'package:toastification/toastification.dart';
|
||||
|
||||
class HomePageController extends GetxController {
|
||||
@@ -69,10 +67,10 @@ class HomePageController extends GetxController {
|
||||
);
|
||||
|
||||
final sharedFile = await shareFile(
|
||||
ndk: Get.find(),
|
||||
bytes: bytes,
|
||||
contentType: mimeType,
|
||||
filename: filename,
|
||||
eventVerifier: kIsWeb ? WebEventVerifier() : Bip340EventVerifier(),
|
||||
);
|
||||
|
||||
_sharedFile.value = sharedFile;
|
||||
@@ -119,10 +117,10 @@ class HomePageController extends GetxController {
|
||||
);
|
||||
|
||||
final sharedFile = await shareFile(
|
||||
ndk: Get.find(),
|
||||
bytes: file.bytes!,
|
||||
contentType: mimeType,
|
||||
filename: file.name,
|
||||
eventVerifier: kIsWeb ? WebEventVerifier() : Bip340EventVerifier(),
|
||||
);
|
||||
|
||||
_sharedFile.value = sharedFile;
|
||||
|
||||
+15
-2
@@ -7,10 +7,11 @@ import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:ndk/ndk.dart';
|
||||
import 'package:ndk/shared/nips/nip01/bip340.dart';
|
||||
import 'package:ndk_flutter/ndk_flutter.dart';
|
||||
import 'package:toastification/toastification.dart';
|
||||
|
||||
void main() {
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
final ndk = Ndk(
|
||||
@@ -19,9 +20,21 @@ void main() {
|
||||
cache: MemCacheManager(),
|
||||
),
|
||||
);
|
||||
|
||||
Get.put(ndk);
|
||||
|
||||
final ndkFlutter = NdkFlutter(ndk: ndk);
|
||||
Get.put(ndkFlutter);
|
||||
|
||||
await ndkFlutter.restoreAccountsState();
|
||||
|
||||
if (ndk.accounts.accounts.isEmpty) {
|
||||
final keyPair = Bip340.generatePrivateKey();
|
||||
ndk.accounts.loginPrivateKey(
|
||||
pubkey: keyPair.publicKey,
|
||||
privkey: keyPair.privateKey!,
|
||||
);
|
||||
}
|
||||
|
||||
runApp(const MainApp());
|
||||
}
|
||||
|
||||
|
||||
@@ -10,24 +10,11 @@ import 'package:ndk/ndk.dart';
|
||||
import 'package:ndk/shared/nips/nip01/bip340.dart';
|
||||
|
||||
Future<SharedFile> shareFile({
|
||||
required Ndk ndk,
|
||||
required Uint8List bytes,
|
||||
String? contentType,
|
||||
String? filename,
|
||||
EventVerifier? eventVerifier,
|
||||
}) async {
|
||||
final ndk = Ndk(
|
||||
NdkConfig(
|
||||
eventVerifier: eventVerifier ?? Bip340EventVerifier(),
|
||||
cache: MemCacheManager(),
|
||||
),
|
||||
);
|
||||
|
||||
final keyPair = Bip340.generatePrivateKey();
|
||||
ndk.accounts.loginPrivateKey(
|
||||
pubkey: keyPair.publicKey,
|
||||
privkey: keyPair.privateKey!,
|
||||
);
|
||||
|
||||
final recipientKeyPair = Bip340.generatePrivateKey();
|
||||
|
||||
final encryptedBlob = await encryptBlob(bytes);
|
||||
|
||||
Reference in New Issue
Block a user