mirror of
https://github.com/ACINQ/eclair.git
synced 2025-02-22 14:22:39 +01:00
move db into nodeParams
This commit is contained in:
parent
6a94a62a69
commit
eaca287922
10 changed files with 37 additions and 31 deletions
|
@ -87,7 +87,7 @@ class Setup() extends Logging {
|
||||||
}))
|
}))
|
||||||
val fatalEventFuture = fatalEventPromise.future
|
val fatalEventFuture = fatalEventPromise.future
|
||||||
|
|
||||||
val db = new SimpleFileDb(config.getString("eclair.db.root"))
|
val db = nodeParams.db
|
||||||
val peerDb = Peer.makePeerDb(db)
|
val peerDb = Peer.makePeerDb(db)
|
||||||
val peers = peerDb.values
|
val peers = peerDb.values
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ class Setup() extends Logging {
|
||||||
val register = system.actorOf(Props(new Register), name = "register")
|
val register = system.actorOf(Props(new Register), name = "register")
|
||||||
val relayer = system.actorOf(Relayer.props(nodeParams.privateKey, paymentHandler), name = "relayer")
|
val relayer = system.actorOf(Relayer.props(nodeParams.privateKey, paymentHandler), name = "relayer")
|
||||||
val router = system.actorOf(Router.props(watcher, db), name = "router")
|
val router = system.actorOf(Router.props(watcher, db), name = "router")
|
||||||
val switchboard = system.actorOf(Switchboard.props(nodeParams, watcher, router, relayer, finalScriptPubKey, db), name = "switchboard")
|
val switchboard = system.actorOf(Switchboard.props(nodeParams, watcher, router, relayer, finalScriptPubKey), name = "switchboard")
|
||||||
val paymentInitiator = system.actorOf(PaymentInitiator.props(nodeParams.privateKey.publicKey, router), "payment-initiator")
|
val paymentInitiator = system.actorOf(PaymentInitiator.props(nodeParams.privateKey.publicKey, router), "payment-initiator")
|
||||||
val server = system.actorOf(Server.props(nodeParams, switchboard, new InetSocketAddress(config.getString("eclair.server.host"), config.getInt("eclair.server.port"))), "server")
|
val server = system.actorOf(Server.props(nodeParams, switchboard, new InetSocketAddress(config.getString("eclair.server.host"), config.getInt("eclair.server.port"))), "server")
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.typesafe.config.ConfigFactory
|
||||||
import fr.acinq.bitcoin.{BinaryData, DeterministicWallet}
|
import fr.acinq.bitcoin.{BinaryData, DeterministicWallet}
|
||||||
import fr.acinq.bitcoin.Crypto.PrivateKey
|
import fr.acinq.bitcoin.Crypto.PrivateKey
|
||||||
import fr.acinq.bitcoin.DeterministicWallet.ExtendedPrivateKey
|
import fr.acinq.bitcoin.DeterministicWallet.ExtendedPrivateKey
|
||||||
|
import fr.acinq.eclair.db.{SimpleDb, SimpleFileDb}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by PM on 26/02/2017.
|
* Created by PM on 26/02/2017.
|
||||||
|
@ -28,7 +29,8 @@ case class NodeParams(extendedPrivateKey: ExtendedPrivateKey,
|
||||||
feeBaseMsat: Int,
|
feeBaseMsat: Int,
|
||||||
feeProportionalMillionth: Int,
|
feeProportionalMillionth: Int,
|
||||||
reserveToFundingRatio: Double,
|
reserveToFundingRatio: Double,
|
||||||
maxReserveToFundingRatio: Double)
|
maxReserveToFundingRatio: Double,
|
||||||
|
db: SimpleDb)
|
||||||
|
|
||||||
object NodeParams {
|
object NodeParams {
|
||||||
|
|
||||||
|
@ -38,7 +40,7 @@ object NodeParams {
|
||||||
val seed: BinaryData = config.getString("node.seed")
|
val seed: BinaryData = config.getString("node.seed")
|
||||||
val master = DeterministicWallet.generate(seed)
|
val master = DeterministicWallet.generate(seed)
|
||||||
val extendedPrivateKey = DeterministicWallet.derivePrivateKey(master, DeterministicWallet.hardened(46) :: DeterministicWallet.hardened(0) :: Nil)
|
val extendedPrivateKey = DeterministicWallet.derivePrivateKey(master, DeterministicWallet.hardened(46) :: DeterministicWallet.hardened(0) :: Nil)
|
||||||
|
val db = new SimpleFileDb(config.getString("db.root"))
|
||||||
NodeParams(
|
NodeParams(
|
||||||
extendedPrivateKey = extendedPrivateKey,
|
extendedPrivateKey = extendedPrivateKey,
|
||||||
privateKey = extendedPrivateKey.privateKey,
|
privateKey = extendedPrivateKey.privateKey,
|
||||||
|
@ -58,7 +60,8 @@ object NodeParams {
|
||||||
feeBaseMsat = config.getInt("fee-base-msat"),
|
feeBaseMsat = config.getInt("fee-base-msat"),
|
||||||
feeProportionalMillionth = config.getInt("fee-proportional-millionth"),
|
feeProportionalMillionth = config.getInt("fee-proportional-millionth"),
|
||||||
reserveToFundingRatio = 0.01, // recommended by BOLT #2
|
reserveToFundingRatio = 0.01, // recommended by BOLT #2
|
||||||
maxReserveToFundingRatio = 0.05 // channel reserve can't be more than 5% of the funding amount (recommended: 1%)
|
maxReserveToFundingRatio = 0.05, // channel reserve can't be more than 5% of the funding amount (recommended: 1%)
|
||||||
|
db = db
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ case class ChannelRecord(id: Long, state: ChannelState)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
object Channel {
|
object Channel {
|
||||||
def props(nodeParams: NodeParams, remote: ActorRef, blockchain: ActorRef, router: ActorRef, relayer: ActorRef, db: SimpleDb) = Props(new Channel(nodeParams, remote, blockchain, router, relayer, db))
|
def props(nodeParams: NodeParams, remote: ActorRef, blockchain: ActorRef, router: ActorRef, relayer: ActorRef) = Props(new Channel(nodeParams, remote, blockchain, router, relayer))
|
||||||
|
|
||||||
def makeChannelDb(db: SimpleDb): SimpleTypedDb[Long, ChannelRecord] = {
|
def makeChannelDb(db: SimpleDb): SimpleTypedDb[Long, ChannelRecord] = {
|
||||||
def channelid2String(id: Long) = s"channel-$id"
|
def channelid2String(id: Long) = s"channel-$id"
|
||||||
|
@ -47,10 +47,11 @@ object Channel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Channel(nodeParams: NodeParams, val r: ActorRef, val blockchain: ActorRef, router: ActorRef, relayer: ActorRef, db: SimpleDb)(implicit ec: ExecutionContext = ExecutionContext.Implicits.global) extends LoggingFSM[State, Data] {
|
class Channel(nodeParams: NodeParams, val r: ActorRef, val blockchain: ActorRef, router: ActorRef, relayer: ActorRef)(implicit ec: ExecutionContext = ExecutionContext.Implicits.global) extends LoggingFSM[State, Data] {
|
||||||
|
|
||||||
import Channel._
|
import Channel._
|
||||||
|
|
||||||
|
val db = nodeParams.db
|
||||||
val channelDb = makeChannelDb(db)
|
val channelDb = makeChannelDb(db)
|
||||||
|
|
||||||
var remote = r
|
var remote = r
|
||||||
|
|
|
@ -42,10 +42,11 @@ case class PeerRecord(id: PublicKey, address: Option[InetSocketAddress])
|
||||||
/**
|
/**
|
||||||
* Created by PM on 26/08/2016.
|
* Created by PM on 26/08/2016.
|
||||||
*/
|
*/
|
||||||
class Peer(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[InetSocketAddress], watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData, db: SimpleDb) extends LoggingFSM[State, Data] {
|
class Peer(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[InetSocketAddress], watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData) extends LoggingFSM[State, Data] {
|
||||||
|
|
||||||
import Peer._
|
import Peer._
|
||||||
|
|
||||||
|
val db = nodeParams.db
|
||||||
val peerDb = makePeerDb(db)
|
val peerDb = makePeerDb(db)
|
||||||
|
|
||||||
startWith(DISCONNECTED, DisconnectedData(Nil))
|
startWith(DISCONNECTED, DisconnectedData(Nil))
|
||||||
|
@ -56,7 +57,7 @@ class Peer(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[
|
||||||
stay
|
stay
|
||||||
|
|
||||||
case Event(c: ChannelRecord, d@DisconnectedData(offlineChannels)) =>
|
case Event(c: ChannelRecord, d@DisconnectedData(offlineChannels)) =>
|
||||||
val (channel, _) = createChannel(nodeParams, null, c.id, false, 0, db) // TODO: fixme using a dedicated restore message
|
val (channel, _) = createChannel(nodeParams, null, c.id, false, 0) // TODO: fixme using a dedicated restore message
|
||||||
channel ! INPUT_RESTORED(c.id, c.state)
|
channel ! INPUT_RESTORED(c.id, c.state)
|
||||||
stay using d.copy(offlineChannels = offlineChannels :+ HotChannel(c.id, channel))
|
stay using d.copy(offlineChannels = offlineChannels :+ HotChannel(c.id, channel))
|
||||||
|
|
||||||
|
@ -111,7 +112,7 @@ class Peer(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[
|
||||||
case Event(c: NewChannel, d@ConnectedData(transport, remoteInit, channels)) =>
|
case Event(c: NewChannel, d@ConnectedData(transport, remoteInit, channels)) =>
|
||||||
log.info(s"requesting a new channel to $remoteNodeId with fundingSatoshis=${c.fundingSatoshis} and pushMsat=${c.pushMsat}")
|
log.info(s"requesting a new channel to $remoteNodeId with fundingSatoshis=${c.fundingSatoshis} and pushMsat=${c.pushMsat}")
|
||||||
val temporaryChannelId = Platform.currentTime
|
val temporaryChannelId = Platform.currentTime
|
||||||
val (channel, localParams) = createChannel(nodeParams, transport, temporaryChannelId, funder = true, c.fundingSatoshis.toLong, db)
|
val (channel, localParams) = createChannel(nodeParams, transport, temporaryChannelId, funder = true, c.fundingSatoshis.toLong)
|
||||||
channel ! INPUT_INIT_FUNDER(remoteNodeId, temporaryChannelId, c.fundingSatoshis.amount, c.pushMsat.amount, localParams, remoteInit)
|
channel ! INPUT_INIT_FUNDER(remoteNodeId, temporaryChannelId, c.fundingSatoshis.amount, c.pushMsat.amount, localParams, remoteInit)
|
||||||
stay using d.copy(channels = channels + (temporaryChannelId -> channel))
|
stay using d.copy(channels = channels + (temporaryChannelId -> channel))
|
||||||
|
|
||||||
|
@ -135,7 +136,7 @@ class Peer(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[
|
||||||
case Event(msg: OpenChannel, d@ConnectedData(transport, remoteInit, channels)) =>
|
case Event(msg: OpenChannel, d@ConnectedData(transport, remoteInit, channels)) =>
|
||||||
log.info(s"accepting a new channel to $remoteNodeId")
|
log.info(s"accepting a new channel to $remoteNodeId")
|
||||||
val temporaryChannelId = msg.temporaryChannelId
|
val temporaryChannelId = msg.temporaryChannelId
|
||||||
val (channel, localParams) = createChannel(nodeParams, transport, temporaryChannelId, funder = false, fundingSatoshis = msg.fundingSatoshis, db)
|
val (channel, localParams) = createChannel(nodeParams, transport, temporaryChannelId, funder = false, fundingSatoshis = msg.fundingSatoshis)
|
||||||
channel ! INPUT_INIT_FUNDEE(remoteNodeId, temporaryChannelId, localParams, remoteInit)
|
channel ! INPUT_INIT_FUNDEE(remoteNodeId, temporaryChannelId, localParams, remoteInit)
|
||||||
channel ! msg
|
channel ! msg
|
||||||
stay using d.copy(channels = channels + (temporaryChannelId -> channel))
|
stay using d.copy(channels = channels + (temporaryChannelId -> channel))
|
||||||
|
@ -163,9 +164,9 @@ class Peer(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[
|
||||||
stay using d.copy(channels = channels - channelId)
|
stay using d.copy(channels = channels - channelId)
|
||||||
}
|
}
|
||||||
|
|
||||||
def createChannel(nodeParams: NodeParams, transport: ActorRef, temporaryChannelId: Long, funder: Boolean, fundingSatoshis: Long, db: SimpleDb): (ActorRef, LocalParams) = {
|
def createChannel(nodeParams: NodeParams, transport: ActorRef, temporaryChannelId: Long, funder: Boolean, fundingSatoshis: Long): (ActorRef, LocalParams) = {
|
||||||
val localParams = makeChannelParams(nodeParams, temporaryChannelId, defaultFinalScriptPubKey, funder, fundingSatoshis)
|
val localParams = makeChannelParams(nodeParams, temporaryChannelId, defaultFinalScriptPubKey, funder, fundingSatoshis)
|
||||||
val channel = context.actorOf(Channel.props(nodeParams, transport, watcher, router, relayer, db), s"channel-$temporaryChannelId")
|
val channel = context.actorOf(Channel.props(nodeParams, transport, watcher, router, relayer), s"channel-$temporaryChannelId")
|
||||||
context watch channel
|
context watch channel
|
||||||
(channel, localParams)
|
(channel, localParams)
|
||||||
}
|
}
|
||||||
|
@ -174,7 +175,7 @@ class Peer(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[
|
||||||
|
|
||||||
object Peer {
|
object Peer {
|
||||||
|
|
||||||
def props(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[InetSocketAddress], watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData, db: SimpleDb) = Props(new Peer(nodeParams, remoteNodeId, address_opt, watcher, router, relayer, defaultFinalScriptPubKey, db))
|
def props(nodeParams: NodeParams, remoteNodeId: PublicKey, address_opt: Option[InetSocketAddress], watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData) = Props(new Peer(nodeParams, remoteNodeId, address_opt, watcher, router, relayer, defaultFinalScriptPubKey))
|
||||||
|
|
||||||
def generateKey(nodeParams: NodeParams, keyPath: Seq[Long]): PrivateKey = DeterministicWallet.derivePrivateKey(nodeParams.extendedPrivateKey, keyPath).privateKey
|
def generateKey(nodeParams: NodeParams, keyPath: Seq[Long]): PrivateKey = DeterministicWallet.derivePrivateKey(nodeParams.extendedPrivateKey, keyPath).privateKey
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,12 @@ import fr.acinq.eclair.db.{ChannelState, SimpleDb}
|
||||||
* Ties network connections to peers.
|
* Ties network connections to peers.
|
||||||
* Created by PM on 14/02/2017.
|
* Created by PM on 14/02/2017.
|
||||||
*/
|
*/
|
||||||
class Switchboard(nodeParams: NodeParams, watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData, db: SimpleDb) extends Actor with ActorLogging {
|
class Switchboard(nodeParams: NodeParams, watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData) extends Actor with ActorLogging {
|
||||||
|
|
||||||
import Switchboard._
|
import Switchboard._
|
||||||
|
|
||||||
|
def db = nodeParams.db
|
||||||
|
|
||||||
val peerDb = Peer.makePeerDb(db)
|
val peerDb = Peer.makePeerDb(db)
|
||||||
|
|
||||||
def receive: Receive = main(Map(), Map())
|
def receive: Receive = main(Map(), Map())
|
||||||
|
@ -74,13 +76,13 @@ class Switchboard(nodeParams: NodeParams, watcher: ActorRef, router: ActorRef, r
|
||||||
|
|
||||||
def createPeer(remoteNodeId: PublicKey, address_opt: Option[InetSocketAddress]) = {
|
def createPeer(remoteNodeId: PublicKey, address_opt: Option[InetSocketAddress]) = {
|
||||||
peerDb.put(remoteNodeId, PeerRecord(remoteNodeId, address_opt))
|
peerDb.put(remoteNodeId, PeerRecord(remoteNodeId, address_opt))
|
||||||
context.actorOf(Peer.props(nodeParams, remoteNodeId, address_opt, watcher, router, relayer, defaultFinalScriptPubKey, db), name = s"peer-$remoteNodeId")
|
context.actorOf(Peer.props(nodeParams, remoteNodeId, address_opt, watcher, router, relayer, defaultFinalScriptPubKey), name = s"peer-$remoteNodeId")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object Switchboard {
|
object Switchboard {
|
||||||
|
|
||||||
def props(nodeParams: NodeParams, watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData, db: SimpleDb) = Props(new Switchboard(nodeParams, watcher, router, relayer, defaultFinalScriptPubKey, db))
|
def props(nodeParams: NodeParams, watcher: ActorRef, router: ActorRef, relayer: ActorRef, defaultFinalScriptPubKey: BinaryData) = Props(new Switchboard(nodeParams, watcher, router, relayer, defaultFinalScriptPubKey))
|
||||||
|
|
||||||
// @formatter:off
|
// @formatter:off
|
||||||
case class NewChannel(fundingSatoshis: Satoshi, pushMsat: MilliSatoshi)
|
case class NewChannel(fundingSatoshis: Satoshi, pushMsat: MilliSatoshi)
|
||||||
|
|
|
@ -4,6 +4,7 @@ import java.net.InetSocketAddress
|
||||||
|
|
||||||
import fr.acinq.bitcoin.Crypto.PrivateKey
|
import fr.acinq.bitcoin.Crypto.PrivateKey
|
||||||
import fr.acinq.bitcoin.{BinaryData, DeterministicWallet, Script}
|
import fr.acinq.bitcoin.{BinaryData, DeterministicWallet, Script}
|
||||||
|
import fr.acinq.eclair.db.DummyDb
|
||||||
import fr.acinq.eclair.io.Peer
|
import fr.acinq.eclair.io.Peer
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,7 +37,8 @@ object TestConstants {
|
||||||
feeBaseMsat = 546000,
|
feeBaseMsat = 546000,
|
||||||
feeProportionalMillionth = 10,
|
feeProportionalMillionth = 10,
|
||||||
reserveToFundingRatio = 0.01, // note: not used (overriden below)
|
reserveToFundingRatio = 0.01, // note: not used (overriden below)
|
||||||
maxReserveToFundingRatio = 0.05)
|
maxReserveToFundingRatio = 0.05,
|
||||||
|
db = new DummyDb())
|
||||||
val id = nodeParams.privateKey.publicKey
|
val id = nodeParams.privateKey.publicKey
|
||||||
val channelParams = Peer.makeChannelParams(
|
val channelParams = Peer.makeChannelParams(
|
||||||
nodeParams = nodeParams,
|
nodeParams = nodeParams,
|
||||||
|
@ -71,7 +73,8 @@ object TestConstants {
|
||||||
feeBaseMsat = 546000,
|
feeBaseMsat = 546000,
|
||||||
feeProportionalMillionth = 10,
|
feeProportionalMillionth = 10,
|
||||||
reserveToFundingRatio = 0.01, // note: not used (overriden below)
|
reserveToFundingRatio = 0.01, // note: not used (overriden below)
|
||||||
maxReserveToFundingRatio = 0.05)
|
maxReserveToFundingRatio = 0.05,
|
||||||
|
db = new DummyDb)
|
||||||
val id = nodeParams.privateKey.publicKey
|
val id = nodeParams.privateKey.publicKey
|
||||||
val channelParams = Peer.makeChannelParams(
|
val channelParams = Peer.makeChannelParams(
|
||||||
nodeParams = nodeParams,
|
nodeParams = nodeParams,
|
||||||
|
|
|
@ -8,7 +8,6 @@ import fr.acinq.bitcoin.{BinaryData, Crypto}
|
||||||
import fr.acinq.eclair.TestConstants.{Alice, Bob}
|
import fr.acinq.eclair.TestConstants.{Alice, Bob}
|
||||||
import fr.acinq.eclair._
|
import fr.acinq.eclair._
|
||||||
import fr.acinq.eclair.blockchain._
|
import fr.acinq.eclair.blockchain._
|
||||||
import fr.acinq.eclair.db.DummyDb
|
|
||||||
import fr.acinq.eclair.payment.Relayer
|
import fr.acinq.eclair.payment.Relayer
|
||||||
import fr.acinq.eclair.wire.{Init, UpdateAddHtlc}
|
import fr.acinq.eclair.wire.{Init, UpdateAddHtlc}
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
|
@ -55,8 +54,8 @@ class ThroughputSpec extends FunSuite {
|
||||||
}), "payment-handler")
|
}), "payment-handler")
|
||||||
val relayerA = system.actorOf(Relayer.props(Alice.nodeParams.privateKey, paymentHandler))
|
val relayerA = system.actorOf(Relayer.props(Alice.nodeParams.privateKey, paymentHandler))
|
||||||
val relayerB = system.actorOf(Relayer.props(Bob.nodeParams.privateKey, paymentHandler))
|
val relayerB = system.actorOf(Relayer.props(Bob.nodeParams.privateKey, paymentHandler))
|
||||||
val alice = system.actorOf(Channel.props(Alice.nodeParams, pipe, blockchain, ???, relayerA, new DummyDb()), "a")
|
val alice = system.actorOf(Channel.props(Alice.nodeParams, pipe, blockchain, ???, relayerA), "a")
|
||||||
val bob = system.actorOf(Channel.props(Bob.nodeParams, pipe, blockchain, ???, relayerB, new DummyDb()), "b")
|
val bob = system.actorOf(Channel.props(Bob.nodeParams, pipe, blockchain, ???, relayerB), "b")
|
||||||
val aliceInit = Init(Alice.channelParams.globalFeatures, Alice.channelParams.localFeatures)
|
val aliceInit = Init(Alice.channelParams.globalFeatures, Alice.channelParams.localFeatures)
|
||||||
val bobInit = Init(Bob.channelParams.globalFeatures, Bob.channelParams.localFeatures)
|
val bobInit = Init(Bob.channelParams.globalFeatures, Bob.channelParams.localFeatures)
|
||||||
alice ! INPUT_INIT_FUNDER(Bob.id, 0, TestConstants.fundingSatoshis, TestConstants.pushMsat, Alice.channelParams, bobInit)
|
alice ! INPUT_INIT_FUNDER(Bob.id, 0, TestConstants.fundingSatoshis, TestConstants.pushMsat, Alice.channelParams, bobInit)
|
||||||
|
|
|
@ -7,7 +7,6 @@ import fr.acinq.eclair.TestConstants.{Alice, Bob}
|
||||||
import fr.acinq.eclair._
|
import fr.acinq.eclair._
|
||||||
import fr.acinq.eclair.blockchain._
|
import fr.acinq.eclair.blockchain._
|
||||||
import fr.acinq.eclair.channel.{Data, State, _}
|
import fr.acinq.eclair.channel.{Data, State, _}
|
||||||
import fr.acinq.eclair.db.DummyDb
|
|
||||||
import fr.acinq.eclair.payment._
|
import fr.acinq.eclair.payment._
|
||||||
import fr.acinq.eclair.router.Hop
|
import fr.acinq.eclair.router.Hop
|
||||||
import fr.acinq.eclair.wire._
|
import fr.acinq.eclair.wire._
|
||||||
|
@ -36,8 +35,8 @@ class FuzzySpec extends TestkitBaseClass with StateTestsHelperMethods {
|
||||||
val relayerA = system.actorOf(Relayer.props(Alice.nodeParams.privateKey, paymentHandlerA), "relayer-a")
|
val relayerA = system.actorOf(Relayer.props(Alice.nodeParams.privateKey, paymentHandlerA), "relayer-a")
|
||||||
val relayerB = system.actorOf(Relayer.props(Bob.nodeParams.privateKey, paymentHandlerB), "relayer-b")
|
val relayerB = system.actorOf(Relayer.props(Bob.nodeParams.privateKey, paymentHandlerB), "relayer-b")
|
||||||
val router = TestProbe()
|
val router = TestProbe()
|
||||||
val alice: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Alice.nodeParams, pipe, alice2blockchain.ref, router.ref, relayerA, new DummyDb()))
|
val alice: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Alice.nodeParams, pipe, alice2blockchain.ref, router.ref, relayerA))
|
||||||
val bob: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Bob.nodeParams, pipe, bob2blockchain.ref, router.ref, relayerB, new DummyDb()))
|
val bob: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Bob.nodeParams, pipe, bob2blockchain.ref, router.ref, relayerB))
|
||||||
within(30 seconds) {
|
within(30 seconds) {
|
||||||
val aliceInit = Init(Alice.channelParams.globalFeatures, Alice.channelParams.localFeatures)
|
val aliceInit = Init(Alice.channelParams.globalFeatures, Alice.channelParams.localFeatures)
|
||||||
val bobInit = Init(Bob.channelParams.globalFeatures, Bob.channelParams.localFeatures)
|
val bobInit = Init(Bob.channelParams.globalFeatures, Bob.channelParams.localFeatures)
|
||||||
|
|
|
@ -6,7 +6,6 @@ import fr.acinq.bitcoin.{BinaryData, Crypto}
|
||||||
import fr.acinq.eclair.TestConstants.{Alice, Bob}
|
import fr.acinq.eclair.TestConstants.{Alice, Bob}
|
||||||
import fr.acinq.eclair.blockchain._
|
import fr.acinq.eclair.blockchain._
|
||||||
import fr.acinq.eclair.channel._
|
import fr.acinq.eclair.channel._
|
||||||
import fr.acinq.eclair.db.DummyDb
|
|
||||||
import fr.acinq.eclair.wire._
|
import fr.acinq.eclair.wire._
|
||||||
import fr.acinq.eclair.{TestBitcoinClient, TestConstants}
|
import fr.acinq.eclair.{TestBitcoinClient, TestConstants}
|
||||||
|
|
||||||
|
@ -37,8 +36,8 @@ trait StateTestsHelperMethods extends TestKitBase {
|
||||||
val router = TestProbe()
|
val router = TestProbe()
|
||||||
val nodeParamsA = TestConstants.Alice.nodeParams
|
val nodeParamsA = TestConstants.Alice.nodeParams
|
||||||
val nodeParamsB = TestConstants.Bob.nodeParams
|
val nodeParamsB = TestConstants.Bob.nodeParams
|
||||||
val alice: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(nodeParamsA, alice2bob.ref, alice2blockchain.ref, router.ref, relayer.ref, new DummyDb()))
|
val alice: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(nodeParamsA, alice2bob.ref, alice2blockchain.ref, router.ref, relayer.ref))
|
||||||
val bob: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(nodeParamsB, bob2alice.ref, bob2blockchain.ref, router.ref, relayer.ref, new DummyDb()))
|
val bob: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(nodeParamsB, bob2alice.ref, bob2blockchain.ref, router.ref, relayer.ref))
|
||||||
Setup(alice, bob, alice2bob, bob2alice, blockchainA, alice2blockchain, bob2blockchain, router, relayer)
|
Setup(alice, bob, alice2bob, bob2alice, blockchainA, alice2blockchain, bob2blockchain, router, relayer)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@ import akka.testkit.{TestFSMRef, TestKit, TestProbe}
|
||||||
import fr.acinq.eclair.TestConstants.{Alice, Bob}
|
import fr.acinq.eclair.TestConstants.{Alice, Bob}
|
||||||
import fr.acinq.eclair.blockchain.PeerWatcher
|
import fr.acinq.eclair.blockchain.PeerWatcher
|
||||||
import fr.acinq.eclair.channel._
|
import fr.acinq.eclair.channel._
|
||||||
import fr.acinq.eclair.db.DummyDb
|
|
||||||
import fr.acinq.eclair.payment.NoopPaymentHandler
|
import fr.acinq.eclair.payment.NoopPaymentHandler
|
||||||
import fr.acinq.eclair.wire.Init
|
import fr.acinq.eclair.wire.Init
|
||||||
import fr.acinq.eclair.{Globals, TestBitcoinClient}
|
import fr.acinq.eclair.{Globals, TestBitcoinClient}
|
||||||
|
@ -37,8 +36,8 @@ class RustyTestsSpec extends TestKit(ActorSystem("test")) with Matchers with fix
|
||||||
// we just bypass the relayer for this test
|
// we just bypass the relayer for this test
|
||||||
val relayer = paymentHandler
|
val relayer = paymentHandler
|
||||||
val router = TestProbe()
|
val router = TestProbe()
|
||||||
val alice: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Alice.nodeParams, pipe, blockchainA, router.ref, relayer, new DummyDb()))
|
val alice: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Alice.nodeParams, pipe, blockchainA, router.ref, relayer))
|
||||||
val bob: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Bob.nodeParams, pipe, blockchainB, router.ref, relayer, new DummyDb()))
|
val bob: TestFSMRef[State, Data, Channel] = TestFSMRef(new Channel(Bob.nodeParams, pipe, blockchainB, router.ref, relayer))
|
||||||
val aliceInit = Init(Alice.channelParams.globalFeatures, Alice.channelParams.localFeatures)
|
val aliceInit = Init(Alice.channelParams.globalFeatures, Alice.channelParams.localFeatures)
|
||||||
val bobInit = Init(Bob.channelParams.globalFeatures, Bob.channelParams.localFeatures)
|
val bobInit = Init(Bob.channelParams.globalFeatures, Bob.channelParams.localFeatures)
|
||||||
// alice and bob will both have 1 000 000 sat
|
// alice and bob will both have 1 000 000 sat
|
||||||
|
|
Loading…
Add table
Reference in a new issue