You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cake_wallet/cw_core/lib/wallet_type.dart

120 lines
2.2 KiB

import 'package:cw_core/crypto_currency.dart';
import 'package:hive/hive.dart';
part 'wallet_type.g.dart';
const walletTypes = [
WalletType.monero,
WalletType.bitcoin,
WalletType.litecoin,
WalletType.haven,
WalletType.wownero
];
const walletTypeTypeId = 5;
@HiveType(typeId: walletTypeTypeId)
enum WalletType {
@HiveField(0)
monero,
@HiveField(1)
none,
@HiveField(2)
bitcoin,
@HiveField(3)
litecoin,
@HiveField(4)
haven,
@HiveField(5)
wownero
}
int serializeToInt(WalletType type) {
switch (type) {
case WalletType.monero:
return 0;
case WalletType.bitcoin:
return 1;
case WalletType.litecoin:
return 2;
case WalletType.haven:
return 3;
case WalletType.wownero:
return 4;
default:
return -1;
}
}
WalletType deserializeFromInt(int raw) {
switch (raw) {
case 0:
return WalletType.monero;
case 1:
return WalletType.bitcoin;
case 2:
return WalletType.litecoin;
case 3:
return WalletType.haven;
case 4:
return WalletType.wownero;
default:
return null;
}
}
String walletTypeToString(WalletType type) {
switch (type) {
case WalletType.monero:
return 'Monero';
case WalletType.bitcoin:
return 'Bitcoin';
case WalletType.litecoin:
return 'Litecoin';
case WalletType.haven:
return 'Haven';
case WalletType.wownero:
return 'Wownero';
default:
return '';
}
}
String walletTypeToDisplayName(WalletType type) {
switch (type) {
case WalletType.monero:
return 'Monero';
case WalletType.bitcoin:
return 'Bitcoin (Electrum)';
case WalletType.litecoin:
return 'Litecoin (Electrum)';
case WalletType.haven:
return 'Haven';
case WalletType.wownero:
return 'Wownero';
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;
case WalletType.haven:
return CryptoCurrency.xhv;
case WalletType.wownero:
return CryptoCurrency.wow;
default:
return null;
}
}