Updated on 2026-08-14
This commit is contained in:
parent
56157412ac
commit
55ffa595d7
29 changed files with 40 additions and 223 deletions
|
|
@ -210,8 +210,6 @@ dependencies {
|
||||||
implementation(projects.features.walletconnect.impl)
|
implementation(projects.features.walletconnect.impl)
|
||||||
implementation(projects.features.usedesk.api)
|
implementation(projects.features.usedesk.api)
|
||||||
implementation(projects.features.usedesk.impl)
|
implementation(projects.features.usedesk.impl)
|
||||||
implementation(projects.features.feeSelector.api)
|
|
||||||
implementation(projects.features.feeSelector.impl)
|
|
||||||
|
|
||||||
/** AndroidX libraries */
|
/** AndroidX libraries */
|
||||||
implementation(deps.androidx.core.ktx)
|
implementation(deps.androidx.core.ktx)
|
||||||
|
|
|
||||||
1
features/fee-selector/api/.gitignore
vendored
1
features/fee-selector/api/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
||||||
/build
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
plugins {
|
|
||||||
alias(deps.plugins.android.library)
|
|
||||||
alias(deps.plugins.kotlin.android)
|
|
||||||
id("configuration")
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
namespace = "com.tangem.features.feeselector.api"
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
/** Project - Core */
|
|
||||||
implementation(projects.core.ui)
|
|
||||||
implementation(projects.core.decompose)
|
|
||||||
|
|
||||||
/** Domain models */
|
|
||||||
// api(projects.domain.models)
|
|
||||||
implementation(projects.domain.appCurrency.models)
|
|
||||||
// implementation(projects.domain.wallets.models)
|
|
||||||
|
|
||||||
/** Compose */
|
|
||||||
implementation(deps.compose.runtime)
|
|
||||||
implementation(deps.compose.foundation)
|
|
||||||
|
|
||||||
/** Other */
|
|
||||||
implementation(deps.kotlin.immutable.collections)
|
|
||||||
}
|
|
||||||
1
features/fee-selector/impl/.gitignore
vendored
1
features/fee-selector/impl/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
||||||
/build
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
plugins {
|
|
||||||
alias(deps.plugins.android.library)
|
|
||||||
alias(deps.plugins.kotlin.android)
|
|
||||||
alias(deps.plugins.kotlin.serialization)
|
|
||||||
alias(deps.plugins.kotlin.kapt)
|
|
||||||
alias(deps.plugins.hilt.android)
|
|
||||||
id("configuration")
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
namespace = "com.tangem.features.feeselector.impl"
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
/** Project - API */
|
|
||||||
implementation(projects.features.feeSelector.api)
|
|
||||||
|
|
||||||
/** Project - Core */
|
|
||||||
implementation(projects.common.ui)
|
|
||||||
implementation(projects.common.routing)
|
|
||||||
implementation(projects.core.decompose)
|
|
||||||
implementation(projects.core.ui)
|
|
||||||
implementation(projects.core.pagination)
|
|
||||||
implementation(projects.core.navigation)
|
|
||||||
|
|
||||||
/** Project - Domain */
|
|
||||||
implementation(projects.domain.appCurrency.models)
|
|
||||||
implementation(projects.domain.models)
|
|
||||||
implementation(projects.domain.tokens)
|
|
||||||
implementation(projects.domain.tokens.models)
|
|
||||||
implementation(projects.domain.wallets)
|
|
||||||
implementation(projects.domain.wallets.models)
|
|
||||||
|
|
||||||
/** AndroidX */
|
|
||||||
implementation(deps.androidx.activity.compose)
|
|
||||||
implementation(deps.lifecycle.compose)
|
|
||||||
|
|
||||||
/** Compose */
|
|
||||||
implementation(deps.compose.ui)
|
|
||||||
implementation(deps.compose.ui.tooling)
|
|
||||||
implementation(deps.compose.foundation)
|
|
||||||
implementation(deps.compose.material3)
|
|
||||||
implementation(deps.compose.shimmer)
|
|
||||||
|
|
||||||
/*** Tangem SDK */
|
|
||||||
implementation(tangemDeps.blockchain)
|
|
||||||
|
|
||||||
/** DI */
|
|
||||||
implementation(deps.hilt.android)
|
|
||||||
kapt(deps.hilt.kapt)
|
|
||||||
|
|
||||||
/** Other */
|
|
||||||
implementation(deps.arrow.core)
|
|
||||||
implementation(deps.kotlin.immutable.collections)
|
|
||||||
implementation(deps.decompose.ext.compose)
|
|
||||||
implementation(deps.timber)
|
|
||||||
}
|
|
||||||
|
|
@ -15,6 +15,7 @@ dependencies {
|
||||||
|
|
||||||
/** Domain models */
|
/** Domain models */
|
||||||
api(projects.domain.models)
|
api(projects.domain.models)
|
||||||
|
implementation(projects.domain.appCurrency.models)
|
||||||
implementation(projects.domain.wallets.models)
|
implementation(projects.domain.wallets.models)
|
||||||
implementation(projects.domain.tokens.models)
|
implementation(projects.domain.tokens.models)
|
||||||
implementation(projects.domain.nft.models)
|
implementation(projects.domain.nft.models)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.tangem.features.feeselector.api.component
|
package com.tangem.features.send.v2.api
|
||||||
|
|
||||||
import com.tangem.core.decompose.factory.ComponentFactory
|
import com.tangem.core.decompose.factory.ComponentFactory
|
||||||
import com.tangem.core.ui.decompose.ComposableBottomSheetComponent
|
import com.tangem.core.ui.decompose.ComposableBottomSheetComponent
|
||||||
|
|
@ -16,7 +16,6 @@ dependencies {
|
||||||
implementation(projects.features.sendV2.api)
|
implementation(projects.features.sendV2.api)
|
||||||
implementation(projects.features.txhistory.api)
|
implementation(projects.features.txhistory.api)
|
||||||
implementation(projects.features.nft.api)
|
implementation(projects.features.nft.api)
|
||||||
implementation(projects.features.feeSelector.api)
|
|
||||||
|
|
||||||
/** Libs */
|
/** Libs */
|
||||||
implementation(projects.libs.crypto)
|
implementation(projects.libs.crypto)
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,15 @@
|
||||||
package com.tangem.features.feeselector.impl.component
|
package com.tangem.features.send.v2.feeselector
|
||||||
|
|
||||||
import androidx.activity.compose.BackHandler
|
import androidx.activity.compose.BackHandler
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.tangem.core.decompose.context.AppComponentContext
|
import com.tangem.core.decompose.context.AppComponentContext
|
||||||
import com.tangem.core.decompose.model.getOrCreateModel
|
import com.tangem.core.decompose.model.getOrCreateModel
|
||||||
import com.tangem.features.feeselector.api.component.FeeSelectorComponent
|
import com.tangem.features.send.v2.api.FeeSelectorComponent
|
||||||
import com.tangem.features.feeselector.impl.model.FeeSelectorModel
|
import com.tangem.features.send.v2.feeselector.model.FeeSelectorModel
|
||||||
import com.tangem.features.feeselector.impl.ui.FeeSelectorModalBottomSheet
|
import com.tangem.features.send.v2.feeselector.ui.FeeSelectorModalBottomSheet
|
||||||
import dagger.assisted.Assisted
|
import dagger.assisted.Assisted
|
||||||
import dagger.assisted.AssistedFactory
|
import dagger.assisted.AssistedFactory
|
||||||
import dagger.assisted.AssistedInject
|
import dagger.assisted.AssistedInject
|
||||||
|
|
@ -31,8 +33,9 @@ internal class DefaultFeeSelectorComponent @AssistedInject constructor(
|
||||||
// Temporary workaround, to use test this component
|
// Temporary workaround, to use test this component
|
||||||
@Composable
|
@Composable
|
||||||
override fun Content(modifier: Modifier) {
|
override fun Content(modifier: Modifier) {
|
||||||
|
val state by model.uiState.collectAsStateWithLifecycle()
|
||||||
BackHandler(onBack = router::pop)
|
BackHandler(onBack = router::pop)
|
||||||
FeeSelectorModalBottomSheet(onDismiss = ::dismiss, state = TODO())
|
FeeSelectorModalBottomSheet(onDismiss = ::dismiss, state = state)
|
||||||
}
|
}
|
||||||
|
|
||||||
@AssistedFactory
|
@AssistedFactory
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.feeselector.impl.di
|
package com.tangem.features.send.v2.feeselector.di
|
||||||
|
|
||||||
import com.tangem.features.feeselector.api.component.FeeSelectorComponent
|
import com.tangem.features.send.v2.api.FeeSelectorComponent
|
||||||
import com.tangem.features.feeselector.impl.component.DefaultFeeSelectorComponent
|
import com.tangem.features.send.v2.feeselector.DefaultFeeSelectorComponent
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.tangem.features.feeselector.impl.di
|
package com.tangem.features.send.v2.feeselector.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.ModelComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.feeselector.impl.model.FeeSelectorModel
|
import com.tangem.features.send.v2.feeselector.model.FeeSelectorModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.tangem.features.feeselector.impl.entity
|
package com.tangem.features.send.v2.feeselector.entity
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import com.tangem.blockchain.common.Amount
|
import com.tangem.blockchain.common.Amount
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
package com.tangem.features.feeselector.impl.model
|
package com.tangem.features.send.v2.feeselector.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.core.decompose.di.ModelScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
import com.tangem.features.feeselector.api.component.FeeSelectorComponent
|
import com.tangem.features.send.v2.api.FeeSelectorComponent
|
||||||
import com.tangem.features.feeselector.impl.entity.FeeSelectorUM
|
import com.tangem.features.send.v2.feeselector.entity.FeeSelectorUM
|
||||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.tangem.features.feeselector.impl.ui
|
package com.tangem.features.send.v2.feeselector.ui
|
||||||
|
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
|
|
@ -46,18 +46,20 @@ import com.tangem.core.ui.format.bigdecimal.format
|
||||||
import com.tangem.core.ui.res.TangemTheme
|
import com.tangem.core.ui.res.TangemTheme
|
||||||
import com.tangem.core.ui.res.TangemThemePreview
|
import com.tangem.core.ui.res.TangemThemePreview
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
import com.tangem.features.send.v2.feeselector.entity.FeeFiatRateDataHolder
|
||||||
import com.tangem.features.feeselector.impl.R
|
import com.tangem.features.send.v2.feeselector.entity.FeeItem
|
||||||
import com.tangem.features.feeselector.impl.entity.FeeFiatRateDataHolder
|
import com.tangem.features.send.v2.feeselector.entity.FeeSelectorUM
|
||||||
import com.tangem.features.feeselector.impl.entity.FeeItem
|
import com.tangem.features.send.v2.impl.R
|
||||||
import com.tangem.features.feeselector.impl.entity.FeeSelectorUM
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import com.tangem.utils.StringsSigns
|
import com.tangem.utils.StringsSigns
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun FeeSelectorModalBottomSheet(state: FeeSelectorUM.Content, onDismiss: () -> Unit) {
|
internal fun FeeSelectorModalBottomSheet(state: FeeSelectorUM, onDismiss: () -> Unit) {
|
||||||
|
if (state !is FeeSelectorUM.Content) return
|
||||||
|
|
||||||
TangemModalBottomSheetWithFooter<TangemBottomSheetConfigContent.Empty>(
|
TangemModalBottomSheetWithFooter<TangemBottomSheetConfigContent.Empty>(
|
||||||
config = TangemBottomSheetConfig(
|
config = TangemBottomSheetConfig(
|
||||||
isShown = true,
|
isShown = true,
|
||||||
|
|
@ -4,8 +4,8 @@ import com.tangem.blockchain.common.transaction.Fee
|
||||||
import com.tangem.blockchain.common.transaction.TransactionFee
|
import com.tangem.blockchain.common.transaction.TransactionFee
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.ui.state.FeeType
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.FeeType
|
||||||
import com.tangem.utils.converter.Converter
|
import com.tangem.utils.converter.Converter
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ import com.tangem.blockchain.common.transaction.TransactionFee
|
||||||
import com.tangem.core.ui.utils.parseToBigDecimal
|
import com.tangem.core.ui.utils.parseToBigDecimal
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.bitcoin.BitcoinCustomFeeConverter
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.bitcoin.BitcoinCustomFeeConverter
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.kaspa.KaspaCustomFeeConverter
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.kaspa.KaspaCustomFeeConverter
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.ui.state.FeeSelectorUM
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.FeeSelectorUM
|
||||||
import com.tangem.utils.converter.TwoWayConverter
|
import com.tangem.utils.converter.TwoWayConverter
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.send.v2.subcomponents.fee.model.converters.custom
|
package com.tangem.features.send.v2.subcomponents.fee.model.converters.custom
|
||||||
|
|
||||||
import com.tangem.blockchain.common.transaction.Fee
|
import com.tangem.blockchain.common.transaction.Fee
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import com.tangem.utils.converter.Converter
|
import com.tangem.utils.converter.Converter
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,11 @@ import com.tangem.core.ui.utils.parseBigDecimal
|
||||||
import com.tangem.core.ui.utils.parseToBigDecimal
|
import com.tangem.core.ui.utils.parseToBigDecimal
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.impl.R
|
import com.tangem.features.send.v2.impl.R
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.CustomFeeConverter
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.CustomFeeConverter
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import com.tangem.lib.crypto.BlockchainUtils
|
import com.tangem.lib.crypto.BlockchainUtils
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum
|
package com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum
|
||||||
|
|
||||||
import com.tangem.blockchain.common.transaction.Fee
|
import com.tangem.blockchain.common.transaction.Fee
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.CustomFeeConverter
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.CustomFeeConverter
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,10 @@ import com.tangem.core.ui.extensions.resourceReference
|
||||||
import com.tangem.core.ui.utils.parseBigDecimal
|
import com.tangem.core.ui.utils.parseBigDecimal
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.impl.R
|
import com.tangem.features.send.v2.impl.R
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ import com.tangem.core.ui.utils.parseBigDecimal
|
||||||
import com.tangem.core.ui.utils.parseToBigDecimal
|
import com.tangem.core.ui.utils.parseToBigDecimal
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.impl.R
|
import com.tangem.features.send.v2.impl.R
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
||||||
|
|
@ -20,6 +19,7 @@ import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.eth
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GAS_DECIMALS
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GAS_DECIMALS
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GIGA_DECIMALS
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GIGA_DECIMALS
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.setEmpty
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.setEmpty
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ import com.tangem.core.ui.utils.parseBigDecimal
|
||||||
import com.tangem.core.ui.utils.parseToBigDecimal
|
import com.tangem.core.ui.utils.parseToBigDecimal
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.impl.R
|
import com.tangem.features.send.v2.impl.R
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
import com.tangem.features.send.v2.subcomponents.fee.model.checkExceedBalance
|
||||||
|
|
@ -20,6 +19,7 @@ import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.eth
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GAS_DECIMALS
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GAS_DECIMALS
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GIGA_DECIMALS
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.ethereum.EthereumCustomFeeConverter.Companion.GIGA_DECIMALS
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.setEmpty
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.setEmpty
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,10 @@ import com.tangem.core.ui.utils.parseBigDecimal
|
||||||
import com.tangem.core.ui.utils.parseToBigDecimal
|
import com.tangem.core.ui.utils.parseToBigDecimal
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import com.tangem.features.send.v2.impl.R
|
import com.tangem.features.send.v2.impl.R
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
import com.tangem.features.send.v2.subcomponents.fee.model.SendFeeClickIntents
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.CustomFeeConverter
|
import com.tangem.features.send.v2.subcomponents.fee.model.converters.custom.CustomFeeConverter
|
||||||
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import com.tangem.core.ui.components.containers.FooterContainer
|
||||||
import com.tangem.core.ui.components.inputrow.InputRowEnterAmount
|
import com.tangem.core.ui.components.inputrow.InputRowEnterAmount
|
||||||
import com.tangem.core.ui.components.inputrow.InputRowEnterInfoAmount
|
import com.tangem.core.ui.components.inputrow.InputRowEnterInfoAmount
|
||||||
import com.tangem.core.ui.res.TangemTheme
|
import com.tangem.core.ui.res.TangemTheme
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.CustomFeeFieldUM
|
||||||
import com.tangem.features.send.v2.subcomponents.fee.ui.state.FeeType
|
import com.tangem.features.send.v2.subcomponents.fee.ui.state.FeeType
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.tangem.features.feeselector.api.entity
|
package com.tangem.features.send.v2.subcomponents.fee.ui.state
|
||||||
|
|
||||||
import androidx.compose.foundation.text.KeyboardActions
|
import androidx.compose.foundation.text.KeyboardActions
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
import androidx.compose.foundation.text.KeyboardOptions
|
||||||
|
|
@ -5,7 +5,6 @@ import com.tangem.blockchain.common.transaction.Fee
|
||||||
import com.tangem.blockchain.common.transaction.TransactionFee
|
import com.tangem.blockchain.common.transaction.TransactionFee
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.domain.transaction.error.GetFeeError
|
import com.tangem.domain.transaction.error.GetFeeError
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.tangem.features.send.v2.subcomponents.fee.ui.state
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.ui.notifications.NotificationUM
|
import com.tangem.common.ui.notifications.NotificationUM
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.features.feeselector.api.entity.CustomFeeFieldUM
|
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
plugins {
|
|
||||||
alias(deps.plugins.android.library)
|
|
||||||
alias(deps.plugins.kotlin.android)
|
|
||||||
alias(deps.plugins.kotlin.kapt)
|
|
||||||
alias(deps.plugins.hilt.android)
|
|
||||||
id("configuration")
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
namespace = "com.tangem.features.send.impl"
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
/** AndroidX */
|
|
||||||
implementation(deps.androidx.fragment.ktx)
|
|
||||||
implementation(deps.androidx.appCompat)
|
|
||||||
implementation(deps.androidx.paging.runtime)
|
|
||||||
|
|
||||||
/** Other dependencies */
|
|
||||||
implementation(deps.kotlin.immutable.collections)
|
|
||||||
implementation(deps.material)
|
|
||||||
implementation(deps.arrow.core)
|
|
||||||
implementation(deps.lifecycle.compose)
|
|
||||||
implementation(deps.jodatime)
|
|
||||||
implementation(deps.timber)
|
|
||||||
implementation(deps.reKotlin)
|
|
||||||
implementation(deps.kotlin.serialization)
|
|
||||||
|
|
||||||
/** Compose */
|
|
||||||
implementation(deps.compose.accompanist.systemUiController)
|
|
||||||
implementation(deps.compose.material3)
|
|
||||||
implementation(deps.compose.material)
|
|
||||||
implementation(deps.compose.foundation)
|
|
||||||
implementation(deps.compose.ui)
|
|
||||||
implementation(deps.compose.ui.tooling)
|
|
||||||
implementation(deps.compose.navigation)
|
|
||||||
implementation(deps.compose.navigation.hilt)
|
|
||||||
implementation(deps.compose.paging)
|
|
||||||
implementation(deps.compose.constraintLayout)
|
|
||||||
|
|
||||||
/** Tangem SDKs */
|
|
||||||
implementation(tangemDeps.card.core)
|
|
||||||
implementation(tangemDeps.blockchain)
|
|
||||||
|
|
||||||
/** Core modules */
|
|
||||||
implementation(projects.core.configToggles)
|
|
||||||
implementation(projects.core.ui)
|
|
||||||
implementation(projects.core.utils)
|
|
||||||
implementation(projects.core.navigation)
|
|
||||||
implementation(projects.core.analytics)
|
|
||||||
implementation(projects.core.analytics.models)
|
|
||||||
implementation(projects.core.datasource)
|
|
||||||
implementation(projects.core.decompose)
|
|
||||||
|
|
||||||
/** Common */
|
|
||||||
implementation(projects.common.ui)
|
|
||||||
implementation(projects.common.routing)
|
|
||||||
|
|
||||||
/** Libs */
|
|
||||||
implementation(projects.libs.crypto)
|
|
||||||
|
|
||||||
/** Domain modules */
|
|
||||||
implementation(projects.domain.models)
|
|
||||||
implementation(projects.domain.legacy)
|
|
||||||
implementation(projects.libs.blockchainSdk)
|
|
||||||
implementation(projects.domain.tokens)
|
|
||||||
implementation(projects.domain.tokens.models)
|
|
||||||
implementation(projects.domain.wallets)
|
|
||||||
implementation(projects.domain.wallets.models)
|
|
||||||
implementation(projects.domain.appCurrency)
|
|
||||||
implementation(projects.domain.appCurrency.models)
|
|
||||||
implementation(projects.domain.txhistory)
|
|
||||||
implementation(projects.domain.txhistory.models)
|
|
||||||
implementation(projects.domain.transaction)
|
|
||||||
implementation(projects.domain.transaction.models)
|
|
||||||
implementation(projects.domain.card)
|
|
||||||
implementation(projects.domain.balanceHiding)
|
|
||||||
implementation(projects.domain.balanceHiding.models)
|
|
||||||
implementation(projects.domain.feedback)
|
|
||||||
implementation(projects.domain.feedback.models)
|
|
||||||
implementation(projects.domain.qrScanning)
|
|
||||||
implementation(projects.domain.qrScanning.models)
|
|
||||||
implementation(projects.domain.settings)
|
|
||||||
implementation(projects.domain.notifications)
|
|
||||||
|
|
||||||
/** Feature modules */
|
|
||||||
implementation(projects.features.send.api)
|
|
||||||
implementation(projects.features.tokendetails.api)
|
|
||||||
implementation(projects.features.txhistory.api)
|
|
||||||
implementation(projects.features.qrScanning.api)
|
|
||||||
|
|
||||||
/** DI */
|
|
||||||
implementation(deps.hilt.android)
|
|
||||||
kapt(deps.hilt.kapt)
|
|
||||||
}
|
|
||||||
|
|
@ -242,9 +242,6 @@ include(":features:nft:impl")
|
||||||
|
|
||||||
include(":features:walletconnect:api")
|
include(":features:walletconnect:api")
|
||||||
include(":features:walletconnect:impl")
|
include(":features:walletconnect:impl")
|
||||||
|
|
||||||
include(":features:fee-selector:api")
|
|
||||||
include(":features:fee-selector:impl")
|
|
||||||
// endregion Feature modules
|
// endregion Feature modules
|
||||||
|
|
||||||
// region Domain modules
|
// region Domain modules
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue