From bbc838523e802cf01aadf62b7b8384474b0f5652 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 10 Sep 2024 15:39:13 +0300 Subject: [PATCH 1/2] Updated on 2026-08-14 --- gradle/dependencies.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index abd5f3e54e..3c1895649c 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,7 +88,7 @@ markdown = "0.7.2" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "release-app_5.14-758" +tangemBlockchainSdk = "release-app_5.14-763" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "release-app_5.14-379" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ From 7c44f4a8ef36e2b8c2041d354a372f1822306b67 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 16 Sep 2024 18:14:02 +0500 Subject: [PATCH 2/2] Updated on 2026-08-14 --- .../presentation/state/fee/FeeConverter.kt | 1 - .../state/fee/SendFeeCustomFieldConverter.kt | 2 - .../fee/custom/KaspaCustomFeeConverter.kt | 66 ++----------------- gradle/dependencies.toml | 2 +- 4 files changed, 8 insertions(+), 63 deletions(-) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt index 670da73277..4c557fecbb 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt @@ -41,7 +41,6 @@ internal class FeeConverter( private val kaspaCustomFeeConverter by lazy(LazyThreadSafetyMode.NONE) { KaspaCustomFeeConverter( clickIntents = clickIntents, - stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt index d80cf917b0..b621339ffd 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt @@ -42,7 +42,6 @@ internal class SendFeeCustomFieldConverter( private val kaspaCustomFeeConverter by lazy(LazyThreadSafetyMode.NONE) { KaspaCustomFeeConverter( clickIntents = clickIntents, - stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) @@ -74,7 +73,6 @@ internal class SendFeeCustomFieldConverter( customValues = feeSelectorState.customValues, index = index, value = value, - utxoCount = fee.utxoCount, ) else -> feeSelectorState.customValues }, diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/KaspaCustomFeeConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/KaspaCustomFeeConverter.kt index 05b117547d..a85d1bb97e 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/KaspaCustomFeeConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/KaspaCustomFeeConverter.kt @@ -12,8 +12,6 @@ import com.tangem.core.ui.utils.parseToBigDecimal import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.features.send.impl.R -import com.tangem.features.send.impl.presentation.state.StateRouter -import com.tangem.features.send.impl.presentation.state.fee.checkExceedBalance import com.tangem.features.send.impl.presentation.state.fields.SendTextField import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents import com.tangem.utils.Provider @@ -24,7 +22,6 @@ import java.math.RoundingMode internal class KaspaCustomFeeConverter( private val clickIntents: SendClickIntents, - private val stateRouterProvider: Provider, private val appCurrencyProvider: Provider, private val feeCryptoCurrencyStatusProvider: Provider, ) : CustomFeeConverter { @@ -53,29 +50,6 @@ internal class KaspaCustomFeeConverter( ), keyboardActions = KeyboardActions(), ), - SendTextField.CustomFee( - value = value.valuePerUtxo.parseBigDecimal(value.amount.decimals), - decimals = value.amount.decimals, - symbol = "", - title = resourceReference(R.string.send_custom_kaspa_per_utxo_title), - footer = resourceReference(R.string.send_custom_kaspa_per_utxo_footer), - onValueChange = { clickIntents.onCustomFeeValueChange(FEE_VALUE_PER_UTXO_INDEX, it) }, - keyboardOptions = KeyboardOptions( - imeAction = if (checkExceedBalance( - feeBalance = feeCurrency?.amount, - feeAmount = feeValue, - ) - ) { - ImeAction.None - } else { - ImeAction.Done - }, - keyboardType = KeyboardType.Number, - ), - keyboardActions = KeyboardActions( - onDone = { clickIntents.onNextClick(stateRouterProvider().isEditState) }, - ), - ), ) } else { persistentListOf() @@ -83,12 +57,15 @@ internal class KaspaCustomFeeConverter( } override fun convertBack(normalFee: Fee.Kaspa, value: ImmutableList): Fee.Kaspa { - val feeAmount = value[FEE_AMOUNT_INDEX].value.parseToBigDecimal(value[FEE_AMOUNT_INDEX].decimals) - val valuePerUtxo = - value[FEE_VALUE_PER_UTXO_INDEX].value.parseToBigDecimal(value[FEE_VALUE_PER_UTXO_INDEX].decimals) + val decimals = value[FEE_AMOUNT_INDEX].decimals + val feeAmount = value[FEE_AMOUNT_INDEX].value.parseToBigDecimal(decimals) return normalFee.copy( amount = normalFee.amount.copy(value = feeAmount), - valuePerUtxo = valuePerUtxo, + mass = normalFee.mass, + feeRate = feeAmount + .divide(normalFee.mass.toBigDecimal(), decimals, RoundingMode.HALF_UP) + .movePointRight(decimals) + .toBigInteger(), ) } @@ -96,24 +73,12 @@ internal class KaspaCustomFeeConverter( customValues: ImmutableList, index: Int, value: String, - utxoCount: Int, ): ImmutableList { val mutableCustomValues = customValues.toMutableList() return mutableCustomValues.apply { when (index) { FEE_AMOUNT_INDEX -> { val valueDecimal = value.parseToBigDecimal(this[FEE_AMOUNT_INDEX].decimals) - val newValuePerUtxo = valueDecimal.divide( - /* divisor = */ utxoCount.toBigDecimal(), - /* scale = */ this[FEE_VALUE_PER_UTXO_INDEX].decimals, - /* roundingMode = */ RoundingMode.HALF_UP, - ) - set( - FEE_VALUE_PER_UTXO_INDEX, - this[FEE_VALUE_PER_UTXO_INDEX].copy( - value = newValuePerUtxo.parseBigDecimal(this[FEE_VALUE_PER_UTXO_INDEX].decimals), - ), - ) set( index, this[index].copy( @@ -126,28 +91,11 @@ internal class KaspaCustomFeeConverter( ), ) } - FEE_VALUE_PER_UTXO_INDEX -> { - val valuePerUtxo = value.parseToBigDecimal(this[FEE_VALUE_PER_UTXO_INDEX].decimals) - val newFeeAmount = valuePerUtxo.multiply(utxoCount.toBigDecimal()) - set( - FEE_AMOUNT_INDEX, - this[FEE_AMOUNT_INDEX].copy( - value = newFeeAmount.parseBigDecimal(this[FEE_AMOUNT_INDEX].decimals), - label = getFiatReference( - rate = feeCryptoCurrencyStatusProvider()?.value?.fiatRate, - value = newFeeAmount, - appCurrency = appCurrencyProvider(), - ), - ), - ) - set(index, this[index].copy(value = value)) - } } }.toImmutableList() } private companion object { private const val FEE_AMOUNT_INDEX = 0 - private const val FEE_VALUE_PER_UTXO_INDEX = 1 } } \ No newline at end of file diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 3c1895649c..5a8e078bec 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,7 +88,7 @@ markdown = "0.7.2" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "release-app_5.14-763" +tangemBlockchainSdk = "release-app_5.14-772" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "release-app_5.14-379" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^