clearEvents method

  1. @override
Future<bool> clearEvents(
  1. List<String> events
)
override

Implementation

@override
Future<bool> clearEvents(List<String> events) async {
  checkInitialized();

  try {
    if (_storedValue != null) {
      final idsToDelete = events.map((event) {
        final decodedEvent = jsonDecode(event) as Map<String, dynamic>;
        return decodedEvent['eventId']! as int;
      }).toList();

      final newList = _storedValue!.where((event) {
        final decodedEvent = jsonDecode(event) as Map<String, dynamic>;
        return !idsToDelete.contains(decodedEvent['eventId']! as int);
      }).toList();

      await storage.set(_key, {_key: newList});
      debugPrint(
        '[WalletKit] ✅ [Events] tracker: ${events.length} events cleared. '
        ' ${_storedValue?.length ?? 0} events stored',
      );
      return true;
    }
  } catch (e) {
    debugPrint('[WalletKit] ❌ [Events] tracker: clearEvents, $_key, $e)');
  }

  return false;
}