mirror of
https://github.com/ACINQ/eclair.git
synced 2025-03-13 11:35:47 +01:00
fixup! Update android branch (#1162)
This commit is contained in:
parent
8ca798176d
commit
fb8ae0cd59
3 changed files with 20 additions and 25 deletions
|
@ -19,11 +19,8 @@ package fr.acinq.eclair.db
|
|||
import java.io.File
|
||||
import java.sql.{Connection, DriverManager}
|
||||
|
||||
import fr.acinq.bitcoin.Block
|
||||
import fr.acinq.eclair.NodeParams
|
||||
import fr.acinq.eclair.db.sqlite._
|
||||
import grizzled.slf4j.Logging
|
||||
import org.sqlite.SQLiteException
|
||||
|
||||
trait Databases {
|
||||
|
||||
|
@ -45,11 +42,11 @@ trait Databases {
|
|||
object Databases extends Logging {
|
||||
|
||||
/**
|
||||
* Given a parent folder it creates or loads all the databases from a JDBC connection
|
||||
*
|
||||
* @param dbdir
|
||||
* @return
|
||||
*/
|
||||
* Given a parent folder it creates or loads all the databases from a JDBC connection
|
||||
*
|
||||
* @param dbdir
|
||||
* @return
|
||||
*/
|
||||
def sqliteJDBC(dbdir: File): Databases = {
|
||||
dbdir.mkdir()
|
||||
var sqliteEclair: Connection = null
|
||||
|
@ -75,7 +72,7 @@ object Databases extends Logging {
|
|||
}
|
||||
|
||||
def databaseByConnections(auditJdbc: Connection, networkJdbc: Connection, eclairJdbc: Connection) = new Databases {
|
||||
override val network = new SqliteNetworkDb(networkJdbc, Block.RegtestGenesisBlock.hash)
|
||||
override val network = new SqliteNetworkDb(networkJdbc)
|
||||
override val audit = new SqliteAuditDb(auditJdbc)
|
||||
override val channels = new SqliteChannelsDb(eclairJdbc)
|
||||
override val peers = new SqlitePeersDb(eclairJdbc)
|
||||
|
|
|
@ -20,20 +20,19 @@ import java.sql.Connection
|
|||
|
||||
import fr.acinq.bitcoin.Crypto.PublicKey
|
||||
import fr.acinq.bitcoin.{ByteVector32, ByteVector64, Crypto, Satoshi}
|
||||
import fr.acinq.eclair.{Features, ShortChannelId}
|
||||
import fr.acinq.eclair.db.NetworkDb
|
||||
import fr.acinq.eclair.router.Router.PublicChannel
|
||||
import fr.acinq.eclair.wire.LightningMessageCodecs.{channelAnnouncementCodec, channelUpdateCodec, nodeAnnouncementCodec}
|
||||
import fr.acinq.eclair.wire.LightningMessageCodecs.nodeAnnouncementCodec
|
||||
import fr.acinq.eclair.wire.{ChannelAnnouncement, ChannelUpdate, NodeAnnouncement}
|
||||
import fr.acinq.eclair.{Features, ShortChannelId}
|
||||
import grizzled.slf4j.Logging
|
||||
import scodec.Codec
|
||||
import scodec.bits.ByteVector
|
||||
|
||||
import scala.collection.immutable.SortedMap
|
||||
|
||||
class SqliteNetworkDb(sqlite: Connection, chainHash: ByteVector32) extends NetworkDb with Logging {
|
||||
import SqliteUtils._
|
||||
class SqliteNetworkDb(sqlite: Connection) extends NetworkDb with Logging {
|
||||
import SqliteUtils.ExtendedResultSet._
|
||||
import SqliteUtils._
|
||||
|
||||
val DB_NAME = "network"
|
||||
val CURRENT_VERSION = 2
|
||||
|
@ -60,7 +59,7 @@ class SqliteNetworkDb(sqlite: Connection, chainHash: ByteVector32) extends Netwo
|
|||
channelAnnouncementWitnessCodec).as[ChannelAnnouncement]
|
||||
|
||||
val channelUpdateWitnessCodec =
|
||||
("chainHash" | provide(chainHash)) ::
|
||||
("chainHash" | provide(null.asInstanceOf[ByteVector32])) ::
|
||||
("shortChannelId" | shortchannelid) ::
|
||||
("timestamp" | uint32) ::
|
||||
(("messageFlags" | byte) >>:~ { messageFlags =>
|
||||
|
|
|
@ -26,10 +26,9 @@ import fr.acinq.eclair.db.sqlite.SqliteNetworkDb
|
|||
import fr.acinq.eclair.db.sqlite.SqliteUtils._
|
||||
import fr.acinq.eclair.router.Announcements
|
||||
import fr.acinq.eclair.router.Router.PublicChannel
|
||||
import fr.acinq.eclair.wire.{ChannelAnnouncement, ChannelUpdate, Color, NodeAddress, Tor2}
|
||||
import fr.acinq.eclair.wire._
|
||||
import fr.acinq.eclair.{ActivatedFeature, CltvExpiryDelta, Features, LongToBtcAmount, ShortChannelId, TestConstants, randomBytes32, randomKey}
|
||||
import org.scalatest.funsuite.AnyFunSuite
|
||||
import scodec.bits.HexStringSyntax
|
||||
|
||||
import scala.collection.{SortedMap, mutable}
|
||||
|
||||
|
@ -39,8 +38,8 @@ class SqliteNetworkDbSpec extends AnyFunSuite {
|
|||
|
||||
test("init sqlite 2 times in a row") {
|
||||
val sqlite = TestConstants.sqliteInMemory()
|
||||
val db1 = new SqliteNetworkDb(sqlite, Block.RegtestGenesisBlock.hash)
|
||||
val db2 = new SqliteNetworkDb(sqlite, Block.RegtestGenesisBlock.hash)
|
||||
val db1 = new SqliteNetworkDb(sqlite)
|
||||
val db2 = new SqliteNetworkDb(sqlite)
|
||||
}
|
||||
|
||||
test("migration test 1->2") {
|
||||
|
@ -82,7 +81,7 @@ class SqliteNetworkDbSpec extends AnyFunSuite {
|
|||
|
||||
test("add/remove/list nodes") {
|
||||
val sqlite = TestConstants.sqliteInMemory()
|
||||
val db = new SqliteNetworkDb(sqlite, Block.RegtestGenesisBlock.hash)
|
||||
val db = new SqliteNetworkDb(sqlite)
|
||||
|
||||
val node_1 = Announcements.makeNodeAnnouncement(randomKey, "node-alice", Color(100.toByte, 200.toByte, 300.toByte), NodeAddress.fromParts("192.168.1.42", 42000).get :: Nil, Features.empty)
|
||||
val node_2 = Announcements.makeNodeAnnouncement(randomKey, "node-bob", Color(100.toByte, 200.toByte, 300.toByte), NodeAddress.fromParts("192.168.1.42", 42000).get :: Nil, Features(Set(ActivatedFeature(VariableLengthOnion, Optional))))
|
||||
|
@ -107,7 +106,7 @@ class SqliteNetworkDbSpec extends AnyFunSuite {
|
|||
|
||||
test("correctly handle txids that start with 0") {
|
||||
val sqlite = TestConstants.sqliteInMemory()
|
||||
val db = new SqliteNetworkDb(sqlite, Block.RegtestGenesisBlock.hash)
|
||||
val db = new SqliteNetworkDb(sqlite)
|
||||
val sig = ByteVector64.Zeroes
|
||||
val c = Announcements.makeChannelAnnouncement(Block.RegtestGenesisBlock.hash, ShortChannelId(42), randomKey.publicKey, randomKey.publicKey, randomKey.publicKey, randomKey.publicKey, sig, sig, sig, sig)
|
||||
val c_shrunk = shrink(c)
|
||||
|
@ -118,10 +117,10 @@ class SqliteNetworkDbSpec extends AnyFunSuite {
|
|||
|
||||
def shrink(c: ChannelAnnouncement) = c.copy(bitcoinKey1 = null, bitcoinKey2 = null, bitcoinSignature1 = null, bitcoinSignature2 = null, nodeSignature1 = null, nodeSignature2 = null, chainHash = null, features = null)
|
||||
|
||||
def shrink(c: ChannelUpdate) = c.copy(signature = null)
|
||||
def shrink(c: ChannelUpdate) = c.copy(signature = null, chainHash = null)
|
||||
|
||||
def simpleTest(sqlite: Connection) = {
|
||||
val db = new SqliteNetworkDb(sqlite, Block.RegtestGenesisBlock.hash)
|
||||
val db = new SqliteNetworkDb(sqlite)
|
||||
|
||||
def sig = Crypto.sign(randomBytes32, randomKey)
|
||||
|
||||
|
@ -229,7 +228,7 @@ class SqliteNetworkDbSpec extends AnyFunSuite {
|
|||
|
||||
test("remove many channels") {
|
||||
val sqlite = TestConstants.sqliteInMemory()
|
||||
val db = new SqliteNetworkDb(sqlite, Block.RegtestGenesisBlock.hash)
|
||||
val db = new SqliteNetworkDb(sqlite)
|
||||
val sig = Crypto.sign(randomBytes32, randomKey)
|
||||
val priv = randomKey
|
||||
val pub = priv.publicKey
|
||||
|
@ -250,7 +249,7 @@ class SqliteNetworkDbSpec extends AnyFunSuite {
|
|||
|
||||
test("prune many channels") {
|
||||
val sqlite = TestConstants.sqliteInMemory()
|
||||
val db = new SqliteNetworkDb(sqlite, Block.RegtestGenesisBlock.hash)
|
||||
val db = new SqliteNetworkDb(sqlite)
|
||||
|
||||
db.addToPruned(shortChannelIds)
|
||||
shortChannelIds.foreach { id => assert(db.isPruned((id))) }
|
||||
|
|
Loading…
Add table
Reference in a new issue