Updated on 2026-08-14
This commit is contained in:
parent
15e7df8d41
commit
4882daf1a2
14 changed files with 79 additions and 33 deletions
|
|
@ -13,10 +13,6 @@ sealed class WcRequestError {
|
|||
val message: String,
|
||||
) : WcRequestError()
|
||||
|
||||
data class HandleMethodError(
|
||||
val message: String,
|
||||
) : WcRequestError()
|
||||
|
||||
data class UnknownError(val ex: Throwable? = null) : WcRequestError()
|
||||
|
||||
companion object {
|
||||
|
|
@ -60,4 +56,17 @@ sealed class WcRequestError {
|
|||
-> null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sealed class HandleMethodError(
|
||||
open val message: String,
|
||||
) : WcRequestError() {
|
||||
|
||||
data class Unsupported(
|
||||
val method: WcMethod.Unsupported,
|
||||
) : HandleMethodError(message = "Unsupported method ${method.request.request.method}")
|
||||
|
||||
data object UnknownSession : HandleMethodError(message = "WalletConnect session was disconnected")
|
||||
|
||||
data class UnknownError(override val message: String) : HandleMethodError(message)
|
||||
}
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.domain.walletconnect
|
||||
|
||||
import arrow.core.Either
|
||||
import com.tangem.domain.walletconnect.model.WcMethod
|
||||
import com.tangem.domain.walletconnect.model.HandleMethodError
|
||||
import com.tangem.domain.walletconnect.model.sdkcopy.WcSdkSessionRequest
|
||||
import com.tangem.domain.walletconnect.usecase.method.WcMethodUseCase
|
||||
|
||||
interface WcRequestUseCaseFactory {
|
||||
|
||||
suspend fun <T : WcMethodUseCase> createUseCase(request: WcSdkSessionRequest): Either<WcMethod.Unsupported, T>
|
||||
suspend fun <T : WcMethodUseCase> createUseCase(request: WcSdkSessionRequest): Either<HandleMethodError, T>
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue