stack_wallet/lib/wallets/crypto_currency/coins/epiccash.dart

65 lines
1.8 KiB
Dart
Raw Normal View History

2023-10-30 15:48:05 +00:00
import 'package:flutter_libepiccash/lib.dart' as epic;
import 'package:stackwallet/models/node_model.dart';
import 'package:stackwallet/utilities/default_nodes.dart';
2023-09-18 21:28:31 +00:00
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/wallets/crypto_currency/crypto_currency.dart';
import 'package:stackwallet/wallets/crypto_currency/intermediate/bip39_currency.dart';
2023-09-18 21:28:31 +00:00
class Epiccash extends Bip39Currency {
Epiccash(super.network) {
switch (network) {
case CryptoCurrencyNetwork.main:
coin = Coin.epicCash;
default:
throw Exception("Unsupported network: $network");
}
}
2023-10-30 17:41:52 +00:00
@override
String get genesisHash {
return "not used in epiccash";
}
2023-09-18 21:28:31 +00:00
@override
// change this to change the number of confirms a tx needs in order to show as confirmed
int get minConfirms => 3;
@override
bool validateAddress(String address) {
// Invalid address that contains HTTP and epicbox domain
if ((address.startsWith("http://") || address.startsWith("https://")) &&
address.contains("@")) {
return false;
}
if (address.startsWith("http://") || address.startsWith("https://")) {
if (Uri.tryParse(address) != null) {
return true;
}
}
2023-10-30 15:48:05 +00:00
return epic.LibEpiccash.validateSendAddress(address: address);
2023-09-18 21:28:31 +00:00
}
@override
NodeModel get defaultNode {
switch (network) {
case CryptoCurrencyNetwork.main:
return NodeModel(
host: "https://wownero.stackwallet.com",
port: 34568,
name: DefaultNodes.defaultName,
id: DefaultNodes.buildId(Coin.wownero),
useSSL: true,
enabled: true,
coinName: Coin.wownero.name,
isFailover: true,
isDown: false,
trusted: true,
);
default:
throw UnimplementedError();
}
}
2023-09-18 21:28:31 +00:00
}