import 'dart:async'; import 'package:stackwallet/wallets/crypto_currency/intermediate/cryptonote_currency.dart'; import 'package:stackwallet/wallets/models/tx_data.dart'; import 'package:stackwallet/wallets/wallet/wallet.dart'; import 'package:stackwallet/wallets/wallet/wallet_mixin_interfaces/mnemonic_interface.dart'; abstract class CryptonoteWallet extends Wallet with MnemonicInterface { CryptonoteWallet(T currency) : super(currency); Completer? walletOpenCompleter; void resetWalletOpenCompleter() { if (walletOpenCompleter == null || walletOpenCompleter!.isCompleted) { walletOpenCompleter = Completer(); } } Future waitForWalletOpen() async { if (walletOpenCompleter != null && !walletOpenCompleter!.isCompleted) { await walletOpenCompleter!.future; } } // ========== Overrides ====================================================== @override Future confirmSend({required TxData txData}) { // TODO: implement confirmSend throw UnimplementedError(); } @override Future prepareSend({required TxData txData}) { // TODO: implement prepareSend throw UnimplementedError(); } @override Future recover({required bool isRescan}) { // TODO: implement recover throw UnimplementedError(); } @override Future updateUTXOs() async { // do nothing for now return false; } }