package models // Token represents a cryptocurrency token in the wallet type Token struct { Symbol string Name string Balance string Value string Change string Positive bool Color string Initials string Network string } // Transaction represents a wallet transaction type Transaction struct { Type string Asset string Amount string USD string Date string Time string Hash string Positive bool Address string } // NFT represents a non-fungible token in the wallet type NFT struct { Name string Collection string Image string Floor string Value string Badge string Verified bool } type AreaSeriesData struct { Date string `json:"date"` Industry string `json:"industry"` Value float64 `json:"value"` } type BubbleData struct { Name string `json:"name"` Sector string `json:"sector"` Value float64 `json:"value"` } // DashboardData holds all data for the dashboard view type DashboardData struct { TotalBalance string Change24h string Tokens []Token Transactions []Transaction NFTs []NFT PortfolioChart []AreaSeriesData MarketCapBubble []BubbleData } // DefaultTokens returns sample token data func DefaultTokens() []Token { return []Token{ {Symbol: "SNR", Name: "Sonr", Balance: "8,432.50", Value: "$4,216.25", Change: "+5.67%", Positive: true, Color: "linear-gradient(135deg, #17c2ff, #0090ff)", Initials: "S", Network: "Sonr Mainnet"}, {Symbol: "ETH", Name: "Ethereum", Balance: "2.847", Value: "$6,682.04", Change: "+3.24%", Positive: true, Color: "#627eea", Initials: "E", Network: "Ethereum"}, {Symbol: "USDC", Name: "USD Coin", Balance: "1,250.00", Value: "$1,250.00", Change: "0.00%", Positive: true, Color: "#2775ca", Initials: "U", Network: "Ethereum"}, {Symbol: "AVAX", Name: "Avalanche", Balance: "24.83", Value: "$699.03", Change: "-2.18%", Positive: false, Color: "#e84142", Initials: "A", Network: "Avalanche"}, } } // DefaultTransactions returns sample transaction data func DefaultTransactions() []Transaction { return []Transaction{ {Type: "receive", Asset: "ETH", Amount: "+0.25 ETH", USD: "$586.25", Date: "Today", Time: "2:34 PM", Hash: "0x8f4a2b1c...", Positive: true, Address: "0x742d...35Cb"}, {Type: "send", Asset: "SNR", Amount: "-500 SNR", USD: "$250.00", Date: "Yesterday", Time: "11:22 AM", Hash: "0x7d3e2a1b...", Positive: false, Address: "sonr1k4m...9p3q"}, {Type: "swap", Asset: "ETH -> USDC", Amount: "0.5 ETH", USD: "-> 1,172.50 USDC", Date: "Jan 1", Time: "9:15 AM", Hash: "0x1a2b3c4d...", Positive: true, Address: "Uniswap V3"}, } } // DefaultNFTs returns sample NFT data func DefaultNFTs() []NFT { return []NFT{ {Name: "Bored Ape #4521", Collection: "Bored Ape Yacht Club", Image: "https://images.unsplash.com/photo-1620641788421-7a1c342ea42e?w=400&h=400&fit=crop", Floor: "28.5 ETH", Value: "32.0 ETH", Badge: "Listed", Verified: true}, {Name: "Sonr Genesis #001", Collection: "Sonr Genesis", Image: "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=400&h=400&fit=crop", Floor: "0.8 ETH", Value: "2.5 ETH", Badge: "Rare", Verified: true}, } } // DefaultPortfolioChartData returns sample stacked area data for portfolio performance func DefaultPortfolioChartData() []AreaSeriesData { return []AreaSeriesData{ // Day 1 {Date: "2024-12-25", Industry: "ETH", Value: 3200}, {Date: "2024-12-25", Industry: "SNR", Value: 2100}, {Date: "2024-12-25", Industry: "USDC", Value: 1200}, {Date: "2024-12-25", Industry: "AVAX", Value: 500}, // Day 2 {Date: "2024-12-26", Industry: "ETH", Value: 3350}, {Date: "2024-12-26", Industry: "SNR", Value: 2200}, {Date: "2024-12-26", Industry: "USDC", Value: 1200}, {Date: "2024-12-26", Industry: "AVAX", Value: 520}, // Day 3 {Date: "2024-12-27", Industry: "ETH", Value: 3500}, {Date: "2024-12-27", Industry: "SNR", Value: 2350}, {Date: "2024-12-27", Industry: "USDC", Value: 1200}, {Date: "2024-12-27", Industry: "AVAX", Value: 480}, // Day 4 {Date: "2024-12-28", Industry: "ETH", Value: 3280}, {Date: "2024-12-28", Industry: "SNR", Value: 2400}, {Date: "2024-12-28", Industry: "USDC", Value: 1200}, {Date: "2024-12-28", Industry: "AVAX", Value: 510}, // Day 5 {Date: "2024-12-29", Industry: "ETH", Value: 3450}, {Date: "2024-12-29", Industry: "SNR", Value: 2550}, {Date: "2024-12-29", Industry: "USDC", Value: 1250}, {Date: "2024-12-29", Industry: "AVAX", Value: 530}, // Day 6 {Date: "2024-12-30", Industry: "ETH", Value: 3600}, {Date: "2024-12-30", Industry: "SNR", Value: 2680}, {Date: "2024-12-30", Industry: "USDC", Value: 1250}, {Date: "2024-12-30", Industry: "AVAX", Value: 550}, // Day 7 {Date: "2024-12-31", Industry: "ETH", Value: 3750}, {Date: "2024-12-31", Industry: "SNR", Value: 2800}, {Date: "2024-12-31", Industry: "USDC", Value: 1250}, {Date: "2024-12-31", Industry: "AVAX", Value: 580}, // Day 8 {Date: "2025-01-01", Industry: "ETH", Value: 3680}, {Date: "2025-01-01", Industry: "SNR", Value: 2900}, {Date: "2025-01-01", Industry: "USDC", Value: 1250}, {Date: "2025-01-01", Industry: "AVAX", Value: 600}, } } // DefaultMarketCapBubbleData returns sample bubble chart data for market cap dominance func DefaultMarketCapBubbleData() []BubbleData { return []BubbleData{ {Name: "BTC", Sector: "Layer 1", Value: 45000}, {Name: "ETH", Sector: "Layer 1", Value: 28000}, {Name: "SNR", Sector: "Layer 1", Value: 8500}, {Name: "SOL", Sector: "Layer 1", Value: 12000}, {Name: "AVAX", Sector: "Layer 1", Value: 6000}, {Name: "USDC", Sector: "Stablecoin", Value: 15000}, {Name: "USDT", Sector: "Stablecoin", Value: 18000}, {Name: "UNI", Sector: "DeFi", Value: 4500}, {Name: "AAVE", Sector: "DeFi", Value: 3200}, {Name: "LINK", Sector: "Oracle", Value: 5800}, } } // DefaultDashboardData returns a complete dashboard data set with sample data func DefaultDashboardData() DashboardData { return DashboardData{ TotalBalance: "12847.32", Change24h: "+$302.18", Tokens: DefaultTokens(), Transactions: DefaultTransactions(), NFTs: DefaultNFTs(), PortfolioChart: DefaultPortfolioChartData(), MarketCapBubble: DefaultMarketCapBubbleData(), } }