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

53 lines
4.1 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.bitcointxoko.gudariwallet.util
object WalletConstants {
// ── Unit conversion ───────────────────────────────────────────────────────
const val MSAT_PER_SAT = 1_000L // millisatoshis per satoshi
// ── Polling ───────────────────────────────────────────────────────────────
const val POLL_INTERVAL_MS = 3_000L // delay between payment status checks
const val POLL_MAX_ATTEMPTS = 200 // 200 × 3s = 10 minutes max
// ── 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_PREFS_NAME = "alias_cache_prefs"
const val ALIAS_PREFS_KEY = "alias_cache"
const val ALIAS_PERSIST_TTL_MS = 86_400_000L // 24 hours — drop on load if older than this
// ── Payments cache ────────────────────────────────────────────────────────
// const val PAYMENTS_PREFS_NAME = "payment_cache_prefs"
// const val PAYMENTS_PREFS_KEY = "payment_list"
// const val PAYMENTS_PREFS_SAVED_AT = "payment_list_saved_at"
const val PAYMENTS_CACHE_TTL_MS = 300_000L // 5 minutes — show stale, refresh in background
// ── 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
// ── LNURL metadata cache ──────────────────────────────────────────────────
const val LNURL_CACHE_PREFS_NAME = "lnurl_cache_prefs"
const val LNURL_CACHE_PREFS_KEY = "lnurl_entries"
const val LNURL_CACHE_TTL_MS = 3_600_000L // 1 hour
}