Files
gudari/app/src/main/java/com/bitcointxoko/gudariwallet/util/WalletConstants.kt
T

45 lines
3.7 KiB
Kotlin

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
}