Updated on 2026-08-14
This commit is contained in:
parent
5421e5eb69
commit
165bf516e6
256 changed files with 1098 additions and 1035 deletions
|
|
@ -252,8 +252,8 @@ dependencies {
|
|||
implementation(projects.features.tokendetails.impl)
|
||||
implementation(projects.features.manageTokens.api)
|
||||
implementation(projects.features.manageTokens.impl)
|
||||
implementation(projects.features.sendV2.api)
|
||||
implementation(projects.features.sendV2.impl)
|
||||
implementation(projects.features.send.api)
|
||||
implementation(projects.features.send.impl)
|
||||
implementation(projects.features.qrScanning.api)
|
||||
implementation(projects.features.qrScanning.impl)
|
||||
implementation(projects.features.staking.api)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import com.tangem.core.ui.test.BaseButtonTestTags
|
|||
import com.tangem.core.ui.test.FooterTestTags
|
||||
import com.tangem.core.ui.test.SendAddressScreenTestTags
|
||||
import com.tangem.core.ui.test.TopAppBarTestTags
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.impl.R
|
||||
import io.github.kakaocup.compose.node.element.ComposeScreen
|
||||
import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen
|
||||
import io.github.kakaocup.compose.node.element.KNode
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import io.github.kakaocup.compose.node.element.ComposeScreen
|
|||
import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen
|
||||
import io.github.kakaocup.compose.node.element.KNode
|
||||
import io.github.kakaocup.kakao.common.utilities.getResourceString
|
||||
import com.tangem.features.send.v2.impl.R as SendR
|
||||
import com.tangem.features.send.impl.R as SendR
|
||||
import androidx.compose.ui.test.hasText as withText
|
||||
|
||||
class SendPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) :
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ import com.tangem.features.onramp.component.*
|
|||
import com.tangem.features.pushnotifications.api.PushNotificationsComponent
|
||||
import com.tangem.features.pushnotifications.api.PushNotificationsModelCallbacksStub
|
||||
import com.tangem.features.pushnotifications.api.PushNotificationsParams
|
||||
import com.tangem.features.send.v2.api.NFTSendComponent
|
||||
import com.tangem.features.send.v2.api.SendComponent
|
||||
import com.tangem.features.send.v2.api.SendEntryPointComponent
|
||||
import com.tangem.features.send.api.NFTSendComponent
|
||||
import com.tangem.features.send.api.SendComponent
|
||||
import com.tangem.features.send.api.SendEntryPointComponent
|
||||
import com.tangem.features.staking.api.StakingComponent
|
||||
import com.tangem.features.swap.SwapComponent
|
||||
import com.tangem.features.tangempay.components.TangemPayHotWalletOnboardingComponent
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import com.tangem.features.onramp.deeplink.BuyDeepLinkHandler
|
|||
import com.tangem.features.onramp.deeplink.OnrampDeepLinkHandler
|
||||
import com.tangem.features.onramp.deeplink.SellDeepLinkHandler
|
||||
import com.tangem.features.onramp.deeplink.SwapDeepLinkHandler
|
||||
import com.tangem.features.send.v2.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import com.tangem.features.send.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import com.tangem.features.staking.api.deeplink.StakingDeepLinkHandler
|
||||
import com.tangem.features.survey.deeplink.SurveyDeepLinkHandler
|
||||
import com.tangem.features.tangempay.deeplink.OnboardVisaDeepLinkHandler
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import com.tangem.features.onramp.deeplink.BuyDeepLinkHandler
|
|||
import com.tangem.features.onramp.deeplink.OnrampDeepLinkHandler
|
||||
import com.tangem.features.onramp.deeplink.SellDeepLinkHandler
|
||||
import com.tangem.features.onramp.deeplink.SwapDeepLinkHandler
|
||||
import com.tangem.features.send.v2.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import com.tangem.features.send.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import com.tangem.features.staking.api.deeplink.StakingDeepLinkHandler
|
||||
import com.tangem.features.tangempay.deeplink.OnboardVisaDeepLinkHandler
|
||||
import com.tangem.features.tangempay.deeplink.TangemPayMainDeepLinkHandler
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ dependencies {
|
|||
// endregion
|
||||
|
||||
// region Project - Features API
|
||||
implementation(projects.features.sendV2.api)
|
||||
implementation(projects.features.send.api)
|
||||
// endregion
|
||||
|
||||
// region Tangem SDKs
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ dependencies {
|
|||
implementation(projects.domain.demo)
|
||||
|
||||
/** Api */
|
||||
implementation(projects.features.sendV2.api)
|
||||
implementation(projects.features.send.api)
|
||||
|
||||
/** DI */
|
||||
implementation(deps.hilt.android)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ dependencies {
|
|||
|
||||
/** Feature */
|
||||
implementation(projects.features.approval.api)
|
||||
implementation(projects.features.sendV2.api)
|
||||
implementation(projects.features.send.api)
|
||||
|
||||
/** Core */
|
||||
implementation(projects.core.configToggles)
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ import com.tangem.core.ui.res.TangemTheme
|
|||
import com.tangem.features.approval.api.GiveApprovalComponent
|
||||
import com.tangem.features.approval.impl.model.GiveApprovalModel
|
||||
import com.tangem.features.approval.impl.ui.GiveApprovalContent
|
||||
import com.tangem.features.send.v2.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
|
|
|
|||
|
|
@ -33,10 +33,10 @@ import com.tangem.domain.transaction.usecase.gasless.GetFeeForGaslessUseCase
|
|||
import com.tangem.domain.transaction.usecase.gasless.GetFeeForTokenUseCase
|
||||
import com.tangem.domain.wallets.usecase.GetUserWalletUseCase
|
||||
import com.tangem.features.approval.api.GiveApprovalComponent
|
||||
import com.tangem.features.send.v2.api.callbacks.FeeSelectorModelCallback
|
||||
import com.tangem.features.send.v2.api.entity.FeeItem
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.features.send.api.callbacks.FeeSelectorModelCallback
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import com.tangem.core.ui.extensions.*
|
|||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.features.approval.impl.model.GiveApprovalUM
|
||||
import com.tangem.features.send.v2.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.api.FeeSelectorBlockComponent
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.tangem.features.approval.impl.ui
|
|||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import com.tangem.features.send.v2.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
|
||||
internal class PreviewFeeSelectorBlockComponent : FeeSelectorBlockComponent {
|
||||
override fun updateState(feeSelectorUM: FeeSelectorUM) {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import com.tangem.domain.transaction.usecase.gasless.GetFeeForGaslessUseCase
|
|||
import com.tangem.domain.transaction.usecase.gasless.GetFeeForTokenUseCase
|
||||
import com.tangem.domain.wallets.usecase.GetUserWalletUseCase
|
||||
import com.tangem.features.approval.api.GiveApprovalComponent
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.utils.coroutines.TestingCoroutineDispatcherProvider
|
||||
import io.mockk.coEvery
|
||||
import io.mockk.coVerify
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ dependencies {
|
|||
/* Project - API */
|
||||
api(projects.features.feed.api)
|
||||
api(projects.features.onramp.api)
|
||||
api(projects.features.sendV2.api)
|
||||
api(projects.features.send.api)
|
||||
api(projects.features.tokenRecieve.api)
|
||||
api(projects.features.wallet.api)
|
||||
api(projects.features.account.api)
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ dependencies {
|
|||
/* Project - API */
|
||||
api(projects.features.markets.api)
|
||||
api(projects.features.onramp.api)
|
||||
api(projects.features.sendV2.api)
|
||||
api(projects.features.send.api)
|
||||
api(projects.features.tokenRecieve.api)
|
||||
api(projects.features.wallet.api)
|
||||
api(projects.features.account.api)
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
|
||||
interface SendFeatureToggles
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package com.tangem.features.send.v2.api.callbacks
|
||||
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
|
||||
interface FeeSelectorModelCallback {
|
||||
fun onFeeResult(feeSelectorUM: FeeSelectorUM)
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.notifications
|
||||
|
||||
import com.tangem.features.send.v2.api.SendNotificationsComponent.Params.NotificationData
|
||||
|
||||
interface SendNotificationsUpdateTrigger {
|
||||
/** Trigger return callback with check result */
|
||||
suspend fun callbackHasError(hasError: Boolean)
|
||||
|
||||
/** Trigger fee check reload */
|
||||
suspend fun triggerUpdate(data: NotificationData)
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
package com.tangem.features.send.v2.feeselector.component
|
||||
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorIntents
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
||||
internal class FeeSelectorComponentParams(
|
||||
val parentParams: FeeSelectorParams.FeeSelectorDetailsParams,
|
||||
val state: MutableStateFlow<FeeSelectorUM>,
|
||||
val intents: FeeSelectorIntents,
|
||||
)
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.tangem.features.send.v2.sendnft.ui.state
|
||||
|
||||
import com.tangem.common.ui.navigationButtons.NavigationUM
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.subcomponents.destination.entity.DestinationUM
|
||||
import com.tangem.features.send.v2.common.ui.state.ConfirmUM
|
||||
|
||||
internal data class NFTSendUM(
|
||||
val destinationUM: DestinationUM,
|
||||
val feeSelectorUM: FeeSelectorUM,
|
||||
val confirmUM: ConfirmUM,
|
||||
val navigationUM: NavigationUM,
|
||||
)
|
||||
|
|
@ -5,7 +5,7 @@ plugins {
|
|||
}
|
||||
|
||||
android {
|
||||
namespace = "com.tangem.features.send.v2.api"
|
||||
namespace = "com.tangem.features.send.api"
|
||||
}
|
||||
dependencies {
|
||||
/** Core */
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
package com.tangem.features.send.api
|
||||
|
||||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
|
||||
interface FeeSelectorBlockComponent : ComposableContentComponent {
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
package com.tangem.features.send.api
|
||||
|
||||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.ui.decompose.ComposableBottomSheetComponent
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
|
||||
interface FeeSelectorComponent : ComposableBottomSheetComponent {
|
||||
interface Factory {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
package com.tangem.features.send.api
|
||||
|
||||
import com.tangem.core.decompose.factory.ComponentFactory
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
package com.tangem.features.send.api
|
||||
|
||||
import com.tangem.core.decompose.factory.ComponentFactory
|
||||
import com.tangem.core.ui.decompose.ComposableDialogComponent
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
package com.tangem.features.send.api
|
||||
|
||||
import com.tangem.core.decompose.factory.ComponentFactory
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
package com.tangem.features.send.api
|
||||
|
||||
import com.tangem.core.decompose.factory.ComponentFactory
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
package com.tangem.features.send.api
|
||||
|
||||
interface SendFeatureToggles
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api
|
||||
package com.tangem.features.send.api
|
||||
|
||||
import androidx.compose.foundation.lazy.LazyListScope
|
||||
import androidx.compose.ui.Modifier
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.analytics
|
||||
package com.tangem.features.send.api.analytics
|
||||
|
||||
import com.tangem.core.analytics.models.AnalyticsEvent
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package com.tangem.features.send.api.callbacks
|
||||
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
|
||||
interface FeeSelectorModelCallback {
|
||||
fun onFeeResult(feeSelectorUM: FeeSelectorUM)
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.deeplink
|
||||
package com.tangem.features.send.api.deeplink
|
||||
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.entity
|
||||
package com.tangem.features.send.api.entity
|
||||
|
||||
import androidx.compose.foundation.text.KeyboardActions
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.entity
|
||||
package com.tangem.features.send.api.entity
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import com.tangem.blockchain.common.Amount
|
||||
|
|
@ -12,8 +12,7 @@ import com.tangem.domain.appcurrency.model.AppCurrency
|
|||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.domain.transaction.error.GetFeeError
|
||||
import com.tangem.domain.transaction.models.TransactionFeeExtended
|
||||
import com.tangem.features.send.v2.api.R
|
||||
import com.tangem.features.send.v2.api.entity.FeeItem.*
|
||||
import com.tangem.features.send.api.R
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import java.math.BigDecimal
|
||||
import java.math.BigInteger
|
||||
|
|
@ -46,12 +45,12 @@ sealed class FeeSelectorUM {
|
|||
fun toAnalyticType(): AnalyticsParam.FeeType = when (fees) {
|
||||
is TransactionFee.Single -> AnalyticsParam.FeeType.Fixed
|
||||
is TransactionFee.Choosable -> when (selectedFeeItem) {
|
||||
is Suggested,
|
||||
is Custom,
|
||||
is FeeItem.Suggested,
|
||||
is FeeItem.Custom,
|
||||
-> AnalyticsParam.FeeType.Custom
|
||||
is Fast -> AnalyticsParam.FeeType.Max
|
||||
is Market, is FeeItem.Loading -> AnalyticsParam.FeeType.Normal
|
||||
is Slow -> AnalyticsParam.FeeType.Min
|
||||
is FeeItem.Fast -> AnalyticsParam.FeeType.Max
|
||||
is FeeItem.Market, is FeeItem.Loading -> AnalyticsParam.FeeType.Normal
|
||||
is FeeItem.Slow -> AnalyticsParam.FeeType.Min
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.entity
|
||||
package com.tangem.features.send.api.entity
|
||||
|
||||
sealed class PredefinedValues {
|
||||
data object Empty : PredefinedValues()
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.entry
|
||||
package com.tangem.features.send.api.entry
|
||||
|
||||
import com.tangem.core.decompose.navigation.Route
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.params
|
||||
package com.tangem.features.send.api.params
|
||||
|
||||
import arrow.core.Either
|
||||
import com.tangem.blockchain.common.transaction.Fee
|
||||
|
|
@ -8,9 +8,9 @@ import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
|||
import com.tangem.domain.models.wallet.UserWalletId
|
||||
import com.tangem.domain.transaction.error.GetFeeError
|
||||
import com.tangem.domain.transaction.models.TransactionFeeExtended
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.v2.api.callbacks.FeeSelectorModelCallback
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.api.callbacks.FeeSelectorModelCallback
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
|
||||
sealed class FeeSelectorParams {
|
||||
abstract val state: FeeSelectorUM
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.amount.analytics
|
||||
package com.tangem.features.send.api.subcomponents.amount.analytics
|
||||
|
||||
import com.tangem.core.analytics.models.AnalyticsEvent
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.SOURCE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.TYPE
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
|
||||
sealed class CommonSendAmountAnalyticEvents(
|
||||
category: String,
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.destination
|
||||
package com.tangem.features.send.api.subcomponents.destination
|
||||
|
||||
/**
|
||||
* Common route for destination
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.destination
|
||||
package com.tangem.features.send.api.subcomponents.destination
|
||||
|
||||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.api.subcomponents.destination.entity.DestinationUM
|
||||
import com.tangem.features.send.api.subcomponents.destination.entity.DestinationUM
|
||||
|
||||
interface SendDestinationBlockComponent : ComposableContentComponent {
|
||||
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.destination
|
||||
package com.tangem.features.send.api.subcomponents.destination
|
||||
|
||||
import com.tangem.common.ui.navigationButtons.NavigationModelCallback
|
||||
import com.tangem.core.decompose.factory.ComponentFactory
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.api.subcomponents.destination.entity.DestinationUM
|
||||
import com.tangem.features.send.api.subcomponents.destination.entity.DestinationUM
|
||||
|
||||
interface SendDestinationComponent : ComposableContentComponent {
|
||||
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.destination
|
||||
package com.tangem.features.send.api.subcomponents.destination
|
||||
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.wallet.UserWalletId
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.v2.api.entity.PredefinedValues
|
||||
import com.tangem.features.send.v2.api.subcomponents.destination.entity.DestinationUM
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.api.entity.PredefinedValues
|
||||
import com.tangem.features.send.api.subcomponents.destination.entity.DestinationUM
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.destination.entity
|
||||
package com.tangem.features.send.api.subcomponents.destination.entity
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
|
@ -11,8 +11,8 @@ import com.tangem.domain.models.wallet.UserWalletId
|
|||
@Immutable
|
||||
data class DestinationRecipientListUM(
|
||||
val id: String,
|
||||
val title: TextReference = TextReference.Companion.EMPTY,
|
||||
val subtitle: TextReference = TextReference.Companion.EMPTY,
|
||||
val title: TextReference = TextReference.EMPTY,
|
||||
val subtitle: TextReference = TextReference.EMPTY,
|
||||
val accountTitleUM: AccountTitleUM.Account? = null,
|
||||
val timestamp: TextReference? = null,
|
||||
val subtitleEndOffset: Int = 0,
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.destination.entity
|
||||
package com.tangem.features.send.api.subcomponents.destination.entity
|
||||
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.destination.entity
|
||||
package com.tangem.features.send.api.subcomponents.destination.entity
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.feeSelector
|
||||
package com.tangem.features.send.api.subcomponents.feeSelector
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.feeSelector
|
||||
package com.tangem.features.send.api.subcomponents.feeSelector
|
||||
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.entity.FeeSelectorData
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.entity.FeeSelectorData
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface FeeSelectorReloadTrigger {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.feeSelector.analytics
|
||||
package com.tangem.features.send.api.subcomponents.feeSelector.analytics
|
||||
|
||||
import com.tangem.core.analytics.models.AnalyticsEvent
|
||||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
|
|
@ -7,7 +7,7 @@ import com.tangem.core.analytics.models.AnalyticsParam.Key.FEE_TOKEN
|
|||
import com.tangem.core.analytics.models.AnalyticsParam.Key.FEE_TYPE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.SOURCE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents.CommonSendSource
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
|
||||
sealed class CommonSendFeeAnalyticEvents(
|
||||
category: String,
|
||||
|
|
@ -21,7 +21,7 @@ sealed class CommonSendFeeAnalyticEvents(
|
|||
data class SelectedFee(
|
||||
override val categoryName: String,
|
||||
val feeType: AnalyticsParam.FeeType,
|
||||
val source: CommonSendSource,
|
||||
val source: CommonSendAnalyticEvents.CommonSendSource,
|
||||
val feeToken: String,
|
||||
val blockchain: String,
|
||||
) : CommonSendFeeAnalyticEvents(
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.feeSelector.entity
|
||||
package com.tangem.features.send.api.subcomponents.feeSelector.entity
|
||||
|
||||
data class FeeSelectorData(
|
||||
val isRemoveSuggestedFee: Boolean = false,
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.feeSelector.utils
|
||||
package com.tangem.features.send.api.subcomponents.feeSelector.utils
|
||||
|
||||
import com.tangem.blockchain.common.transaction.TransactionFee
|
||||
import com.tangem.core.ui.utils.parseBigDecimal
|
||||
import com.tangem.core.ui.utils.parseToBigDecimal
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.features.send.v2.api.entity.FeeItem
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.utils.extensions.isZero
|
||||
import java.math.BigDecimal
|
||||
import java.math.RoundingMode
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.notifications
|
||||
package com.tangem.features.send.api.subcomponents.notifications
|
||||
|
||||
import com.tangem.features.send.v2.api.SendNotificationsComponent.Params.NotificationData
|
||||
import com.tangem.features.send.api.SendNotificationsComponent
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface SendNotificationsUpdateListener {
|
||||
/** Flow triggers notifications update */
|
||||
val updateTriggerFlow: Flow<NotificationData>
|
||||
val updateTriggerFlow: Flow<SendNotificationsComponent.Params.NotificationData>
|
||||
|
||||
/** Flow returns whether there is error notifications */
|
||||
val hasErrorFlow: Flow<Boolean>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.features.send.api.subcomponents.notifications
|
||||
|
||||
import com.tangem.features.send.api.SendNotificationsComponent
|
||||
|
||||
interface SendNotificationsUpdateTrigger {
|
||||
/** Trigger return callback with check result */
|
||||
suspend fun callbackHasError(hasError: Boolean)
|
||||
|
||||
/** Trigger fee check reload */
|
||||
suspend fun triggerUpdate(data: SendNotificationsComponent.Params.NotificationData)
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.api.utils
|
||||
package com.tangem.features.send.api.utils
|
||||
|
||||
import com.tangem.blockchain.common.Amount
|
||||
import com.tangem.blockchain.common.transaction.Fee
|
||||
|
|
@ -8,7 +8,7 @@ import com.tangem.core.ui.format.bigdecimal.fee
|
|||
import com.tangem.core.ui.format.bigdecimal.fiat
|
||||
import com.tangem.core.ui.format.bigdecimal.format
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.features.send.v2.api.R
|
||||
import com.tangem.features.send.api.R
|
||||
import com.tangem.utils.StringsSigns.COMA_SIGN
|
||||
|
||||
fun getTronTokenFeeSendingText(fee: Fee.Tron, fiatFee: String, fiatSending: TextReference): TextReference {
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package com.tangem.features.send.v2.api.subcomponents.feeSelector.utils
|
||||
package com.tangem.features.send.api.subcomponents.feeSelector.utils
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.utils.FeeCalculationUtils
|
||||
import io.mockk.mockk
|
||||
import org.junit.jupiter.api.Test
|
||||
import java.math.BigDecimal
|
||||
|
|
@ -8,11 +8,11 @@ plugins {
|
|||
}
|
||||
|
||||
android {
|
||||
namespace = "com.tangem.features.send.v2.impl"
|
||||
namespace = "com.tangem.features.send.impl"
|
||||
}
|
||||
dependencies {
|
||||
/** Api */
|
||||
implementation(projects.features.sendV2.api)
|
||||
implementation(projects.features.send.api)
|
||||
implementation(projects.features.txhistory.api)
|
||||
implementation(projects.features.nft.api)
|
||||
implementation(projects.features.swapV2.api)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.features.send.v2
|
||||
package com.tangem.features.send
|
||||
|
||||
import com.tangem.features.send.v2.api.SendFeatureToggles
|
||||
import com.tangem.features.send.api.SendFeatureToggles
|
||||
import javax.inject.Inject
|
||||
|
||||
internal class DefaultSendFeatureToggles @Inject constructor() : SendFeatureToggles
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.features.send.v2.common
|
||||
package com.tangem.features.send.common
|
||||
|
||||
import com.tangem.core.decompose.navigation.Route
|
||||
import com.tangem.features.send.v2.api.subcomponents.destination.DestinationRoute
|
||||
import com.tangem.features.send.api.subcomponents.destination.DestinationRoute
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
internal sealed class CommonSendRoute : Route {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.common
|
||||
package com.tangem.features.send.common
|
||||
|
||||
import com.tangem.utils.coroutines.AppCoroutineScope
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.common
|
||||
package com.tangem.features.send.common
|
||||
|
||||
import com.tangem.common.ui.alerts.TransactionErrorDialogFactory
|
||||
import com.tangem.core.decompose.di.ModelScoped
|
||||
|
|
@ -7,7 +7,7 @@ import com.tangem.core.ui.extensions.resourceReference
|
|||
import com.tangem.core.ui.message.DialogMessage
|
||||
import com.tangem.core.ui.message.EventMessageAction
|
||||
import com.tangem.domain.transaction.error.SendTransactionError
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.impl.R
|
||||
import javax.inject.Inject
|
||||
|
||||
@ModelScoped
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.common.ui
|
||||
package com.tangem.features.send.common.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.*
|
||||
|
|
@ -15,8 +15,8 @@ import com.tangem.core.ui.format.bigdecimal.crypto
|
|||
import com.tangem.core.ui.format.bigdecimal.fee
|
||||
import com.tangem.core.ui.format.bigdecimal.format
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.impl.R
|
||||
|
||||
@Composable
|
||||
fun FeeBlockSuccess(feeSelectorUM: FeeSelectorUM) {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.common.ui
|
||||
package com.tangem.features.send.common.ui
|
||||
|
||||
import androidx.compose.animation.*
|
||||
import androidx.compose.foundation.background
|
||||
|
|
@ -21,8 +21,8 @@ import com.tangem.core.ui.decompose.ComposableContentComponent
|
|||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resolveReference
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.features.send.v2.common.CommonSendRoute
|
||||
import com.tangem.features.send.v2.common.ui.state.ConfirmUM
|
||||
import com.tangem.features.send.common.CommonSendRoute
|
||||
import com.tangem.features.send.common.ui.state.ConfirmUM
|
||||
|
||||
@Composable
|
||||
internal fun SendContent(
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.common.ui
|
||||
package com.tangem.features.send.common.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
|
@ -14,7 +14,7 @@ import androidx.compose.ui.draw.clip
|
|||
import androidx.compose.ui.res.painterResource
|
||||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.impl.R
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
private const val TAP_HELP_KEY = "TAP_HELP_KEY"
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.common.ui.state
|
||||
package com.tangem.features.send.common.ui.state
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import com.tangem.common.ui.notifications.NotificationUM
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.tangem.features.send.v2.common.utils
|
||||
package com.tangem.features.send.common.utils
|
||||
|
||||
import com.arkivanov.decompose.router.stack.ChildStack
|
||||
import com.arkivanov.decompose.value.Value
|
||||
import com.tangem.core.decompose.navigation.Router
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.common.CommonSendRoute
|
||||
import com.tangem.features.send.common.CommonSendRoute
|
||||
|
||||
/**
|
||||
* Workaround to try fix duplicate route crash
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.deeplink
|
||||
package com.tangem.features.send.deeplink
|
||||
|
||||
import arrow.core.Option
|
||||
import arrow.core.getOrElse
|
||||
|
|
@ -12,7 +12,7 @@ import com.tangem.domain.account.supplier.SingleAccountListSupplier
|
|||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.wallet.UserWalletId
|
||||
import com.tangem.domain.wallets.usecase.GetSelectedWalletSyncUseCase
|
||||
import com.tangem.features.send.v2.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import com.tangem.features.send.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.features.send.v2.deeplink.di
|
||||
package com.tangem.features.send.deeplink.di
|
||||
|
||||
import com.tangem.features.send.v2.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import com.tangem.features.send.v2.deeplink.DefaultSellRedirectDeepLinkHandler
|
||||
import com.tangem.features.send.api.deeplink.SellRedirectDeepLinkHandler
|
||||
import com.tangem.features.send.deeplink.DefaultSellRedirectDeepLinkHandler
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.tangem.features.send.v2.di
|
||||
package com.tangem.features.send.di
|
||||
|
||||
import com.tangem.core.decompose.di.ModelComponent
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.features.send.v2.subcomponents.amount.model.SendAmountModel
|
||||
import com.tangem.features.send.v2.subcomponents.destination.model.SendDestinationModel
|
||||
import com.tangem.features.send.v2.subcomponents.notifications.model.NotificationsModel
|
||||
import com.tangem.features.send.subcomponents.amount.model.SendAmountModel
|
||||
import com.tangem.features.send.subcomponents.destination.model.SendDestinationModel
|
||||
import com.tangem.features.send.subcomponents.notifications.model.NotificationsModel
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -1,11 +1,15 @@
|
|||
package com.tangem.features.send.v2.di
|
||||
package com.tangem.features.send.di
|
||||
|
||||
import com.tangem.features.send.v2.DefaultSendFeatureToggles
|
||||
import com.tangem.features.send.v2.api.*
|
||||
import com.tangem.features.send.v2.entrypoint.DefaultSendEntryPointComponent
|
||||
import com.tangem.features.send.v2.send.DefaultSendComponent
|
||||
import com.tangem.features.send.v2.sendnft.DefaultNFTSendComponent
|
||||
import com.tangem.features.send.v2.subcomponents.notifications.DefaultSendNotificationsComponent
|
||||
import com.tangem.features.send.DefaultSendFeatureToggles
|
||||
import com.tangem.features.send.api.NFTSendComponent
|
||||
import com.tangem.features.send.api.SendComponent
|
||||
import com.tangem.features.send.api.SendEntryPointComponent
|
||||
import com.tangem.features.send.api.SendFeatureToggles
|
||||
import com.tangem.features.send.api.SendNotificationsComponent
|
||||
import com.tangem.features.send.entrypoint.DefaultSendEntryPointComponent
|
||||
import com.tangem.features.send.send.DefaultSendComponent
|
||||
import com.tangem.features.send.sendnft.DefaultNFTSendComponent
|
||||
import com.tangem.features.send.subcomponents.notifications.DefaultSendNotificationsComponent
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.entrypoint
|
||||
package com.tangem.features.send.entrypoint
|
||||
|
||||
import androidx.compose.foundation.gestures.Orientation
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
|
|
@ -24,11 +24,11 @@ import com.tangem.core.decompose.model.getOrCreateModel
|
|||
import com.tangem.core.decompose.navigation.inner.InnerRouter
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.managetokens.component.ChooseManagedTokensComponent
|
||||
import com.tangem.features.send.v2.api.SendComponent
|
||||
import com.tangem.features.send.v2.api.SendEntryPointComponent
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.v2.api.entry.SendEntryRoute
|
||||
import com.tangem.features.send.v2.entrypoint.model.SendEntryPointModel
|
||||
import com.tangem.features.send.api.SendComponent
|
||||
import com.tangem.features.send.api.SendEntryPointComponent
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.api.entry.SendEntryRoute
|
||||
import com.tangem.features.send.entrypoint.model.SendEntryPointModel
|
||||
import com.tangem.features.swap.v2.api.SendWithSwapComponent
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.features.send.v2.entrypoint.di
|
||||
package com.tangem.features.send.entrypoint.di
|
||||
|
||||
import com.tangem.core.decompose.di.ModelComponent
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.features.send.v2.entrypoint.model.SendEntryPointModel
|
||||
import com.tangem.features.send.entrypoint.model.SendEntryPointModel
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.entrypoint.model
|
||||
package com.tangem.features.send.entrypoint.model
|
||||
|
||||
import com.tangem.common.ui.notifications.NotificationId
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
|
|
@ -7,10 +7,10 @@ import com.tangem.core.decompose.model.Model
|
|||
import com.tangem.core.decompose.navigation.Router
|
||||
import com.tangem.domain.notifications.ShouldShowNotificationUseCase
|
||||
import com.tangem.features.managetokens.component.ChooseManagedTokensComponent
|
||||
import com.tangem.features.send.v2.api.SendComponent
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.v2.api.entry.SendEntryRoute
|
||||
import com.tangem.features.send.v2.subcomponents.amount.SendAmountUpdateTrigger
|
||||
import com.tangem.features.send.api.SendComponent
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.api.entry.SendEntryRoute
|
||||
import com.tangem.features.send.subcomponents.amount.SendAmountUpdateTrigger
|
||||
import com.tangem.features.swap.v2.api.SendWithSwapComponent
|
||||
import com.tangem.features.swap.v2.api.subcomponents.SwapAmountUpdateTrigger
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector
|
||||
package com.tangem.features.send.feeselector
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -12,12 +12,12 @@ import com.tangem.core.decompose.context.AppComponentContext
|
|||
import com.tangem.core.decompose.context.childByContext
|
||||
import com.tangem.core.decompose.model.getOrCreateModel
|
||||
import com.tangem.core.ui.extensions.conditional
|
||||
import com.tangem.features.send.v2.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.v2.api.FeeSelectorComponent
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorBlockModel
|
||||
import com.tangem.features.send.v2.feeselector.ui.FeeSelectorBlockContent
|
||||
import com.tangem.features.send.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.api.FeeSelectorComponent
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorBlockModel
|
||||
import com.tangem.features.send.feeselector.ui.FeeSelectorBlockContent
|
||||
import com.tangem.utils.extensions.isSingleItem
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector
|
||||
package com.tangem.features.send.feeselector
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
|
|
@ -12,15 +12,15 @@ import com.tangem.core.decompose.context.childByContext
|
|||
import com.tangem.core.decompose.model.getOrCreateModel
|
||||
import com.tangem.core.decompose.navigation.inner.InnerRouter
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.api.FeeSelectorComponent
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.v2.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.v2.feeselector.component.extended.FeeExtendedSelectorComponent
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.FeeSpeedSelectorComponent
|
||||
import com.tangem.features.send.v2.feeselector.component.token.FeeTokenSelectorComponent
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorModel
|
||||
import com.tangem.features.send.v2.feeselector.route.FeeSelectorRoute
|
||||
import com.tangem.features.send.v2.feeselector.ui.FeeSelectorModalBottomSheet
|
||||
import com.tangem.features.send.api.FeeSelectorComponent
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.feeselector.component.extended.FeeExtendedSelectorComponent
|
||||
import com.tangem.features.send.feeselector.component.speed.FeeSpeedSelectorComponent
|
||||
import com.tangem.features.send.feeselector.component.token.FeeTokenSelectorComponent
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorModel
|
||||
import com.tangem.features.send.feeselector.route.FeeSelectorRoute
|
||||
import com.tangem.features.send.feeselector.ui.FeeSelectorModalBottomSheet
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.tangem.features.send.v2.feeselector
|
||||
package com.tangem.features.send.feeselector
|
||||
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorCheckReloadListener
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorCheckReloadTrigger
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorReloadListener
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.entity.FeeSelectorData
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorCheckReloadListener
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorCheckReloadTrigger
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorReloadListener
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.entity.FeeSelectorData
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.SharedFlow
|
||||
import javax.inject.Inject
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.tangem.features.send.feeselector.component
|
||||
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorIntents
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
||||
internal class FeeSelectorComponentParams(
|
||||
val parentParams: FeeSelectorParams.FeeSelectorDetailsParams,
|
||||
val state: MutableStateFlow<FeeSelectorUM>,
|
||||
val intents: FeeSelectorIntents,
|
||||
)
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.extended
|
||||
package com.tangem.features.send.feeselector.component.extended
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
|
|
@ -7,9 +7,9 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
|||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.decompose.model.getOrCreateModel
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.v2.feeselector.component.extended.model.FeeExtendedSelectorModel
|
||||
import com.tangem.features.send.v2.feeselector.component.extended.ui.FeeExtendedSelectorContent
|
||||
import com.tangem.features.send.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.feeselector.component.extended.model.FeeExtendedSelectorModel
|
||||
import com.tangem.features.send.feeselector.component.extended.ui.FeeExtendedSelectorContent
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.extended.entity
|
||||
package com.tangem.features.send.feeselector.component.extended.entity
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||
import com.tangem.features.send.v2.api.entity.FeeItem
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
|
||||
@Immutable
|
||||
data class FeeExtendedSelectorUM(
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.extended.model
|
||||
package com.tangem.features.send.feeselector.component.extended.model
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import arrow.core.getOrElse
|
||||
|
|
@ -8,10 +8,10 @@ import com.tangem.core.decompose.model.ParamsContainer
|
|||
import com.tangem.core.decompose.navigation.Router
|
||||
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.v2.feeselector.component.extended.entity.FeeExtendedSelectorUM
|
||||
import com.tangem.features.send.v2.feeselector.route.FeeSelectorRoute
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.feeselector.component.extended.entity.FeeExtendedSelectorUM
|
||||
import com.tangem.features.send.feeselector.route.FeeSelectorRoute
|
||||
import com.tangem.utils.Provider
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.flow.*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.extended.model
|
||||
package com.tangem.features.send.feeselector.component.extended.model
|
||||
|
||||
import com.tangem.common.ui.tokens.TokenItemStateConverter
|
||||
import com.tangem.core.ui.components.icons.IconTint
|
||||
|
|
@ -9,7 +9,7 @@ import com.tangem.core.ui.format.bigdecimal.fiat
|
|||
import com.tangem.core.ui.format.bigdecimal.format
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.impl.R
|
||||
import com.tangem.utils.Provider
|
||||
import com.tangem.utils.converter.Converter
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.extended.ui
|
||||
package com.tangem.features.send.feeselector.component.extended.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
|
|
@ -33,9 +33,13 @@ import com.tangem.domain.appcurrency.model.AppCurrency
|
|||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.domain.models.network.Network
|
||||
import com.tangem.features.send.v2.api.entity.*
|
||||
import com.tangem.features.send.v2.feeselector.component.extended.entity.FeeExtendedSelectorUM
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.ui.RegularFeeItemContent
|
||||
import com.tangem.features.send.api.entity.FeeExtraInfo
|
||||
import com.tangem.features.send.api.entity.FeeFiatRateUM
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeNonce
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.extended.entity.FeeExtendedSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.speed.ui.RegularFeeItemContent
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import java.math.BigDecimal
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.speed
|
||||
package com.tangem.features.send.feeselector.component.speed
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
|
|
@ -7,10 +7,10 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
|||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.decompose.model.getOrCreateModel
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.model.FeeSpeedSelectorModel
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.ui.FeeSpeedSelectorContent
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.feeselector.component.speed.model.FeeSpeedSelectorModel
|
||||
import com.tangem.features.send.feeselector.component.speed.ui.FeeSpeedSelectorContent
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.speed
|
||||
package com.tangem.features.send.feeselector.component.speed
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.features.send.v2.feeselector.model.StubFeeSelectorIntents
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.features.send.feeselector.model.StubFeeSelectorIntents
|
||||
|
||||
@Stable
|
||||
internal interface FeeSpeedSelectorIntents : FeeSelectorIntents {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.speed.model
|
||||
package com.tangem.features.send.feeselector.component.speed.model
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import com.tangem.common.TangemBlogUrlBuilder
|
||||
|
|
@ -6,10 +6,10 @@ import com.tangem.core.decompose.di.ModelScoped
|
|||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
import com.tangem.core.navigation.url.UrlOpener
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.FeeSpeedSelectorIntents
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.feeselector.component.speed.FeeSpeedSelectorIntents
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.speed.ui
|
||||
package com.tangem.features.send.feeselector.component.speed.ui
|
||||
|
||||
import android.content.res.Configuration
|
||||
import androidx.annotation.DrawableRes
|
||||
|
|
@ -54,10 +54,15 @@ import com.tangem.domain.appcurrency.model.AppCurrency
|
|||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.domain.models.network.Network
|
||||
import com.tangem.features.send.v2.api.entity.*
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.FeeSpeedSelectorIntents
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.StubFeeSpeedSelectorIntents
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.api.entity.CustomFeeFieldUM
|
||||
import com.tangem.features.send.api.entity.FeeExtraInfo
|
||||
import com.tangem.features.send.api.entity.FeeFiatRateUM
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeNonce
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.speed.FeeSpeedSelectorIntents
|
||||
import com.tangem.features.send.feeselector.component.speed.StubFeeSpeedSelectorIntents
|
||||
import com.tangem.features.send.impl.R
|
||||
import com.tangem.utils.StringsSigns
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.token
|
||||
package com.tangem.features.send.feeselector.component.token
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
|
|
@ -7,9 +7,9 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
|||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.decompose.model.getOrCreateModel
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.features.send.v2.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.v2.feeselector.component.token.model.FeeTokenSelectorModel
|
||||
import com.tangem.features.send.v2.feeselector.component.token.ui.FeeTokenSelectorContent
|
||||
import com.tangem.features.send.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.feeselector.component.token.model.FeeTokenSelectorModel
|
||||
import com.tangem.features.send.feeselector.component.token.ui.FeeTokenSelectorContent
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.token
|
||||
package com.tangem.features.send.feeselector.component.token
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.features.send.v2.feeselector.model.StubFeeSelectorIntents
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.features.send.feeselector.model.StubFeeSelectorIntents
|
||||
|
||||
@Stable
|
||||
internal interface FeeTokenSelectorIntents : FeeSelectorIntents {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.token.entity
|
||||
package com.tangem.features.send.feeselector.component.token.entity
|
||||
|
||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.token.entity
|
||||
package com.tangem.features.send.feeselector.component.token.entity
|
||||
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
||||
internal data class FeeTokenSelectorUM(
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.token.model
|
||||
package com.tangem.features.send.feeselector.component.token.model
|
||||
|
||||
import com.tangem.common.ui.tokens.TokenItemStateConverter
|
||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||
|
|
@ -8,8 +8,8 @@ import com.tangem.core.ui.format.bigdecimal.fiat
|
|||
import com.tangem.core.ui.format.bigdecimal.format
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.features.send.v2.feeselector.component.token.entity.FeeTokenItemState
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.feeselector.component.token.entity.FeeTokenItemState
|
||||
import com.tangem.features.send.impl.R
|
||||
import com.tangem.utils.Provider
|
||||
import com.tangem.utils.converter.Converter
|
||||
import com.tangem.utils.extensions.isZero
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.token.model
|
||||
package com.tangem.features.send.feeselector.component.token.model
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import arrow.core.getOrElse
|
||||
|
|
@ -10,12 +10,12 @@ import com.tangem.core.navigation.url.UrlOpener
|
|||
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.v2.feeselector.component.token.FeeTokenSelectorIntents
|
||||
import com.tangem.features.send.v2.feeselector.component.token.entity.FeeTokenItemState
|
||||
import com.tangem.features.send.v2.feeselector.component.token.entity.FeeTokenSelectorUM
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.FeeSelectorComponentParams
|
||||
import com.tangem.features.send.feeselector.component.token.FeeTokenSelectorIntents
|
||||
import com.tangem.features.send.feeselector.component.token.entity.FeeTokenItemState
|
||||
import com.tangem.features.send.feeselector.component.token.entity.FeeTokenSelectorUM
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorIntents
|
||||
import com.tangem.utils.Provider
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.component.token.ui
|
||||
package com.tangem.features.send.feeselector.component.token.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
|
@ -36,12 +36,16 @@ import com.tangem.domain.appcurrency.model.AppCurrency
|
|||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.domain.models.network.Network
|
||||
import com.tangem.features.send.v2.api.entity.*
|
||||
import com.tangem.features.send.v2.feeselector.component.token.FeeTokenSelectorIntents
|
||||
import com.tangem.features.send.v2.feeselector.component.token.StubFeeTokenSelectorIntents
|
||||
import com.tangem.features.send.v2.feeselector.component.token.entity.FeeTokenItemState
|
||||
import com.tangem.features.send.v2.feeselector.component.token.entity.FeeTokenSelectorUM
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.api.entity.FeeExtraInfo
|
||||
import com.tangem.features.send.api.entity.FeeFiatRateUM
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeNonce
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.feeselector.component.token.FeeTokenSelectorIntents
|
||||
import com.tangem.features.send.feeselector.component.token.StubFeeTokenSelectorIntents
|
||||
import com.tangem.features.send.feeselector.component.token.entity.FeeTokenItemState
|
||||
import com.tangem.features.send.feeselector.component.token.entity.FeeTokenSelectorUM
|
||||
import com.tangem.features.send.impl.R
|
||||
import com.tangem.utils.StringsSigns
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
package com.tangem.features.send.v2.feeselector.di
|
||||
package com.tangem.features.send.feeselector.di
|
||||
|
||||
import com.tangem.features.send.v2.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.v2.api.FeeSelectorComponent
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorCheckReloadListener
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorCheckReloadTrigger
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorReloadListener
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.features.send.v2.feeselector.DefaultFeeSelectorBlockComponent
|
||||
import com.tangem.features.send.v2.feeselector.DefaultFeeSelectorComponent
|
||||
import com.tangem.features.send.v2.feeselector.DefaultFeeSelectorReloadTrigger
|
||||
import com.tangem.features.send.api.FeeSelectorBlockComponent
|
||||
import com.tangem.features.send.api.FeeSelectorComponent
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorCheckReloadListener
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorCheckReloadTrigger
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorReloadListener
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorReloadTrigger
|
||||
import com.tangem.features.send.feeselector.DefaultFeeSelectorBlockComponent
|
||||
import com.tangem.features.send.feeselector.DefaultFeeSelectorComponent
|
||||
import com.tangem.features.send.feeselector.DefaultFeeSelectorReloadTrigger
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
package com.tangem.features.send.v2.feeselector.di
|
||||
package com.tangem.features.send.feeselector.di
|
||||
|
||||
import com.tangem.core.decompose.di.ModelComponent
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.features.send.v2.feeselector.component.extended.model.FeeExtendedSelectorModel
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorBlockModel
|
||||
import com.tangem.features.send.v2.feeselector.component.speed.model.FeeSpeedSelectorModel
|
||||
import com.tangem.features.send.v2.feeselector.component.token.model.FeeTokenSelectorModel
|
||||
import com.tangem.features.send.v2.feeselector.model.FeeSelectorModel
|
||||
import com.tangem.features.send.feeselector.component.extended.model.FeeExtendedSelectorModel
|
||||
import com.tangem.features.send.feeselector.component.speed.model.FeeSpeedSelectorModel
|
||||
import com.tangem.features.send.feeselector.component.token.model.FeeTokenSelectorModel
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorBlockModel
|
||||
import com.tangem.features.send.feeselector.model.FeeSelectorModel
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.model
|
||||
package com.tangem.features.send.feeselector.model
|
||||
|
||||
import com.tangem.blockchain.common.transaction.TransactionFee
|
||||
import com.tangem.core.decompose.di.ModelScoped
|
||||
|
|
@ -7,10 +7,10 @@ import com.tangem.core.ui.extensions.resourceReference
|
|||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.message.DialogMessage
|
||||
import com.tangem.core.ui.message.EventMessageAction
|
||||
import com.tangem.features.send.v2.api.entity.FeeItem
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.utils.FeeCalculationUtils
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.utils.FeeCalculationUtils
|
||||
import com.tangem.features.send.impl.R
|
||||
import java.math.BigDecimal
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.model
|
||||
package com.tangem.features.send.feeselector.model
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import com.arkivanov.decompose.router.slot.SlotNavigation
|
||||
|
|
@ -11,11 +11,11 @@ import com.tangem.core.decompose.model.Model
|
|||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
import com.tangem.core.navigation.url.UrlOpener
|
||||
import com.tangem.domain.settings.NeverShowTapHelpUseCase
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents.SendScreenSource
|
||||
import com.tangem.features.send.v2.api.callbacks.FeeSelectorModelCallback
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents.SendScreenSource
|
||||
import com.tangem.features.send.api.callbacks.FeeSelectorModelCallback
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.features.send.v2.feeselector.model
|
||||
package com.tangem.features.send.feeselector.model
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.features.send.v2.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
|
||||
@Stable
|
||||
internal interface FeeSelectorIntents {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.features.send.v2.feeselector.model
|
||||
package com.tangem.features.send.feeselector.model
|
||||
|
||||
import arrow.core.Either
|
||||
import arrow.core.flatMap
|
||||
|
|
@ -20,17 +20,24 @@ import com.tangem.domain.transaction.usecase.IsFeeApproximateUseCase
|
|||
import com.tangem.domain.transaction.usecase.gasless.GetAvailableFeeTokensUseCase
|
||||
import com.tangem.domain.transaction.usecase.gasless.IsGaslessFeeSupportedForNetwork
|
||||
import com.tangem.domain.wallets.usecase.GetUserWalletUseCase
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents.NonceInserted
|
||||
import com.tangem.features.send.v2.api.entity.FeeItem
|
||||
import com.tangem.features.send.v2.api.entity.FeeNonce
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorCheckReloadListener
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorCheckReloadTrigger
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.FeeSelectorReloadListener
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.analytics.CommonSendFeeAnalyticEvents
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.analytics.CommonSendFeeAnalyticEvents.GasPriceInserter
|
||||
import com.tangem.features.send.v2.feeselector.model.transformers.*
|
||||
import com.tangem.features.send.api.analytics.CommonSendAnalyticEvents.NonceInserted
|
||||
import com.tangem.features.send.api.entity.FeeItem
|
||||
import com.tangem.features.send.api.entity.FeeNonce
|
||||
import com.tangem.features.send.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.api.params.FeeSelectorParams
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorCheckReloadListener
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorCheckReloadTrigger
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.FeeSelectorReloadListener
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.analytics.CommonSendFeeAnalyticEvents
|
||||
import com.tangem.features.send.api.subcomponents.feeSelector.analytics.CommonSendFeeAnalyticEvents.GasPriceInserter
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeItemSelectedTransformer
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeSelectorCustomValueChangedTransformer
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeSelectorErrorTransformer
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeSelectorLoadedTransformer
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeSelectorLoadingTransformer
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeSelectorNonceChangeTransformer
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeSelectorRemoveSuggestedTransformer
|
||||
import com.tangem.features.send.feeselector.model.transformers.FeeSelectorTokenSelectedTransformer
|
||||
import com.tangem.utils.coroutines.JobHolder
|
||||
import com.tangem.utils.coroutines.saveIn
|
||||
import com.tangem.utils.transformer.update
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue