From fc5319f255f51de2006a4304016431f51ee268dd Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 11 Jun 2020 22:12:39 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/data/network/model/PayIdResponse.kt | 6 ++++++ .../main/java/com/tangem/wallet/xrp/XrpEngine.java | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/tangem/data/network/model/PayIdResponse.kt b/app/src/main/java/com/tangem/data/network/model/PayIdResponse.kt index 5d383b7b0c..583ae73462 100644 --- a/app/src/main/java/com/tangem/data/network/model/PayIdResponse.kt +++ b/app/src/main/java/com/tangem/data/network/model/PayIdResponse.kt @@ -8,6 +8,12 @@ data class PayIdResponse( ) data class PayIdAddress( + @SerializedName("paymentNetwork") + var paymentNetwork: String? = null, + + @SerializedName("environment") + var environment: String? = null, + @SerializedName("addressDetails") var addressDetails: PayIdAddressDetails? = null ) diff --git a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java index f077d29bb9..d60032522a 100644 --- a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java +++ b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java @@ -12,6 +12,7 @@ import com.ripple.utils.HashUtils; import com.tangem.App; import com.tangem.data.network.ServerApiPayId; import com.tangem.data.network.ServerApiRipple; +import com.tangem.data.network.model.PayIdAddress; import com.tangem.data.network.model.PayIdResponse; import com.tangem.data.network.model.RippleResponse; import com.tangem.tangem_card.data.TangemCard; @@ -619,8 +620,14 @@ public class XrpEngine extends CoinEngine { @Override public void onSuccess(PayIdResponse payIdResponse) { try { - String resolvedAddress = payIdResponse.getAddresses().get(0).getAddressDetails().getAddress(); - + String resolvedAddress = null; + for (PayIdAddress address : payIdResponse.getAddresses()) { + if (address.getPaymentNetwork().equals("XRPL") && + address.getEnvironment().equals("MAINNET")) { + resolvedAddress = address.getAddressDetails().getAddress(); + break; + } + } if (validateAddress(resolvedAddress)) { coinData.setResolvedPayIdAddress(resolvedAddress); serverApiRipple.requestData(ServerApiRipple.RIPPLE_ACCOUNT_INFO, resolvedAddress, ""); //TODO: maybe just assume PayID account is created?