47
required this.yatStore,
48
required this.ordersStore,
49
required this.anonpayTransactionsStore})
50
- : isOutdatedElectrumWallet = false,
51
- hasSellAction = false,
52
- hasBuyAction = false,
53
- hasExchangeAction = false,
54
- isShowFirstYatIntroduction = false,
55
- isShowSecondYatIntroduction = false,
56
- isShowThirdYatIntroduction = false,
57
- filterItems = {
58
- S.current.transactions: [
59
- FilterItem(
60
- value: () => transactionFilterStore.displayAll,
61
- caption: S.current.all_transactions,
62
- onChanged: transactionFilterStore.toggleAll),
63
- FilterItem(
64
- value: () => transactionFilterStore.displayIncoming,
65
- caption: S.current.incoming,
66
- onChanged:transactionFilterStore.toggleIncoming),
67
- FilterItem(
68
- value: () => transactionFilterStore.displayOutgoing,
69
- caption: S.current.outgoing,
70
- onChanged: transactionFilterStore.toggleOutgoing),
71
- // FilterItem(
72
- // value: () => false,
73
- // caption: S.current.transactions_by_date,
74
- // onChanged: null),
75
- ],
76
- S.current.trades: [
77
- FilterItem(
78
- value: () => tradeFilterStore.displayAllTrades,
79
- caption: S.current.all_trades,
80
- onChanged: () => tradeFilterStore
81
- .toggleDisplayExchange(ExchangeProviderDescription.all)),
82
- FilterItem(
83
- value: () => tradeFilterStore.displayChangeNow,
84
- caption: ExchangeProviderDescription.changeNow.title,
85
- onChanged: () => tradeFilterStore
86
- .toggleDisplayExchange(ExchangeProviderDescription.changeNow)),
87
- FilterItem(
88
- value: () => tradeFilterStore.displaySideShift,
89
- caption: ExchangeProviderDescription.sideShift.title,
90
- onChanged: () => tradeFilterStore
91
- .toggleDisplayExchange(ExchangeProviderDescription.sideShift)),
92
- FilterItem(
93
- value: () => tradeFilterStore.displaySimpleSwap,
94
- caption: ExchangeProviderDescription.simpleSwap.title,
95
- onChanged: () => tradeFilterStore
96
- .toggleDisplayExchange(ExchangeProviderDescription.simpleSwap)),
97
- FilterItem(
98
- value: () => tradeFilterStore.displayTrocador,
99
- caption: ExchangeProviderDescription.trocador.title,
100
- onChanged: () => tradeFilterStore
101
- .toggleDisplayExchange(ExchangeProviderDescription.trocador)),
102
- FilterItem(
103
- value: () => tradeFilterStore.displayExolix,
104
- caption: ExchangeProviderDescription.exolix.title,
105
- onChanged: () => tradeFilterStore
106
- .toggleDisplayExchange(ExchangeProviderDescription.exolix)),
107
- ]
108
- },
109
- subname = '',
110
- name = appStore.wallet!.name,
111
- type = appStore.wallet!.type,
112
- transactions = ObservableList<TransactionListItem>(),
113
- wallet = appStore.wallet! {
50
+ : isOutdatedElectrumWallet = false,
51
+ hasSellAction = false,
52
+ hasBuyAction = false,
53
+ hasExchangeAction = false,
54
+ isShowFirstYatIntroduction = false,
55
+ isShowSecondYatIntroduction = false,
56
+ isShowThirdYatIntroduction = false,
57
+ filterItems = {
58
+ S.current.transactions: [
59
+ FilterItem(
60
+ value: () => transactionFilterStore.displayAll,
61
+ caption: S.current.all_transactions,
62
+ onChanged: transactionFilterStore.toggleAll),
63
+ FilterItem(
64
+ value: () => transactionFilterStore.displayIncoming,
65
+ caption: S.current.incoming,
66
+ onChanged: transactionFilterStore.toggleIncoming),
67
+ FilterItem(
68
+ value: () => transactionFilterStore.displayOutgoing,
69
+ caption: S.current.outgoing,
70
+ onChanged: transactionFilterStore.toggleOutgoing),
71
+ // FilterItem(
72
+ // value: () => false,
73
+ // caption: S.current.transactions_by_date,
74
+ // onChanged: null),
75
+ ],
76
+ S.current.trades: [
77
+ FilterItem(
78
+ value: () => tradeFilterStore.displayAllTrades,
79
+ caption: S.current.all_trades,
80
+ onChanged: () =>
81
+ tradeFilterStore.toggleDisplayExchange(ExchangeProviderDescription.all)),
82
+ FilterItem(
83
+ value: () => tradeFilterStore.displayChangeNow,
84
+ caption: ExchangeProviderDescription.changeNow.title,
85
+ onChanged: () =>
86
+ tradeFilterStore.toggleDisplayExchange(ExchangeProviderDescription.changeNow)),
87
+ FilterItem(
88
+ value: () => tradeFilterStore.displaySideShift,
89
+ caption: ExchangeProviderDescription.sideShift.title,
90
+ onChanged: () =>
91
+ tradeFilterStore.toggleDisplayExchange(ExchangeProviderDescription.sideShift)),
92
+ FilterItem(
93
+ value: () => tradeFilterStore.displaySimpleSwap,
94
+ caption: ExchangeProviderDescription.simpleSwap.title,
95
+ onChanged: () =>
96
+ tradeFilterStore.toggleDisplayExchange(ExchangeProviderDescription.simpleSwap)),
97
+ FilterItem(
98
+ value: () => tradeFilterStore.displayTrocador,
99
+ caption: ExchangeProviderDescription.trocador.title,
100
+ onChanged: () =>
101
+ tradeFilterStore.toggleDisplayExchange(ExchangeProviderDescription.trocador)),
102
+ FilterItem(
103
+ value: () => tradeFilterStore.displayExolix,
104
+ caption: ExchangeProviderDescription.exolix.title,
105
+ onChanged: () =>
106
+ tradeFilterStore.toggleDisplayExchange(ExchangeProviderDescription.exolix)),
107
+ ]
108
+ },
109
+ subname = '',
110
+ name = appStore.wallet!.name,
111
+ type = appStore.wallet!.type,
112
+ transactions = ObservableList<TransactionListItem>(),
113
+ wallet = appStore.wallet! {
114
name = wallet.name;
115
type = wallet.type;
116
isOutdatedElectrumWallet =
125
if (_wallet.type == WalletType.monero) {
126
subname = monero!.getCurrentAccount(_wallet).label;
127
128
- _onMoneroAccountChangeReaction = reaction((_) => monero!.getMoneroWalletDetails(wallet)
129
- .account, (Account account) => _onMoneroAccountChange(_wallet));
128
+ _onMoneroAccountChangeReaction = reaction(
129
+ (_) => monero!.getMoneroWalletDetails(wallet).account,
130
+ (Account account) => _onMoneroAccountChange(_wallet));
131
131
- _onMoneroBalanceChangeReaction = reaction((_) => monero!.getMoneroWalletDetails(wallet).balance,
132
+ _onMoneroBalanceChangeReaction = reaction(
133
+ (_) => monero!.getMoneroWalletDetails(wallet).balance,
134
(MoneroBalance balance) => _onMoneroTransactionsUpdate(_wallet));
135
134
- final _accountTransactions = _wallet
135
- .transactionHistory.transactions.values
136
- .where((tx) => monero!.getTransactionInfoAccountId(tx) == monero!.getCurrentAccount(wallet).id)
136
+ final _accountTransactions = _wallet.transactionHistory.transactions.values
137
+ .where((tx) =>
138
+ monero!.getTransactionInfoAccountId(tx) == monero!.getCurrentAccount(wallet).id)
139
.toList();
140
141
transactions = ObservableList.of(_accountTransactions.map((transaction) =>
144
balanceViewModel: balanceViewModel,
145
settingsStore: appStore.settingsStore)));
146
} else {
145
- transactions = ObservableList.of(wallet
146
- .transactionHistory.transactions.values
147
- .map((transaction) => TransactionListItem(
147
+ transactions = ObservableList.of(wallet.transactionHistory.transactions.values.map(
148
+ (transaction) => TransactionListItem(
149
transaction: transaction,
150
balanceViewModel: balanceViewModel,
151
settingsStore: appStore.settingsStore)));
152
}
153
154
reaction((_) => appStore.wallet, _onWalletChange);
154
-
155
+
156
connectMapToListWithTransform(
157
appStore.wallet!.transactionHistory.transactions,
158
transactions,
159
(TransactionInfo? transaction) => TransactionListItem(
160
transaction: transaction!,
161
balanceViewModel: balanceViewModel,
161
- settingsStore: appStore.settingsStore),
162
- filter: (TransactionInfo? transaction) {
163
- if (transaction == null) {
164
- return false;
165
- }
166
-
167
- final wallet = _wallet;
168
- if (wallet.type == WalletType.monero) {
169
- return monero!.getTransactionInfoAccountId(transaction) == monero!.getCurrentAccount(wallet).id;
170
- }
171
-
172
- return true;
162
+ settingsStore: appStore.settingsStore), filter: (TransactionInfo? transaction) {
163
+ if (transaction == null) {
164
+ return false;
165
+ }
166
+
167
+ final wallet = _wallet;
168
+ if (wallet.type == WalletType.monero) {
169
+ return monero!.getTransactionInfoAccountId(transaction) ==
170
+ monero!.getCurrentAccount(wallet).id;
171
+ }
172
+
173
+ return true;
174
});
175
}
176
217
}
218
219
@computed
219
- BalanceDisplayMode get balanceDisplayMode =>
220
- appStore.settingsStore.balanceDisplayMode;
221
-
220
+ BalanceDisplayMode get balanceDisplayMode => appStore.settingsStore.balanceDisplayMode;
221
+
222
@computed
223
bool get shouldShowMarketPlaceInDashboard {
224
return appStore.settingsStore.shouldShowMarketPlaceInDashboard;
225
}
226
227
@computed
228
- List<TradeListItem> get trades => tradesStore.trades
229
- .where((trade) => trade.trade.walletId == wallet.id)
230
- .toList();
228
+ List<TradeListItem> get trades =>
229
+ tradesStore.trades.where((trade) => trade.trade.walletId == wallet.id).toList();
230
231
@computed
233
- List<OrderListItem> get orders => ordersStore.orders
234
- .where((item) => item.order.walletId == wallet.id)
235
- .toList();
236
-
232
+ List<OrderListItem> get orders =>
233
+ ordersStore.orders.where((item) => item.order.walletId == wallet.id).toList();
234
+
235
@computed
236
List<AnonpayTransactionListItem> get anonpayTransactons => anonpayTransactionsStore.transactions
237
.where((item) => item.transaction.walletId == wallet.id)
248
List<ActionListItem> get items {
249
final _items = <ActionListItem>[];
250
253
- _items.addAll(transactionFilterStore.filtered(transactions: [...transactions, ...anonpayTransactons]));
251
+ _items.addAll(
252
+ transactionFilterStore.filtered(transactions: [...transactions, ...anonpayTransactons]));
253
_items.addAll(tradeFilterStore.filtered(trades: trades, wallet: wallet));
254
_items.addAll(orders);
255
257
}
258
259
@observable
261
- WalletBase<Balance, TransactionHistoryBase<TransactionInfo>, TransactionInfo>
262
- wallet;
260
+ WalletBase<Balance, TransactionHistoryBase<TransactionInfo>, TransactionInfo> wallet;
261
262
bool get hasRescan => wallet.type == WalletType.monero || wallet.type == WalletType.haven;
263
281
282
Map<String, List<FilterItem>> filterItems;
283
286
-
284
BuyProviderType get defaultBuyProvider => settingsStore.defaultBuyProvider;
285
286
bool get isBuyEnabled => settingsStore.isBitcoinBuyEnabled;
288
bool get shouldShowYatPopup => settingsStore.shouldShowYatPopup;
289
290
@action
294
- void furtherShowYatPopup(bool shouldShow) =>
295
- settingsStore.shouldShowYatPopup = shouldShow;
291
+ void furtherShowYatPopup(bool shouldShow) => settingsStore.shouldShowYatPopup = shouldShow;
292
293
@computed
294
bool get isEnabledExchangeAction => settingsStore.exchangeStatus != ExchangeApiMode.disabled;
297
bool hasExchangeAction;
298
299
@computed
304
- bool get isEnabledBuyAction =>
305
- !settingsStore.disableBuy && wallet.type != WalletType.haven;
300
+ bool get isEnabledBuyAction => !settingsStore.disableBuy && wallet.type != WalletType.haven;
301
302
@observable
303
bool hasBuyAction;
325
326
@action
327
void _onWalletChange(
333
- WalletBase<Balance, TransactionHistoryBase<TransactionInfo>,
334
- TransactionInfo>?
335
- wallet) {
328
+ WalletBase<Balance, TransactionHistoryBase<TransactionInfo>, TransactionInfo>? wallet) {
329
if (wallet == null) {
330
return;
331
}
343
_onMoneroAccountChangeReaction?.reaction.dispose();
344
_onMoneroBalanceChangeReaction?.reaction.dispose();
345
353
- _onMoneroAccountChangeReaction = reaction((_) => monero!.getMoneroWalletDetails(wallet)
354
- .account, (Account account) => _onMoneroAccountChange(wallet));
346
+ _onMoneroAccountChangeReaction = reaction(
347
+ (_) => monero!.getMoneroWalletDetails(wallet).account,
348
+ (Account account) => _onMoneroAccountChange(wallet));
349
356
- _onMoneroBalanceChangeReaction = reaction((_) => monero!.getMoneroWalletDetails(wallet).balance,
350
+ _onMoneroBalanceChangeReaction = reaction(
351
+ (_) => monero!.getMoneroWalletDetails(wallet).balance,
352
(MoneroBalance balance) => _onMoneroTransactionsUpdate(wallet));
353
354
_onMoneroTransactionsUpdate(wallet);
359
360
transactions.clear();
361
367
- transactions.addAll(wallet.transactionHistory.transactions.values.map(
368
- (transaction) => TransactionListItem(
362
+ transactions.addAll(wallet.transactionHistory.transactions.values.map((transaction) =>
363
+ TransactionListItem(
364
transaction: transaction,
365
balanceViewModel: balanceViewModel,
366
settingsStore: appStore.settingsStore)));
369
connectMapToListWithTransform(
370
appStore.wallet!.transactionHistory.transactions,
371
transactions,
377
- (TransactionInfo? transaction)
378
- => TransactionListItem(
372
+ (TransactionInfo? transaction) => TransactionListItem(
373
transaction: transaction!,
374
balanceViewModel: balanceViewModel,
381
- settingsStore: appStore.settingsStore),
382
- filter: (TransactionInfo? tx) {
383
- if (tx == null) {
384
- return false;
385
- }
375
+ settingsStore: appStore.settingsStore), filter: (TransactionInfo? tx) {
376
+ if (tx == null) {
377
+ return false;
378
+ }
379
387
- if (wallet.type == WalletType.monero) {
388
- return monero!.getTransactionInfoAccountId(tx) == monero!.getCurrentAccount(wallet).id;
389
- }
380
+ if (wallet.type == WalletType.monero) {
381
+ return monero!.getTransactionInfoAccountId(tx) == monero!.getCurrentAccount(wallet).id;
382
+ }
383
391
- return true;
384
+ return true;
385
});
386
}
387
395
void _onMoneroTransactionsUpdate(WalletBase wallet) {
396
transactions.clear();
397
405
- final _accountTransactions = monero!.getTransactionHistory(wallet).transactions.values
406
- .where((tx) => monero!.getTransactionInfoAccountId(tx) == monero!.getCurrentAccount(wallet).id)
398
+ final _accountTransactions = monero!
399
+ .getTransactionHistory(wallet)
400
+ .transactions
401
+ .values
402
+ .where(
403
+ (tx) => monero!.getTransactionInfoAccountId(tx) == monero!.getCurrentAccount(wallet).id)
404
.toList();
405
409
- transactions.addAll(_accountTransactions.map((transaction) =>
410
- TransactionListItem(
411
- transaction: transaction,
412
- balanceViewModel: balanceViewModel,
413
- settingsStore: appStore.settingsStore)));
406
+ transactions.addAll(_accountTransactions.map((transaction) => TransactionListItem(
407
+ transaction: transaction,
408
+ balanceViewModel: balanceViewModel,
409
+ settingsStore: appStore.settingsStore)));
410
}
411
412
void updateActions() {