53 lines
4.1 KiB
Kotlin
53 lines
4.1 KiB
Kotlin
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
|
||
} |