'use strict';

// All 14 supported coins with full metadata
const COINS = {
  BTC: {
    name:       'Bitcoin',
    symbol:     'BTC',
    icon:       '₿',
    color:      '#f7931a',
    network:    'Bitcoin Mainnet',
    uri_scheme: 'bitcoin',
    decimals:   8,
    confirms:   1,
    derivation: "m/84'/0'/0'",
    coingecko:  'bitcoin',
    rec_fee:    '1 sat/byte',
    free:       true,
    tatum_chain:'BTC',
    explorer:   'https://blockstream.info/tx/',
  },
  LTC: {
    name:       'Litecoin',
    symbol:     'LTC',
    icon:       'Ł',
    color:      '#3b82f6',
    network:    'Litecoin Mainnet',
    uri_scheme: 'litecoin',
    decimals:   8,
    confirms:   3,
    derivation: "m/84'/2'/0'",
    coingecko:  'litecoin',
    rec_fee:    '10 sat/byte',
    free:       true,
    tatum_chain:'LTC',
    explorer:   'https://blockchair.com/litecoin/transaction/',
  },
  ETH: {
    name:       'Ethereum',
    symbol:     'ETH',
    icon:       'Ξ',
    color:      '#627eea',
    network:    'Ethereum',
    uri_scheme: 'ethereum',
    decimals:   18,
    confirms:   12,
    derivation: "m/44'/60'/0'",
    coingecko:  'ethereum',
    rec_fee:    '~$2 gas',
    free:       false,
    tatum_chain:'ETH',
    explorer:   'https://etherscan.io/tx/',
  },
  USDT_TRC20: {
    name:       'Tether (TRC-20)',
    symbol:     'USDT',
    icon:       '₮',
    color:      '#26a17b',
    network:    'Tron (TRC-20)',
    uri_scheme: 'tron',
    decimals:   6,
    confirms:   20,
    derivation: "m/44'/195'/0'",
    coingecko:  'tether',
    rec_fee:    '~$0.80',
    free:       false,
    tatum_chain:'TRON',
    explorer:   'https://tronscan.org/#/transaction/',
  },
  USDT_ERC20: {
    name:       'Tether (ERC-20)',
    symbol:     'USDT',
    icon:       '₮',
    color:      '#26a17b',
    network:    'Ethereum (ERC-20)',
    uri_scheme: 'ethereum',
    decimals:   6,
    confirms:   12,
    derivation: "m/44'/60'/0'",
    coingecko:  'tether',
    rec_fee:    '~$2 gas',
    free:       false,
    tatum_chain:'ETH',
    explorer:   'https://etherscan.io/tx/',
  },
  USDC: {
    name:       'USD Coin',
    symbol:     'USDC',
    icon:       '$',
    color:      '#2775ca',
    network:    'Ethereum (ERC-20)',
    uri_scheme: 'ethereum',
    decimals:   6,
    confirms:   12,
    derivation: "m/44'/60'/0'",
    coingecko:  'usd-coin',
    rec_fee:    '~$2 gas',
    free:       false,
    tatum_chain:'ETH',
    explorer:   'https://etherscan.io/tx/',
  },
  XMR: {
    name:       'Monero',
    symbol:     'XMR',
    icon:       'ɱ',
    color:      '#ff6600',
    network:    'Monero',
    uri_scheme: 'monero',
    decimals:   12,
    confirms:   10,
    derivation: 'subaddress',
    coingecko:  'monero',
    rec_fee:    '~$0.01',
    free:       false,
    tatum_chain:null, // Monero needs own node
    explorer:   'https://localmonero.co/blocks/tx/',
  },
  BNB: {
    name:       'BNB',
    symbol:     'BNB',
    icon:       'B',
    color:      '#f0b90b',
    network:    'BNB Smart Chain',
    uri_scheme: 'binancecoin',
    decimals:   18,
    confirms:   15,
    derivation: "m/44'/60'/0'",
    coingecko:  'binancecoin',
    rec_fee:    '~$0.15',
    free:       false,
    tatum_chain:'BSC',
    explorer:   'https://bscscan.com/tx/',
  },
  DOGE: {
    name:       'Dogecoin',
    symbol:     'DOGE',
    icon:       'Ð',
    color:      '#c9a91b',
    network:    'Dogecoin',
    uri_scheme: 'dogecoin',
    decimals:   8,
    confirms:   6,
    derivation: "m/44'/3'/0'",
    coingecko:  'dogecoin',
    rec_fee:    '~1 DOGE',
    free:       false,
    tatum_chain:'DOGE',
    explorer:   'https://dogechain.info/tx/',
  },
  SOL: {
    name:       'Solana',
    symbol:     'SOL',
    icon:       '◎',
    color:      '#9945ff',
    network:    'Solana',
    uri_scheme: 'solana',
    decimals:   9,
    confirms:   32,
    derivation: "m/44'/501'/0'",
    coingecko:  'solana',
    rec_fee:    '~$0.001',
    free:       false,
    tatum_chain:'SOL',
    explorer:   'https://solscan.io/tx/',
  },
  MATIC: {
    name:       'Polygon',
    symbol:     'MATIC',
    icon:       '⬡',
    color:      '#8247e5',
    network:    'Polygon',
    uri_scheme: 'polygon',
    decimals:   18,
    confirms:   30,
    derivation: "m/44'/60'/0'",
    coingecko:  'matic-network',
    rec_fee:    '~$0.01',
    free:       false,
    tatum_chain:'MATIC',
    explorer:   'https://polygonscan.com/tx/',
  },
  TRX: {
    name:       'Tron',
    symbol:     'TRX',
    icon:       'T',
    color:      '#ef0027',
    network:    'Tron',
    uri_scheme: 'tron',
    decimals:   6,
    confirms:   20,
    derivation: "m/44'/195'/0'",
    coingecko:  'tron',
    rec_fee:    '~$0.10',
    free:       false,
    tatum_chain:'TRON',
    explorer:   'https://tronscan.org/#/transaction/',
  },
  AVAX: {
    name:       'Avalanche',
    symbol:     'AVAX',
    icon:       '▲',
    color:      '#e84142',
    network:    'Avalanche C-Chain',
    uri_scheme: 'avalanche',
    decimals:   18,
    confirms:   20,
    derivation: "m/44'/9005'/0'",
    coingecko:  'avalanche-2',
    rec_fee:    '~$0.10',
    free:       false,
    tatum_chain:'AVAX',
    explorer:   'https://snowtrace.io/tx/',
  },
  ARB: {
    name:       'Arbitrum',
    symbol:     'ARB',
    icon:       '○',
    color:      '#28a0f0',
    network:    'Arbitrum One',
    uri_scheme: 'arbitrum',
    decimals:   18,
    confirms:   20,
    derivation: "m/44'/60'/0'",
    coingecko:  'arbitrum',
    rec_fee:    '~$0.05',
    free:       false,
    tatum_chain:'ARB',
    explorer:   'https://arbiscan.io/tx/',
  },
};

module.exports = COINS;
