diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/transactions/Transactions.scala b/eclair-core/src/main/scala/fr/acinq/eclair/transactions/Transactions.scala index 2375315af0..0a9e5f37b2 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/transactions/Transactions.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/transactions/Transactions.scala @@ -97,7 +97,9 @@ object Transactions { } sealed trait SegwitV0CommitmentFormat extends CommitmentFormat { - override val fundingInputWeight = 384 + // see https://github.com/lightning/bolts/blob/master/03-transactions.md#appendix-a-expected-weights + // funding input weight = 4 * funding_input_size + witness_size = 4 * 41 + 222 = 386 + override val fundingInputWeight = 386 } /** diff --git a/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TransactionsSpec.scala b/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TransactionsSpec.scala index 9d33fd6e38..097151aaea 100644 --- a/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TransactionsSpec.scala +++ b/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TransactionsSpec.scala @@ -152,8 +152,8 @@ class TransactionsSpec extends AnyFunSuite with Logging { case _: SimpleTaprootChannelCommitmentFormat => assert(actual == expected) case _: AnchorOutputsCommitmentFormat => // ECDSA signatures are der-encoded, which creates some variability in signature size compared to the baseline. - assert(actual <= expected + 3) - assert(actual >= expected - 3) + assert(actual <= expected + 4) + assert(actual >= expected - 4) } }