import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; 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'; class Stellar extends Bip39Currency { Stellar(super.network) { switch (network) { case CryptoCurrencyNetwork.main: coin = Coin.stellar; case CryptoCurrencyNetwork.test: coin = Coin.stellarTestnet; default: throw Exception("Unsupported network: $network"); } } @override int get minConfirms => 1; @override bool get torSupport => true; @override String get genesisHash => throw UnimplementedError( "Not used for stellar", ); @override NodeModel get defaultNode { switch (network) { case CryptoCurrencyNetwork.main: return DefaultNodes.stellar; case CryptoCurrencyNetwork.test: return DefaultNodes.stellarTestnet; default: throw Exception("Unsupported network"); } } @override bool validateAddress(String address) => RegExp(r"^[G][A-Z0-9]{55}$").hasMatch(address); @override bool operator ==(Object other) { return other is Stellar && other.network == network; } @override int get hashCode => Object.hash(Stellar, network); }