name db with chain+nodeId
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user