Updated on 2026-08-14
This commit is contained in:
parent
effaf2d680
commit
ddcb68caf6
6 changed files with 88 additions and 46 deletions
|
|
@ -5,7 +5,7 @@ import com.tangem.domain.wallets.models.UserWalletId
|
|||
|
||||
internal object MockTokens {
|
||||
|
||||
val token1 get() = Token(
|
||||
val token1 = Token(
|
||||
id = Token.ID("token1"),
|
||||
networkId = MockNetworks.network1.id,
|
||||
name = "Token 1",
|
||||
|
|
@ -13,9 +13,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = true,
|
||||
contractAddress = null,
|
||||
derivationPath = null,
|
||||
)
|
||||
val token2 get() = Token(
|
||||
val token2 = Token(
|
||||
id = Token.ID("token2"),
|
||||
networkId = MockNetworks.network1.id,
|
||||
name = "Token 2",
|
||||
|
|
@ -23,9 +24,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token3 get() = Token(
|
||||
val token3 = Token(
|
||||
id = Token.ID("token3"),
|
||||
networkId = MockNetworks.network1.id,
|
||||
name = "Token 3",
|
||||
|
|
@ -33,9 +35,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token4 get() = Token(
|
||||
val token4 = Token(
|
||||
id = Token.ID("token4"),
|
||||
networkId = MockNetworks.network2.id,
|
||||
name = "Token 4",
|
||||
|
|
@ -43,9 +46,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = true,
|
||||
contractAddress = null,
|
||||
derivationPath = null,
|
||||
)
|
||||
val token5 get() = Token(
|
||||
val token5 = Token(
|
||||
id = Token.ID("token5"),
|
||||
networkId = MockNetworks.network2.id,
|
||||
name = "Token 5",
|
||||
|
|
@ -53,9 +57,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token6 get() = Token(
|
||||
val token6 = Token(
|
||||
id = Token.ID("token6"),
|
||||
networkId = MockNetworks.network2.id,
|
||||
name = "Token 6",
|
||||
|
|
@ -63,9 +68,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token7 get() = Token(
|
||||
val token7 = Token(
|
||||
id = Token.ID("token7"),
|
||||
networkId = MockNetworks.network3.id,
|
||||
name = "Token 7",
|
||||
|
|
@ -73,9 +79,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = true,
|
||||
contractAddress = null,
|
||||
derivationPath = null,
|
||||
)
|
||||
val token8 get() = Token(
|
||||
val token8 = Token(
|
||||
id = Token.ID("token8"),
|
||||
networkId = MockNetworks.network3.id,
|
||||
name = "Token 8",
|
||||
|
|
@ -83,9 +90,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token9 get() = Token(
|
||||
val token9 = Token(
|
||||
id = Token.ID("token9"),
|
||||
networkId = MockNetworks.network3.id,
|
||||
name = "Token 9",
|
||||
|
|
@ -93,9 +101,10 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token10 get() = Token(
|
||||
val token10 = Token(
|
||||
id = Token.ID("token10"),
|
||||
networkId = MockNetworks.network3.id,
|
||||
name = "Token 10",
|
||||
|
|
@ -103,7 +112,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
|
||||
val tokens get() = mapOf(
|
||||
|
|
|
|||
|
|
@ -5,6 +5,15 @@ data class Network(
|
|||
val name: String,
|
||||
) {
|
||||
|
||||
init {
|
||||
require(name.isNotBlank()) { "Network name must not be blank" }
|
||||
}
|
||||
|
||||
@JvmInline
|
||||
value class ID(val value: String)
|
||||
value class ID(val value: String) {
|
||||
|
||||
init {
|
||||
require(value.isNotBlank()) { "Network ID must not be blank" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8,9 +8,24 @@ data class Token(
|
|||
val iconUrl: String?,
|
||||
val decimals: Int,
|
||||
val isCustom: Boolean,
|
||||
val isCoin: Boolean,
|
||||
val contractAddress: String?,
|
||||
val derivationPath: String?,
|
||||
) {
|
||||
|
||||
init {
|
||||
require(name.isNotBlank()) { "Token name must not be blank" }
|
||||
require(symbol.isNotBlank()) { "Token symbol must not be blank" }
|
||||
require(iconUrl?.isNotBlank() ?: true) { "Token icon URL must not be blank" }
|
||||
require(decimals > 0) { "Token decimal must not be less then zero, but it is: $decimals" }
|
||||
require(contractAddress?.isNotBlank() ?: true) { "Token contract address must not be blank" }
|
||||
require(derivationPath?.isNotBlank() ?: true) { "Token derivation path must not be blank" }
|
||||
}
|
||||
|
||||
@JvmInline
|
||||
value class ID(val value: String)
|
||||
value class ID(val value: String) {
|
||||
|
||||
init {
|
||||
require(value.isNotBlank()) { "Token ID value must not be blank" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -21,7 +21,7 @@ internal class TokenStatusOperations(
|
|||
networkId = token.networkId,
|
||||
name = token.name,
|
||||
symbol = token.symbol,
|
||||
isCoin = token.isCoin,
|
||||
isCoin = token.contractAddress == null,
|
||||
decimals = token.decimals,
|
||||
iconUrl = token.iconUrl,
|
||||
value = createStatus(),
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = true,
|
||||
|
||||
contractAddress = null,
|
||||
derivationPath = null,
|
||||
)
|
||||
val token2 = Token(
|
||||
id = Token.ID("token2"),
|
||||
|
|
@ -24,7 +24,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token3 = Token(
|
||||
id = Token.ID("token3"),
|
||||
|
|
@ -34,7 +35,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token4 = Token(
|
||||
id = Token.ID("token4"),
|
||||
|
|
@ -44,8 +46,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = true,
|
||||
|
||||
contractAddress = null,
|
||||
derivationPath = null,
|
||||
)
|
||||
val token5 = Token(
|
||||
id = Token.ID("token5"),
|
||||
|
|
@ -55,7 +57,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token6 = Token(
|
||||
id = Token.ID("token6"),
|
||||
|
|
@ -65,7 +68,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token7 = Token(
|
||||
id = Token.ID("token7"),
|
||||
|
|
@ -75,7 +79,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = true,
|
||||
contractAddress = null,
|
||||
derivationPath = null,
|
||||
)
|
||||
val token8 = Token(
|
||||
id = Token.ID("token8"),
|
||||
|
|
@ -85,7 +90,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token9 = Token(
|
||||
id = Token.ID("token9"),
|
||||
|
|
@ -95,7 +101,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
val token10 = Token(
|
||||
id = Token.ID("token10"),
|
||||
|
|
@ -105,7 +112,8 @@ internal object MockTokens {
|
|||
isCustom = false,
|
||||
decimals = 8,
|
||||
iconUrl = null,
|
||||
isCoin = false,
|
||||
contractAddress = "address",
|
||||
derivationPath = null,
|
||||
)
|
||||
|
||||
val tokens = nonEmptySetOf(token1, token2, token3, token4, token5, token6, token7, token8, token9, token10)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token1.symbol,
|
||||
decimals = MockTokens.token1.decimals,
|
||||
iconUrl = MockTokens.token1.iconUrl,
|
||||
isCoin = MockTokens.token1.isCoin,
|
||||
isCoin = MockTokens.token1.contractAddress == null,
|
||||
value = TokenStatus.Unreachable,
|
||||
)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token2.symbol,
|
||||
decimals = MockTokens.token2.decimals,
|
||||
iconUrl = MockTokens.token2.iconUrl,
|
||||
isCoin = MockTokens.token2.isCoin,
|
||||
isCoin = MockTokens.token2.contractAddress == null,
|
||||
value = TokenStatus.Unreachable,
|
||||
)
|
||||
|
||||
|
|
@ -36,7 +36,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token3.symbol,
|
||||
decimals = MockTokens.token3.decimals,
|
||||
iconUrl = MockTokens.token3.iconUrl,
|
||||
isCoin = MockTokens.token3.isCoin,
|
||||
isCoin = MockTokens.token3.contractAddress == null,
|
||||
value = TokenStatus.Unreachable,
|
||||
)
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token4.symbol,
|
||||
decimals = MockTokens.token4.decimals,
|
||||
iconUrl = MockTokens.token4.iconUrl,
|
||||
isCoin = MockTokens.token4.isCoin,
|
||||
isCoin = MockTokens.token4.contractAddress == null,
|
||||
value = TokenStatus.MissedDerivation,
|
||||
)
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token5.symbol,
|
||||
decimals = MockTokens.token5.decimals,
|
||||
iconUrl = MockTokens.token5.iconUrl,
|
||||
isCoin = MockTokens.token5.isCoin,
|
||||
isCoin = MockTokens.token5.contractAddress == null,
|
||||
value = TokenStatus.MissedDerivation,
|
||||
)
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token6.symbol,
|
||||
decimals = MockTokens.token6.decimals,
|
||||
iconUrl = MockTokens.token6.iconUrl,
|
||||
isCoin = MockTokens.token6.isCoin,
|
||||
isCoin = MockTokens.token6.contractAddress == null,
|
||||
value = TokenStatus.MissedDerivation,
|
||||
)
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token7.symbol,
|
||||
decimals = MockTokens.token7.decimals,
|
||||
iconUrl = MockTokens.token7.iconUrl,
|
||||
isCoin = MockTokens.token7.isCoin,
|
||||
isCoin = MockTokens.token7.contractAddress == null,
|
||||
value = TokenStatus.NoAccount,
|
||||
)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token8.symbol,
|
||||
decimals = MockTokens.token8.decimals,
|
||||
iconUrl = MockTokens.token8.iconUrl,
|
||||
isCoin = MockTokens.token8.isCoin,
|
||||
isCoin = MockTokens.token8.contractAddress == null,
|
||||
value = TokenStatus.NoAccount,
|
||||
)
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token9.symbol,
|
||||
decimals = MockTokens.token9.decimals,
|
||||
iconUrl = MockTokens.token9.iconUrl,
|
||||
isCoin = MockTokens.token9.isCoin,
|
||||
isCoin = MockTokens.token9.contractAddress == null,
|
||||
value = TokenStatus.NoAccount,
|
||||
)
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ internal object MockTokensStates {
|
|||
symbol = MockTokens.token10.symbol,
|
||||
decimals = MockTokens.token10.decimals,
|
||||
iconUrl = MockTokens.token10.iconUrl,
|
||||
isCoin = MockTokens.token10.isCoin,
|
||||
isCoin = MockTokens.token10.contractAddress == null,
|
||||
value = TokenStatus.NoAccount,
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue