Updated on 2026-08-14

This commit is contained in:
Tangem 2024-06-04 15:40:45 +01:00
parent 3041ce00d7
commit c95c3abe5f
6 changed files with 37 additions and 7 deletions

View file

@ -35,6 +35,7 @@ internal class DefaultTransactionRepository(
userWalletId: UserWalletId,
network: Network,
isSwap: Boolean,
txExtras: TransactionExtras?,
hash: String?,
): TransactionData? = withContext(coroutineDispatcherProvider.io) {
val blockchain = Blockchain.fromId(network.id.value)
@ -51,6 +52,7 @@ internal class DefaultTransactionRepository(
destination = destination,
network = network,
isSwap = isSwap,
txExtras = txExtras,
hash = hash,
)
}
@ -63,6 +65,7 @@ internal class DefaultTransactionRepository(
userWalletId: UserWalletId,
network: Network,
isSwap: Boolean,
txExtras: TransactionExtras?,
hash: String?,
): Result<Unit> {
val blockchain = Blockchain.fromId(network.id.value)
@ -82,6 +85,7 @@ internal class DefaultTransactionRepository(
destination = destination,
network = network,
isSwap = isSwap,
txExtras = txExtras,
hash = hash,
)
@ -115,17 +119,24 @@ internal class DefaultTransactionRepository(
destination: String,
network: Network,
isSwap: Boolean,
txExtras: TransactionExtras?,
hash: String?,
): TransactionData {
// TODO: refactor workaround to use general mechanism in bsdk for build tx for DEX
val txAmount = if (isSwap) {
createAmountForSwap(amount)
} else {
amount
}
if (txExtras != null && memo != null) {
// throw error for now to avoid programmers errors when use extras
error("Both txExtras and memo provided, use only one of them")
}
val extras = txExtras ?: getMemoExtras(network.id.value, memo)
return createTransaction(txAmount, fee, destination).copy(
hash = hash,
extras = getMemoExtras(network.id.value, memo),
extras = extras,
)
}