import { HexKey, RelaySettings, u256 } from "@snort/nostr"; import { UserPreferences } from "Login"; import { SubscriptionEvent } from "Subscription"; /** * Stores latest copy of an item */ interface Newest { item: T; timestamp: number; } export interface LoginSession { /** * Current user private key */ privateKey?: HexKey; /** * BIP39-generated, hex-encoded entropy */ generatedEntropy?: string; /** * Current users public key */ publicKey?: HexKey; /** * All the logged in users relays */ relays: Newest>; /** * A list of pubkeys this user follows */ follows: Newest>; /** * A list of tags this user follows */ tags: Newest>; /** * A list of event ids this user has pinned */ pinned: Newest>; /** * A list of event ids this user has bookmarked */ bookmarked: Newest>; /** * A list of pubkeys this user has muted */ muted: Newest>; /** * A list of pubkeys this user has muted privately */ blocked: Newest>; /** * Latest notification */ latestNotification: number; /** * Timestamp of last read notification */ readNotifications: number; /** * Users cusom preferences */ preferences: UserPreferences; /** * Snort subscriptions licences */ subscriptions: Array; }