From f2f8a21d250f6e7e6e38cf2a2c6d12b3b499872f Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 28 May 2025 22:51:59 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../routing/DefaultWcRoutingComponent.kt | 10 ++- .../connections/routing/WcInnerRoute.kt | 3 + .../connections/routing/WcRoutingModel.kt | 1 + .../di/WalletConnectModelModule.kt | 12 +++ .../chain/WcAddNetworkContainerComponent.kt | 8 +- .../common/WcTransactionModelParams.kt | 5 ++ .../send/WcSendTransactionComponent.kt | 35 ++++++++ .../WcSendTransactionContainerComponent.kt | 85 +++++++++++++++++++ .../WcSignTransactionContainerComponent.kt | 8 +- .../transaction/model/WcAddNetworkModel.kt | 4 +- .../model/WcSendTransactionModel.kt | 24 ++++++ .../model/WcSignTransactionModel.kt | 4 +- .../common/TransactionRequestInfoContent.kt | 2 +- .../send/WcSendTransactionModalBottomSheet.kt | 4 +- 14 files changed, 187 insertions(+), 18 deletions(-) create mode 100644 features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/common/WcTransactionModelParams.kt create mode 100644 features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionComponent.kt create mode 100644 features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionContainerComponent.kt create mode 100644 features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/DefaultWcRoutingComponent.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/DefaultWcRoutingComponent.kt index 40e7c35f9e..e429f5a99a 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/DefaultWcRoutingComponent.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/DefaultWcRoutingComponent.kt @@ -18,6 +18,8 @@ import com.tangem.features.walletconnect.components.WcRoutingComponent import com.tangem.features.walletconnect.connections.components.WcPairComponent import com.tangem.features.walletconnect.connections.components.AlertsComponent import com.tangem.features.walletconnect.transaction.components.chain.WcAddNetworkContainerComponent +import com.tangem.features.walletconnect.transaction.components.common.WcTransactionModelParams +import com.tangem.features.walletconnect.transaction.components.send.WcSendTransactionContainerComponent import com.tangem.features.walletconnect.transaction.components.sign.WcSignTransactionContainerComponent import dagger.assisted.Assisted import dagger.assisted.AssistedFactory @@ -59,11 +61,15 @@ internal class DefaultWcRoutingComponent @AssistedInject constructor( return when (config) { is WcInnerRoute.SignMessage -> WcSignTransactionContainerComponent( appComponentContext = childContext, - params = WcSignTransactionContainerComponent.Params(config.rawRequest), + params = WcTransactionModelParams(config.rawRequest), ) is WcInnerRoute.AddNetwork -> WcAddNetworkContainerComponent( appComponentContext = childContext, - params = WcAddNetworkContainerComponent.Params(config.rawRequest), + params = WcTransactionModelParams(config.rawRequest), + ) + is WcInnerRoute.Send -> WcSendTransactionContainerComponent( + appComponentContext = childContext, + params = WcTransactionModelParams(config.rawRequest), ) is WcInnerRoute.Pair -> WcPairComponent( appComponentContext = childContext, diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcInnerRoute.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcInnerRoute.kt index 13ddad2080..0d082f5652 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcInnerRoute.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcInnerRoute.kt @@ -14,6 +14,9 @@ internal sealed interface WcInnerRoute : Route { val rawRequest: WcSdkSessionRequest } + @Serializable + data class Send(override val rawRequest: WcSdkSessionRequest) : Method + @Serializable data class SignMessage(override val rawRequest: WcSdkSessionRequest) : Method diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcRoutingModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcRoutingModel.kt index 061f8be9a1..8b9fa68c12 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcRoutingModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routing/WcRoutingModel.kt @@ -56,6 +56,7 @@ internal class WcRoutingModel @Inject constructor( WcEthMethodName.SendTransaction, WcSolanaMethodName.SignTransaction, WcSolanaMethodName.SendAllTransaction, + -> WcInnerRoute.Send(rawRequest) is WcMethodName.Unsupported, -> WcInnerRoute.Alert( alertType = AlertsComponent.AlertType.UnsupportedMethod { innerRouter.pop() }, diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/di/WalletConnectModelModule.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/di/WalletConnectModelModule.kt index 01394aa611..623136bf30 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/di/WalletConnectModelModule.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/di/WalletConnectModelModule.kt @@ -4,6 +4,8 @@ import com.tangem.core.decompose.di.ModelComponent import com.tangem.core.decompose.model.Model import com.tangem.features.walletconnect.connections.model.* import com.tangem.features.walletconnect.connections.routing.WcRoutingModel +import com.tangem.features.walletconnect.transaction.model.WcAddNetworkModel +import com.tangem.features.walletconnect.transaction.model.WcSendTransactionModel import com.tangem.features.walletconnect.transaction.model.WcSignTransactionModel import dagger.Binds import dagger.Module @@ -49,4 +51,14 @@ internal interface WalletConnectModelModule { @IntoMap @ClassKey(WcSignTransactionModel::class) fun bindWcSignTransactionModel(model: WcSignTransactionModel): Model + + @Binds + @IntoMap + @ClassKey(WcAddNetworkModel::class) + fun bindWcAddNetworkModel(model: WcAddNetworkModel): Model + + @Binds + @IntoMap + @ClassKey(WcSendTransactionModel::class) + fun bindWcSendTransactionModel(model: WcSendTransactionModel): Model } \ No newline at end of file diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/chain/WcAddNetworkContainerComponent.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/chain/WcAddNetworkContainerComponent.kt index 3ef6243bd3..e2505f1211 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/chain/WcAddNetworkContainerComponent.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/chain/WcAddNetworkContainerComponent.kt @@ -16,14 +16,14 @@ import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.decompose.navigation.inner.InnerRouter import com.tangem.core.ui.decompose.ComposableBottomSheetComponent import com.tangem.core.ui.decompose.ComposableContentComponent -import com.tangem.domain.walletconnect.model.sdkcopy.WcSdkSessionRequest +import com.tangem.features.walletconnect.transaction.components.common.WcTransactionModelParams import com.tangem.features.walletconnect.transaction.components.common.WcTransactionRequestInfoComponent import com.tangem.features.walletconnect.transaction.model.WcAddNetworkModel import com.tangem.features.walletconnect.transaction.routes.WcTransactionRoutes internal class WcAddNetworkContainerComponent( private val appComponentContext: AppComponentContext, - params: Params, + params: WcTransactionModelParams, ) : AppComponentContext by appComponentContext, ComposableContentComponent { private val contentNavigation = StackNavigation() @@ -31,7 +31,7 @@ internal class WcAddNetworkContainerComponent( stackNavigation = contentNavigation, popCallback = { onChildBack() }, ) - private val model: WcAddNetworkModel = getOrCreateModel(params = params, router = innerRouter) + private val model: WcAddNetworkModel = getOrCreateModel(params = params) private val contentStack = childStack( key = "WcAddNetworkStack", source = contentNavigation, @@ -82,6 +82,4 @@ internal class WcAddNetworkContainerComponent( ) } } - - data class Params(val rawRequest: WcSdkSessionRequest) } \ No newline at end of file diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/common/WcTransactionModelParams.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/common/WcTransactionModelParams.kt new file mode 100644 index 0000000000..76f1c21ac5 --- /dev/null +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/common/WcTransactionModelParams.kt @@ -0,0 +1,5 @@ +package com.tangem.features.walletconnect.transaction.components.common + +import com.tangem.domain.walletconnect.model.sdkcopy.WcSdkSessionRequest + +internal data class WcTransactionModelParams(val rawRequest: WcSdkSessionRequest) \ No newline at end of file diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionComponent.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionComponent.kt new file mode 100644 index 0000000000..7d32b417a6 --- /dev/null +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionComponent.kt @@ -0,0 +1,35 @@ +package com.tangem.features.walletconnect.transaction.components.send + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.ui.decompose.ComposableBottomSheetComponent +import com.tangem.features.walletconnect.transaction.model.WcSendTransactionModel +import com.tangem.features.walletconnect.transaction.ui.send.WcSendTransactionModalBottomSheet + +internal class WcSendTransactionComponent( + private val appComponentContext: AppComponentContext, + private val model: WcSendTransactionModel, + private val transactionInfoOnClick: () -> Unit, + private val onDismiss: () -> Unit, +) : AppComponentContext by appComponentContext, ComposableBottomSheetComponent { + + override fun dismiss() { + onDismiss() + } + + @Composable + override fun BottomSheet() { + val content by model.uiState.collectAsStateWithLifecycle() + + if (content != null) { + WcSendTransactionModalBottomSheet( + state = content!!.transaction, + onClickTransactionRequest = transactionInfoOnClick, + onBack = router::pop, + onDismiss = ::dismiss, + ) + } + } +} \ No newline at end of file diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionContainerComponent.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionContainerComponent.kt new file mode 100644 index 0000000000..1a6a505812 --- /dev/null +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/send/WcSendTransactionContainerComponent.kt @@ -0,0 +1,85 @@ +package com.tangem.features.walletconnect.transaction.components.send + +import androidx.activity.compose.BackHandler +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.ui.Modifier +import com.arkivanov.decompose.ComponentContext +import com.arkivanov.decompose.extensions.compose.subscribeAsState +import com.arkivanov.decompose.router.stack.StackNavigation +import com.arkivanov.decompose.router.stack.childStack +import com.arkivanov.decompose.router.stack.pop +import com.arkivanov.decompose.router.stack.pushNew +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.decompose.navigation.inner.InnerRouter +import com.tangem.core.ui.decompose.ComposableBottomSheetComponent +import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.walletconnect.transaction.components.common.WcTransactionModelParams +import com.tangem.features.walletconnect.transaction.components.common.WcTransactionRequestInfoComponent +import com.tangem.features.walletconnect.transaction.model.WcSendTransactionModel +import com.tangem.features.walletconnect.transaction.routes.WcTransactionRoutes + +internal class WcSendTransactionContainerComponent( + private val appComponentContext: AppComponentContext, + params: WcTransactionModelParams, +) : AppComponentContext by appComponentContext, ComposableContentComponent { + + private val contentNavigation = StackNavigation() + private val innerRouter = InnerRouter( + stackNavigation = contentNavigation, + popCallback = { onChildBack() }, + ) + private val model: WcSendTransactionModel = getOrCreateModel(params = params) + private val contentStack = childStack( + key = "WcSendTransactionStack", + source = contentNavigation, + serializer = WcTransactionRoutes.serializer(), + initialConfiguration = WcTransactionRoutes.Transaction, + handleBackButton = true, + childFactory = ::screenChild, + ) + + @Composable + override fun Content(modifier: Modifier) { + val content by contentStack.subscribeAsState() + BackHandler(onBack = ::onChildBack) + content.active.instance.BottomSheet() + } + + private fun dismiss() { + router.pop() + } + + private fun onChildBack() { + when (contentStack.value.active.configuration) { + WcTransactionRoutes.Transaction -> contentNavigation.pop() + WcTransactionRoutes.TransactionRequestInfo -> contentNavigation.pushNew(WcTransactionRoutes.Transaction) + } + } + + private fun toTransactionRequestInfo() { + contentNavigation.pushNew(WcTransactionRoutes.TransactionRequestInfo) + } + + private fun screenChild( + config: WcTransactionRoutes, + componentContext: ComponentContext, + ): ComposableBottomSheetComponent { + val appComponentContext = childByContext(componentContext = componentContext, router = innerRouter) + return when (config) { + is WcTransactionRoutes.Transaction -> WcSendTransactionComponent( + appComponentContext = childByContext(componentContext), + transactionInfoOnClick = ::toTransactionRequestInfo, + onDismiss = ::dismiss, + model = model, + ) + is WcTransactionRoutes.TransactionRequestInfo -> WcTransactionRequestInfoComponent( + appComponentContext = appComponentContext, + onDismiss = ::dismiss, + model = model.uiState.value?.transactionRequestInfo, + ) + } + } +} \ No newline at end of file diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/sign/WcSignTransactionContainerComponent.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/sign/WcSignTransactionContainerComponent.kt index ab1e928c31..10ff238577 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/sign/WcSignTransactionContainerComponent.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/components/sign/WcSignTransactionContainerComponent.kt @@ -13,14 +13,14 @@ import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.decompose.navigation.inner.InnerRouter import com.tangem.core.ui.decompose.ComposableBottomSheetComponent import com.tangem.core.ui.decompose.ComposableContentComponent -import com.tangem.domain.walletconnect.model.sdkcopy.WcSdkSessionRequest +import com.tangem.features.walletconnect.transaction.components.common.WcTransactionModelParams import com.tangem.features.walletconnect.transaction.components.common.WcTransactionRequestInfoComponent import com.tangem.features.walletconnect.transaction.model.WcSignTransactionModel import com.tangem.features.walletconnect.transaction.routes.WcTransactionRoutes internal class WcSignTransactionContainerComponent( private val appComponentContext: AppComponentContext, - params: Params, + params: WcTransactionModelParams, ) : AppComponentContext by appComponentContext, ComposableContentComponent { private val contentNavigation = StackNavigation() @@ -28,7 +28,7 @@ internal class WcSignTransactionContainerComponent( stackNavigation = contentNavigation, popCallback = { onChildBack() }, ) - private val model: WcSignTransactionModel = getOrCreateModel(params = params, router = innerRouter) + private val model: WcSignTransactionModel = getOrCreateModel(params = params) private val contentStack = childStack( key = "WcSignTransactionStack", source = contentNavigation, @@ -72,6 +72,4 @@ internal class WcSignTransactionContainerComponent( ) } } - - data class Params(val rawRequest: WcSdkSessionRequest) } \ No newline at end of file diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcAddNetworkModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcAddNetworkModel.kt index 6144509965..68f27851f1 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcAddNetworkModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcAddNetworkModel.kt @@ -9,7 +9,7 @@ import com.tangem.core.ui.clipboard.ClipboardManager import com.tangem.domain.walletconnect.WcRequestUseCaseFactory import com.tangem.domain.walletconnect.usecase.method.WcAddNetworkUseCase import com.tangem.domain.walletconnect.usecase.method.WcMethodUseCase -import com.tangem.features.walletconnect.transaction.components.sign.WcSignTransactionContainerComponent +import com.tangem.features.walletconnect.transaction.components.common.WcTransactionModelParams import com.tangem.features.walletconnect.transaction.entity.chain.WcAddEthereumChainUM import com.tangem.features.walletconnect.transaction.entity.common.WcTransactionActionsUM import com.tangem.features.walletconnect.transaction.utils.toUM @@ -33,7 +33,7 @@ internal class WcAddNetworkModel @Inject constructor( private val _uiState = MutableStateFlow(null) val uiState: StateFlow = _uiState - private val params = paramsContainer.require() + private val params = paramsContainer.require() init { modelScope.launch { diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt new file mode 100644 index 0000000000..04c9f0c056 --- /dev/null +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt @@ -0,0 +1,24 @@ +package com.tangem.features.walletconnect.transaction.model + +import androidx.compose.runtime.Stable +import com.tangem.core.decompose.di.ModelScoped +import com.tangem.core.decompose.model.Model +import com.tangem.features.walletconnect.transaction.entity.send.WcSendTransactionUM +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import javax.inject.Inject + +@Stable +@ModelScoped +internal class WcSendTransactionModel @Inject constructor( + override val dispatchers: CoroutineDispatcherProvider, +) : Model() { + + private val _uiState = MutableStateFlow(null) + val uiState: StateFlow = _uiState + + init { + TODO("Finish model in this task [REDACTED_JIRA]") + } +} \ No newline at end of file diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSignTransactionModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSignTransactionModel.kt index 469fb45112..cc4cb61067 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSignTransactionModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSignTransactionModel.kt @@ -10,7 +10,7 @@ import com.tangem.domain.walletconnect.WcRequestUseCaseFactory import com.tangem.domain.walletconnect.usecase.method.WcSignState import com.tangem.domain.walletconnect.usecase.method.WcSignStep import com.tangem.domain.walletconnect.usecase.method.WcSignUseCase -import com.tangem.features.walletconnect.transaction.components.sign.WcSignTransactionContainerComponent +import com.tangem.features.walletconnect.transaction.components.common.WcTransactionModelParams import com.tangem.features.walletconnect.transaction.entity.common.WcTransactionActionsUM import com.tangem.features.walletconnect.transaction.entity.sign.WcSignTransactionUM import com.tangem.features.walletconnect.transaction.utils.toUM @@ -35,7 +35,7 @@ internal class WcSignTransactionModel @Inject constructor( private val _uiState = MutableStateFlow(null) val uiState: StateFlow = _uiState - private val params = paramsContainer.require() + private val params = paramsContainer.require() init { modelScope.launch { diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/common/TransactionRequestInfoContent.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/common/TransactionRequestInfoContent.kt index bf1deca57c..35f66dfa11 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/common/TransactionRequestInfoContent.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/common/TransactionRequestInfoContent.kt @@ -59,7 +59,7 @@ internal fun TransactionRequestInfoContent( TangemModalBottomSheetTitle( title = resourceReference(R.string.wc_transaction_request_title), startIconRes = R.drawable.ic_back_24, - onStartClick = onDismiss, + onStartClick = onBack, ) }, content = { diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/send/WcSendTransactionModalBottomSheet.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/send/WcSendTransactionModalBottomSheet.kt index a27a8a17a5..6bfd5d7ea3 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/send/WcSendTransactionModalBottomSheet.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/ui/send/WcSendTransactionModalBottomSheet.kt @@ -42,6 +42,7 @@ import kotlinx.collections.immutable.persistentListOf internal fun WcSendTransactionModalBottomSheet( state: WcSendTransactionItemUM, onClickTransactionRequest: () -> Unit, + onBack: () -> Unit, onDismiss: () -> Unit, ) { TangemModalBottomSheetWithFooter( @@ -50,6 +51,7 @@ internal fun WcSendTransactionModalBottomSheet( onDismissRequest = onDismiss, content = TangemBottomSheetConfigContent.Empty, ), + onBack = onBack, containerColor = TangemTheme.colors.background.tertiary, title = { config -> TangemModalBottomSheetTitle( @@ -134,7 +136,7 @@ private fun WcSendTransactionBottomSheetPreview( ) }, content = { - WcSendTransactionModalBottomSheet(state = state, onClickTransactionRequest = {}, onDismiss = {}) + WcSendTransactionModalBottomSheet(state, {}, {}, {}) }, ) }