diff --git a/packages/ndk/lib/domain_layer/usecases/nwc/nwc.dart b/packages/ndk/lib/domain_layer/usecases/nwc/nwc.dart index 1829f09bf..dfbae0c54 100644 --- a/packages/ndk/lib/domain_layer/usecases/nwc/nwc.dart +++ b/packages/ndk/lib/domain_layer/usecases/nwc/nwc.dart @@ -106,6 +106,10 @@ class Nwc { if (versionTags.isNotEmpty) { connection.supportedVersions = versionTags.first.split(" "); } + List encryptions = event.getTags('encryption'); + if (encryptions.isNotEmpty) { + connection.supportedEncryptions = encryptions.first.split(" "); + } await _subscribeToNotificationsAndResponses(connection); diff --git a/packages/ndk/lib/domain_layer/usecases/nwc/nwc_connection.dart b/packages/ndk/lib/domain_layer/usecases/nwc/nwc_connection.dart index 2c6ef95fa..b3dfd453d 100644 --- a/packages/ndk/lib/domain_layer/usecases/nwc/nwc_connection.dart +++ b/packages/ndk/lib/domain_layer/usecases/nwc/nwc_connection.dart @@ -58,6 +58,7 @@ class NwcConnection { } List supportedVersions = ["0.0"]; + List supportedEncryptions = ["nip04"]; Set permissions = {}; @@ -78,8 +79,8 @@ class NwcConnection { /// does this connection only support legacy notifications bool isLegacyNotifications() { - return supportedVersions.length == 1 && supportedVersions.first == "0.0" || - !supportedVersions.any((e) => e != "0.0"); + return (supportedVersions.length == 1 && supportedVersions.first == "0.0" || + !supportedVersions.any((e) => e != "0.0")) && !supportedEncryptions.any((e) => e != "nip04"); } @override