Updated on 2026-08-14

This commit is contained in:
Tangem 2022-12-26 16:28:20 +03:00
parent 6dee2eeed7
commit e7c330a5e1
16 changed files with 263 additions and 76 deletions

View file

@ -1,6 +1,7 @@
package com.tangem.lib.crypto
import com.tangem.lib.crypto.models.Currency
import com.tangem.lib.crypto.models.ProxyAmount
import com.tangem.lib.crypto.models.transactions.SendTxResult
import java.math.BigDecimal
@ -14,4 +15,13 @@ interface TransactionManager {
destinationAddress: String,
dataToSign: String,
): SendTxResult
suspend fun getFee(
networkId: String,
amountToSend: BigDecimal,
currencyToSend: Currency,
destinationAddress: String,
): ProxyAmount
fun getNativeAddress(networkId: String): String
}

View file

@ -9,20 +9,21 @@ sealed class Currency(
open val name: String,
open val symbol: String,
open val networkId: String,
)
) {
data class NativeToken(
override val id: String,
override val name: String,
override val symbol: String,
override val networkId: String,
) : Currency(id, name, symbol, networkId)
data class NativeToken(
override val id: String,
override val name: String,
override val symbol: String,
override val networkId: String,
) : Currency(id, name, symbol, networkId)
class NonNativeToken(
override val id: String,
override val name: String,
override val symbol: String,
override val networkId: String,
val contractAddress: String,
val decimalCount: Int,
) : Currency(id, name, symbol, networkId)
class NonNativeToken(
override val id: String,
override val name: String,
override val symbol: String,
override val networkId: String,
val contractAddress: String,
val decimalCount: Int,
) : Currency(id, name, symbol, networkId)
}

View file

@ -0,0 +1,16 @@
package com.tangem.lib.crypto.models
import java.math.BigDecimal
/**
* Proxy amount is always has a Coin type
*
* @property currencySymbol
* @property value amount in [BigDecimal]
* @property decimals count for token
*/
data class ProxyAmount(
val currencySymbol: String,
var value: BigDecimal,
val decimals: Int,
)