Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-22 16:14:23 +05:00
parent b28711ef43
commit ed26d23a78
9 changed files with 219 additions and 8 deletions

View file

@ -22,6 +22,7 @@ object VisaUtilities {
val visaDefaultDerivationPath
get() = visaBlockchain.derivationPath(DerivationStyle.V3)
val customDerivationPath = DerivationPath("m/44'/60'/999999'/0/0")
val virtualAccountDerivationPath = DerivationPath("m/44'/60'/999998'/0/0")
val curve = EllipticCurve.Secp256k1
fun signWithNonceMessage(nonce: String): String {

View file

@ -1,6 +1,7 @@
package com.tangem.domain.networks.multi
import com.tangem.domain.core.flow.FlowFetcher
import com.tangem.domain.models.currency.CryptoCurrency
import com.tangem.domain.models.network.Network
import com.tangem.domain.models.wallet.UserWalletId
@ -11,5 +12,16 @@ import com.tangem.domain.models.wallet.UserWalletId
*/
interface MultiNetworkStatusFetcher : FlowFetcher<MultiNetworkStatusFetcher.Params> {
data class Params(val userWalletId: UserWalletId, val networks: Set<Network>)
/**
* Params
*
* @property userWalletId user wallet id
* @property networks networks whose statuses are fetched
* @property extraTokens additional tokens to fetch balances for, beyond the wallet's added currencies
*/
data class Params(
val userWalletId: UserWalletId,
val networks: Set<Network>,
val extraTokens: Set<CryptoCurrency.Token> = emptySet(),
)
}

View file

@ -1,6 +1,7 @@
package com.tangem.domain.networks.single
import com.tangem.domain.core.flow.FlowFetcher
import com.tangem.domain.models.currency.CryptoCurrency
import com.tangem.domain.models.network.Network
import com.tangem.domain.models.wallet.UserWalletId
@ -15,7 +16,12 @@ interface SingleNetworkStatusFetcher : FlowFetcher<SingleNetworkStatusFetcher.Pa
* Params
*
* @property userWalletId user wallet id
* @property network network
* @property network network whose status is fetched
* @property extraTokens additional tokens to fetch balances for, beyond the wallet's added currencies
*/
data class Params(val userWalletId: UserWalletId, val network: Network)
data class Params(
val userWalletId: UserWalletId,
val network: Network,
val extraTokens: Set<CryptoCurrency.Token> = emptySet(),
)
}

View file

@ -17,6 +17,7 @@ interface TangemPayCurrencyFactory {
* @throws IllegalStateException if no wallet with [userWalletId] is currently loaded.
*/
fun create(userWalletId: UserWalletId): CryptoCurrency.Token
fun createVirtualAccountToken(userWalletId: UserWalletId): CryptoCurrency.Token
/** Hardcoded token metadata for the Tangem Pay currency (USDC on Polygon). */
companion object {