Use lightning-kmp 1.7.0-FEECREDIT-8 (#62)

It supports BOLT12 but proper integration will be done in a follow-up PR.
This commit is contained in:
Pierre-Marie Padiou 2024-07-02 14:05:59 +02:00 committed by GitHub
parent 68d2512f7a
commit 4a7e2a4921
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 4 additions and 14 deletions

View File

@ -1,6 +1,6 @@
object Versions {
val kotlin = "1.9.23"
val lightningKmp = "1.6.2-FEECREDIT-7"
val lightningKmp = "1.7.0-FEECREDIT-8"
val sqlDelight = "2.0.1"
val okio = "3.8.0"
val clikt = "4.2.2"

View File

@ -97,6 +97,7 @@ class Api(private val nodeParams: NodeParams, private val peer: Peer, private va
nodeId = nodeParams.nodeId,
channels = peer.channels.values.map { Channel.from(it) },
chain = nodeParams.chain.name.lowercase(),
blockHeight = peer.currentTipFlow.value,
version = BuildVersions.phoenixdVersion
)
call.respond(info)

View File

@ -36,7 +36,6 @@ import kotlinx.serialization.json.Json
enum class IncomingOriginTypeVersion {
KEYSEND_V0,
INVOICE_V0,
SWAPIN_V0,
ONCHAIN_V0,
@ -44,12 +43,6 @@ enum class IncomingOriginTypeVersion {
sealed class IncomingOriginData {
sealed class KeySend : IncomingOriginData() {
@Serializable
@SerialName("KEYSEND_V0")
object V0 : KeySend()
}
sealed class Invoice : IncomingOriginData() {
@Serializable
data class V0(val paymentRequest: String) : Invoice()
@ -68,20 +61,15 @@ sealed class IncomingOriginData {
companion object {
fun deserialize(typeVersion: IncomingOriginTypeVersion, blob: ByteArray): IncomingPayment.Origin = decodeBlob(blob) { json, format ->
when (typeVersion) {
IncomingOriginTypeVersion.KEYSEND_V0 -> IncomingPayment.Origin.KeySend
IncomingOriginTypeVersion.INVOICE_V0 -> format.decodeFromString<Invoice.V0>(json).let { IncomingPayment.Origin.Invoice(Bolt11Invoice.read(it.paymentRequest).get()) }
IncomingOriginTypeVersion.SWAPIN_V0 -> format.decodeFromString<SwapIn.V0>(json).let { IncomingPayment.Origin.SwapIn(it.address) }
IncomingOriginTypeVersion.ONCHAIN_V0 -> format.decodeFromString<OnChain.V0>(json).let {
IncomingPayment.Origin.OnChain(TxId(it.txId), it.outpoints.toSet())
}
IncomingOriginTypeVersion.ONCHAIN_V0 -> format.decodeFromString<OnChain.V0>(json).let { IncomingPayment.Origin.OnChain(TxId(it.txId), it.outpoints.toSet()) }
}
}
}
}
fun IncomingPayment.Origin.mapToDb(): Pair<IncomingOriginTypeVersion, ByteArray> = when (this) {
is IncomingPayment.Origin.KeySend -> IncomingOriginTypeVersion.KEYSEND_V0 to
Json.encodeToString(IncomingOriginData.KeySend.V0).toByteArray(Charsets.UTF_8)
is IncomingPayment.Origin.Invoice -> IncomingOriginTypeVersion.INVOICE_V0 to
Json.encodeToString(IncomingOriginData.Invoice.V0(paymentRequest.write())).toByteArray(Charsets.UTF_8)
is IncomingPayment.Origin.SwapIn -> IncomingOriginTypeVersion.SWAPIN_V0 to

View File

@ -61,6 +61,7 @@ sealed class ApiType {
val nodeId: PublicKey,
val channels: List<Channel>,
val chain: String,
val blockHeight: Int?,
val version: String
)