45 lines
3.7 KiB
Kotlin
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
|
|
} |