diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/NodeParams.scala b/eclair-core/src/main/scala/fr/acinq/eclair/NodeParams.scala index 21e1b95cb7..b32ec001d0 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/NodeParams.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/NodeParams.scala @@ -98,6 +98,9 @@ case class NodeParams(nodeKeyManager: NodeKeyManager, enableTrampolinePayment: Boolean, balanceCheckInterval: FiniteDuration, blockchainWatchdogSources: Seq[String]) { + + val startTime: TimestampSecond = TimestampSecond.now() + val privateKey: Crypto.PrivateKey = nodeKeyManager.nodeKey.privateKey val nodeId: PublicKey = nodeKeyManager.nodeId diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/channel/Channel.scala b/eclair-core/src/main/scala/fr/acinq/eclair/channel/Channel.scala index 903a4a207a..cb6c05cc89 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/channel/Channel.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/channel/Channel.scala @@ -51,7 +51,6 @@ import fr.acinq.eclair.transactions._ import fr.acinq.eclair.wire.protocol._ import scodec.bits.ByteVector -import java.lang.management.ManagementFactory import java.sql.SQLException import scala.collection.immutable.Queue import scala.concurrent.ExecutionContext @@ -2620,7 +2619,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder, remo private def handleOutdatedCommitment(channelReestablish: ChannelReestablish, d: HasCommitments) = { nodeParams.outdatedCommitmentStrategy match { - case OutdatedCommitmentStrategy.Stop if ManagementFactory.getRuntimeMXBean.getUptime.millis < 10.minutes => + case OutdatedCommitmentStrategy.Stop if (TimestampSecond.now() - nodeParams.startTime) < 10.minutes => log.error("we just restarted and may have an outdated commitment: standard procedure would be to request our peer to force-close, but eclair has been configured to halt instead. Please ensure your database is up-to-date and restart eclair.") System.exit(1) stop(FSM.Shutdown)