What changed, and why it matters
This commit fixes a flaky test, not a security issue. The test simulates three Lightning nodes (Alice, Bob, Carol) and previously did not give all nodes complete knowledge of each other's funding transactions. The change makes the test setup more consistent so the test passes reliably. There is no production code change and no security impact.
No security action needed. This is a test-only change improving test reliability.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch modifies OfferPaymentSpec, an integration test in Eclair. It updates the watcher autopilot setup so Alice and Carol both use knownFundingTxs(alice, bob, carol) instead of only a subset, matching Bob’s existing setup. It also adds an assertion that Carol’s routing graph contains an edge between Alice and Bob (or that channels are tagged private). This is purely a test reliability fix.
Changed components
eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scalaInspect captured patch +3 / −2
diff --git a/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala b/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala
index 59a52c4..345ba20 100644
--- a/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala
+++ b/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala
@@ -83,9 +83,9 @@ class OfferPaymentSpec extends FixtureSpec with IntegrationPatience {
val f = ThreeNodesFixture(aliceParams, bobParams, carolParams, testData.name)
import f._
- alice.watcher.setAutoPilot(watcherAutopilot(knownFundingTxs(alice, bob)))
+ alice.watcher.setAutoPilot(watcherAutopilot(knownFundingTxs(alice, bob, carol)))
bob.watcher.setAutoPilot(watcherAutopilot(knownFundingTxs(alice, bob, carol)))
- carol.watcher.setAutoPilot(watcherAutopilot(knownFundingTxs(bob, carol)))
+ carol.watcher.setAutoPilot(watcherAutopilot(knownFundingTxs(alice, bob, carol)))
connect(alice, bob)
connect(bob, carol)
@@ -114,6 +114,7 @@ class OfferPaymentSpec extends FixtureSpec with IntegrationPatience {
eventually {
assert(getRouterData(alice).channels.size == 3 || testData.tags.contains(PrivateChannels))
+ assert(getRouterData(carol).graphWithBalances.graph.getEdgesBetween(alice.nodeId, bob.nodeId).nonEmpty || testData.tags.contains(PrivateChannels))
}
}
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.