stack_wallet/lib/wallets/crypto_currency/coins/ethereum.dart
2024-04-17 13:04:10 -05:00

45 lines
1.2 KiB
Dart

import 'package:ethereum_addresses/ethereum_addresses.dart';
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 Ethereum extends Bip39Currency {
Ethereum(super.network) {
switch (network) {
case CryptoCurrencyNetwork.main:
coin = Coin.ethereum;
default:
throw Exception("Unsupported network: $network");
}
}
int get gasLimit => 21000;
@override
bool get hasTokenSupport => true;
@override
NodeModel get defaultNode => DefaultNodes.ethereum;
@override
// Not used for eth
String get genesisHash => throw UnimplementedError();
@override
int get minConfirms => 3;
@override
bool validateAddress(String address) {
return isValidEthereumAddress(address);
}
@override
bool operator ==(Object other) {
return other is Ethereum && other.network == network;
}
@override
int get hashCode => Object.hash(Ethereum, network);
}