Skip to content

Commit 24c022a

Browse files
committed
pass full currency into incomplete exchange model
1 parent 397f496 commit 24c022a

File tree

4 files changed

+49
-56
lines changed

4 files changed

+49
-56
lines changed

lib/models/exchange/incomplete_exchange.dart

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@ import 'package:decimal/decimal.dart';
1212
import 'package:flutter/foundation.dart';
1313

1414
import '../../utilities/enums/exchange_rate_type_enum.dart';
15+
import '../isar/exchange_cache/currency.dart';
1516
import 'response_objects/estimate.dart';
1617
import 'response_objects/trade.dart';
1718

1819
class IncompleteExchangeModel extends ChangeNotifier {
19-
final String sendTicker;
20-
final String? sendNetwork;
21-
final String receiveTicker;
22-
final String? receiveNetwork;
20+
final Currency sendCurrency;
21+
final Currency receiveCurrency;
22+
23+
String get sendTicker => sendCurrency.ticker;
24+
String get receiveTicker => receiveCurrency.ticker;
2325

2426
final String rateInfo;
2527

@@ -76,16 +78,15 @@ class IncompleteExchangeModel extends ChangeNotifier {
7678
}
7779

7880
IncompleteExchangeModel({
79-
required this.sendTicker,
80-
required this.sendNetwork,
81-
required this.receiveTicker,
82-
required this.receiveNetwork,
81+
required this.sendCurrency,
82+
required this.receiveCurrency,
8383
required this.rateInfo,
8484
required this.sendAmount,
8585
required this.receiveAmount,
8686
required this.rateType,
8787
required this.reversed,
8888
required this.walletInitiated,
8989
Estimate? estimate,
90-
}) : _estimate = estimate;
90+
}) : _estimate = estimate,
91+
assert(sendCurrency.exchangeName == receiveCurrency.exchangeName);
9192
}

lib/pages/exchange_view/exchange_form.dart

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -420,20 +420,11 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
420420
}
421421

422422
final rateType = ref.read(efRateTypeProvider);
423-
final fromTicker = ref.read(efCurrencyPairProvider).send?.ticker ?? "";
424-
final fromNetwork = ref
425-
.read(efCurrencyPairProvider)
426-
.send
427-
?.networkFor(exchangeName);
428-
final toTicker = ref.read(efCurrencyPairProvider).receive?.ticker ?? "";
429-
final toNetwork = ref
430-
.read(efCurrencyPairProvider)
431-
.receive
432-
?.networkFor(exchangeName);
433423
final estimate = ref.read(efEstimateProvider)!;
434424
final sendAmount = ref.read(efSendAmountProvider)!;
435425

436-
if (rateType == ExchangeRateType.fixed && toTicker.toUpperCase() == "WOW") {
426+
if (rateType == ExchangeRateType.fixed &&
427+
toCurrency.ticker.toUpperCase() == "WOW") {
437428
if (mounted) {
438429
await showDialog<void>(
439430
context: context,
@@ -461,7 +452,7 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
461452
switch (rateType) {
462453
case ExchangeRateType.estimated:
463454
rate =
464-
"1 ${fromTicker.toUpperCase()} ~${(amountToReceive / sendAmount).toDecimal(scaleOnInfinitePrecision: 8).toStringAsFixed(8)} ${toTicker.toUpperCase()}";
455+
"1 ${fromCurrency.ticker.toUpperCase()} ~${(amountToReceive / sendAmount).toDecimal(scaleOnInfinitePrecision: 8).toStringAsFixed(8)} ${toCurrency.ticker.toUpperCase()}";
465456
break;
466457
case ExchangeRateType.fixed:
467458
bool? shouldCancel;
@@ -568,15 +559,13 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
568559
return;
569560
}
570561
rate =
571-
"1 ${fromTicker.toUpperCase()} ~${(amountToReceive / amountToSend).toDecimal(scaleOnInfinitePrecision: 12).toStringAsFixed(8)} ${toTicker.toUpperCase()}";
562+
"1 ${fromCurrency.ticker.toUpperCase()} ~${(amountToReceive / amountToSend).toDecimal(scaleOnInfinitePrecision: 12).toStringAsFixed(8)} ${toCurrency.ticker.toUpperCase()}";
572563
break;
573564
}
574565

575566
final model = IncompleteExchangeModel(
576-
sendTicker: fromTicker.toUpperCase(),
577-
sendNetwork: fromNetwork,
578-
receiveTicker: toTicker.toUpperCase(),
579-
receiveNetwork: toNetwork,
567+
sendCurrency: fromCurrency,
568+
receiveCurrency: toCurrency,
580569
rateInfo: rate,
581570
sendAmount: amountToSend,
582571
receiveAmount: amountToReceive,

lib/pages/exchange_view/exchange_step_views/step_3_view.dart

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class _Step3ViewState extends ConsumerState<Step3View> {
7474
FocusScope.of(context).unfocus();
7575
await Future<void>.delayed(const Duration(milliseconds: 75));
7676
}
77-
if (mounted) {
77+
if (context.mounted) {
7878
Navigator.of(context).pop();
7979
}
8080
},
@@ -243,32 +243,33 @@ class _Step3ViewState extends ConsumerState<Step3View> {
243243
),
244244
);
245245

246-
final ExchangeResponse<Trade> response =
247-
await ref
248-
.read(efExchangeProvider)
249-
.createTrade(
250-
from: model.sendTicker,
251-
fromNetwork: model.sendNetwork,
252-
to: model.receiveTicker,
253-
toNetwork: model.receiveNetwork,
254-
fixedRate:
255-
model.rateType !=
256-
ExchangeRateType.estimated,
257-
amount:
258-
model.reversed
259-
? model.receiveAmount
260-
: model.sendAmount,
261-
addressTo:
262-
model.recipientAddress!,
263-
extraId: null,
264-
addressRefund:
265-
supportsRefund
266-
? model.refundAddress!
267-
: "",
268-
refundExtraId: "",
269-
estimate: model.estimate,
270-
reversed: model.reversed,
271-
);
246+
final ExchangeResponse<Trade>
247+
response = await ref
248+
.read(efExchangeProvider)
249+
.createTrade(
250+
from: model.sendTicker,
251+
fromNetwork:
252+
model.sendCurrency.network,
253+
to: model.receiveTicker,
254+
toNetwork:
255+
model.receiveCurrency.network,
256+
fixedRate:
257+
model.rateType !=
258+
ExchangeRateType.estimated,
259+
amount:
260+
model.reversed
261+
? model.receiveAmount
262+
: model.sendAmount,
263+
addressTo: model.recipientAddress!,
264+
extraId: null,
265+
addressRefund:
266+
supportsRefund
267+
? model.refundAddress!
268+
: "",
269+
refundExtraId: "",
270+
estimate: model.estimate,
271+
reversed: model.reversed,
272+
);
272273

273274
if (response.value == null) {
274275
if (context.mounted) {
@@ -339,7 +340,7 @@ class _Step3ViewState extends ConsumerState<Step3View> {
339340
),
340341
);
341342

342-
if (mounted) {
343+
if (context.mounted) {
343344
unawaited(
344345
Navigator.of(context).pushNamed(
345346
Step4View.routeName,

lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,11 @@ class _StepScaffoldState extends ConsumerState<StepScaffold> {
9696
.read(efExchangeProvider)
9797
.createTrade(
9898
from: ref.read(desktopExchangeModelProvider)!.sendTicker,
99-
fromNetwork: ref.read(desktopExchangeModelProvider)!.sendNetwork,
99+
fromNetwork:
100+
ref.read(desktopExchangeModelProvider)!.sendCurrency.network,
100101
to: ref.read(desktopExchangeModelProvider)!.receiveTicker,
101-
toNetwork: ref.read(desktopExchangeModelProvider)!.receiveNetwork,
102+
toNetwork:
103+
ref.read(desktopExchangeModelProvider)!.receiveCurrency.network,
102104
fixedRate:
103105
ref.read(desktopExchangeModelProvider)!.rateType !=
104106
ExchangeRateType.estimated,

0 commit comments

Comments
 (0)