From bb1173cc96bb33ae9c4310193d5cc868c96dc32f Mon Sep 17 00:00:00 2001 From: woodser <13068859+woodser@users.noreply.github.com> Date: Sat, 21 Jun 2025 14:48:56 -0400 Subject: [PATCH] support US postal money order accounts over grpc api --- .../java/haveno/core/api/model/PaymentAccountForm.java | 3 ++- .../haveno/core/payment/USPostalMoneyOrderAccount.java | 9 ++++++++- .../java/haveno/core/payment/payload/PaymentMethod.java | 3 ++- proto/src/main/proto/pb.proto | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java b/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java index 34ed649266..f7dc4a5063 100644 --- a/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java +++ b/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java @@ -85,7 +85,8 @@ public final class PaymentAccountForm implements PersistablePayload { TRANSFERWISE_USD, AMAZON_GIFT_CARD, ACH_TRANSFER, - INTERAC_E_TRANSFER; + INTERAC_E_TRANSFER, + US_POSTAL_MONEY_ORDER; public static PaymentAccountForm.FormId fromProto(protobuf.PaymentAccountForm.FormId formId) { return ProtoUtil.enumFromProto(PaymentAccountForm.FormId.class, formId.name()); diff --git a/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java b/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java index 41667563cf..4cf6e20608 100644 --- a/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java +++ b/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java @@ -33,6 +33,13 @@ public final class USPostalMoneyOrderAccount extends PaymentAccount { public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); + private static final List INPUT_FIELD_IDS = List.of( + PaymentAccountFormField.FieldId.HOLDER_NAME, + PaymentAccountFormField.FieldId.POSTAL_ADDRESS, + PaymentAccountFormField.FieldId.ACCOUNT_NAME, + PaymentAccountFormField.FieldId.SALT + ); + public USPostalMoneyOrderAccount() { super(PaymentMethod.US_POSTAL_MONEY_ORDER); setSingleTradeCurrency(SUPPORTED_CURRENCIES.get(0)); @@ -50,7 +57,7 @@ public final class USPostalMoneyOrderAccount extends PaymentAccount { @Override public @NonNull List getInputFieldIds() { - throw new RuntimeException("Not implemented"); + return INPUT_FIELD_IDS; } public void setPostalAddress(String postalAddress) { diff --git a/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java b/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java index 76cd97630e..dd842af7c3 100644 --- a/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java +++ b/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java @@ -376,7 +376,8 @@ public final class PaymentMethod implements PersistablePayload, Comparable paymentMethodIds.contains(paymentMethod.getId())).collect(Collectors.toList()); } diff --git a/proto/src/main/proto/pb.proto b/proto/src/main/proto/pb.proto index e0f05c4ef7..647272b261 100644 --- a/proto/src/main/proto/pb.proto +++ b/proto/src/main/proto/pb.proto @@ -1910,6 +1910,7 @@ message PaymentAccountForm { AMAZON_GIFT_CARD = 24; ACH_TRANSFER = 25; INTERAC_E_TRANSFER = 26; + US_POSTAL_MONEY_ORDER = 27; } FormId id = 1; repeated PaymentAccountFormField fields = 2;