Add externalId to PaymentReceived event
PaymentSent is also not a ApiEvent anymore.
This commit is contained in:
parent
d872fc3573
commit
83dd62a98c
@ -28,6 +28,7 @@ import fr.acinq.lightning.bin.conf.getOrGenerateSeed
|
|||||||
import fr.acinq.lightning.bin.conf.readConfFile
|
import fr.acinq.lightning.bin.conf.readConfFile
|
||||||
import fr.acinq.lightning.bin.db.SqliteChannelsDb
|
import fr.acinq.lightning.bin.db.SqliteChannelsDb
|
||||||
import fr.acinq.lightning.bin.db.SqlitePaymentsDb
|
import fr.acinq.lightning.bin.db.SqlitePaymentsDb
|
||||||
|
import fr.acinq.lightning.bin.db.WalletPaymentId
|
||||||
import fr.acinq.lightning.bin.db.payments.LightningOutgoingQueries
|
import fr.acinq.lightning.bin.db.payments.LightningOutgoingQueries
|
||||||
import fr.acinq.lightning.bin.json.ApiType
|
import fr.acinq.lightning.bin.json.ApiType
|
||||||
import fr.acinq.lightning.bin.logs.FileLogWriter
|
import fr.acinq.lightning.bin.logs.FileLogWriter
|
||||||
@ -235,12 +236,14 @@ class Phoenixd : CliktCommand() {
|
|||||||
lease_typeAdapter = EnumColumnAdapter()
|
lease_typeAdapter = EnumColumnAdapter()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
val channelsDb = SqliteChannelsDb(driver, database)
|
||||||
|
val paymentsDb = SqlitePaymentsDb(database)
|
||||||
|
|
||||||
val electrum = ElectrumClient(scope, loggerFactory)
|
val electrum = ElectrumClient(scope, loggerFactory)
|
||||||
val peer = Peer(
|
val peer = Peer(
|
||||||
nodeParams = nodeParams, walletParams = lsp.walletParams, watcher = ElectrumWatcher(electrum, scope, loggerFactory), db = object : Databases {
|
nodeParams = nodeParams, walletParams = lsp.walletParams, watcher = ElectrumWatcher(electrum, scope, loggerFactory), db = object : Databases {
|
||||||
override val channels: ChannelsDb get() = SqliteChannelsDb(driver, database)
|
override val channels: ChannelsDb get() = channelsDb
|
||||||
override val payments: PaymentsDb get() = SqlitePaymentsDb(database)
|
override val payments: PaymentsDb get() = paymentsDb
|
||||||
}, socketBuilder = TcpSocket.Builder(), scope
|
}, socketBuilder = TcpSocket.Builder(), scope
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -250,16 +253,10 @@ class Phoenixd : CliktCommand() {
|
|||||||
nodeParams.nodeEvents
|
nodeParams.nodeEvents
|
||||||
.collect {
|
.collect {
|
||||||
when {
|
when {
|
||||||
it is PaymentEvents.PaymentReceived && it.amount > 0.msat -> emit(ApiType.PaymentReceived(it))
|
it is PaymentEvents.PaymentReceived && it.amount > 0.msat -> {
|
||||||
else -> {}
|
val metadata = paymentsDb.metadataQueries.get(WalletPaymentId.IncomingPaymentId(it.paymentHash))
|
||||||
|
emit(ApiType.PaymentReceived(it, metadata))
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
launch {
|
|
||||||
peer.eventsFlow
|
|
||||||
.collect {
|
|
||||||
when {
|
|
||||||
it is fr.acinq.lightning.io.PaymentSent -> emit(ApiType.PaymentSent(it))
|
|
||||||
else -> {}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -72,13 +72,13 @@ sealed class ApiType {
|
|||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("payment_received")
|
@SerialName("payment_received")
|
||||||
data class PaymentReceived(@SerialName("amountSat") val amount: Satoshi, val paymentHash: ByteVector32) : ApiEvent() {
|
data class PaymentReceived(@SerialName("amountSat") val amount: Satoshi, val paymentHash: ByteVector32, val externalId: String?) : ApiEvent() {
|
||||||
constructor(event: fr.acinq.lightning.PaymentEvents.PaymentReceived) : this(event.amount.truncateToSatoshi(), event.paymentHash)
|
constructor(event: fr.acinq.lightning.PaymentEvents.PaymentReceived, metadata: PaymentMetadata?) : this(event.amount.truncateToSatoshi(), event.paymentHash, metadata?.externalId)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("payment_sent")
|
@SerialName("payment_sent")
|
||||||
data class PaymentSent(@SerialName("recipientAmountSat") val recipientAmount: Satoshi, @SerialName("routingFeeSat") val routingFee: Satoshi, @SerialName("paymentId") val uuid: UUID, val paymentHash: ByteVector32, val paymentPreimage: ByteVector32) : ApiEvent() {
|
data class PaymentSent(@SerialName("recipientAmountSat") val recipientAmount: Satoshi, @SerialName("routingFeeSat") val routingFee: Satoshi, @SerialName("paymentId") val uuid: UUID, val paymentHash: ByteVector32, val paymentPreimage: ByteVector32) : ApiType() {
|
||||||
constructor(event: fr.acinq.lightning.io.PaymentSent) : this(
|
constructor(event: fr.acinq.lightning.io.PaymentSent) : this(
|
||||||
event.payment.recipientAmount.truncateToSatoshi(),
|
event.payment.recipientAmount.truncateToSatoshi(),
|
||||||
event.payment.routingFee.truncateToSatoshi(),
|
event.payment.routingFee.truncateToSatoshi(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user