11package to.bitkit.repositories
22
33import com.google.firebase.messaging.FirebaseMessaging
4+ import com.synonym.bitkitcore.FeeRates
45import com.synonym.bitkitcore.LightningInvoice
56import com.synonym.bitkitcore.Scanner
67import com.synonym.bitkitcore.createWithdrawCallbackUrl
@@ -579,10 +580,11 @@ class LightningRepo @Inject constructor(
579580 address : Address ? = null,
580581 speed : TransactionSpeed ? = null,
581582 utxosToSpend : List <SpendableUtxo >? = null,
583+ feeRates : FeeRates ? = null,
582584 ): Result <ULong > = withContext(bgDispatcher) {
583585 return @withContext try {
584586 val transactionSpeed = speed ? : settingsStore.data.first().defaultTransactionSpeed
585- val satsPerVByte = getFeeRateForSpeed(transactionSpeed).getOrThrow().toUInt()
587+ val satsPerVByte = getFeeRateForSpeed(transactionSpeed, feeRates ).getOrThrow().toUInt()
586588
587589 val addressOrDefault = address ? : cacheStore.data.first().onchainAddress
588590
@@ -600,9 +602,12 @@ class LightningRepo @Inject constructor(
600602 }
601603 }
602604
603- suspend fun getFeeRateForSpeed (speed : TransactionSpeed ): Result <ULong > = withContext(bgDispatcher) {
605+ suspend fun getFeeRateForSpeed (
606+ speed : TransactionSpeed ,
607+ feeRates : FeeRates ? = null,
608+ ): Result <ULong > = withContext(bgDispatcher) {
604609 return @withContext runCatching {
605- val fees = coreService.blocktank.getFees().getOrThrow()
610+ val fees = feeRates ? : coreService.blocktank.getFees().getOrThrow()
606611 val satsPerVByte = fees.getSatsPerVByteFor(speed)
607612 satsPerVByte.toULong()
608613 }.onFailure { e ->
0 commit comments