diff --git a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt index f40c21b58..e47ffb414 100644 --- a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt @@ -1756,8 +1756,8 @@ class AppViewModel @Inject constructor( val decodedInvoice = requireNotNull(_sendUiState.value.decodedInvoice) val bolt11 = decodedInvoice.bolt11 - // Determine if we should override amount - val paymentAmount = decodedInvoice.amountSatoshis.takeIf { it > 0uL } ?: amount + val paymentAmount = if (decodedInvoice.amountSatoshis > 0uL) null else amount + val displayAmountSats = decodedInvoice.amountSatoshis.takeIf { it > 0uL } ?: amount ?: 0uL val tags = _sendUiState.value.selectedTags var createdMetadataPaymentId: String? = null @@ -1785,14 +1785,14 @@ class AppViewModel @Inject constructor( type = NewTransactionSheetType.LIGHTNING, direction = NewTransactionSheetDirection.SENT, paymentHashOrTxId = actualPaymentHash, - sats = paymentAmount.toLong(), // TODO Add fee when available + sats = displayAmountSats.toLong(), // TODO Add fee when available ), ) }.onFailure { if (it is PaymentPendingException) { Logger.info("Lightning payment pending", context = TAG) pendingPaymentRepo.track(it.paymentHash) - setSendEffect(SendEffect.NavigateToPending(it.paymentHash, paymentAmount.toLong())) + setSendEffect(SendEffect.NavigateToPending(it.paymentHash, displayAmountSats.toLong())) return@onFailure } // Delete pre-activity metadata on failure diff --git a/app/src/main/java/to/bitkit/viewmodels/QuickPayViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/QuickPayViewModel.kt index feda0ed8e..4fcb69890 100644 --- a/app/src/main/java/to/bitkit/viewmodels/QuickPayViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/QuickPayViewModel.kt @@ -39,10 +39,10 @@ class QuickPayViewModel @Inject constructor( fun pay(data: QuickPayData) { viewModelScope.launch { - val (bolt11, amount) = when (data) { + val (bolt11, amount, displaySats) = when (data) { is QuickPayData.Bolt11 -> { Logger.info("QuickPay: processing bolt11 invoice") - data.bolt11 to data.sats + Triple(data.bolt11, null, data.sats) } is QuickPayData.LnurlPay -> { @@ -54,7 +54,7 @@ class QuickPayViewModel @Inject constructor( } return@launch } - invoice.bolt11 to data.sats + Triple(invoice.bolt11, data.sats, data.sats) } } @@ -65,7 +65,7 @@ class QuickPayViewModel @Inject constructor( it.copy( result = QuickPayResult.Success( paymentHash = paymentHash, - amountWithFee = amount.toLong() // TODO GET FEE WHEN AVAILABLE + amountWithFee = displaySats.toLong() // TODO GET FEE WHEN AVAILABLE ) ) } @@ -77,7 +77,7 @@ class QuickPayViewModel @Inject constructor( it.copy( result = QuickPayResult.Pending( paymentHash = error.paymentHash, - amount = amount.toLong(), + amount = displaySats.toLong(), ) ) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ea7508a9a..8f19e76a6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,7 +19,7 @@ activity-compose = { module = "androidx.activity:activity-compose", version = "1 appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.1" } barcode-scanning = { module = "com.google.mlkit:barcode-scanning", version = "17.3.0" } biometric = { module = "androidx.biometric:biometric", version = "1.4.0-alpha05" } -bitkit-core = { module = "com.synonym:bitkit-core-android", version = "0.1.38" } +bitkit-core = { module = "com.synonym:bitkit-core-android", version = "0.1.56" } bouncycastle-provider-jdk = { module = "org.bouncycastle:bcprov-jdk18on", version = "1.83" } camera-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "camera" } camera-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "camera" }