finalizing wownero

This commit is contained in:
OmarHatem 2024-06-10 09:53:28 +02:00
parent f48023b60c
commit 657e942383
9 changed files with 32 additions and 11 deletions

View file

@ -11,13 +11,13 @@ class CakePayService {
static const cakePayUsernameStorageKey = 'cake_pay_username';
static const cakePayUserTokenKey = 'cake_pay_user_token';
static String get testCakePayApiKey => secrets.testCakePayApiKey;
static String get testCakePayApiKey => "secrets.testCakePayApiKey;";
static String get cakePayApiKey => secrets.cakePayApiKey;
static String get cakePayApiKey => "secrets.cakePayApiKey;";
static String get CSRFToken => secrets.CSRFToken;
static String get CSRFToken => "secrets.CSRFToken;";
static String get authorization => secrets.authorization;
static String get authorization => "secrets.authorization;";
final SecureStorage secureStorage;
final CakePayApi cakePayApi;

View file

@ -91,6 +91,7 @@ class AddressValidator extends TextValidator {
case CryptoCurrency.dai:
case CryptoCurrency.dash:
case CryptoCurrency.eos:
case CryptoCurrency.wow:
return '[0-9a-zA-Z]';
case CryptoCurrency.bch:
return '^(?!bitcoincash:)[0-9a-zA-Z]*\$|^(?!bitcoincash:)q|p[0-9a-zA-Z]{41}\$|^(?!bitcoincash:)q|p[0-9a-zA-Z]{42}\$|^bitcoincash:q|p[0-9a-zA-Z]{41}\$|^bitcoincash:q|p[0-9a-zA-Z]{42}\$';

View file

@ -44,6 +44,7 @@ class PreferencesKey {
static const ethereumTransactionPriority = 'current_fee_priority_ethereum';
static const polygonTransactionPriority = 'current_fee_priority_polygon';
static const bitcoinCashTransactionPriority = 'current_fee_priority_bitcoin_cash';
static const wowneroTransactionPriority = 'current_fee_priority_bitcoin_cash';
static const customBitcoinFeeRate = 'custom_electrum_fee_rate';
static const silentPaymentsCardDisplay = 'silentPaymentsCardDisplay';
static const silentPaymentsAlwaysScan = 'silentPaymentsAlwaysScan';

View file

@ -51,6 +51,7 @@ class ProvidersHelper {
switch (walletType) {
case WalletType.nano:
case WalletType.banano:
case WalletType.wownero:
return [ProviderType.askEachTime, ProviderType.onramper];
case WalletType.monero:
return [ProviderType.askEachTime, ProviderType.onramper, ProviderType.dfx];
@ -78,7 +79,6 @@ class ProvidersHelper {
];
case WalletType.none:
case WalletType.haven:
case WalletType.wownero:
return [];
}
}

View file

@ -20,6 +20,7 @@ import 'package:cake_wallet/view_model/settings/sync_mode.dart';
import 'package:cake_wallet/utils/device_info.dart';
import 'package:cake_wallet/ethereum/ethereum.dart';
import 'package:cake_wallet/wallet_type_utils.dart';
import 'package:cake_wallet/wownero/wownero.dart';
import 'package:cw_core/transaction_priority.dart';
import 'package:cake_wallet/themes/theme_base.dart';
import 'package:cake_wallet/themes/theme_list.dart';
@ -111,6 +112,7 @@ abstract class SettingsStoreBase with Store {
required this.silentPaymentsAlwaysScan,
TransactionPriority? initialBitcoinTransactionPriority,
TransactionPriority? initialMoneroTransactionPriority,
TransactionPriority? initialWowneroTransactionPriority,
TransactionPriority? initialHavenTransactionPriority,
TransactionPriority? initialLitecoinTransactionPriority,
TransactionPriority? initialEthereumTransactionPriority,
@ -168,6 +170,10 @@ abstract class SettingsStoreBase with Store {
priority[WalletType.monero] = initialMoneroTransactionPriority;
}
if (initialWowneroTransactionPriority != null) {
priority[WalletType.wownero] = initialWowneroTransactionPriority;
}
if (initialBitcoinTransactionPriority != null) {
priority[WalletType.bitcoin] = initialBitcoinTransactionPriority;
}
@ -790,6 +796,7 @@ abstract class SettingsStoreBase with Store {
TransactionPriority? ethereumTransactionPriority;
TransactionPriority? polygonTransactionPriority;
TransactionPriority? bitcoinCashTransactionPriority;
TransactionPriority? wowneroTransactionPriority;
if (sharedPreferences.getInt(PreferencesKey.havenTransactionPriority) != null) {
havenTransactionPriority = monero?.deserializeMoneroTransactionPriority(
@ -811,6 +818,10 @@ abstract class SettingsStoreBase with Store {
bitcoinCashTransactionPriority = bitcoinCash?.deserializeBitcoinCashTransactionPriority(
sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority)!);
}
if (sharedPreferences.getInt(PreferencesKey.wowneroTransactionPriority) != null) {
wowneroTransactionPriority = wownero?.deserializeWowneroTransactionPriority(
raw: sharedPreferences.getInt(PreferencesKey.wowneroTransactionPriority)!);
}
moneroTransactionPriority ??= monero?.getDefaultTransactionPriority();
bitcoinTransactionPriority ??= bitcoin?.getMediumTransactionPriority();
@ -818,6 +829,7 @@ abstract class SettingsStoreBase with Store {
litecoinTransactionPriority ??= bitcoin?.getLitecoinTransactionPriorityMedium();
ethereumTransactionPriority ??= ethereum?.getDefaultTransactionPriority();
bitcoinCashTransactionPriority ??= bitcoinCash?.getDefaultTransactionPriority();
wowneroTransactionPriority ??= wownero?.getDefaultTransactionPriority();
polygonTransactionPriority ??= polygon?.getDefaultTransactionPriority();
final currentBalanceDisplayMode = BalanceDisplayMode.deserialize(
@ -1134,6 +1146,7 @@ abstract class SettingsStoreBase with Store {
silentPaymentsCardDisplay: silentPaymentsCardDisplay,
silentPaymentsAlwaysScan: silentPaymentsAlwaysScan,
initialMoneroTransactionPriority: moneroTransactionPriority,
initialWowneroTransactionPriority: wowneroTransactionPriority,
initialBitcoinTransactionPriority: bitcoinTransactionPriority,
initialHavenTransactionPriority: havenTransactionPriority,
initialLitecoinTransactionPriority: litecoinTransactionPriority,

View file

@ -303,6 +303,7 @@ abstract class DashboardViewModelBase with Store {
bool get hasRescan =>
wallet.type == WalletType.bitcoin ||
wallet.type == WalletType.monero ||
wallet.type == WalletType.wownero ||
wallet.type == WalletType.haven;
@computed

View file

@ -65,6 +65,7 @@ class TransactionListItem extends ActionListItem with Keyable {
String get formattedStatus {
if (transaction.direction == TransactionDirection.incoming) {
if (balanceViewModel.wallet.type == WalletType.monero ||
balanceViewModel.wallet.type == WalletType.wownero ||
balanceViewModel.wallet.type == WalletType.haven) {
return formattedPendingStatus;
}
@ -96,7 +97,7 @@ class TransactionListItem extends ActionListItem with Keyable {
} catch (e) {
return null;
}
return null;
}

View file

@ -86,7 +86,7 @@ abstract class NodeListViewModelBase with Store {
node = getTronDefaultNode(nodes: _nodeSource)!;
break;
case WalletType.wownero:
node = getWowneroDefaultNode(nodes: _nodeSource)!;
node = getWowneroDefaultNode(nodes: _nodeSource);
break;
default:
throw Exception('Unexpected wallet type: ${_appStore.wallet!.type}');

View file

@ -44,18 +44,22 @@ abstract class WalletRestoreViewModelBase extends WalletCreationVM with Store {
super(appStore, walletInfoSource, walletCreationService, type: type, isRecovery: true) {
switch (type) {
case WalletType.monero:
case WalletType.haven:
case WalletType.ethereum:
case WalletType.polygon:
availableModes = WalletRestoreMode.values;
break;
case WalletType.nano:
case WalletType.banano:
case WalletType.solana:
case WalletType.tron:
case WalletType.wownero:
case WalletType.haven:
case WalletType.ethereum:
case WalletType.polygon:
availableModes = [WalletRestoreMode.seed, WalletRestoreMode.keys];
break;
default:
case WalletType.bitcoin:
case WalletType.litecoin:
case WalletType.bitcoinCash:
case WalletType.none:
availableModes = [WalletRestoreMode.seed];
break;
}