Updated on 2026-08-14
This commit is contained in:
parent
2a1369fce6
commit
5a99de87fb
29 changed files with 194 additions and 47 deletions
|
|
@ -15,7 +15,6 @@ import com.tangem.core.decompose.navigation.inner.InnerRouter
|
|||
import com.tangem.core.ui.components.bottomsheets.message.MessageBottomSheetUM
|
||||
import com.tangem.core.ui.decompose.ComposableBottomSheetComponent
|
||||
import com.tangem.core.ui.decompose.ComposableContentComponent
|
||||
import com.tangem.domain.models.wallet.UserWalletId
|
||||
import com.tangem.domain.walletconnect.model.WcPairRequest
|
||||
import com.tangem.features.account.PortfolioSelectorComponent
|
||||
import com.tangem.features.walletconnect.connections.model.WcPairModel
|
||||
|
|
@ -127,5 +126,7 @@ internal class WcPairComponent(
|
|||
}
|
||||
}
|
||||
|
||||
data class Params(val userWalletId: UserWalletId, val wcUrl: String, val source: WcPairRequest.Source)
|
||||
data class Params(
|
||||
val request: WcPairRequest,
|
||||
)
|
||||
}
|
||||
|
|
@ -86,6 +86,7 @@ internal class WcConnectionsModel @Inject constructor(
|
|||
userWalletId = params.userWalletId,
|
||||
uri = result.qrCode,
|
||||
source = source,
|
||||
screen = WcPairRequest.Screen.WALLET_CONNECT,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@ import com.tangem.domain.models.wallet.UserWallet
|
|||
import com.tangem.domain.walletconnect.WcAnalyticEvents
|
||||
import com.tangem.domain.walletconnect.model.WcPairError
|
||||
import com.tangem.domain.walletconnect.model.WcPairError.Unknown
|
||||
import com.tangem.domain.walletconnect.model.WcPairRequest
|
||||
import com.tangem.domain.walletconnect.model.WcSessionApprove
|
||||
import com.tangem.domain.walletconnect.model.WcSessionProposal
|
||||
import com.tangem.domain.walletconnect.model.sdkcopy.WcAppMetaData
|
||||
|
|
@ -75,13 +74,7 @@ internal class WcPairModel @Inject constructor(
|
|||
) : Model(), WcPairComponentCallback {
|
||||
|
||||
private val params: WcPairComponent.Params = paramsContainer.require()
|
||||
private val wcPairUseCase = wcPairUseCaseFactory.create(
|
||||
WcPairRequest(
|
||||
userWalletId = params.userWalletId,
|
||||
uri = params.wcUrl,
|
||||
source = params.source,
|
||||
),
|
||||
)
|
||||
private val wcPairUseCase = wcPairUseCaseFactory.create(params.request)
|
||||
|
||||
val stackNavigation = StackNavigation<WcAppInfoRoutes>()
|
||||
val portfolioFetcher: PortfolioFetcher = portfolioFetcherFactory.create(
|
||||
|
|
@ -109,7 +102,7 @@ internal class WcPairModel @Inject constructor(
|
|||
modelScope.launch {
|
||||
val portfolioBalance = portfolioFetcher.data.first().balances
|
||||
.firstNotNullOfOrNull { (walletId, balance) ->
|
||||
if (params.userWalletId == walletId) balance else null
|
||||
if (params.request.userWalletId == walletId) balance else null
|
||||
}
|
||||
if (portfolioBalance == null) {
|
||||
router.pop()
|
||||
|
|
|
|||
|
|
@ -89,9 +89,7 @@ internal class DefaultWcRoutingComponent @AssistedInject constructor(
|
|||
appComponentContext = childContext,
|
||||
portfolioSelectorComponentFactory = portfolioSelectorComponentFactory,
|
||||
params = WcPairComponent.Params(
|
||||
userWalletId = config.request.userWalletId,
|
||||
wcUrl = config.request.uri,
|
||||
source = config.request.source,
|
||||
request = config.request,
|
||||
),
|
||||
)
|
||||
is WcInnerRoute.UnsupportedMethodAlert -> AlertsComponent(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue