feat: parse bolt11 locally with network fallback

This commit is contained in:
2026-06-04 17:15:34 +02:00
parent 4dadc75aca
commit 8e53a927a0
8 changed files with 627 additions and 26 deletions
@@ -6,6 +6,7 @@ import com.bitcointxoko.gudariwallet.api.PaymentRecord
import com.bitcointxoko.gudariwallet.api.RouteHintHop
import com.bitcointxoko.gudariwallet.util.RouteHintRisk
import com.bitcointxoko.gudariwallet.util.SendInputType
import java.time.Instant
sealed class UiState<out T> {
data object Loading : UiState<Nothing>()
@@ -53,7 +54,10 @@ sealed class SendState {
override val nodeAlias : String? = null,
override val routeRisk : RouteHintRisk? = null,
override val allRouteHints : List<RouteHintHop> = emptyList(),
override val routeHintAliases : Map<String, String> = emptyMap()
override val routeHintAliases : Map<String, String> = emptyMap(),
override val paymentHash : String,
override val createdAt : Instant,
override val expiresAt : Instant
) : SendState(), DecodedInvoice
data class LnurlReady(
val callback : String,
@@ -78,7 +82,10 @@ sealed class SendState {
override val nodeAlias : String? = null,
override val routeRisk : RouteHintRisk? = null,
override val allRouteHints : List<RouteHintHop> = emptyList(),
override val routeHintAliases : Map<String, String> = emptyMap()
override val routeHintAliases : Map<String, String> = emptyMap(),
override val paymentHash : String,
override val createdAt : Instant,
override val expiresAt : Instant
) : SendState(), DecodedInvoice
data object Paying : SendState()
data class PaymentSent(
@@ -149,4 +156,7 @@ interface DecodedInvoice {
val routeRisk : RouteHintRisk?
val allRouteHints : List<RouteHintHop>
val routeHintAliases : Map<String, String>
val paymentHash : String
val createdAt : Instant
val expiresAt : Instant
}