diff --git a/assets/images/revolut_dark.svg b/assets/images/revolut_dark.svg
new file mode 100644
index 000000000..abc9daea6
--- /dev/null
+++ b/assets/images/revolut_dark.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/revolut_light.svg b/assets/images/revolut_light.svg
new file mode 100644
index 000000000..1333b6b58
--- /dev/null
+++ b/assets/images/revolut_light.svg
@@ -0,0 +1,5 @@
+
diff --git a/lib/buy/moonpay/moonpay_provider.dart b/lib/buy/moonpay/moonpay_provider.dart
index 228f0dc5f..2255c2b1a 100644
--- a/lib/buy/moonpay/moonpay_provider.dart
+++ b/lib/buy/moonpay/moonpay_provider.dart
@@ -383,6 +383,8 @@ class MoonPayProvider extends BuyProvider {
return 'yellow_card_bank_transfer';
case PaymentType.fiatBalance:
return 'fiat_balance';
+ case PaymentType.revolutPay:
+ return 'revolut_pay';
default:
return null;
}
@@ -416,6 +418,8 @@ class MoonPayProvider extends BuyProvider {
return PaymentType.sepaOpenBankingPayment;
case 'yellow_card_bank_transfer':
return PaymentType.yellowCardBankTransfer;
+ case 'revolut_pay':
+ return PaymentType.revolutPay;
default:
return PaymentType.unknown;
}
diff --git a/lib/buy/payment_method.dart b/lib/buy/payment_method.dart
index 322ca68ba..f23d6fbce 100644
--- a/lib/buy/payment_method.dart
+++ b/lib/buy/payment_method.dart
@@ -124,6 +124,8 @@ extension PaymentTypeTitle on PaymentType {
return 'assets/images/skrill.svg';
case PaymentType.applePay:
return 'assets/images/apple_pay_round_light.svg';
+ case PaymentType.revolutPay:
+ return 'assets/images/revolut_light.svg';
default:
return null;
}
@@ -143,6 +145,8 @@ extension PaymentTypeTitle on PaymentType {
return 'assets/images/skrill.svg';
case PaymentType.applePay:
return 'assets/images/apple_pay_round_dark.svg';
+ case PaymentType.revolutPay:
+ return 'assets/images/revolut_dark.svg';
default:
return null;
}
diff --git a/lib/view_model/buy/buy_sell_view_model.dart b/lib/view_model/buy/buy_sell_view_model.dart
index bb7cc5b8a..6dc15b178 100644
--- a/lib/view_model/buy/buy_sell_view_model.dart
+++ b/lib/view_model/buy/buy_sell_view_model.dart
@@ -367,8 +367,7 @@ abstract class BuySellViewModelBase extends WalletChangeListenerViewModel with S
for (var methods in result) {
for (var method in methods) {
final alreadyExists = tempPaymentMethods.any((m) {
- return m.paymentMethodType == method.paymentMethodType &&
- m.customTitle == method.customTitle;
+ return m.paymentMethodType == method.paymentMethodType;
});
if (!alreadyExists) {
@@ -468,8 +467,7 @@ abstract class BuySellViewModelBase extends WalletChangeListenerViewModel with S
if (sortedRecommendedQuotes.isNotEmpty) {
sortedRecommendedQuotes.first
- ..setIsBestRate = true
- ..recommendations.insert(0, ProviderRecommendation.bestRate);
+ ..setIsBestRate = true;
bestRateQuote = sortedRecommendedQuotes.first;
sortedRecommendedQuotes.sort((a, b) {
@@ -478,6 +476,15 @@ abstract class BuySellViewModelBase extends WalletChangeListenerViewModel with S
return 0;
});
+ final Quote effectiveBestRateQuote =
+ sortedRecommendedQuotes.reduce((a, b) {
+ return isBuyAction ? a.rate < b.rate ? a : b : a.rate > b.rate ? a : b;
+ });
+
+
+ effectiveBestRateQuote.recommendations
+ .add(ProviderRecommendation.bestRate);
+
selectedQuote = sortedRecommendedQuotes.first;
sortedRecommendedQuotes.first.setIsSelected = true;
}