From 3e436114a451495aab7060f970834f29d199502c Mon Sep 17 00:00:00 2001 From: Bastien Teinturier <31281497+t-bast@users.noreply.github.com> Date: Thu, 13 Jul 2023 12:41:45 +0200 Subject: [PATCH] Update dependencies (#2710) * Update code dependencies I also wanted to update logback, but I'm hitting issues because of our custom logger in `FixtureSpec` (`LoggingEventAware` not found). * Update build dependencies We're now using mvn 3.9.2 to build eclair, which reports warnings in some of the build plugins we use. Updating plugins fixes most of the warnings, and the remaining warnings have to be fixed by the plugins themselves to support mvn 4.x. --- eclair-core/pom.xml | 24 +++++++-------- .../main/scala/fr/acinq/eclair/Setup.scala | 8 ++--- .../main/scala/fr/acinq/eclair/UInt64.scala | 4 +-- .../rpc/BasicBitcoinJsonRPCClient.scala | 8 ++--- .../fee/BitcoinCoreFeeProvider.scala | 4 +-- .../blockchain/bitcoind/BitcoindService.scala | 3 +- .../watchdogs/ExplorerApiSpec.scala | 5 +++- .../fr/acinq/eclair/crypto/NoiseDemo.scala | 2 +- eclair-front/pom.xml | 14 +++------ .../scala/fr/acinq/eclair/FrontSetup.scala | 2 +- eclair-node/pom.xml | 6 ++-- .../acinq/eclair/api/handlers/WebSocket.scala | 2 +- pom.xml | 30 +++++++++---------- 13 files changed, 55 insertions(+), 57 deletions(-) diff --git a/eclair-core/pom.xml b/eclair-core/pom.xml index ad834f8b68..d3a29eb1af 100644 --- a/eclair-core/pom.xml +++ b/eclair-core/pom.xml @@ -34,7 +34,7 @@ com.googlecode.maven-download-plugin download-maven-plugin - 1.3.0 + 1.6.8 download-bitcoind @@ -174,7 +174,7 @@ org.json4s json4s-jackson_${scala.version.short} - 4.0.3 + 4.0.6 com.softwaremill.sttp.client3 @@ -185,7 +185,7 @@ io.netty netty-all - 4.1.42.Final + 4.1.94.Final @@ -208,18 +208,18 @@ org.scodec scodec-core_${scala.version.short} - 1.11.9 + 1.11.10 org.scodec scodec-bits_${scala.version.short} - 1.1.30 + 1.1.37 commons-codec commons-codec - 1.9 + 1.15 @@ -231,27 +231,27 @@ org.jheaps jheaps - 0.9 + 0.14 org.xerial sqlite-jdbc - 3.39.2.0 + 3.42.0.0 org.postgresql postgresql - 42.3.3 + 42.6.0 com.zaxxer HikariCP - 3.4.2 + 4.0.3 org.bouncycastle bcprov-jdk15on - 1.68 + 1.70 @@ -267,7 +267,7 @@ com.softwaremill.quicklens quicklens_${scala.version.short} - 1.5.0 + 1.9.4 diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/Setup.scala b/eclair-core/src/main/scala/fr/acinq/eclair/Setup.scala index 5902ca637d..625de3e30a 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/Setup.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/Setup.scala @@ -77,10 +77,10 @@ class Setup(val datadir: File, seeds_opt: Option[Seeds] = None, db: Option[Databases] = None)(implicit system: ActorSystem) extends Logging { - implicit val timeout = Timeout(30 seconds) - implicit val formats = org.json4s.DefaultFormats - implicit val ec = ExecutionContext.Implicits.global - implicit val sttpBackend = OkHttpFutureBackend() + implicit val timeout: Timeout = Timeout(30 seconds) + implicit val formats: org.json4s.Formats = org.json4s.DefaultFormats + implicit val ec: ExecutionContext = ExecutionContext.Implicits.global + implicit val sttpBackend: sttp.client3.SttpBackend[Future, sttp.capabilities.WebSockets] = OkHttpFutureBackend() logger.info(s"hello!") logger.info(s"version=${Kit.getVersion} commit=${Kit.getCommit}") diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/UInt64.scala b/eclair-core/src/main/scala/fr/acinq/eclair/UInt64.scala index 5a05c3bf43..597c03f346 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/UInt64.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/UInt64.scala @@ -48,8 +48,8 @@ object UInt64 { object Conversions { - implicit def intToUint64(l: Int) = UInt64(l) + implicit def intToUint64(l: Int): UInt64 = UInt64(l) - implicit def longToUint64(l: Long) = UInt64(l) + implicit def longToUint64(l: Long): UInt64 = UInt64(l) } } diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BasicBitcoinJsonRPCClient.scala b/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BasicBitcoinJsonRPCClient.scala index 3cb147f2d3..4886d66ac4 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BasicBitcoinJsonRPCClient.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BasicBitcoinJsonRPCClient.scala @@ -19,9 +19,9 @@ package fr.acinq.eclair.blockchain.bitcoind.rpc import fr.acinq.eclair.KamonExt import fr.acinq.eclair.blockchain.Monitoring.{Metrics, Tags} import fr.acinq.eclair.json.{ByteVector32KmpSerializer, ByteVector32Serializer} -import org.json4s.DefaultFormats import org.json4s.JsonAST.JValue -import org.json4s.jackson.Serialization +import org.json4s.jackson.{JacksonSerialization, Serialization} +import org.json4s.{DefaultFormats, Formats} import sttp.client3._ import sttp.client3.json4s._ import sttp.model.StatusCode @@ -34,7 +34,7 @@ import scala.util.{Failure, Success, Try} class BasicBitcoinJsonRPCClient(rpcAuthMethod: BitcoinJsonRPCAuthMethod, host: String = "127.0.0.1", port: Int = 8332, ssl: Boolean = false, wallet: Option[String] = None)(implicit sb: SttpBackend[Future, _]) extends BitcoinJsonRPCClient { - implicit val formats = DefaultFormats.withBigDecimal + ByteVector32Serializer + ByteVector32KmpSerializer + implicit val formats: Formats = DefaultFormats.withBigDecimal + ByteVector32Serializer + ByteVector32KmpSerializer private val scheme = if (ssl) "https" else "http" private val serviceUri = wallet match { @@ -42,7 +42,7 @@ class BasicBitcoinJsonRPCClient(rpcAuthMethod: BitcoinJsonRPCAuthMethod, host: S case None => uri"$scheme://$host:$port" } private val credentials = new AtomicReference[BitcoinJsonRPCCredentials](rpcAuthMethod.credentials) - implicit val serialization = Serialization + implicit val serialization: JacksonSerialization = Serialization override def invoke(method: String, params: Any*)(implicit ec: ExecutionContext): Future[JValue] = invoke(Seq(JsonRPCRequest(method = method, params = params))).map(l => jsonResponse2Exception(l.head).result) diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/fee/BitcoinCoreFeeProvider.scala b/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/fee/BitcoinCoreFeeProvider.scala index 53141a96f5..ca6e7d0fd4 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/fee/BitcoinCoreFeeProvider.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/blockchain/fee/BitcoinCoreFeeProvider.scala @@ -18,8 +18,8 @@ package fr.acinq.eclair.blockchain.fee import fr.acinq.bitcoin.scalacompat._ import fr.acinq.eclair.blockchain.bitcoind.rpc.BitcoinJsonRPCClient -import org.json4s.DefaultFormats import org.json4s.JsonAST._ +import org.json4s.{DefaultFormats, Formats} import scala.concurrent.{ExecutionContext, Future} @@ -28,7 +28,7 @@ import scala.concurrent.{ExecutionContext, Future} */ case class BitcoinCoreFeeProvider(rpcClient: BitcoinJsonRPCClient, defaultFeerates: FeeratesPerKB)(implicit ec: ExecutionContext) extends FeeProvider { - implicit val formats = DefaultFormats.withBigDecimal + implicit val formats: Formats = DefaultFormats.withBigDecimal /** * We need this to keep commitment tx fees in sync with the state of the network diff --git a/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/bitcoind/BitcoindService.scala b/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/bitcoind/BitcoindService.scala index 60f58c5d63..14c30c98a8 100644 --- a/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/bitcoind/BitcoindService.scala +++ b/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/bitcoind/BitcoindService.scala @@ -33,6 +33,7 @@ import sttp.client3.okhttp.OkHttpFutureBackend import java.io.File import java.nio.file.Files import scala.concurrent.ExecutionContext.Implicits.global +import scala.concurrent.Future import scala.concurrent.duration._ import scala.io.Source @@ -44,7 +45,7 @@ trait BitcoindService extends Logging { import scala.sys.process._ implicit val system: ActorSystem - implicit val sttpBackend = OkHttpFutureBackend() + implicit val sttpBackend: sttp.client3.SttpBackend[Future, sttp.capabilities.WebSockets] = OkHttpFutureBackend() val defaultWallet: String = "miner" val bitcoindPort: Int = TestUtils.availablePort diff --git a/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApiSpec.scala b/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApiSpec.scala index 846292dc1b..8918cb0cf3 100644 --- a/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApiSpec.scala +++ b/eclair-core/src/test/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApiSpec.scala @@ -23,10 +23,13 @@ import fr.acinq.eclair.blockchain.watchdogs.BlockchainWatchdog.LatestHeaders import fr.acinq.eclair.blockchain.watchdogs.ExplorerApi.{BlockcypherExplorer, BlockstreamExplorer, CheckLatestHeaders, MempoolSpaceExplorer} import fr.acinq.eclair.{BlockHeight, TestTags} import org.scalatest.funsuite.AnyFunSuiteLike +import sttp.client3.SttpBackend + +import scala.concurrent.Future class ExplorerApiSpec extends ScalaTestWithActorTestKit(ConfigFactory.load("application")) with AnyFunSuiteLike { - implicit val sttpBackend = ExplorerApi.createSttpBackend(None) + implicit val sttpBackend: SttpBackend[Future, _] = ExplorerApi.createSttpBackend(None) val explorers = Seq(BlockcypherExplorer(), BlockstreamExplorer(useTorEndpoints = false), MempoolSpaceExplorer(useTorEndpoints = false)) diff --git a/eclair-core/src/test/scala/fr/acinq/eclair/crypto/NoiseDemo.scala b/eclair-core/src/test/scala/fr/acinq/eclair/crypto/NoiseDemo.scala index 2e1f7e936b..d73e089c98 100644 --- a/eclair-core/src/test/scala/fr/acinq/eclair/crypto/NoiseDemo.scala +++ b/eclair-core/src/test/scala/fr/acinq/eclair/crypto/NoiseDemo.scala @@ -25,7 +25,7 @@ import scodec.bits.{ByteVector, _} * Created by fabrice on 12/12/16. */ object NoiseDemo extends App { - implicit val system = ActorSystem("test") + implicit val system: ActorSystem = ActorSystem("test") class NoiseHandler(keyPair: KeyPair, rs: Option[ByteVector], them: ActorRef, isWriter: Boolean, listenerFactory: => ActorRef) extends Actor with Stash { // initiator must know pubkey (i.e long-term ID) of responder diff --git a/eclair-front/pom.xml b/eclair-front/pom.xml index fc20a01972..775d6239ba 100644 --- a/eclair-front/pom.xml +++ b/eclair-front/pom.xml @@ -50,7 +50,7 @@ maven-assembly-plugin - 3.2.0 + 3.6.0 ${project.name}-${project.version}-${git.commit.id.abbrev} @@ -85,13 +85,13 @@ org.codehaus.janino janino - 3.1.2 + 3.1.10 com.amazonaws aws-java-sdk-secretsmanager - 1.11.776 + 1.12.504 @@ -113,7 +113,7 @@ io.kamon kanela-agent - 1.0.5 + 1.0.17 @@ -136,11 +136,5 @@ ${akka.version} test - - com.opentable.components - otj-pg-embedded - 0.13.3 - test - diff --git a/eclair-front/src/main/scala/fr/acinq/eclair/FrontSetup.scala b/eclair-front/src/main/scala/fr/acinq/eclair/FrontSetup.scala index 90d8e57b31..c1610ad9cf 100644 --- a/eclair-front/src/main/scala/fr/acinq/eclair/FrontSetup.scala +++ b/eclair-front/src/main/scala/fr/acinq/eclair/FrontSetup.scala @@ -39,7 +39,7 @@ import scala.concurrent.{ExecutionContext, Future, Promise} class FrontSetup(datadir: File)(implicit system: ActorSystem) extends Logging { - implicit val timeout = Timeout(30 seconds) + implicit val timeout: Timeout = Timeout(30 seconds) implicit val ec: ExecutionContext = system.dispatcher logger.info(s"hello!") diff --git a/eclair-node/pom.xml b/eclair-node/pom.xml index db3198b808..0823b0f329 100644 --- a/eclair-node/pom.xml +++ b/eclair-node/pom.xml @@ -50,7 +50,7 @@ maven-assembly-plugin - 3.2.0 + 3.6.0 ${project.name}-${project.version}-${git.commit.id.abbrev} @@ -85,7 +85,7 @@ org.codehaus.janino janino - 3.0.7 + 3.1.10 @@ -147,7 +147,7 @@ io.kamon kanela-agent - 1.0.5 + 1.0.17 diff --git a/eclair-node/src/main/scala/fr/acinq/eclair/api/handlers/WebSocket.scala b/eclair-node/src/main/scala/fr/acinq/eclair/api/handlers/WebSocket.scala index 0ae418125d..120e2706ab 100644 --- a/eclair-node/src/main/scala/fr/acinq/eclair/api/handlers/WebSocket.scala +++ b/eclair-node/src/main/scala/fr/acinq/eclair/api/handlers/WebSocket.scala @@ -49,7 +49,7 @@ trait WebSocket { // register an actor that feeds the queue on payment related events actorSystem.actorOf(Props(new Actor { - override def preStart: Unit = { + override def preStart(): Unit = { context.system.eventStream.subscribe(self, classOf[PaymentEvent]) context.system.eventStream.subscribe(self, classOf[ChannelCreated]) context.system.eventStream.subscribe(self, classOf[ChannelOpened]) diff --git a/pom.xml b/pom.xml index a3b0b849c1..0ae0210a13 100644 --- a/pom.xml +++ b/pom.xml @@ -67,14 +67,14 @@ UTF-8 11 11 - 2.13.10 + 2.13.11 2.13 2.6.20 10.2.7 - 3.8.5 + 3.8.16 0.28 - 31.1-jre - 2.6.1 + 32.1.1-jre + 2.6.3 @@ -83,7 +83,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.0.2 + 3.6.0 package @@ -99,25 +99,25 @@ org.apache.maven.plugins maven-jar-plugin - 3.2.0 + 3.3.0 maven-assembly-plugin - 3.2.0 + 3.6.0 true org.codehaus.mojo versions-maven-plugin - 2.3 + 2.7 pl.project13.maven git-commit-id-plugin - 2.2.3 + 4.9.10 @@ -132,7 +132,7 @@ net.alchim31.maven scala-maven-plugin - 4.7.2 + 4.8.1 -feature @@ -174,7 +174,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.3.0 attach-sources @@ -187,7 +187,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.4.0 add-source @@ -219,7 +219,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.20 + 3.1.2 true @@ -228,7 +228,7 @@ org.scalatest scalatest-maven-plugin - 2.0.2 + 2.2.0 true I @@ -274,7 +274,7 @@ org.scalatest scalatest_${scala.version.short} - 3.2.12 + 3.2.16 test