package com.bitcointxoko.gudariwallet.util object WalletConstants { // ── Unit conversion ─────────────────────────────────────────────────────── const val MSAT_PER_SAT = 1_000L // millisatoshis per satoshi // ── WebSocket reconnect ─────────────────────────────────────────────────── const val WS_INITIAL_BACKOFF_MS = 1_000L // first retry delay const val WS_MAX_BACKOFF_MS = 16_000L // cap — never wait longer than this const val WS_MAX_ATTEMPTS = 5 // give up after 5 failed reconnects // ── SharedPreferences ───────────────────────────────────────────────────── const val PREFS_NAME = "lnbits_prefs" const val PREFS_BASE_URL = "base_url" const val PREFS_INVOICE_KEY_ENC = "invoice_key_enc" const val PREFS_ADMIN_KEY_ENC = "admin_key_enc" const val PREFS_ONBOARDED = "onboarded" // ── Network ─────────────────────────────────────────────────────────────── const val CONNECT_TIMEOUT_S = 15L const val READ_TIMEOUT_S = 30L const val WRITE_TIMEOUT_S = 15L // ── WebSocket close ─────────────────────────────────────────────────────── const val WS_CLOSE_NORMAL = 1000 // ── History pagination ──────────────────────────────────────────────────── const val PAYMENTS_PAGE_SIZE = 20 // ── Alias cache ─────────────────────────────────────────────────────────── const val ALIAS_CACHE_TTL_MS = 3_600_000L // 1 hour — in-memory stale threshold const val ALIAS_PERSIST_TTL_MS = 21 * 24 * 60 * 60 * 1000L // 21 days — drop on load if older than this // ── LNURL metadata cache ────────────────────────────────────────────────── const val LNURL_CACHE_TTL_MS = 7 * 24 * 60 * 60 * 1000L // 7 days // ── Payments cache ──────────────────────────────────────────────────────── const val PAYMENTS_CACHE_TTL_MS = 300_000L // 5 minutes — show stale, refresh in background // ── Payments sync ───────────────────────────────────────────────────────────── const val PAYMENTS_SYNC_CHECKPOINT = 100 // max payments fetched on auto-sync at startup // ── Balance cache ───────────────────────────────────────────────────────── const val BALANCE_PREFS_NAME = "balance_cache_prefs" const val BALANCE_PREFS_KEY = "last_balance_sats" const val BALANCE_PREFS_SAVED_AT = "last_balance_saved_at" const val BALANCE_CACHE_TTL_MS = 3_600_000L // 1 hour }