import 'package:decimal/decimal.dart'; import 'package:stackwallet/models/models.dart'; import 'package:stackwallet/services/tokens/ethereum/ethereum_token.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/prefs.dart'; abstract class TokenServiceAPI { TokenServiceAPI(); factory TokenServiceAPI.from( Map tokenData, Future> walletMnemonic, SecureStorageInterface secureStorageInterface, TransactionNotificationTracker tracker, Prefs prefs, ) { return EthereumToken( tokenData: tokenData, walletMnemonic: walletMnemonic, secureStore: secureStorageInterface, // tracker: tracker, ); } Coin get coin; bool get isRefreshing; bool get shouldAutoSync; set shouldAutoSync(bool shouldAutoSync); Future> prepareSend({ required String address, required int satoshiAmount, Map? args, }); Future confirmSend({required Map txData}); Future get fees; Future get maxFee; Future get currentReceivingAddress; Future get availableBalance; Future get totalBalance; Future> get allOwnAddresses; Future get transactionData; Future refresh(); bool validateAddress(String address); Future initializeNew(); Future initializeExisting(); Future estimateFeeFor(int satoshiAmount, int feeRate); Future isValidToken(String contractAddress); }