Updated on 2026-08-14

This commit is contained in:
Tangem 2024-08-29 15:44:47 +04:00
parent f52e85bcca
commit 473a936863
11 changed files with 235 additions and 19 deletions

View file

@ -35,12 +35,6 @@ object BlockchainUtils {
return blockchain == Blockchain.Bitcoin || blockchain == Blockchain.BitcoinTestnet
}
/** If current [networkId] is Dogecoin */
fun isDogecoin(networkId: String): Boolean {
val blockchain = Blockchain.fromId(networkId)
return blockchain == Blockchain.Dogecoin
}
/** If current [networkId] is Tezos */
fun isTezos(networkId: String): Boolean {
val blockchain = Blockchain.fromId(networkId)
@ -61,4 +55,35 @@ object BlockchainUtils {
fun isSupportedNetworkId(networkId: String): Boolean {
return Blockchain.fromNetworkId(networkId)?.isSupportedInApp() ?: false
}
data class BlockchainInfo(
val blockchainId: String,
val name: String,
val protocolName: String,
)
fun getNetworkInfo(networkId: String): BlockchainInfo? {
val blockchain = Blockchain.fromNetworkId(networkId) ?: return null
return BlockchainInfo(
blockchainId = blockchain.id,
name = getNetworkNameWithoutTestnet(blockchain),
protocolName = getNetworkStandardName(blockchain),
)
}
private fun getNetworkStandardName(blockchain: Blockchain): String {
return when (blockchain) {
Blockchain.Ethereum, Blockchain.EthereumTestnet -> "ERC20"
Blockchain.BSC, Blockchain.BSCTestnet -> "BEP20"
Blockchain.Binance, Blockchain.BinanceTestnet -> "BEP2"
Blockchain.Tron, Blockchain.TronTestnet -> "TRC20"
Blockchain.TON -> "TON"
else -> ""
}
}
private fun getNetworkNameWithoutTestnet(blockchain: Blockchain): String {
return blockchain.getNetworkName().replace(oldValue = " Testnet", newValue = "")
}
}