Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions app/src/main/java/to/bitkit/viewmodels/TransferViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -892,10 +892,8 @@ class TransferViewModel @Inject constructor(
private suspend fun hwFundingSatsPerVByte(): ULong =
fetchHwFundingSatsPerVByte().getOrDefault(HW_FUNDING_FALLBACK_SATS_PER_VBYTE)

private suspend fun fetchHwFundingSatsPerVByte(): Result<ULong> {
val speed = settingsStore.data.first().defaultTransactionSpeed
return lightningRepo.getFeeRateForSpeed(speed)
}
private suspend fun fetchHwFundingSatsPerVByte(): Result<ULong> =
lightningRepo.getFeeRateForSpeed(TransactionSpeed.Fast)
Comment thread
piotr-iohk marked this conversation as resolved.

// endregion

Expand Down Expand Up @@ -1108,7 +1106,7 @@ class TransferViewModel @Inject constructor(
private const val HW_FUNDING_TX_VBYTES = 1_200uL

/** Minimum fallback fee rate when fee estimates are temporarily unavailable. */
private const val HW_FUNDING_FALLBACK_SATS_PER_VBYTE = 1uL
private const val HW_FUNDING_FALLBACK_SATS_PER_VBYTE = 3uL

/** Upper bound for reconnecting a known device before the UI asks for reconnect. */
private val HW_RECONNECT_TIMEOUT = 30.seconds
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ import to.bitkit.models.HwFundingSignedTx
import to.bitkit.models.HwFundingTransaction
import to.bitkit.models.HwWallet
import to.bitkit.models.Toast
import to.bitkit.models.TransactionSpeed
import to.bitkit.models.TransferType
import to.bitkit.models.TransportType
import to.bitkit.models.safe
Expand Down Expand Up @@ -388,6 +389,7 @@ class TransferViewModelTest : BaseUnitTest() {
sut.onTransferToSpendingHwConfirm(order, DEVICE_ID)
advanceUntilIdle()

verify(lightningRepo).getFeeRateForSpeed(eq(TransactionSpeed.Fast), anyOrNull())
verify(hwWalletRepo).composeFundingTransaction(
eq(DEVICE_ID),
eq(order.payment?.onchain?.address.orEmpty()),
Expand Down Expand Up @@ -1023,7 +1025,7 @@ class TransferViewModelTest : BaseUnitTest() {
const val XPUB = "zpub-test"
const val TXID = "tx-abc"
const val FEE_RATE = 2uL
const val FALLBACK_FEE_RATE = 1uL
const val FALLBACK_FEE_RATE = 3uL
const val MINING_FEE = 1_250uL
}
}
1 change: 1 addition & 0 deletions changelog.d/next/1089.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Hardware wallet transfers to spending now use a faster on-chain fee rate so funding confirms more reliably.
Loading