export interface TierData {
  name: string;
  rankRange: string;
  airdropAllocation: number;
  pogBoost: number | null;
}

export const TIER_SYSTEM: TierData[] = [
  {
    name: "SUPREME",
    rankRange: "Top 0.1%",
    airdropAllocation: 5,
    pogBoost: 3.50
  },
  {
    name: "AURORA", 
    rankRange: "Top 0.1%-0.5%",
    airdropAllocation: 10,
    pogBoost: 2.00
  },
  {
    name: "DIAMOND",
    rankRange: "Top 0.5%-1%", 
    airdropAllocation: 10,
    pogBoost: 1.00
  },
  {
    name: "TITAN",
    rankRange: "Top 1%-5%",
    airdropAllocation: 24,
    pogBoost: 0.50
  },
  {
    name: "GOLD",
    rankRange: "Top 5%-20%",
    airdropAllocation: 26,
    pogBoost: 0.25
  },
  {
    name: "SILVER",
    rankRange: "Top 20%-50%",
    airdropAllocation: 20,
    pogBoost: 0.15
  },
  {
    name: "BRONZE",
    rankRange: "Top 50%-80%",
    airdropAllocation: 5,
    pogBoost: null
  }
];

export class TierSystem {
  /**
   * Get tier data by tier name
   */
  static getTierByName(name: string): TierData | undefined {
    return TIER_SYSTEM.find(tier => tier.name === name);
  }

  /**
   * Get all tiers
   */
  static getAllTiers(): TierData[] {
    return TIER_SYSTEM;
  }

  /**
   * Get total airdrop allocation percentage
   */
  static getTotalAirdropAllocation(): number {
    return TIER_SYSTEM.reduce((total, tier) => total + tier.airdropAllocation, 0);
  }

  /**
   * Get tiers with POG boost
   */
  static getTiersWithPogBoost(): TierData[] {
    return TIER_SYSTEM.filter(tier => tier.pogBoost !== null);
  }
 
} 