nostrConnectURL property

String get nostrConnectURL

Implementation

String get nostrConnectURL {
  final pubkey = keyPair.publicKey;

  final params = <String>[];

  for (final relay in relays) {
    params.add('relay=${Uri.encodeComponent(relay)}');
  }

  params.add('secret=$secret');

  if (perms != null && perms!.isNotEmpty) {
    params.add('perms=${perms!.join(',')}');
  }

  if (appName != null) {
    params.add('name=${Uri.encodeComponent(appName!)}');
  }

  if (appUrl != null) {
    params.add('url=${Uri.encodeComponent(appUrl!)}');
  }

  if (appImageUrl != null) {
    params.add('image=${Uri.encodeComponent(appImageUrl!)}');
  }

  return 'nostrconnect://$pubkey?${params.join('&')}';
}