Generic enhancements (#1464)

* Fix wallet not considering seed length for Tron, Polygon and Solana * Change Trocador to be prioritized if same rate [skip ci]

Omar Hatem committed May 23, 2024 at 19:43 UTC 7d0720b21d0492951e508614384bef77808d591c
2 files changed +22 -3
lib/core/wallet_creation_service.dart
+20 -1
@@ -58,7 +58,7 @@ class WalletCreationService {
58 checkIfExists(credentials.name);
59 final password = generateWalletPassword();
60 credentials.password = password;
61 - if (type == WalletType.bitcoinCash || type == WalletType.ethereum) {
61 + if (_hasSeedPhraseLengthOption) {
62 credentials.seedPhraseLength = settingsStore.seedPhraseLength.value;
63 }
64 await keyService.saveWalletPassword(password: password, walletName: credentials.name);
@@ -72,6 +72,25 @@ class WalletCreationService {
72 return wallet;
73 }
74
75 + bool get _hasSeedPhraseLengthOption {
76 + switch (type) {
77 + case WalletType.ethereum:
78 + case WalletType.bitcoinCash:
79 + case WalletType.polygon:
80 + case WalletType.solana:
81 + case WalletType.tron:
82 + return true;
83 + case WalletType.monero:
84 + case WalletType.none:
85 + case WalletType.bitcoin:
86 + case WalletType.litecoin:
87 + case WalletType.haven:
88 + case WalletType.nano:
89 + case WalletType.banano:
90 + return false;
91 + }
92 + }
93 +
94 Future<WalletBase> restoreFromKeys(WalletCredentials credentials, {bool? isTestnet}) async {
95 checkIfExists(credentials.name);
96 final password = generateWalletPassword();
lib/view_model/exchange/exchange_view_model.dart
+2 -2
@@ -154,11 +154,11 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
154 ChangeNowExchangeProvider(settingsStore: _settingsStore),
155 SideShiftExchangeProvider(),
156 SimpleSwapExchangeProvider(),
157 - TrocadorExchangeProvider(
158 - useTorOnly: _useTorOnly, providerStates: _settingsStore.trocadorProviderStates),
157 ThorChainExchangeProvider(tradesStore: trades),
158 if (FeatureFlag.isExolixEnabled) ExolixExchangeProvider(),
159 QuantexExchangeProvider(),
160 + TrocadorExchangeProvider(
161 + useTorOnly: _useTorOnly, providerStates: _settingsStore.trocadorProviderStates),
162 ];
163
164 @observable