From da5b015098a6f7d1bf1346b79a2592d19305807e Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 21 Nov 2025 16:39:34 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../moonpay/MoonpayBlockchainMapping.kt | 1 + .../configs/excluded_blockchains_config.json | 4 ++++ .../converter/BlockchainSDKConfigConverter.kt | 4 ++++ .../core/ui/extensions/BlockchainIcons.kt | 3 +++ .../ui/src/main/res/drawable/ic_plasma_22.xml | 12 ++++++++++++ .../src/main/res/drawable/img_plasma_22.xml | 19 +++++++++++++++++++ .../data/common/network/NetworkFactory.kt | 1 + .../legacy/MercuryoBlockchainMapping.kt | 1 + .../domain/card/configs/Wallet2CardConfig.kt | 2 ++ .../card/configs/Wallet2CardConfigTest.kt | 2 ++ gradle/tangem_dependencies.toml | 2 +- .../tangem/blockchainsdk/utils/Blockchain.kt | 5 +++++ .../derivation/AccountNodeRecognizer.kt | 2 ++ 13 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 core/ui/src/main/res/drawable/ic_plasma_22.xml create mode 100644 core/ui/src/main/res/drawable/img_plasma_22.xml diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt index 642cdea9ac..a42593ea9e 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt @@ -162,4 +162,5 @@ internal val Blockchain.moonPaySupportedCurrency: MoonPaySupportedCurrency? Quai, QuaiTestnet -> null Linea, LineaTestnet -> null ArbitrumNova -> null + Plasma, PlasmaTestnet -> null } \ No newline at end of file diff --git a/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json b/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json index 8b0cb7f15f..e38b6a0d74 100644 --- a/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json +++ b/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json @@ -30,5 +30,9 @@ { "name": "zklink", "version": "undefined" + }, + { + "name": "plasma", + "version": "undefined" } ] \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/config/environment/converter/BlockchainSDKConfigConverter.kt b/core/datasource/src/main/java/com/tangem/datasource/local/config/environment/converter/BlockchainSDKConfigConverter.kt index f34e1f8c3e..6d26e8f55f 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/config/environment/converter/BlockchainSDKConfigConverter.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/config/environment/converter/BlockchainSDKConfigConverter.kt @@ -26,6 +26,10 @@ internal object BlockchainSDKConfigConverter : Converter R.drawable.img_quai_22 "linea", "linea/test" -> R.drawable.img_linea_22 "arbitrum-nova" -> R.drawable.img_arbitrum_nova_22 + "plasma", "plasma/test" -> R.drawable.img_plasma_22 else -> R.drawable.ic_alert_24 } } @@ -194,6 +195,7 @@ fun getActiveIconResByCoinId(coinId: String): Int { "quai", "quai/test" -> R.drawable.img_quai_22 "linea", "linea/test" -> R.drawable.img_linea_22 "arbitrum-nova" -> R.drawable.img_arbitrum_nova_22 + "plasma", "plasma/test" -> R.drawable.img_plasma_22 else -> R.drawable.ic_alert_24 } } @@ -293,6 +295,7 @@ fun getGreyedOutIconRes(blockchainId: String): Int { "quai", "quai/test" -> R.drawable.ic_quai_22 "linea", "linea/test" -> R.drawable.ic_linea_22 "arbitrum-nova" -> R.drawable.ic_arbitrum_nova_22 + "plasma", "plasma/test" -> R.drawable.ic_plasma_22 else -> R.drawable.ic_alert_24 } } \ No newline at end of file diff --git a/core/ui/src/main/res/drawable/ic_plasma_22.xml b/core/ui/src/main/res/drawable/ic_plasma_22.xml new file mode 100644 index 0000000000..f86a31a6b7 --- /dev/null +++ b/core/ui/src/main/res/drawable/ic_plasma_22.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/core/ui/src/main/res/drawable/img_plasma_22.xml b/core/ui/src/main/res/drawable/img_plasma_22.xml new file mode 100644 index 0000000000..6669b0963f --- /dev/null +++ b/core/ui/src/main/res/drawable/img_plasma_22.xml @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/data/common/src/main/kotlin/com/tangem/data/common/network/NetworkFactory.kt b/data/common/src/main/kotlin/com/tangem/data/common/network/NetworkFactory.kt index d3291a9f0c..4ffb1c9210 100644 --- a/data/common/src/main/kotlin/com/tangem/data/common/network/NetworkFactory.kt +++ b/data/common/src/main/kotlin/com/tangem/data/common/network/NetworkFactory.kt @@ -373,6 +373,7 @@ class NetworkFactory @Inject constructor( Blockchain.Quai, Blockchain.QuaiTestnet, Blockchain.Linea, Blockchain.LineaTestnet, Blockchain.ArbitrumNova, + Blockchain.Plasma, Blockchain.PlasmaTestnet, -> Network.TransactionExtrasType.NONE // endregion } diff --git a/data/onramp/src/main/java/com/tangem/data/onramp/legacy/MercuryoBlockchainMapping.kt b/data/onramp/src/main/java/com/tangem/data/onramp/legacy/MercuryoBlockchainMapping.kt index a535b536db..9b9f34c2cf 100644 --- a/data/onramp/src/main/java/com/tangem/data/onramp/legacy/MercuryoBlockchainMapping.kt +++ b/data/onramp/src/main/java/com/tangem/data/onramp/legacy/MercuryoBlockchainMapping.kt @@ -162,5 +162,6 @@ public val Blockchain.mercuryoNetwork: String? Blockchain.Quai, Blockchain.QuaiTestnet -> null Blockchain.Linea, Blockchain.LineaTestnet -> null Blockchain.ArbitrumNova -> null + Blockchain.Plasma, Blockchain.PlasmaTestnet -> null } } \ No newline at end of file diff --git a/domain/card/src/main/kotlin/com/tangem/domain/card/configs/Wallet2CardConfig.kt b/domain/card/src/main/kotlin/com/tangem/domain/card/configs/Wallet2CardConfig.kt index aa67bf21fe..af64de970d 100644 --- a/domain/card/src/main/kotlin/com/tangem/domain/card/configs/Wallet2CardConfig.kt +++ b/domain/card/src/main/kotlin/com/tangem/domain/card/configs/Wallet2CardConfig.kt @@ -215,6 +215,8 @@ data object Wallet2CardConfig : CardConfig { Blockchain.Linea -> EllipticCurve.Secp256k1 Blockchain.LineaTestnet -> EllipticCurve.Secp256k1 Blockchain.ArbitrumNova -> EllipticCurve.Secp256k1 + Blockchain.Plasma -> EllipticCurve.Secp256k1 + Blockchain.PlasmaTestnet -> EllipticCurve.Secp256k1 } } } \ No newline at end of file diff --git a/domain/card/src/test/java/com/tangem/domain/card/configs/Wallet2CardConfigTest.kt b/domain/card/src/test/java/com/tangem/domain/card/configs/Wallet2CardConfigTest.kt index d211d4c8c9..0e015b00af 100644 --- a/domain/card/src/test/java/com/tangem/domain/card/configs/Wallet2CardConfigTest.kt +++ b/domain/card/src/test/java/com/tangem/domain/card/configs/Wallet2CardConfigTest.kt @@ -171,6 +171,8 @@ class Wallet2CardConfigTest { Blockchain.Linea to EllipticCurve.Secp256k1, Blockchain.LineaTestnet to EllipticCurve.Secp256k1, Blockchain.ArbitrumNova to EllipticCurve.Secp256k1, + Blockchain.Plasma to EllipticCurve.Secp256k1, + Blockchain.PlasmaTestnet to EllipticCurve.Secp256k1, ) @Test diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index cd431f6dd6..37ddcf8a7f 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -5,7 +5,7 @@ # https://github.com/tangem/tangem-sdk-android/ # https://github.com/tangem/vico -tangemBlockchainSdk = "develop-1306" +tangemBlockchainSdk = "develop-1308" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "develop-564" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt index 9bac246d33..1e494e7fe8 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt @@ -172,6 +172,8 @@ fun Blockchain.Companion.fromNetworkId(networkId: String): Blockchain? { "linea" -> Blockchain.Linea "linea/test" -> Blockchain.LineaTestnet "arbitrum-nova" -> Blockchain.ArbitrumNova + "plasma" -> Blockchain.Plasma + "plasma/test" -> Blockchain.PlasmaTestnet else -> null } } @@ -341,6 +343,8 @@ fun Blockchain.toNetworkId(): String { Blockchain.Linea -> "linea" Blockchain.LineaTestnet -> "linea/test" Blockchain.ArbitrumNova -> "arbitrum-nova" + Blockchain.Plasma -> "plasma" + Blockchain.PlasmaTestnet -> "plasma/test" } } @@ -448,6 +452,7 @@ fun Blockchain.toCoinId(): String { Blockchain.Quai, Blockchain.QuaiTestnet -> "quai-network" Blockchain.Linea, Blockchain.LineaTestnet -> "linea-ethereum" Blockchain.ArbitrumNova -> "arbitrum-nova-ethereum" + Blockchain.Plasma, Blockchain.PlasmaTestnet -> "plasma" } } diff --git a/libs/crypto/src/main/java/com/tangem/lib/crypto/derivation/AccountNodeRecognizer.kt b/libs/crypto/src/main/java/com/tangem/lib/crypto/derivation/AccountNodeRecognizer.kt index d89a55b6bc..82780c4813 100644 --- a/libs/crypto/src/main/java/com/tangem/lib/crypto/derivation/AccountNodeRecognizer.kt +++ b/libs/crypto/src/main/java/com/tangem/lib/crypto/derivation/AccountNodeRecognizer.kt @@ -169,6 +169,7 @@ class AccountNodeRecognizer(private val blockchain: Blockchain) { Blockchain.Linea, Blockchain.ArbitrumNova, Blockchain.Quai, + Blockchain.Plasma, -> true Blockchain.Nexa, // unsupported network Blockchain.Chia, @@ -243,6 +244,7 @@ class AccountNodeRecognizer(private val blockchain: Blockchain) { Blockchain.HyperliquidTestnet, Blockchain.QuaiTestnet, Blockchain.LineaTestnet, + Blockchain.PlasmaTestnet, -> false // endregion }