From 54ce0b03fcf48cffc8ac94e6e61b335fd54f405d Mon Sep 17 00:00:00 2001 From: Gringo Date: Sun, 1 Mar 2026 16:32:55 +0100 Subject: [PATCH] feat: global NDK with account --- lib/controllers/home_controller.dart | 6 ++---- lib/main.dart | 17 +++++++++++++++-- .../lib/src/functions/share_file.dart | 15 +-------------- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/lib/controllers/home_controller.dart b/lib/controllers/home_controller.dart index 2f2c0df..6ce296e 100644 --- a/lib/controllers/home_controller.dart +++ b/lib/controllers/home_controller.dart @@ -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; diff --git a/lib/main.dart b/lib/main.dart index 358d9be..a1fa03a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -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()); } diff --git a/packages/file_transfer_sdk/lib/src/functions/share_file.dart b/packages/file_transfer_sdk/lib/src/functions/share_file.dart index 914998c..9b3c39f 100644 --- a/packages/file_transfer_sdk/lib/src/functions/share_file.dart +++ b/packages/file_transfer_sdk/lib/src/functions/share_file.dart @@ -10,24 +10,11 @@ import 'package:ndk/ndk.dart'; import 'package:ndk/shared/nips/nip01/bip340.dart'; Future 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);