import 'package:cake_wallet/entities/crypto_currency.dart'; import 'package:hive/hive.dart'; part 'wallet_type.g.dart'; const walletTypes = [ WalletType.monero, WalletType.bitcoin, WalletType.litecoin ]; const walletTypeTypeId = 5; @HiveType(typeId: walletTypeTypeId) enum WalletType { @HiveField(0) monero, @HiveField(1) none, @HiveField(2) bitcoin, @HiveField(3) litecoin } int serializeToInt(WalletType type) { switch (type) { case WalletType.monero: return 0; case WalletType.bitcoin: return 1; case WalletType.litecoin: return 2; default: return -1; } } WalletType deserializeFromInt(int raw) { switch (raw) { case 0: return WalletType.monero; case 1: return WalletType.bitcoin; case 2: return WalletType.litecoin; default: return null; } } String walletTypeToString(WalletType type) { switch (type) { case WalletType.monero: return 'Monero'; case WalletType.bitcoin: return 'Bitcoin'; case WalletType.litecoin: return 'Litecoin'; default: return ''; } } String walletTypeToDisplayName(WalletType type) { switch (type) { case WalletType.monero: return 'Monero'; case WalletType.bitcoin: return 'Bitcoin (Electrum)'; case WalletType.litecoin: return 'Litecoin'; default: return ''; } } CryptoCurrency walletTypeToCryptoCurrency(WalletType type) { switch (type) { case WalletType.monero: return CryptoCurrency.xmr; case WalletType.bitcoin: return CryptoCurrency.btc; case WalletType.litecoin: return CryptoCurrency.ltc; default: return null; } }