CakeWallet/lib/view_model/rescan_view_model.dart

30 lines
742 B
Dart
Raw Normal View History

2021-12-24 14:37:24 +02:00
import 'package:cw_core/wallet_base.dart';
2020-09-21 14:50:26 +03:00
import 'package:mobx/mobx.dart';
part 'rescan_view_model.g.dart';
class RescanViewModel = RescanViewModelBase with _$RescanViewModel;
enum RescanWalletState { rescaning, none }
abstract class RescanViewModelBase with Store {
2022-10-12 13:09:57 -04:00
RescanViewModelBase(this._wallet)
: state = RescanWalletState.none,
isButtonEnabled = false;
final WalletBase _wallet;
2020-09-21 14:50:26 +03:00
@observable
RescanWalletState state;
@observable
bool isButtonEnabled;
2020-09-21 14:50:26 +03:00
@action
2022-10-12 13:09:57 -04:00
Future<void> rescanCurrentWallet({required int restoreHeight}) async {
2020-09-21 14:50:26 +03:00
state = RescanWalletState.rescaning;
await _wallet.rescan(height: restoreHeight);
_wallet.transactionHistory.clear();
2020-09-21 14:50:26 +03:00
state = RescanWalletState.none;
}
}