mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 20:39:51 +00:00
* CW-934 Implement passphrase creation for zano * Update monero_c dependency to latest commit Fix issue with zano keys not showing during sync Fix delays when invoking read only commands in zano Fix extra padding above passphrase Reduced lag during app use
109 lines
3.2 KiB
Dart
109 lines
3.2 KiB
Dart
import 'package:cake_wallet/entities/exchange_api_mode.dart';
|
|
import 'package:cake_wallet/entities/fiat_api_mode.dart';
|
|
import 'package:cake_wallet/entities/seed_phrase_length.dart';
|
|
import 'package:cake_wallet/entities/seed_type.dart';
|
|
import 'package:cake_wallet/store/settings_store.dart';
|
|
import 'package:cw_core/wallet_type.dart';
|
|
import 'package:mobx/mobx.dart';
|
|
|
|
part 'advanced_privacy_settings_view_model.g.dart';
|
|
|
|
class AdvancedPrivacySettingsViewModel = AdvancedPrivacySettingsViewModelBase
|
|
with _$AdvancedPrivacySettingsViewModel;
|
|
|
|
abstract class AdvancedPrivacySettingsViewModelBase with Store {
|
|
AdvancedPrivacySettingsViewModelBase(this.type, this._settingsStore) : _addCustomNode = false;
|
|
|
|
@computed
|
|
ExchangeApiMode get exchangeStatus => _settingsStore.exchangeStatus;
|
|
|
|
@computed
|
|
FiatApiMode get fiatApiMode => _settingsStore.fiatApiMode;
|
|
|
|
@computed
|
|
bool get disableBulletin => _settingsStore.disableBulletin;
|
|
|
|
@observable
|
|
bool _addCustomNode = false;
|
|
|
|
final WalletType type;
|
|
|
|
final SettingsStore _settingsStore;
|
|
|
|
@computed
|
|
bool get hasSeedPhraseLengthOption {
|
|
// convert to switch case so that it give a syntax error when adding a new wallet type
|
|
// thus we don't forget about it
|
|
switch (type) {
|
|
case WalletType.ethereum:
|
|
case WalletType.bitcoinCash:
|
|
case WalletType.polygon:
|
|
case WalletType.solana:
|
|
case WalletType.tron:
|
|
return true;
|
|
|
|
case WalletType.bitcoin:
|
|
case WalletType.litecoin:
|
|
return _settingsStore.bitcoinSeedType == BitcoinSeedType.bip39;
|
|
|
|
case WalletType.nano:
|
|
case WalletType.banano:
|
|
return _settingsStore.nanoSeedType == NanoSeedType.bip39;
|
|
|
|
case WalletType.monero:
|
|
case WalletType.wownero:
|
|
case WalletType.none:
|
|
case WalletType.haven:
|
|
case WalletType.zano:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool get isMoneroSeedTypeOptionsEnabled => [
|
|
WalletType.monero,
|
|
WalletType.wownero,
|
|
].contains(type);
|
|
|
|
bool get isBitcoinSeedTypeOptionsEnabled => [
|
|
WalletType.bitcoin,
|
|
WalletType.litecoin,
|
|
].contains(type);
|
|
|
|
bool get isNanoSeedTypeOptionsEnabled => [WalletType.nano].contains(type);
|
|
|
|
bool get hasPassphraseOption => [
|
|
WalletType.bitcoin,
|
|
WalletType.litecoin,
|
|
WalletType.bitcoinCash,
|
|
WalletType.ethereum,
|
|
WalletType.polygon,
|
|
WalletType.tron,
|
|
WalletType.monero,
|
|
WalletType.wownero,
|
|
WalletType.zano,
|
|
].contains(type);
|
|
|
|
@computed
|
|
bool get addCustomNode => _addCustomNode;
|
|
|
|
@computed
|
|
SeedPhraseLength get seedPhraseLength => _settingsStore.seedPhraseLength;
|
|
|
|
@computed
|
|
bool get isPolySeed => _settingsStore.moneroSeedType == MoneroSeedType.polyseed;
|
|
|
|
@action
|
|
void setFiatApiMode(FiatApiMode fiatApiMode) => _settingsStore.fiatApiMode = fiatApiMode;
|
|
|
|
@action
|
|
void setExchangeApiMode(ExchangeApiMode value) => _settingsStore.exchangeStatus = value;
|
|
|
|
@action
|
|
void setDisableBulletin(bool value) => _settingsStore.disableBulletin = value;
|
|
|
|
@action
|
|
void toggleAddCustomNode() => _addCustomNode = !_addCustomNode;
|
|
|
|
@action
|
|
void setSeedPhraseLength(SeedPhraseLength length) => _settingsStore.seedPhraseLength = length;
|
|
}
|