Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion docs/release-notes/eclair-vnext.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@

## Major changes

<insert changes>
### Update minimal version of Bitcoin Core

With this release, eclair requires using Bitcoin Core 32.x.
Newer versions of Bitcoin Core may be used, but have not been extensively tested.

### Configuration changes

Expand Down
12 changes: 6 additions & 6 deletions eclair-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<bitcoind.url>https://bitcoincore.org/bin/bitcoin-core-31.1/bitcoin-31.1-x86_64-linux-gnu.tar.gz</bitcoind.url>
<bitcoind.sha256>b80d9c3e04da78fb6f0569685673418cf686fadba9042d926d13fb87ff503f9e</bitcoind.sha256>
<bitcoind.url>https://bitcoincore.org/bin/bitcoin-core-32.1/bitcoin-32.1-x86_64-linux-gnu.tar.gz</bitcoind.url>
<bitcoind.sha256>61545c17c3120fb7412f896d248b11993af04ec8817aad3649c55b2afb044963</bitcoind.sha256>
</properties>
</profile>
<profile>
Expand All @@ -97,8 +97,8 @@
</os>
</activation>
<properties>
<bitcoind.url>https://bitcoincore.org/bin/bitcoin-core-31.1/bitcoin-31.1-x86_64-apple-darwin.tar.gz</bitcoind.url>
<bitcoind.sha256>bc506958d0f387c1ea770bdc7c7192a505fa645ff62cabcc7761fa7eb89e867e</bitcoind.sha256>
<bitcoind.url>https://bitcoincore.org/bin/bitcoin-core-32.1/bitcoin-32.1-x86_64-apple-darwin.tar.gz</bitcoind.url>
<bitcoind.sha256>53b1e6ffd92843ca82ef4a737d7a53cb0a9fab15816a417a41f12fc954071447</bitcoind.sha256>
</properties>
</profile>
<profile>
Expand All @@ -109,8 +109,8 @@
</os>
</activation>
<properties>
<bitcoind.url>https://bitcoincore.org/bin/bitcoin-core-31.1/bitcoin-31.1-win64.zip</bitcoind.url>
<bitcoind.sha256>c99ef173471c58e6766d9eebd12e6c35349082eeed3939bc99eed58ef57db587</bitcoind.sha256>
<bitcoind.url>https://bitcoincore.org/bin/bitcoin-core-32.1/bitcoin-32.1-win64.zip</bitcoind.url>
<bitcoind.sha256>b5b0c2cd007d69e96880907c79f9ae19ae82728f95fc8c923b4a07dab795b45d</bitcoind.sha256>
</properties>
</profile>
</profiles>
Expand Down
2 changes: 1 addition & 1 deletion eclair-core/src/main/scala/fr/acinq/eclair/Setup.scala
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ class Setup(val datadir: File,
await(getBitcoinStatus(bitcoinClient), 30 seconds, "bitcoind did not respond after 30 seconds")
}
logger.info(s"bitcoind version=${bitcoinStatus.version}")
assert(bitcoinStatus.version >= 310000, "Eclair requires Bitcoin Core 31 or higher")
assert(bitcoinStatus.version >= 320000, "Eclair requires Bitcoin Core 32 or higher")
bitcoinStatus.unspentAddresses.foreach { address =>
val isSegwit = addressToPublicKeyScript(bitcoinStatus.chainHash, address).map(script => Script.isNativeWitnessScript(script)).getOrElse(false)
assert(isSegwit, s"Your wallet contains non-segwit UTXOs (e.g. address=$address). You must send those UTXOs to a segwit address to use Eclair (check out our README for more details).")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ trait BitcoindService extends Logging {

val PATH_BITCOIND = sys.env.get("BITCOIND_DIR") match {
case Some(customBitcoinDir) => new File(customBitcoinDir, "bitcoind")
case None => new File(TestUtils.BUILD_DIRECTORY, "bitcoin-31.1/bin/bitcoind")
case None => new File(TestUtils.BUILD_DIRECTORY, "bitcoin-32.1/bin/bitcoind")
}
logger.info(s"using bitcoind: $PATH_BITCOIND")
val PATH_BITCOIND_DATADIR = new File(INTEGRATION_TMP_DIR, "datadir-bitcoin")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1530,7 +1530,11 @@ class InteractiveTxBuilderSpec extends TestKitBaseClass with AnyFunSuiteLike wit
test("fund transaction with previous inputs (with new inputs)") {
val targetFeerate = FeeratePerKw(11_000 sat)
val fundingA = 100_000 sat
val utxosA = Seq(55_000 sat, 55_000 sat, 55_000 sat)
// Two inputs are enough to fund the channel, but they don't leave enough room for a change output: at the target
// feerate, a transaction with two p2tr inputs and the funding output costs ~7_436 sat, while adding a change output
// would cost ~9_328 sat, which is more than the 8_000 sat remaining. This makes the first attempt changeless
// regardless of Bitcoin Core's internal change-discard rules, which depend on its fee estimators.
val utxosA = Seq(54_000 sat, 54_000 sat, 54_000 sat)
withFixture(ChannelTypes.AnchorOutputsZeroFeeHtlcTx(), fundingA, utxosA, 0 sat, Nil, targetFeerate, 660 sat, 0, RequireConfirmedInputs(forLocal = false, forRemote = false)) { f =>
import f._

Expand Down
Loading