validate payment method id and improve error message
This commit is contained in:
parent
e6853d2e76
commit
4cde0103b3
@ -771,7 +771,7 @@ public class AccountAgeWitnessService {
|
||||
boolean isFiltered = filterManager.isNodeAddressBanned(dispute.getContract().getBuyerNodeAddress()) ||
|
||||
filterManager.isNodeAddressBanned(dispute.getContract().getSellerNodeAddress()) ||
|
||||
filterManager.isCurrencyBanned(dispute.getContract().getOfferPayload().getCurrencyCode()) ||
|
||||
filterManager.isPaymentMethodBanned(PaymentMethod.getPaymentMethod(dispute.getContract().getPaymentMethodId())) ||
|
||||
filterManager.isPaymentMethodBanned(PaymentMethod.getPaymentMethodOrNA(dispute.getContract().getPaymentMethodId())) ||
|
||||
filterManager.arePeersPaymentAccountDataBanned(dispute.getBuyerPaymentAccountPayload()) ||
|
||||
filterManager.arePeersPaymentAccountDataBanned(dispute.getSellerPaymentAccountPayload()) ||
|
||||
filterManager.isWitnessSignerPubKeyBanned(Utils.HEX.encode(dispute.getContract().getBuyerPubKeyRing().getSignaturePubKeyBytes())) ||
|
||||
|
@ -318,7 +318,7 @@ public class Offer implements NetworkPayload, PersistablePayload {
|
||||
}
|
||||
|
||||
public PaymentMethod getPaymentMethod() {
|
||||
return PaymentMethod.getPaymentMethod(offerPayload.getPaymentMethodId());
|
||||
return PaymentMethod.getPaymentMethodOrNA(offerPayload.getPaymentMethodId());
|
||||
}
|
||||
|
||||
// utils
|
||||
|
@ -169,7 +169,7 @@ public abstract class PaymentAccount implements PersistablePayload {
|
||||
ngnTwOptional.ifPresent(tradeCurrencies::remove);
|
||||
|
||||
try {
|
||||
PaymentAccount account = PaymentAccountFactory.getPaymentAccount(PaymentMethod.getPaymentMethod(paymentMethodId));
|
||||
PaymentAccount account = PaymentAccountFactory.getPaymentAccount(PaymentMethod.getPaymentMethodOrNA(paymentMethodId));
|
||||
account.getTradeCurrencies().clear();
|
||||
account.setId(proto.getId());
|
||||
account.setCreationDate(proto.getCreationDate());
|
||||
@ -348,7 +348,7 @@ public abstract class PaymentAccount implements PersistablePayload {
|
||||
}
|
||||
|
||||
private static Class<? extends PaymentAccount> getPaymentAccountClass(String paymentMethodId) {
|
||||
PaymentMethod paymentMethod = PaymentMethod.getPaymentMethod(paymentMethodId);
|
||||
PaymentMethod paymentMethod = PaymentMethod.getPaymentMethodOrNA(paymentMethodId);
|
||||
return PaymentAccountFactory.getPaymentAccount(paymentMethod).getClass();
|
||||
}
|
||||
|
||||
|
@ -448,6 +448,11 @@ public final class PaymentMethod implements PersistablePayload, Comparable<Payme
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public static PaymentMethod getPaymentMethod(String id) {
|
||||
return getActivePaymentMethod(id)
|
||||
.orElseThrow(() -> new IllegalArgumentException("Invalid payment method id: " + id));
|
||||
}
|
||||
|
||||
public static PaymentMethod getPaymentMethodOrNA(String id) {
|
||||
return getActivePaymentMethod(id)
|
||||
.orElseGet(() -> new PaymentMethod(Res.get("shared.na")));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user