| import { DashboardStats, Wallet, Campaign, LeaderboardEntry, ChurnEvent, ProtocolMetric, RetentionCohort } from './types' |
|
|
| export const stats: DashboardStats = { |
| activeWallets: 312847, walletsAtRisk: 23891, walletsSaved: 15234, |
| activeCampaigns: 42, totalEventsToday: 89432, rewardsDistributed: 2847123, |
| avgRetention: 67.3, churnRate: 4.2, agentActionsToday: 3847, roi: 847, |
| } |
|
|
| export const wallets: Wallet[] = [ |
| { address: '7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU', churnRisk: 'critical', riskScore: 94, lastActive: '10d ago', totalVolume: 847293, streak: 0, protocols: ['Jupiter','Raydium'], savedCount: 0 }, |
| { address: '9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM', churnRisk: 'high', riskScore: 78, lastActive: '5d ago', totalVolume: 1234567, streak: 2, protocols: ['Drift','Marginfi','Jupiter'], savedCount: 1 }, |
| { address: '4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU', churnRisk: 'medium', riskScore: 52, lastActive: '2d ago', totalVolume: 3456789, streak: 5, protocols: ['Kamino','Jupiter'], savedCount: 0 }, |
| { address: 'HN7cABqLq46Es1jh92dQQisAq662SmxELLLsHHe4YWrH', churnRisk: 'low', riskScore: 23, lastActive: '1h ago', totalVolume: 8745321, streak: 14, protocols: ['Jupiter','Raydium','Drift','Kamino'], savedCount: 2 }, |
| { address: '5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1', churnRisk: 'safe', riskScore: 8, lastActive: '30m ago', totalVolume: 15234567, streak: 47, protocols: ['Jupiter','Raydium','Drift','Marginfi','Kamino'], savedCount: 3 }, |
| { address: 'DRpbCBMxVnDK7maPM5tGv6MvB3v1sRMC86PZ8okm21hy', churnRisk: 'critical', riskScore: 91, lastActive: '12d ago', totalVolume: 234567, streak: 0, protocols: ['Raydium'], savedCount: 0 }, |
| { address: '3Katmm9dhvLQijAvomR7aB6urfNzhHgeR4ppKGH4Azch', churnRisk: 'high', riskScore: 72, lastActive: '6d ago', totalVolume: 567890, streak: 1, protocols: ['Jupiter','Marginfi'], savedCount: 0 }, |
| { address: 'J2DK1MZaFf9SLkHMwSJkDDnVFTvLEcmAuDmpGqBeGk2W', churnRisk: 'medium', riskScore: 45, lastActive: '1d ago', totalVolume: 2345678, streak: 8, protocols: ['Drift','Kamino'], savedCount: 1 }, |
| { address: 'Fq8xScbXCB4ocnPcCPVHnrzFbAMiejqFJb8cnRJTjBHu', churnRisk: 'low', riskScore: 18, lastActive: '2h ago', totalVolume: 12345678, streak: 31, protocols: ['Jupiter','Raydium','Drift'], savedCount: 4 }, |
| { address: 'BKiKp1XhsBfwGHNTZ87Fz1DMLkxGfqkR3yt3rJsW7mS2', churnRisk: 'safe', riskScore: 5, lastActive: '15m ago', totalVolume: 28456789, streak: 62, protocols: ['Jupiter','Raydium','Drift','Marginfi','Kamino','Tensor'], savedCount: 5 }, |
| ] |
|
|
| export const campaigns: Campaign[] = [ |
| { id: '1', name: 'Weekly Volume Champions', type: 'leaderboard', status: 'active', description: 'Top 50 traders by weekly swap volume earn SOL rewards', budget: 50000, tokenMint: 'SOL', participantCount: 12847, eventsProcessed: 89432, rewardsDistributed: 0, formula: 'SUM(swap_volume)', createdBy: 'ai-agent' }, |
| { id: '2', name: 'Comeback Raffle', type: 'raffle', status: 'active', description: 'Returning users after 7+ days get raffle tickets for weekly SOL draw', budget: 25000, tokenMint: 'SOL', participantCount: 3456, eventsProcessed: 8923, rewardsDistributed: 0, createdBy: 'ai-agent' }, |
| { id: '3', name: 'Anti-Churn Gift Drop', type: 'gift', status: 'active', description: 'Wallets at high churn risk receive 0.5 SOL gift to incentivize return', budget: 15000, tokenMint: 'SOL', participantCount: 1234, eventsProcessed: 4567, rewardsDistributed: 8234, createdBy: 'ai-agent' }, |
| { id: '4', name: 'Streak Multiplier Rebate', type: 'rebate', status: 'active', description: '7+ day streak unlocks 2x fee rebate for 48 hours', budget: 75000, tokenMint: 'USDC', participantCount: 8932, eventsProcessed: 45678, rewardsDistributed: 34567, formula: 'streak_days >= 7', createdBy: 'ai-agent' }, |
| { id: '5', name: 'DeFi Explorer Rewards', type: 'leaderboard', status: 'active', description: 'Score = protocols_used x volume. Multi-protocol users rank higher', budget: 30000, tokenMint: 'SOL', participantCount: 6789, eventsProcessed: 23456, rewardsDistributed: 0, formula: 'COUNT(protocols) * SUM(volume)', createdBy: 'manual' }, |
| { id: '6', name: 'New User Welcome Gift', type: 'gift', status: 'ended', description: 'First-time users who complete 3 swaps receive welcome SOL', budget: 10000, tokenMint: 'SOL', participantCount: 4567, eventsProcessed: 12345, rewardsDistributed: 9876, createdBy: 'manual' }, |
| { id: '7', name: 'Power Trader Rebate', type: 'rebate', status: 'ended', description: 'Top 100 by volume get 50% fee rebate', budget: 100000, tokenMint: 'USDC', participantCount: 15678, eventsProcessed: 234567, rewardsDistributed: 89234, formula: 'SUM(swap_volume) > 100000', createdBy: 'ai-agent' }, |
| ] |
|
|
| export const leaderboard: LeaderboardEntry[] = [ |
| { rank: 1, wallet: 'BKiKp1...mS2', score: 98750, change24h: 12.5, volume: 28456789, streak: 62, protocols: ['Jupiter','Raydium','Drift','Marginfi','Kamino','Tensor'], rewards: 5000 }, |
| { rank: 2, wallet: '5Q544f...4j1', score: 87234, change24h: 8.3, volume: 15234567, streak: 47, protocols: ['Jupiter','Raydium','Drift','Marginfi','Kamino'], rewards: 3500 }, |
| { rank: 3, wallet: 'Fq8xSc...BHu', score: 76543, change24h: -2.1, volume: 12345678, streak: 31, protocols: ['Jupiter','Raydium','Drift'], rewards: 2500 }, |
| { rank: 4, wallet: 'HN7cAB...WrH', score: 65432, change24h: 15.7, volume: 8745321, streak: 14, protocols: ['Jupiter','Raydium','Drift','Kamino'], rewards: 1800 }, |
| { rank: 5, wallet: '4zMMC9...cDU', score: 54321, change24h: 3.4, volume: 3456789, streak: 5, protocols: ['Kamino','Jupiter'], rewards: 1200 }, |
| { rank: 6, wallet: 'J2DK1M...k2W', score: 43210, change24h: -5.2, volume: 2345678, streak: 8, protocols: ['Drift','Kamino'], rewards: 800 }, |
| { rank: 7, wallet: '9WzDXw...WWM', score: 32109, change24h: 1.8, volume: 1234567, streak: 2, protocols: ['Drift','Marginfi','Jupiter'], rewards: 600 }, |
| { rank: 8, wallet: '7xKXtg...AsU', score: 21098, change24h: -18.4, volume: 847293, streak: 0, protocols: ['Jupiter','Raydium'], rewards: 400 }, |
| { rank: 9, wallet: '3Katmm...zch', score: 15432, change24h: -3.7, volume: 567890, streak: 1, protocols: ['Jupiter','Marginfi'], rewards: 300 }, |
| { rank: 10, wallet: 'DRpbCB...1hy', score: 8765, change24h: -25.6, volume: 234567, streak: 0, protocols: ['Raydium'], rewards: 200 }, |
| ] |
|
|
| export const events: ChurnEvent[] = [ |
| { id: 'e1', wallet: '7xKXtg...AsU', eventType: 'churn_risk_high', timestamp: '14:23:00', resolved: false, campaignTriggered: 'Anti-Churn Gift' }, |
| { id: 'e2', wallet: '9WzDXw...WWM', eventType: 'churn_risk_medium', timestamp: '14:18:00', resolved: false, campaignTriggered: 'Comeback Raffle' }, |
| { id: 'e3', wallet: 'HN7cAB...WrH', eventType: 'comeback_detected', timestamp: '13:45:00', resolved: true }, |
| { id: 'e4', wallet: '5Q544f...4j1', eventType: 'streak_maintained', timestamp: '12:00:00', resolved: true }, |
| { id: 'e5', wallet: 'Fq8xSc...BHu', eventType: 'volume_milestone', timestamp: '11:30:00', resolved: true }, |
| { id: 'e6', wallet: 'DRpbCB...1hy', eventType: 'churn_risk_high', timestamp: '10:15:00', resolved: false, campaignTriggered: 'Anti-Churn Gift' }, |
| { id: 'e7', wallet: '3Katmm...zch', eventType: 'inactivity_detected', timestamp: '09:45:00', resolved: false }, |
| { id: 'e8', wallet: 'J2DK1M...k2W', eventType: 'comeback_detected', timestamp: '08:30:00', resolved: true, campaignTriggered: 'Streak Rebate' }, |
| ] |
|
|
| export const protocols: ProtocolMetric[] = [ |
| { protocol: 'Jupiter', volume: 847293456, users: 234567, churnRate: 3.8, retentionRate: 72, avgStreak: 12, color: '#22d3ee' }, |
| { protocol: 'Raydium', volume: 567234567, users: 189234, churnRate: 5.2, retentionRate: 64, avgStreak: 8, color: '#a78bfa' }, |
| { protocol: 'Drift', volume: 345234567, users: 87654, churnRate: 4.1, retentionRate: 68, avgStreak: 10, color: '#f472b6' }, |
| { protocol: 'Marginfi', volume: 234567890, users: 67890, churnRate: 3.5, retentionRate: 74, avgStreak: 15, color: '#34d399' }, |
| { protocol: 'Kamino', volume: 189234567, users: 45678, churnRate: 3.2, retentionRate: 76, avgStreak: 18, color: '#fbbf24' }, |
| { protocol: 'Tensor', volume: 123456789, users: 34567, churnRate: 6.1, retentionRate: 58, avgStreak: 6, color: '#f87171' }, |
| ] |
|
|
| export const cohorts: RetentionCohort[] = [ |
| { week: 'Mar 3', d1: 100, d7: 72, d14: 58, d30: 41, d60: 28 }, |
| { week: 'Mar 10', d1: 100, d7: 74, d14: 61, d30: 44, d60: 31 }, |
| { week: 'Mar 17', d1: 100, d7: 76, d14: 63, d30: 47, d60: 33 }, |
| { week: 'Mar 24', d1: 100, d7: 78, d14: 65, d30: 49, d60: 35 }, |
| { week: 'Mar 31', d1: 100, d7: 79, d14: 67, d30: 52, d60: 0 }, |
| { week: 'Apr 7', d1: 100, d7: 81, d14: 69, d30: 0, d60: 0 }, |
| { week: 'Apr 14', d1: 100, d7: 83, d14: 0, d30: 0, d60: 0 }, |
| { week: 'Apr 21', d1: 100, d7: 0, d14: 0, d30: 0, d60: 0 }, |
| ] |
|
|
| export const retentionData = [ |
| { date: 'Apr 1', value: 58.2 }, { date: 'Apr 5', value: 61.3 }, { date: 'Apr 9', value: 62.4 }, |
| { date: 'Apr 13', value: 62.9 }, { date: 'Apr 17', value: 65.8 }, { date: 'Apr 21', value: 65.9 }, |
| { date: 'Apr 25', value: 67.1 }, { date: 'Apr 30', value: 67.8 }, |
| ] |
|
|
| export const churnData = [ |
| { date: 'Apr 1', value: 8.4 }, { date: 'Apr 5', value: 7.2 }, { date: 'Apr 9', value: 6.8 }, |
| { date: 'Apr 13', value: 6.7 }, { date: 'Apr 17', value: 5.5 }, { date: 'Apr 21', value: 5.2 }, |
| { date: 'Apr 25', value: 4.6 }, { date: 'Apr 30', value: 4.1 }, |
| ] |
|
|
| export const dailyEvents = [ |
| { date: 'Apr 24', value: 67234 }, { date: 'Apr 25', value: 72345 }, { date: 'Apr 26', value: 78234 }, |
| { date: 'Apr 27', value: 71234 }, { date: 'Apr 28', value: 82345 }, { date: 'Apr 29', value: 85432 }, { date: 'Apr 30', value: 89432 }, |
| ] |
|
|
| export const roiData = [ |
| { date: 'Week 1', value: 234 }, { date: 'Week 2', value: 387 }, { date: 'Week 3', value: 521 }, |
| { date: 'Week 4', value: 647 }, { date: 'Week 5', value: 723 }, { date: 'Week 6', value: 847 }, |
| ] |
|
|
| export const agentMsgs = [ |
| '\u{1F50D} Scanning 312,847 active wallets for churn signals...', |
| '\u26A0\uFE0F Critical: Wallet 7xKXtg...AsU inactive 10 days \u2014 triggering gift campaign', |
| '\u{1F381} Gift sent: 0.5 SOL \u2192 7xKXtg...AsU via Torque MCP', |
| '\u{1F4CA} Leaderboard updated: 12,847 participants scored', |
| '\u{1F39F}\uFE0F Raffle enrollment: 9WzDXw...WWM gets 3x ticket multiplier', |
| '\u{1F525} Comeback detected: HN7cAB...WrH returned after 12 days', |
| '\u{1F4B0} Rebate boost activated: HN7cAB...WrH gets 2x for 48h', |
| '\u{1F916} Auto-creating "Weekend Streak Challenge" campaign...', |
| '\u2705 Campaign created successfully \u2014 Budget: 5,000 SOL', |
| '\u{1F4C8} Daily retention up 0.5% \u2014 FlowState is working', |
| '\u{1F6E1}\uFE0F Sybil check passed: 99.7% legitimate interactions', |
| '\u{1F3AF} Targeting 1,234 wallets with personalized incentives', |
| ] |
|
|
| export const eventBreakdown = [ |
| { event: 'churn_risk_high', count: 2341, color: '#f6465d' }, |
| { event: 'churn_risk_medium', count: 5678, color: '#ff9500' }, |
| { event: 'comeback_detected', count: 8923, color: '#0ecb81' }, |
| { event: 'streak_maintained', count: 34567, color: '#FCD535' }, |
| { event: 'volume_milestone', count: 12345, color: '#2dbdb6' }, |
| { event: 'referral_from_saved', count: 4567, color: '#a78bfa' }, |
| { event: 'inactivity_detected', count: 21011, color: '#707a8a' }, |
| ] |
|
|