name db with chain+nodeId

This commit is contained in:
pm47
2024-03-21 11:47:37 +01:00
parent fef5aadcf7
commit 97b6afce7c
7 changed files with 22 additions and 14 deletions

View File

@@ -12,11 +12,11 @@ import fr.acinq.lightning.NodeParams
import fr.acinq.lightning.bin.db.SqlitePaymentsDb
import fr.acinq.lightning.bin.db.WalletPaymentId
import fr.acinq.lightning.bin.json.ApiType.*
import fr.acinq.lightning.bin.json.ApiType.Channel
import fr.acinq.lightning.blockchain.fee.FeeratePerByte
import fr.acinq.lightning.blockchain.fee.FeeratePerKw
import fr.acinq.lightning.channel.ChannelCommand
import fr.acinq.lightning.channel.states.ChannelStateWithCommitments
import fr.acinq.lightning.channel.states.ClosingFeerates
import fr.acinq.lightning.channel.states.*
import fr.acinq.lightning.io.Peer
import fr.acinq.lightning.io.WrappedChannelCommand
import fr.acinq.lightning.payment.Bolt11Invoice
@@ -79,15 +79,17 @@ class Api(private val nodeParams: NodeParams, private val peer: Peer, private va
authenticate {
get("getinfo") {
val info = NodeInfo(
version = BuildVersions.phoenixdVersion,
nodeId = nodeParams.nodeId,
channels = peer.channels.values.map { Channel.from(it) }
channels = peer.channels.values.map { Channel.from(it) },
chain = nodeParams.chain.name.lowercase(),
version = BuildVersions.phoenixdVersion
)
call.respond(info)
}
get("getbalance") {
val balance = peer.channels.values
.filterIsInstance<ChannelStateWithCommitments>()
.filterNot { it is Closing || it is Closed }
.map { it.commitments.active.first().availableBalanceForSend(it.commitments.params, it.commitments.changes) }
.sum().truncateToSatoshi()
call.respond(Balance(balance, nodeParams.feeCredit.value))

View File

@@ -1,8 +1,10 @@
package fr.acinq.lightning.bin
import app.cash.sqldelight.db.SqlDriver
import fr.acinq.bitcoin.Chain
import fr.acinq.bitcoin.PublicKey
import okio.Path
expect val homeDirectory: Path
expect fun createAppDbDriver(dir: Path): SqlDriver
expect fun createAppDbDriver(dir: Path, chain: Chain, nodeId: PublicKey): SqlDriver

View File

@@ -182,8 +182,6 @@ class Phoenixd : CliktCommand() {
terminal.println()
}
}
consoleLog(gray("version: ${BuildVersions.phoenixdVersion}"))
consoleLog(gray("lightning-kmp: ${BuildVersions.lightningKmpVersion}"))
consoleLog(cyan("datadir: ${FileSystem.SYSTEM.canonicalize(datadir)}"))
consoleLog(cyan("chain: $chain"))
consoleLog(cyan("autoLiquidity: ${liquidityOptions.autoLiquidity}"))
@@ -217,7 +215,7 @@ class Phoenixd : CliktCommand() {
)
consoleLog(cyan("nodeid: ${nodeParams.nodeId}"))
val driver = createAppDbDriver(datadir)
val driver = createAppDbDriver(datadir, chain, nodeParams.nodeId)
val database = PhoenixDatabase(
driver = driver,
lightning_outgoing_payment_partsAdapter = Lightning_outgoing_payment_parts.Adapter(

View File

@@ -57,9 +57,10 @@ sealed class ApiType {
@Serializable
data class NodeInfo(
val version: String,
val nodeId: PublicKey,
val channels: List<Channel>
val channels: List<Channel>,
val chain: String,
val version: String
)
@Serializable

View File

@@ -1,6 +1,7 @@
import kotlin.Boolean;
PRAGMA foreign_keys = 1;
PRAGMA locking_mode = EXCLUSIVE;
-- channels table
-- note: boolean are stored as INTEGER, with 0=false