verify method

  1. @override
Future<bool> verify(
  1. Nip01Event event
)
override

Implementation

@override
Future<bool> verify(Nip01Event event) async {
  await _isInitialized.future;

  if (event.sig == null) {
    return false;
  }

  final verifier = nostrVerifier;
  if (verifier == null) {
    throw Exception(
      'NostrVerifier not available. JS injection may have failed.',
    );
  }

  final jsEvent = NostrEventJS();
  jsEvent.id = event.id;
  jsEvent.pubkey = event.pubKey;
  jsEvent.created_at = event.createdAt;
  jsEvent.kind = event.kind;
  jsEvent.content = event.content;
  jsEvent.sig = event.sig!;

  // Convert tags
  final jsTags = event.tags
      .map((tag) {
        return tag.map((t) => t.toJS).toList().toJS;
      })
      .toList()
      .toJS;
  jsEvent.tags = jsTags;

  final result = await verifier.verifyEvent(jsEvent).toDart;
  return result.toDart;
}