Complete reference for TypeScript types used in the CeloRefer SDK
interface UserInfo { referralCode: string; referralCount: number; badgeTier: number; registeredAt: number; // Unix timestamp referrer: Address | null; }
interface UserStats { totalReferrals: number; totalEarnings: bigint; // In wei currentTier: number; nextTierProgress: number; // Percentage to next tier }
interface BadgeInfo { name: string; minReferrals: number; level1Rate: number; // In basis points level2Rate: number; // In basis points color: string; }
interface RewardRates { level1Bps: bigint; // Basis points for direct referrer level2Bps: bigint; // Basis points for parent referrer }
interface ReputationNFTData { tier: number; referrals: number; earnings: bigint; // In wei mintedAt: number; // Unix timestamp tokenId: bigint; }
interface Quest { id: number; name: string; description: string; targetReferrals: number; rewardAmount: bigint; // In wei startTime: number; // Unix timestamp endTime: number; // Unix timestamp isActive: boolean; }
interface UserQuestProgress { questId: number; user: Address; progress: number; // Current referral count target: number; // Target referral count completed: boolean; claimed: boolean; }
interface Season { id: number; name: string; description: string; startTime: number; // Unix timestamp endTime: number; // Unix timestamp totalPrizePool: bigint; // In wei winnersCount: number; isActive: boolean; }
interface SeasonUserStats { seasonId: number; user: Address; referrals: number; earnings: bigint; // In wei rank: number; }
interface PartnerSubscription { partner: Address; tier: number; // 0=Free, 1=Basic, 2=Pro, 3=Enterprise expiryTime: number; // Unix timestamp isActive: boolean; }
interface LeaderboardUser { rank: number; address: Address; referralCount: number; totalEarnings: bigint; // In wei }
interface LeaderboardStats { totalUsers: number; totalReferrals: number; lastUpdated: number; // Unix timestamp }
interface ContractStats { totalUsers: number; totalReferrals: number; totalQuests: number; totalSeasons: number; platformFeeBps: number; }
type Address = \`0x\${string}\`;
type Hex = \`0x\${string}\`;