Add adapters for some of bitcoin, litecoin and monero transactions priorities. Replace direct calls of transaction priorities for exchange_view_model. (#593)
mkyq committed
Nov 3, 2022 at 19:13 UTC
3ec414ae666c6a78f5219e967b5596c3d2b91335
4 files changed
+37
-8
lib/bitcoin/cw_bitcoin.dart
+16
@@ -140,4 +140,20 @@ class CWBitcoin extends Bitcoin {
140
WalletService createLitecoinWalletService(Box<WalletInfo> walletInfoSource, Box<UnspentCoinsInfo> unspentCoinSource) {
141
return LitecoinWalletService(walletInfoSource, unspentCoinSource);
142
}
143
+
144
+ @override
145
+ TransactionPriority getBitcoinTransactionPriorityMedium()
146
+ => BitcoinTransactionPriority.medium;
147
+
148
+ @override
149
+ TransactionPriority getLitecoinTransactionPriorityMedium()
150
+ => LitecoinTransactionPriority.medium;
151
+
152
+ @override
153
+ TransactionPriority getBitcoinTransactionPrioritySlow()
154
+ => BitcoinTransactionPriority.slow;
155
+
156
+ @override
157
+ TransactionPriority getLitecoinTransactionPrioritySlow()
158
+ => LitecoinTransactionPriority.slow;
159
}
\ No newline at end of file
lib/monero/cw_monero.dart
+8
@@ -170,6 +170,14 @@ class CWMonero extends Monero {
170
return MoneroTransactionPriority.automatic;
171
}
172
173
+ @override
174
+ TransactionPriority getMoneroTransactionPrioritySlow()
175
+ => MoneroTransactionPriority.slow;
176
+
177
+ @override
178
+ TransactionPriority getMoneroTransactionPriorityAutomatic()
179
+ => MoneroTransactionPriority.automatic;
180
+
181
@override
182
TransactionPriority deserializeMoneroTransactionPriority({required int raw}) {
183
return MoneroTransactionPriority.deserialize(raw: raw);
lib/view_model/exchange/exchange_view_model.dart
+7
-8
@@ -7,8 +7,6 @@ import 'package:cake_wallet/exchange/sideshift/sideshift_exchange_provider.dart'
7
import 'package:cake_wallet/exchange/sideshift/sideshift_request.dart';
8
import 'package:cake_wallet/exchange/simpleswap/simpleswap_exchange_provider.dart';
9
import 'package:cake_wallet/view_model/settings/settings_view_model.dart';
10
-import 'package:cw_bitcoin/bitcoin_transaction_priority.dart';
11
-import 'package:cw_core/monero_transaction_priority.dart';
10
import 'package:cw_core/transaction_priority.dart';
11
import 'package:cake_wallet/exchange/simpleswap/simpleswap_request.dart';
12
import 'package:cw_core/wallet_base.dart';
@@ -16,6 +14,7 @@ import 'package:cw_core/crypto_currency.dart';
14
import 'package:cw_core/sync_status.dart';
15
import 'package:cw_core/wallet_type.dart';
16
import 'package:cake_wallet/bitcoin/bitcoin.dart';
17
+import 'package:cake_wallet/monero/monero.dart';
18
import 'package:cake_wallet/exchange/exchange_provider.dart';
19
import 'package:cake_wallet/exchange/limits.dart';
20
import 'package:cake_wallet/exchange/trade.dart';
@@ -200,11 +199,11 @@ abstract class ExchangeViewModelBase with Store {
199
switch (wallet.type) {
200
case WalletType.monero:
201
case WalletType.haven:
203
- return _settingsViewModel.transactionPriority == MoneroTransactionPriority.slow;
202
+ return _settingsViewModel.transactionPriority == monero!.getMoneroTransactionPrioritySlow();
203
case WalletType.bitcoin:
205
- return _settingsViewModel.transactionPriority == BitcoinTransactionPriority.slow;
204
+ return _settingsViewModel.transactionPriority == bitcoin!.getBitcoinTransactionPrioritySlow();
205
case WalletType.litecoin:
207
- return _settingsViewModel.transactionPriority == LitecoinTransactionPriority.slow;
206
+ return _settingsViewModel.transactionPriority == bitcoin!.getLitecoinTransactionPrioritySlow();
207
default:
208
return false;
209
}
@@ -637,13 +636,13 @@ abstract class ExchangeViewModelBase with Store {
636
switch (wallet.type) {
637
case WalletType.monero:
638
case WalletType.haven:
640
- _settingsStore.priority[wallet.type] = MoneroTransactionPriority.automatic;
639
+ _settingsStore.priority[wallet.type] = monero!.getMoneroTransactionPriorityAutomatic();
640
break;
641
case WalletType.bitcoin:
643
- _settingsStore.priority[wallet.type] = BitcoinTransactionPriority.medium;
642
+ _settingsStore.priority[wallet.type] = bitcoin!.getBitcoinTransactionPriorityMedium();
643
break;
644
case WalletType.litecoin:
646
- _settingsStore.priority[wallet.type] = LitecoinTransactionPriority.medium;
645
+ _settingsStore.priority[wallet.type] = bitcoin!.getLitecoinTransactionPriorityMedium();
646
break;
647
default:
648
break;
tool/configure.dart
+6
@@ -92,6 +92,10 @@ abstract class Bitcoin {
92
void updateUnspents(Object wallet);
93
WalletService createBitcoinWalletService(Box<WalletInfo> walletInfoSource, Box<UnspentCoinsInfo> unspentCoinSource);
94
WalletService createLitecoinWalletService(Box<WalletInfo> walletInfoSource, Box<UnspentCoinsInfo> unspentCoinSource);
95
+ TransactionPriority getBitcoinTransactionPriorityMedium();
96
+ TransactionPriority getLitecoinTransactionPriorityMedium();
97
+ TransactionPriority getBitcoinTransactionPrioritySlow();
98
+ TransactionPriority getLitecoinTransactionPrioritySlow();
99
}
100
""";
101
@@ -218,6 +222,8 @@ abstract class Monero {
222
223
int getHeigthByDate({required DateTime date});
224
TransactionPriority getDefaultTransactionPriority();
225
+ TransactionPriority getMoneroTransactionPrioritySlow();
226
+ TransactionPriority getMoneroTransactionPriorityAutomatic();
227
TransactionPriority deserializeMoneroTransactionPriority({required int raw});
228
List<TransactionPriority> getTransactionPriorities();
229
List<String> getMoneroWordList(String language);