From 100b2136a7c225fa23b7883c42a9f70178fad2e6 Mon Sep 17 00:00:00 2001 From: woodser Date: Wed, 9 Jul 2025 06:55:09 -0400 Subject: [PATCH] fix error loading interac e-transfer offers --- .../haveno/core/offer/placeoffer/tasks/ValidateOffer.java | 4 ++++ .../java/haveno/core/payment/InteracETransferAccount.java | 5 +---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/haveno/core/offer/placeoffer/tasks/ValidateOffer.java b/core/src/main/java/haveno/core/offer/placeoffer/tasks/ValidateOffer.java index 3b1a01beeb..bc8a274f6d 100644 --- a/core/src/main/java/haveno/core/offer/placeoffer/tasks/ValidateOffer.java +++ b/core/src/main/java/haveno/core/offer/placeoffer/tasks/ValidateOffer.java @@ -23,6 +23,7 @@ import haveno.core.account.witness.AccountAgeWitnessService; import haveno.core.offer.Offer; import haveno.core.offer.OfferDirection; import haveno.core.offer.placeoffer.PlaceOfferModel; +import haveno.core.payment.PaymentAccount; import haveno.core.trade.HavenoUtils; import haveno.core.trade.messages.TradeMessage; import haveno.core.user.User; @@ -96,6 +97,9 @@ public class ValidateOffer extends Task { /*checkArgument(offer.getMinAmount().compareTo(ProposalConsensus.getMinTradeAmount()) >= 0, "MinAmount is less than " + ProposalConsensus.getMinTradeAmount().toFriendlyString());*/ + PaymentAccount paymentAccount = user.getPaymentAccount(offer.getMakerPaymentAccountId()); + checkArgument(paymentAccount != null, "Payment account is null. makerPaymentAccountId=" + offer.getMakerPaymentAccountId()); + long maxAmount = accountAgeWitnessService.getMyTradeLimit(user.getPaymentAccount(offer.getMakerPaymentAccountId()), offer.getCurrencyCode(), offer.getDirection(), offer.hasBuyerAsTakerWithoutDeposit()); checkArgument(offer.getAmount().longValueExact() <= maxAmount, "Amount is larger than " + HavenoUtils.atomicUnitsToXmr(maxAmount) + " XMR"); diff --git a/core/src/main/java/haveno/core/payment/InteracETransferAccount.java b/core/src/main/java/haveno/core/payment/InteracETransferAccount.java index e1929b09e4..456124aac6 100644 --- a/core/src/main/java/haveno/core/payment/InteracETransferAccount.java +++ b/core/src/main/java/haveno/core/payment/InteracETransferAccount.java @@ -36,8 +36,6 @@ public final class InteracETransferAccount extends PaymentAccount { public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("CAD")); - private final InteracETransferValidator interacETransferValidator; - private static final List INPUT_FIELD_IDS = List.of( PaymentAccountFormField.FieldId.HOLDER_NAME, PaymentAccountFormField.FieldId.EMAIL_OR_MOBILE_NR, @@ -50,8 +48,6 @@ public final class InteracETransferAccount extends PaymentAccount { public InteracETransferAccount() { super(PaymentMethod.INTERAC_E_TRANSFER); setSingleTradeCurrency(SUPPORTED_CURRENCIES.get(0)); - this.interacETransferValidator = HavenoUtils.corePaymentAccountService.interacETransferValidator; - if (interacETransferValidator == null) throw new IllegalArgumentException("InteracETransferValidator cannot be null"); } @Override @@ -102,6 +98,7 @@ public final class InteracETransferAccount extends PaymentAccount { } public void validateFormField(PaymentAccountForm form, PaymentAccountFormField.FieldId fieldId, String value) { + InteracETransferValidator interacETransferValidator = HavenoUtils.corePaymentAccountService.interacETransferValidator; switch (fieldId) { case QUESTION: processValidationResult(interacETransferValidator.questionValidator.validate(value));