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.
120 lines
2.2 KiB
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;
|
|
}
|
|
}
|