From 752ad163fa85802f4c684fd8b8ed431028292035 Mon Sep 17 00:00:00 2001 From: ziggie Date: Sun, 29 Mar 2026 10:29:21 +0200 Subject: [PATCH 1/3] scripts+GitHub: use bitcoind v30.0 --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0ae01923c92..fead8071c7c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,7 +27,8 @@ defaults: shell: bash env: - BITCOIN_VERSION: "29" + # Accepts either a major image tag like "30" or a patch tag like "29.1". + BITCOIN_VERSION: "30" # TRANCHES defines the number of tranches used in the itests. TRANCHES: 16 From c6c69d3dbd46512c041ff2f4be0e64e0060dbf5e Mon Sep 17 00:00:00 2001 From: ziggie Date: Thu, 16 Apr 2026 21:29:12 +0200 Subject: [PATCH 2/3] testing: allow patch versions of bitcoin core --- scripts/install_bitcoind.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/scripts/install_bitcoind.sh b/scripts/install_bitcoind.sh index 8f74efa46a9..5e98aa09de9 100755 --- a/scripts/install_bitcoind.sh +++ b/scripts/install_bitcoind.sh @@ -6,7 +6,18 @@ BITCOIND_VERSION=$1 # Useful for testing RCs: e.g. TAG_SUFFIX=.0rc1, DIR_SUFFIX=.0rc1 TAG_SUFFIX= -DIR_SUFFIX=.0 + +# The docker image tag and the install directory version don't always use the +# same format. Major-only tags like `29` or `30` install into +# `/opt/bitcoin-29.0` and `/opt/bitcoin-30.0`, while patch tags like `29.1` +# install into `/opt/bitcoin-29.1`. +if [[ "$BITCOIND_VERSION" == *.* ]]; then + BITCOIND_DIR_VERSION="$BITCOIND_VERSION" +else + BITCOIND_DIR_VERSION="${BITCOIND_VERSION}.0" +fi + +DIR_SUFFIX= # Useful for testing against an image pushed to a different Docker repo. REPO=lightninglabs/bitcoin-core @@ -19,5 +30,5 @@ fi docker pull ${REPO}:${BITCOIND_VERSION}${TAG_SUFFIX} CONTAINER_ID=$(docker create ${REPO}:${BITCOIND_VERSION}${TAG_SUFFIX}) -sudo docker cp $CONTAINER_ID:/opt/bitcoin-${BITCOIND_VERSION}${DIR_SUFFIX}/bin/bitcoind /usr/local/bin/bitcoind +sudo docker cp $CONTAINER_ID:/opt/bitcoin-${BITCOIND_DIR_VERSION}${DIR_SUFFIX}/bin/bitcoind /usr/local/bin/bitcoind docker rm $CONTAINER_ID From 13e002d6d62b0f178b7fd3cc2ae15fb0ba4838fa Mon Sep 17 00:00:00 2001 From: ziggie Date: Tue, 21 Apr 2026 14:16:07 -0300 Subject: [PATCH 3/3] lntest: pin pre-v30 mempool policy defaults in itest bitcoind Bitcoind v30 lowered the default minrelaytxfee and incrementalrelayfee from 1000 sat/kvB (1 sat/vB) to 100 sat/kvB. The itest suite was written against the old defaults and the lower values cascade into: - integer sat/vByte assertions losing precision below 1 sat/vB, and - RBF bump thresholds that alter sweeper/bumpfee replacement timing. Pin the old defaults in the itest bitcoind backend so the existing tests keep passing without per-test adaptation. Running against the new defaults is still worth doing, but that is a separate exercise that should not be bundled with the v30 version bump. --- lntest/bitcoind_common.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lntest/bitcoind_common.go b/lntest/bitcoind_common.go index 5f776de05ec..04f5133d741 100644 --- a/lntest/bitcoind_common.go +++ b/lntest/bitcoind_common.go @@ -181,6 +181,14 @@ func newBackend(miner string, netParams *chaincfg.Params, extraArgs []string, // // TODO: Remove once btcd supports v2 P2P transport. "-v2transport=0", + // Pin the pre-v30 mempool policy defaults (1 sat/vB) + // so the itest suite keeps exercising the fee math it + // was written against. v30 lowered minrelaytxfee and + // incrementalrelayfee to 100 sat/kvB, which breaks + // integer sat/vByte assertions and alters RBF bump + // thresholds across the sweeper/bumpfee tests. + "-minrelaytxfee=0.00001", + "-incrementalrelayfee=0.00001", } cmdArgs = append(cmdArgs, extraArgs...) bitcoind := exec.Command("bitcoind", cmdArgs...)