Skip to content

Commit 7819fae

Browse files
authored
Move protocol codecs to their own package (#1736)
This is a follow-up for #1732 Codecs in the protocol package will always be backwards-compatible, as they are defined in the spec.
1 parent 6e72785 commit 7819fae

File tree

151 files changed

+380
-332
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+380
-332
lines changed

eclair-core/src/main/resources/reference.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ akka {
276276
}
277277

278278
serialization-bindings {
279-
"fr.acinq.eclair.wire.LightningMessage" = lightning
279+
"fr.acinq.eclair.wire.protocol.LightningMessage" = lightning
280280
"fr.acinq.eclair.remote.EclairInternalsSerializer$RemoteTypes" = eclair-internals
281281
}
282282
}

eclair-core/src/main/scala/fr/acinq/eclair/Eclair.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import fr.acinq.eclair.payment.relay.Relayer.{GetOutgoingChannels, OutgoingChann
3737
import fr.acinq.eclair.payment.send.PaymentInitiator.{SendPaymentRequest, SendPaymentToRouteRequest, SendPaymentToRouteResponse}
3838
import fr.acinq.eclair.router.Router._
3939
import fr.acinq.eclair.router.{NetworkStats, RouteCalculation, Router}
40-
import fr.acinq.eclair.wire._
40+
import fr.acinq.eclair.wire.protocol._
4141
import scodec.bits.ByteVector
4242

4343
import java.nio.charset.StandardCharsets

eclair-core/src/main/scala/fr/acinq/eclair/Logs.scala

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package fr.acinq.eclair
1818

19-
import java.util.UUID
20-
2119
import akka.event.DiagnosticLoggingAdapter
2220
import akka.io.Tcp
2321
import fr.acinq.bitcoin.ByteVector32
@@ -29,7 +27,9 @@ import fr.acinq.eclair.io.Peer.PeerRoutingMessage
2927
import fr.acinq.eclair.io.{Peer, PeerConnection}
3028
import fr.acinq.eclair.router.Router._
3129
import fr.acinq.eclair.router._
32-
import fr.acinq.eclair.wire._
30+
import fr.acinq.eclair.wire.protocol._
31+
32+
import java.util.UUID
3333

3434
object Logs {
3535

@@ -130,7 +130,7 @@ object Logs {
130130
case _: PeerConnection.DelayedRebroadcast => Some(LogCategory.ROUTING_SYNC)
131131
case _: Ping => Some(LogCategory.CONNECTION)
132132
case _: Pong => Some(LogCategory.CONNECTION)
133-
case _: wire.Init => Some(LogCategory.CONNECTION)
133+
case _: Init => Some(LogCategory.CONNECTION)
134134
case _: Rebroadcast => Some(LogCategory.ROUTING_SYNC)
135135

136136
case _ => None

eclair-core/src/main/scala/fr/acinq/eclair/NodeParams.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import fr.acinq.eclair.db._
2929
import fr.acinq.eclair.io.PeerConnection
3030
import fr.acinq.eclair.router.Router.RouterConf
3131
import fr.acinq.eclair.tor.Socks5ProxyParams
32-
import fr.acinq.eclair.wire.{Color, EncodingType, NodeAddress}
32+
import fr.acinq.eclair.wire.protocol.{Color, EncodingType, NodeAddress}
3333
import grizzled.slf4j.Logging
3434
import scodec.bits.ByteVector
3535

eclair-core/src/main/scala/fr/acinq/eclair/Setup.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ import fr.acinq.eclair.blockchain.{EclairWallet, _}
3636
import fr.acinq.eclair.channel.Register
3737
import fr.acinq.eclair.crypto.keymanager.{LocalChannelKeyManager, LocalNodeKeyManager}
3838
import fr.acinq.eclair.db.Databases.FileBackup
39-
import fr.acinq.eclair.db.{DbEventHandler, Databases, FileBackupHandler}
39+
import fr.acinq.eclair.db.{Databases, DbEventHandler, FileBackupHandler}
4040
import fr.acinq.eclair.io.{ClientSpawner, Server, Switchboard}
4141
import fr.acinq.eclair.payment.receive.PaymentHandler
4242
import fr.acinq.eclair.payment.relay.Relayer
4343
import fr.acinq.eclair.payment.send.{Autoprobe, PaymentInitiator}
4444
import fr.acinq.eclair.router._
4545
import fr.acinq.eclair.tor.TorProtocolHandler.OnionServiceVersion
4646
import fr.acinq.eclair.tor.{Controller, TorProtocolHandler}
47-
import fr.acinq.eclair.wire.NodeAddress
47+
import fr.acinq.eclair.wire.protocol.NodeAddress
4848
import grizzled.slf4j.Logging
4949
import org.json4s.JsonAST.JArray
5050
import scodec.bits.ByteVector

eclair-core/src/main/scala/fr/acinq/eclair/blockchain/WatcherTypes.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import fr.acinq.bitcoin.{ByteVector32, Satoshi, Script, ScriptWitness, Transacti
2222
import fr.acinq.eclair.blockchain.fee.FeeratePerKw
2323
import fr.acinq.eclair.channel.BitcoinEvent
2424
import fr.acinq.eclair.transactions.Transactions.TransactionSigningKit
25-
import fr.acinq.eclair.wire.ChannelAnnouncement
25+
import fr.acinq.eclair.wire.protocol.ChannelAnnouncement
2626
import scodec.bits.ByteVector
2727

2828
import scala.util.{Failure, Success, Try}

eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/ExtendedBitcoinClient.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import fr.acinq.eclair.TxCoordinates
2222
import fr.acinq.eclair.blockchain.fee.{FeeratePerKB, FeeratePerKw}
2323
import fr.acinq.eclair.blockchain.{GetTxWithMetaResponse, UtxoStatus, ValidateResult}
2424
import fr.acinq.eclair.transactions.Transactions
25-
import fr.acinq.eclair.wire.ChannelAnnouncement
25+
import fr.acinq.eclair.wire.protocol.ChannelAnnouncement
2626
import org.json4s.Formats
2727
import org.json4s.JsonAST._
2828
import scodec.bits.ByteVector

eclair-core/src/main/scala/fr/acinq/eclair/blockchain/electrum/db/sqlite/SqliteWalletDb.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ class SqliteWalletDb(sqlite: Connection) extends WalletDb {
134134

135135
object SqliteWalletDb {
136136

137-
import fr.acinq.eclair.wire.CommonCodecs._
137+
import fr.acinq.eclair.wire.protocol.CommonCodecs._
138138
import scodec.Codec
139139
import scodec.bits.BitVector
140140
import scodec.codecs._

eclair-core/src/main/scala/fr/acinq/eclair/channel/Channel.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import fr.acinq.eclair.payment.PaymentSettlingOnChain
3434
import fr.acinq.eclair.router.Announcements
3535
import fr.acinq.eclair.transactions.Transactions.{ClosingTx, TxOwner}
3636
import fr.acinq.eclair.transactions._
37-
import fr.acinq.eclair.wire._
37+
import fr.acinq.eclair.wire.protocol._
3838
import scodec.bits.ByteVector
3939

4040
import scala.collection.immutable.Queue

eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelEvents.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import fr.acinq.bitcoin.{ByteVector32, Satoshi, Transaction}
2222
import fr.acinq.eclair.ShortChannelId
2323
import fr.acinq.eclair.blockchain.fee.FeeratePerKw
2424
import fr.acinq.eclair.channel.Helpers.Closing.ClosingType
25-
import fr.acinq.eclair.wire.{ChannelAnnouncement, ChannelUpdate}
25+
import fr.acinq.eclair.wire.protocol.{ChannelAnnouncement, ChannelUpdate}
2626

2727
/**
2828
* Created by PM on 17/08/2016.

eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelExceptions.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fr.acinq.eclair.channel
1919
import fr.acinq.bitcoin.Crypto.PrivateKey
2020
import fr.acinq.bitcoin.{ByteVector32, Satoshi, Transaction}
2121
import fr.acinq.eclair.blockchain.fee.FeeratePerKw
22-
import fr.acinq.eclair.wire.{AnnouncementSignatures, Error, UpdateAddHtlc}
22+
import fr.acinq.eclair.wire.protocol.{AnnouncementSignatures, Error, UpdateAddHtlc}
2323
import fr.acinq.eclair.{CltvExpiry, CltvExpiryDelta, MilliSatoshi, UInt64}
2424

2525
/**

eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelTypes.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import fr.acinq.eclair.payment.OutgoingPacket.Upstream
2525
import fr.acinq.eclair.router.Announcements
2626
import fr.acinq.eclair.transactions.CommitmentSpec
2727
import fr.acinq.eclair.transactions.Transactions._
28-
import fr.acinq.eclair.wire.{AcceptChannel, ChannelAnnouncement, ChannelReestablish, ChannelUpdate, ClosingSigned, FailureMessage, FundingCreated, FundingLocked, FundingSigned, Init, OnionRoutingPacket, OpenChannel, Shutdown, UpdateAddHtlc, UpdateFailHtlc, UpdateFailMalformedHtlc, UpdateFulfillHtlc}
28+
import fr.acinq.eclair.wire.protocol.{AcceptChannel, ChannelAnnouncement, ChannelReestablish, ChannelUpdate, ClosingSigned, FailureMessage, FundingCreated, FundingLocked, FundingSigned, Init, OnionRoutingPacket, OpenChannel, Shutdown, UpdateAddHtlc, UpdateFailHtlc, UpdateFailMalformedHtlc, UpdateFulfillHtlc}
2929
import fr.acinq.eclair.{CltvExpiry, CltvExpiryDelta, Features, MilliSatoshi, ShortChannelId, UInt64}
3030
import scodec.bits.{BitVector, ByteVector}
3131

eclair-core/src/main/scala/fr/acinq/eclair/channel/Commitments.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import fr.acinq.eclair.payment.relay.Relayer
2929
import fr.acinq.eclair.transactions.DirectedHtlc._
3030
import fr.acinq.eclair.transactions.Transactions._
3131
import fr.acinq.eclair.transactions._
32-
import fr.acinq.eclair.wire._
32+
import fr.acinq.eclair.wire.protocol._
3333

3434
// @formatter:off
3535
case class LocalChanges(proposed: List[UpdateMessage], signed: List[UpdateMessage], acked: List[UpdateMessage]) {

eclair-core/src/main/scala/fr/acinq/eclair/channel/Helpers.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import fr.acinq.eclair.transactions.DirectedHtlc._
3232
import fr.acinq.eclair.transactions.Scripts._
3333
import fr.acinq.eclair.transactions.Transactions._
3434
import fr.acinq.eclair.transactions._
35-
import fr.acinq.eclair.wire._
35+
import fr.acinq.eclair.wire.protocol._
3636
import scodec.bits.ByteVector
3737

3838
import scala.concurrent.Await

eclair-core/src/main/scala/fr/acinq/eclair/crypto/ShaChain.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package fr.acinq.eclair.crypto
1818

1919
import fr.acinq.bitcoin._
20-
import fr.acinq.eclair.wire.CommonCodecs
20+
import fr.acinq.eclair.wire.protocol.CommonCodecs
2121
import scodec.Codec
2222

2323
import scala.annotation.tailrec

eclair-core/src/main/scala/fr/acinq/eclair/crypto/Sphinx.scala

+16-16
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ package fr.acinq.eclair.crypto
1919
import fr.acinq.bitcoin.Crypto.{PrivateKey, PublicKey}
2020
import fr.acinq.bitcoin.{ByteVector32, Crypto}
2121
import fr.acinq.eclair.crypto.Monitoring.{Metrics, Tags}
22-
import fr.acinq.eclair.wire
23-
import fr.acinq.eclair.wire.{FailureMessage, FailureMessageCodecs, Onion, OnionCodecs}
22+
import fr.acinq.eclair.wire.protocol
23+
import fr.acinq.eclair.wire.protocol._
2424
import grizzled.slf4j.Logging
2525
import scodec.Attempt
2626
import scodec.bits.ByteVector
@@ -107,7 +107,7 @@ object Sphinx extends Logging {
107107
* @param nextPacket packet for the next node.
108108
* @param sharedSecret shared secret for the sending node, which we will need to return failure messages.
109109
*/
110-
case class DecryptedPacket(payload: ByteVector, nextPacket: wire.OnionRoutingPacket, sharedSecret: ByteVector32) {
110+
case class DecryptedPacket(payload: ByteVector, nextPacket: protocol.OnionRoutingPacket, sharedSecret: ByteVector32) {
111111

112112
val isLastPacket: Boolean = nextPacket.hmac == ByteVector32.Zeroes
113113

@@ -120,7 +120,7 @@ object Sphinx extends Logging {
120120
* @param sharedSecrets shared secrets (one per node in the route). Known (and needed) only if you're creating the
121121
* packet. Empty if you're just forwarding the packet to the next node.
122122
*/
123-
case class PacketAndSecrets(packet: wire.OnionRoutingPacket, sharedSecrets: Seq[(ByteVector32, PublicKey)])
123+
case class PacketAndSecrets(packet: protocol.OnionRoutingPacket, sharedSecrets: Seq[(ByteVector32, PublicKey)])
124124

125125
sealed trait OnionRoutingPacket[T <: Onion.PacketType] {
126126

@@ -168,10 +168,10 @@ object Sphinx extends Logging {
168168
* - payload is the per-hop payload for this node.
169169
* - packet is the next packet, to be forwarded using the info that is given in the payload.
170170
* - shared secret is the secret we share with the node that sent the packet. We need it to propagate
171-
* failure messages upstream.
172-
* or a BadOnion error containing the hash of the invalid onion.
171+
* failure messages upstream.
172+
* or a BadOnion error containing the hash of the invalid onion.
173173
*/
174-
def peel(privateKey: PrivateKey, associatedData: ByteVector, packet: wire.OnionRoutingPacket): Either[wire.BadOnion, DecryptedPacket] = packet.version match {
174+
def peel(privateKey: PrivateKey, associatedData: ByteVector, packet: protocol.OnionRoutingPacket): Either[BadOnion, DecryptedPacket] = packet.version match {
175175
case 0 => Try(PublicKey(packet.publicKey, checkValid = true)) match {
176176
case Success(packetEphKey) =>
177177
val sharedSecret = computeSharedSecret(packetEphKey, privateKey)
@@ -191,13 +191,13 @@ object Sphinx extends Logging {
191191
val nextOnionPayload = bin.drop(perHopPayloadLength).take(PayloadLength)
192192
val nextPubKey = blind(packetEphKey, computeBlindingFactor(packetEphKey, sharedSecret))
193193

194-
Right(DecryptedPacket(perHopPayload, wire.OnionRoutingPacket(Version, nextPubKey.value, nextOnionPayload, hmac), sharedSecret))
194+
Right(DecryptedPacket(perHopPayload, protocol.OnionRoutingPacket(Version, nextPubKey.value, nextOnionPayload, hmac), sharedSecret))
195195
} else {
196-
Left(wire.InvalidOnionHmac(hash(packet)))
196+
Left(InvalidOnionHmac(hash(packet)))
197197
}
198-
case Failure(_) => Left(wire.InvalidOnionKey(hash(packet)))
198+
case Failure(_) => Left(InvalidOnionKey(hash(packet)))
199199
}
200-
case _ => Left(wire.InvalidOnionVersion(hash(packet)))
200+
case _ => Left(InvalidOnionVersion(hash(packet)))
201201
}
202202

203203
/**
@@ -217,7 +217,7 @@ object Sphinx extends Logging {
217217
* @param onionPayloadFiller optional onion payload filler, needed only when you're constructing the last packet.
218218
* @return the next packet.
219219
*/
220-
def wrap(payload: ByteVector, associatedData: ByteVector32, ephemeralPublicKey: PublicKey, sharedSecret: ByteVector32, packet: Either[ByteVector, wire.OnionRoutingPacket], onionPayloadFiller: ByteVector = ByteVector.empty): wire.OnionRoutingPacket = {
220+
def wrap(payload: ByteVector, associatedData: ByteVector32, ephemeralPublicKey: PublicKey, sharedSecret: ByteVector32, packet: Either[ByteVector, protocol.OnionRoutingPacket], onionPayloadFiller: ByteVector = ByteVector.empty): protocol.OnionRoutingPacket = {
221221
require(payload.length <= PayloadLength - MacLength, s"packet payload cannot exceed ${PayloadLength - MacLength} bytes")
222222

223223
val (currentMac, currentPayload): (ByteVector32, ByteVector) = packet match {
@@ -234,7 +234,7 @@ object Sphinx extends Logging {
234234
}
235235

236236
val nextHmac = mac(generateKey("mu", sharedSecret), nextOnionPayload ++ associatedData)
237-
val nextPacket = wire.OnionRoutingPacket(Version, ephemeralPublicKey.value, nextOnionPayload, nextHmac)
237+
val nextPacket = protocol.OnionRoutingPacket(Version, ephemeralPublicKey.value, nextOnionPayload, nextHmac)
238238
nextPacket
239239
}
240240

@@ -257,7 +257,7 @@ object Sphinx extends Logging {
257257
val lastPacket = wrap(payloads.last, associatedData, ephemeralPublicKeys.last, sharedsecrets.last, Left(startingBytes), filler)
258258

259259
@tailrec
260-
def loop(hopPayloads: Seq[ByteVector], ephKeys: Seq[PublicKey], sharedSecrets: Seq[ByteVector32], packet: wire.OnionRoutingPacket): wire.OnionRoutingPacket = {
260+
def loop(hopPayloads: Seq[ByteVector], ephKeys: Seq[PublicKey], sharedSecrets: Seq[ByteVector32], packet: protocol.OnionRoutingPacket): protocol.OnionRoutingPacket = {
261261
if (hopPayloads.isEmpty) packet else {
262262
val nextPacket = wrap(hopPayloads.last, associatedData, ephKeys.last, sharedSecrets.last, Right(packet))
263263
loop(hopPayloads.dropRight(1), ephKeys.dropRight(1), sharedSecrets.dropRight(1), nextPacket)
@@ -271,8 +271,8 @@ object Sphinx extends Logging {
271271
/**
272272
* When an invalid onion is received, its hash should be included in the failure message.
273273
*/
274-
def hash(onion: wire.OnionRoutingPacket): ByteVector32 =
275-
Crypto.sha256(wire.OnionCodecs.onionRoutingPacketCodec(onion.payload.length.toInt).encode(onion).require.toByteVector)
274+
def hash(onion: protocol.OnionRoutingPacket): ByteVector32 =
275+
Crypto.sha256(OnionCodecs.onionRoutingPacketCodec(onion.payload.length.toInt).encode(onion).require.toByteVector)
276276

277277
}
278278

eclair-core/src/main/scala/fr/acinq/eclair/crypto/TransportHandler.scala

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package fr.acinq.eclair.crypto
1818

19-
import java.nio.ByteOrder
20-
2119
import akka.actor.{Actor, ActorRef, ExtendedActorSystem, FSM, PoisonPill, Props, Terminated}
2220
import akka.event.Logging.MDC
2321
import akka.event._
@@ -29,11 +27,12 @@ import fr.acinq.eclair.Logs.LogCategory
2927
import fr.acinq.eclair.crypto.ChaCha20Poly1305.ChaCha20Poly1305Error
3028
import fr.acinq.eclair.crypto.Noise._
3129
import fr.acinq.eclair.remote.EclairInternalsSerializer.RemoteTypes
32-
import fr.acinq.eclair.wire.{AnnouncementSignatures, RoutingMessage}
30+
import fr.acinq.eclair.wire.protocol.{AnnouncementSignatures, RoutingMessage}
3331
import fr.acinq.eclair.{Diagnostics, FSMDiagnosticActorLogging, Logs, getSimpleClassName}
3432
import scodec.bits.ByteVector
3533
import scodec.{Attempt, Codec, DecodeResult}
3634

35+
import java.nio.ByteOrder
3736
import scala.annotation.tailrec
3837
import scala.collection.immutable.Queue
3938
import scala.reflect.ClassTag

eclair-core/src/main/scala/fr/acinq/eclair/db/NetworkDb.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import fr.acinq.bitcoin.Crypto.PublicKey
2222
import fr.acinq.bitcoin.{ByteVector32, Satoshi}
2323
import fr.acinq.eclair.ShortChannelId
2424
import fr.acinq.eclair.router.Router.PublicChannel
25-
import fr.acinq.eclair.wire.{ChannelAnnouncement, ChannelUpdate, NodeAnnouncement}
25+
import fr.acinq.eclair.wire.protocol.{ChannelAnnouncement, ChannelUpdate, NodeAnnouncement}
2626

2727
import scala.collection.immutable.SortedMap
2828

eclair-core/src/main/scala/fr/acinq/eclair/db/PeersDb.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fr.acinq.eclair.db
1919
import java.io.Closeable
2020

2121
import fr.acinq.bitcoin.Crypto.PublicKey
22-
import fr.acinq.eclair.wire.NodeAddress
22+
import fr.acinq.eclair.wire.protocol.NodeAddress
2323

2424
trait PeersDb extends Closeable {
2525

eclair-core/src/main/scala/fr/acinq/eclair/db/PendingRelayDb.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import akka.actor.{ActorContext, ActorRef}
2222
import akka.event.LoggingAdapter
2323
import fr.acinq.bitcoin.ByteVector32
2424
import fr.acinq.eclair.channel._
25-
import fr.acinq.eclair.wire.{UpdateFailHtlc, UpdateFailMalformedHtlc, UpdateFulfillHtlc, UpdateMessage}
25+
import fr.acinq.eclair.wire.protocol.{UpdateFailHtlc, UpdateFailMalformedHtlc, UpdateFulfillHtlc, UpdateMessage}
2626

2727
/**
2828
* This database stores CMD_FULFILL_HTLC and CMD_FAIL_HTLC that we have received from downstream

eclair-core/src/main/scala/fr/acinq/eclair/db/pg/PgNetworkDb.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import fr.acinq.eclair.ShortChannelId
2121
import fr.acinq.eclair.db.Monitoring.Metrics.withMetrics
2222
import fr.acinq.eclair.db.NetworkDb
2323
import fr.acinq.eclair.router.Router.PublicChannel
24-
import fr.acinq.eclair.wire.LightningMessageCodecs.{channelAnnouncementCodec, channelUpdateCodec, nodeAnnouncementCodec}
25-
import fr.acinq.eclair.wire.{ChannelAnnouncement, ChannelUpdate, NodeAnnouncement}
24+
import fr.acinq.eclair.wire.protocol.LightningMessageCodecs.{channelAnnouncementCodec, channelUpdateCodec, nodeAnnouncementCodec}
25+
import fr.acinq.eclair.wire.protocol.{ChannelAnnouncement, ChannelUpdate, NodeAnnouncement}
2626
import grizzled.slf4j.Logging
2727
import javax.sql.DataSource
2828

eclair-core/src/main/scala/fr/acinq/eclair/db/pg/PgPaymentsDb.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ import fr.acinq.bitcoin.Crypto.PublicKey
2424
import fr.acinq.eclair.MilliSatoshi
2525
import fr.acinq.eclair.db.Monitoring.Metrics.withMetrics
2626
import fr.acinq.eclair.db.pg.PgUtils.DatabaseLock
27-
import fr.acinq.eclair.db.{HopSummary, _}
27+
import fr.acinq.eclair.db._
2828
import fr.acinq.eclair.payment.{PaymentFailed, PaymentRequest, PaymentSent}
29-
import fr.acinq.eclair.wire.CommonCodecs
29+
import fr.acinq.eclair.wire.protocol.CommonCodecs
3030
import grizzled.slf4j.Logging
3131
import javax.sql.DataSource
3232
import scodec.Attempt

eclair-core/src/main/scala/fr/acinq/eclair/db/pg/PgPeersDb.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import fr.acinq.bitcoin.Crypto.PublicKey
2121
import fr.acinq.eclair.db.Monitoring.Metrics.withMetrics
2222
import fr.acinq.eclair.db.PeersDb
2323
import fr.acinq.eclair.db.pg.PgUtils.DatabaseLock
24-
import fr.acinq.eclair.wire._
24+
import fr.acinq.eclair.wire.protocol._
2525
import javax.sql.DataSource
2626
import scodec.bits.BitVector
2727

eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqliteNetworkDb.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ import fr.acinq.eclair.ShortChannelId
2323
import fr.acinq.eclair.db.Monitoring.Metrics.withMetrics
2424
import fr.acinq.eclair.db.NetworkDb
2525
import fr.acinq.eclair.router.Router.PublicChannel
26-
import fr.acinq.eclair.wire.LightningMessageCodecs.{channelAnnouncementCodec, channelUpdateCodec, nodeAnnouncementCodec}
27-
import fr.acinq.eclair.wire.{ChannelAnnouncement, ChannelUpdate, NodeAnnouncement}
26+
import fr.acinq.eclair.wire.protocol.LightningMessageCodecs.{channelAnnouncementCodec, channelUpdateCodec, nodeAnnouncementCodec}
27+
import fr.acinq.eclair.wire.protocol.{ChannelAnnouncement, ChannelUpdate, NodeAnnouncement}
2828
import grizzled.slf4j.Logging
2929

3030
import scala.collection.immutable.SortedMap

eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqlitePaymentsDb.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import fr.acinq.eclair.db.Monitoring.Metrics.withMetrics
2626
import fr.acinq.eclair.db._
2727
import fr.acinq.eclair.db.sqlite.SqliteUtils._
2828
import fr.acinq.eclair.payment.{PaymentFailed, PaymentRequest, PaymentSent}
29-
import fr.acinq.eclair.wire.CommonCodecs
29+
import fr.acinq.eclair.wire.protocol.CommonCodecs
3030
import grizzled.slf4j.Logging
3131
import scodec.Attempt
3232
import scodec.bits.BitVector

eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqlitePeersDb.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import fr.acinq.bitcoin.Crypto.PublicKey
2323
import fr.acinq.eclair.db.Monitoring.Metrics.withMetrics
2424
import fr.acinq.eclair.db.PeersDb
2525
import fr.acinq.eclair.db.sqlite.SqliteUtils.{codecSequence, getVersion, using}
26-
import fr.acinq.eclair.wire._
26+
import fr.acinq.eclair.wire.protocol._
2727
import scodec.bits.BitVector
2828

2929
class SqlitePeersDb(sqlite: Connection) extends PeersDb {

0 commit comments

Comments
 (0)