Skip to content

Commit 4cd1c1f

Browse files
committed
Debug
1 parent 379abc5 commit 4cd1c1f

File tree

5 files changed

+17
-12
lines changed

5 files changed

+17
-12
lines changed

eclair-core/src/main/scala/fr/acinq/eclair/io/MessageRelay.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ private class MessageRelay(nodeParams: NodeParams,
137137
Behaviors.stopped
138138
}
139139
case EncodedNodeId.WithPublicKey.Plain(nodeId) =>
140+
println(policy)
140141
policy match {
141142
case RelayChannelsOnly =>
142143
switchboard ! GetPeerInfo(context.messageAdapter(WrappedPeerInfo), prevNodeId)

eclair-core/src/main/scala/fr/acinq/eclair/io/PeerConnection.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ class PeerConnection(keyPair: KeyPair, conf: PeerConnection.Conf, switchboard: A
185185
heartbeat {
186186
case Event(msg: OnionMessage, d: ConnectedData) => // we process onion messages separately as we want to rate limit them
187187
if (sender() == d.transport) {
188+
println(s"${keyPair.pub.toHex.substring(2, 3)} <- ${d.remoteNodeId.toHex.substring(2, 3)}")
188189
d.transport ! TransportHandler.ReadAck(msg)
189190
if (incomingRateLimiter.tryAcquire()) {
190191
d.peer ! msg
@@ -193,6 +194,7 @@ class PeerConnection(keyPair: KeyPair, conf: PeerConnection.Conf, switchboard: A
193194
Metrics.OnionMessagesThrottled.withTag(Tags.Direction, Tags.Directions.Incoming).increment()
194195
}
195196
} else {
197+
println(s"${keyPair.pub.toHex.substring(2, 3)} -> ${d.remoteNodeId.toHex.substring(2, 3)}")
196198
if (outgoingRateLimiter.tryAcquire()) {
197199
d.transport forward msg
198200
Metrics.OnionMessagesProcessed.withTag(Tags.Direction, Tags.Directions.Outgoing).increment()

eclair-core/src/main/scala/fr/acinq/eclair/io/ReconnectionTask.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ class ReconnectionTask(nodeParams: NodeParams, remoteNodeId: PublicKey) extends
129129
case Event(TickReconnect, _) => stay()
130130

131131
case Event(Peer.Connect(_, address_opt, replyTo, isPersistent), _) =>
132+
println(s"${nodeParams.alias} -> ${remoteNodeId.toHex.substring(2, 3)} connection isPersistent=$isPersistent")
132133
// manual connection requests happen completely independently of the automated reconnection process;
133134
// we initiate a connection but don't modify our state.
134135
// if we are already connecting/connected, the peer will kill any duplicate connections

eclair-core/src/test/scala/fr/acinq/eclair/integration/IntegrationSpec.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fr.acinq.eclair.integration
1919
import akka.actor.ActorSystem
2020
import akka.testkit.{TestKit, TestProbe}
2121
import com.typesafe.config.{Config, ConfigFactory}
22-
import fr.acinq.bitcoin.scalacompat.Satoshi
22+
import fr.acinq.bitcoin.scalacompat.{ByteVector32, Satoshi}
2323
import fr.acinq.eclair.Features._
2424
import fr.acinq.eclair.blockchain.bitcoind.BitcoindService
2525
import fr.acinq.eclair.io.Peer.OpenChannelResponse
@@ -28,7 +28,7 @@ import fr.acinq.eclair.payment.relay.Relayer.RelayFees
2828
import fr.acinq.eclair.router.Graph.PaymentWeightRatios
2929
import fr.acinq.eclair.router.RouteCalculation.ROUTE_MAX_LENGTH
3030
import fr.acinq.eclair.router.Router.{MultiPartParams, PathFindingConf, SearchBoundaries, NORMAL => _, State => _}
31-
import fr.acinq.eclair.{BlockHeight, CltvExpiryDelta, Kit, MilliSatoshi, MilliSatoshiLong, Setup, TestKitBaseClass}
31+
import fr.acinq.eclair.{BlockHeight, CltvExpiryDelta, Kit, MilliSatoshi, MilliSatoshiLong, Setup, TestKitBaseClass, randomBytes32}
3232
import grizzled.slf4j.Logging
3333
import org.json4s.{DefaultFormats, Formats}
3434
import org.scalatest.BeforeAndAfterAll
@@ -145,14 +145,14 @@ abstract class IntegrationSpec extends TestKitBaseClass with BitcoindService wit
145145
super.afterAll()
146146
}
147147

148-
def instantiateEclairNode(name: String, config: Config): Unit = {
148+
def instantiateEclairNode(name: String, config: Config, seed_opt: Option[ByteVector32] = None): Unit = {
149149
val datadir = new File(INTEGRATION_TMP_DIR, s"datadir-eclair-$name")
150150
datadir.mkdirs()
151151
if (useEclairSigner) {
152152
Files.writeString(datadir.toPath.resolve("eclair-signer.conf"), eclairSignerConf)
153153
}
154154
implicit val system: ActorSystem = ActorSystem(s"system-$name", config)
155-
val setup = new Setup(datadir, pluginParams = Seq.empty)
155+
val setup = new Setup(datadir, pluginParams = Seq.empty, seed_opt.map(s => Setup.Seeds(s, randomBytes32())))
156156
val kit = Await.result(setup.bootstrap, 10 seconds)
157157
nodes = nodes + (name -> kit)
158158
}

eclair-core/src/test/scala/fr/acinq/eclair/integration/MessageIntegrationSpec.scala

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,21 @@ import akka.testkit.TestProbe
2323
import akka.util.Timeout
2424
import com.typesafe.config.ConfigFactory
2525
import fr.acinq.bitcoin.Transaction
26-
import fr.acinq.bitcoin.scalacompat.{ByteVector32, Satoshi}
26+
import fr.acinq.bitcoin.scalacompat.{Block, ByteVector32, Satoshi}
2727
import fr.acinq.eclair.TestUtils.waitEventStreamSynced
2828
import fr.acinq.eclair.blockchain.bitcoind.ZmqWatcher
2929
import fr.acinq.eclair.blockchain.bitcoind.ZmqWatcher.{Watch, WatchFundingConfirmed}
3030
import fr.acinq.eclair.blockchain.bitcoind.rpc.BitcoinCoreClient
3131
import fr.acinq.eclair.channel.{CMD_CLOSE, RES_SUCCESS, Register}
32+
import fr.acinq.eclair.crypto.keymanager.LocalNodeKeyManager
3233
import fr.acinq.eclair.io.Switchboard
3334
import fr.acinq.eclair.message.OnionMessages
3435
import fr.acinq.eclair.message.OnionMessages.{IntermediateNode, Recipient, buildRoute}
3536
import fr.acinq.eclair.router.Router
3637
import fr.acinq.eclair.wire.protocol.OnionMessagePayloadTlv.ReplyPath
3738
import fr.acinq.eclair.wire.protocol.TlvCodecs.genericTlv
3839
import fr.acinq.eclair.wire.protocol.{GenericTlv, NodeAnnouncement}
39-
import fr.acinq.eclair.{EclairImpl, EncodedNodeId, Features, MilliSatoshi, SendOnionMessageResponse, UInt64, randomBytes, randomKey}
40+
import fr.acinq.eclair.{EclairImpl, EncodedNodeId, Features, MilliSatoshi, SendOnionMessageResponse, UInt64, randomBytes, randomBytes32, randomKey}
4041
import scodec.bits.{ByteVector, HexStringSyntax}
4142

4243
import scala.concurrent.ExecutionContext.Implicits.global
@@ -47,12 +48,12 @@ class MessageIntegrationSpec extends IntegrationSpec {
4748
implicit val timeout: Timeout = FiniteDuration(30, SECONDS)
4849

4950
test("start eclair nodes") {
50-
instantiateEclairNode("A", ConfigFactory.parseMap(Map("eclair.node-alias" -> "A", "eclair.server.port" -> 30700, "eclair.api.port" -> 30780, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "relay-all", "eclair.onion-messages.reply-timeout" -> "1 minute").asJava).withFallback(commonConfig))
51-
instantiateEclairNode("B", ConfigFactory.parseMap(Map("eclair.node-alias" -> "B", "eclair.server.port" -> 30701, "eclair.api.port" -> 30781, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "relay-all", "eclair.onion-messages.reply-timeout" -> "1 second").asJava).withFallback(commonConfig))
52-
instantiateEclairNode("C", ConfigFactory.parseMap(Map("eclair.node-alias" -> "C", "eclair.server.port" -> 30702, "eclair.api.port" -> 30782, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "relay-all").asJava).withFallback(commonConfig))
53-
instantiateEclairNode("D", ConfigFactory.parseMap(Map("eclair.node-alias" -> "D", "eclair.server.port" -> 30703, "eclair.api.port" -> 30783).asJava).withFallback(commonConfig))
54-
instantiateEclairNode("E", ConfigFactory.parseMap(Map("eclair.node-alias" -> "E", "eclair.server.port" -> 30704, "eclair.api.port" -> 30784, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "channels-only").asJava).withFallback(commonConfig))
55-
instantiateEclairNode("F", ConfigFactory.parseMap(Map("eclair.node-alias" -> "F", "eclair.server.port" -> 30705, "eclair.api.port" -> 30785, s"eclair.features.${Features.OnionMessages.rfcName}" -> "disabled").asJava).withFallback(commonConfig))
51+
instantiateEclairNode("A", ConfigFactory.parseMap(Map("eclair.node-alias" -> "A", "eclair.server.port" -> 30700, "eclair.api.port" -> 30780, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "relay-all", "eclair.onion-messages.reply-timeout" -> "1 minute").asJava).withFallback(commonConfig), Some(ByteVector32(hex"40e4f4f95f9967b8cc5f844e94936f7045ed3ab67e0db7951a8af0bcddb8abbb")))
52+
instantiateEclairNode("B", ConfigFactory.parseMap(Map("eclair.node-alias" -> "B", "eclair.server.port" -> 30701, "eclair.api.port" -> 30781, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "relay-all", "eclair.onion-messages.reply-timeout" -> "1 second").asJava).withFallback(commonConfig), Some(ByteVector32(hex"0c436bdc75a384126b86c0f65fee1a87ab16ef28397c3f38f6b165a13c969bba")))
53+
instantiateEclairNode("C", ConfigFactory.parseMap(Map("eclair.node-alias" -> "C", "eclair.server.port" -> 30702, "eclair.api.port" -> 30782, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "relay-all").asJava).withFallback(commonConfig), Some(ByteVector32(hex"de6614d459422d77df04571f62c7b73c1aae404e00f568af462d513303f54b46")))
54+
instantiateEclairNode("D", ConfigFactory.parseMap(Map("eclair.node-alias" -> "D", "eclair.server.port" -> 30703, "eclair.api.port" -> 30783).asJava).withFallback(commonConfig), Some(ByteVector32(hex"454e58503bec6b75430c3a5a738cc9329318969afd2a5d789bee3fa0b0327027")))
55+
instantiateEclairNode("E", ConfigFactory.parseMap(Map("eclair.node-alias" -> "E", "eclair.server.port" -> 30704, "eclair.api.port" -> 30784, s"eclair.features.${Features.OnionMessages.rfcName}" -> "optional", "eclair.onion-messages.relay-policy" -> "channels-only").asJava).withFallback(commonConfig), Some(ByteVector32(hex"e8faa9ac62d99f6362452c4d4decfdf826b0d47718550a10821d19a4d6382d43")))
56+
instantiateEclairNode("F", ConfigFactory.parseMap(Map("eclair.node-alias" -> "F", "eclair.server.port" -> 30705, "eclair.api.port" -> 30785, s"eclair.features.${Features.OnionMessages.rfcName}" -> "disabled").asJava).withFallback(commonConfig), Some(ByteVector32(hex"acc27975904e764e18d1261de40014a42a992fbacf9d9b2a333162993520bdca")))
5657
}
5758

5859
test("try to reach unknown node") {

0 commit comments

Comments
 (0)