Updated on 2026-08-14

This commit is contained in:
Tangem 2022-07-08 21:04:03 +03:00
parent 17066df741
commit c4241a2ee4
5 changed files with 14 additions and 2 deletions

View file

@ -2,6 +2,8 @@ package com.tangem.tap.network.exchangeServices.mercuryo
import android.net.Uri
import com.tangem.blockchain.common.Blockchain
import com.tangem.common.extensions.calculateSha512
import com.tangem.common.extensions.toHexString
import com.tangem.common.services.Result
import com.tangem.common.services.performRequest
import com.tangem.network.common.createRetrofitInstance
@ -18,6 +20,7 @@ import com.tangem.tap.network.exchangeServices.ExchangeUrlBuilder
class MercuryoService(
private val apiVersion: String,
private val mercuryoWidgetId: String,
private val secret: String,
) : ExchangeService, ExchangeUrlBuilder {
private val api: MercuryoApi = createRetrofitInstance(MercuryoApi.BASE_URL)
@ -107,6 +110,7 @@ class MercuryoService(
.appendQueryParameter("type", action.name.lowercase())
.appendQueryParameter("currency", cryptoCurrencyName)
.appendQueryParameter("address", walletAddress.urlEncode())
.appendQueryParameter("signature", signature(walletAddress).urlEncode())
.appendQueryParameter("fix_currency", "true")
.appendQueryParameter("return_url", ExchangeUrlBuilder.SUCCESS_URL)
@ -114,6 +118,11 @@ class MercuryoService(
return url
}
private fun signature(address: String): String {
return (address + secret).calculateSha512().toHexString().lowercase()
}
override fun getSellCryptoReceiptUrl(
action: CurrencyExchangeManager.Action,
transactionId: String