loadNip05s method

  1. @override
Future<List<Nip05?>> loadNip05s(
  1. List<String> pubKeys
)
override

Implementation

@override
Future<List<Nip05?>> loadNip05s(List<String> pubKeys) async {
  await dbRdy;
  final box = _objectBox.store.box<DbNip05>();
  final existing = box
      .query(DbNip05_.pubKey.oneOf(pubKeys))
      .order(DbNip05_.networkFetchTime, flags: Order.descending)
      .build()
      .find();

  // Create a map for quick lookup
  final nip05Map = <String, Nip05>{};
  for (final dbNip05 in existing) {
    // Only keep the first (most recent) entry per pubKey
    if (!nip05Map.containsKey(dbNip05.pubKey)) {
      nip05Map[dbNip05.pubKey] = dbNip05.toNdk();
    }
  }

  // Return list in the same order as input, with null for not found
  return pubKeys.map((pubKey) => nip05Map[pubKey]).toList();
}