import 'package:mobx/mobx.dart'; import 'package:cake_wallet/entities/sync_status.dart'; import 'package:cake_wallet/entities/transaction_history.dart'; import 'package:cake_wallet/entities/wallet_type.dart'; import 'package:cake_wallet/entities/transaction_creation_credentials.dart'; import 'package:cake_wallet/entities/pending_transaction.dart'; import 'package:cake_wallet/entities/balance.dart'; import 'package:cake_wallet/entities/node.dart'; abstract class Wallet { WalletType getType(); WalletType walletType; Observable onBalanceChange; Observable syncStatus; Observable get onNameChange; Observable get onAddressChange; String get name; String get address; Future updateInfo(); Future getFilename(); Future getName(); Future getAddress(); Future getSeed(); Future> getKeys(); Future getFullBalance(); Future getUnlockedBalance(); Future getCurrentHeight(); Future getNodeHeight(); Future isConnected(); Future close(); TransactionHistory getHistory(); Future connectToNode({Node node, bool useSSL = false, bool isLightWallet = false}); Future startSync(); Future createTransaction( TransactionCreationCredentials credentials); Future rescan({int restoreHeight = 0}); }