// Donation addresses for the project. These are PUBLIC by design — the app ships
// them in plaintext so users can verify them on-screen + cross-reference against
// the project README before sending crypto.
//
// To swap addresses: regenerate in your wallet, paste new value here, rebuild APK.
// (We do NOT fetch addresses from backend — that would let a compromised server
// swap addresses mid-donation. Hardcoding pins the address to the signed APK.)

export type DonateCoin = {
  /** Internal key, used for analytics + storage. */
  id: 'xmr' | 'btc' | 'ltc';
  /** Short ticker shown in UI chip. */
  ticker: string;
  /** Full name shown on detail card. */
  name: string;
  /** One-line value prop shown under the name. */
  blurb: string;
  /** Receive address — generate fresh, never re-use across projects. */
  address: string;
  /** Hex color used as the coin's accent in the UI. */
  color: string;
  /** Optional URI scheme prefix for QR codes (most wallets recognize these). */
  qrScheme?: string;
};

// PLACEHOLDER ADDRESSES — replace before publishing.
// Workflow:
//   1. Install Cake Wallet from github.com/cake-tech/cake_wallet/releases (NOT Play Store)
//   2. Generate XMR + BTC + LTC wallets, store each seed offline on its own paper
//   3. Tap "Receive" per wallet → copy address → paste below
//   4. Rebuild APK + publish update
export const DONATE_COINS: DonateCoin[] = [
  {
    id: 'xmr',
    ticker: 'XMR',
    name: 'Monero',
    blurb: 'Privacy by default. Untraceable on-chain. Recommended.',
    address: '47cXcrsYUsk81rDY3wp7ASUQtpkMHyrt4WHpqef9nSUugqxqFRaE13QBd1wviGpJHJ9Vt82GsyncNEKHQizXkoVMUVMEh1c',
    color: '#F26822',
    qrScheme: 'monero:',
  },
  {
    id: 'btc',
    ticker: 'BTC',
    name: 'Bitcoin',
    blurb: 'Mainstream, easy to send. On-chain is public — use a fresh wallet to donate anonymously.',
    address: 'bc1qcaa4rv89rtt39y92rpff5rlysmtkful9ck6mml',
    color: '#F7931A',
    qrScheme: 'bitcoin:',
  },
  {
    id: 'ltc',
    ticker: 'LTC',
    name: 'Litecoin',
    blurb: 'Fast and cheap (~$0.01 fee). Lower adoption than BTC but friendlier for small donations.',
    address: 'ltc1qlqe0f7nmt4se82adgj8z6vcz2zeqfrlwz0n85s',
    color: '#345D9D',
    qrScheme: 'litecoin:',
  },
];

/** Returns the value to encode in the QR code — wallet URI when supported. */
export function qrPayload(coin: DonateCoin): string {
  if (coin.qrScheme) return `${coin.qrScheme}${coin.address}`;
  return coin.address;
}

/** True when an address still equals its placeholder — used to gate the screen. */
export function isPlaceholder(addr: string): boolean {
  return addr.startsWith('REPLACE_WITH_');
}
