Skip to content

Commit 1081139

Browse files
committed
chore(deps): migrate to btcd v2
1 parent 4121252 commit 1081139

25 files changed

Lines changed: 205 additions & 271 deletions

.github/workflows/docker.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,21 @@ jobs:
4242

4343
steps:
4444
- name: Checkout repository
45-
uses: actions/checkout@v6.0.2
45+
uses: actions/checkout@v7.0.1
4646

4747
- name: Set up Docker Buildx
48-
uses: docker/setup-buildx-action@v4.1.0
48+
uses: docker/setup-buildx-action@v4.3.0
4949

5050
- name: Log in to Container registry
51-
uses: docker/login-action@v4.2.0
51+
uses: docker/login-action@v4.6.0
5252
with:
5353
registry: ${{ env.REGISTRY }}
5454
username: ${{ github.actor }}
5555
password: ${{ secrets.GITHUB_TOKEN }}
5656

5757
- name: Extract metadata (tags, labels)
5858
id: meta
59-
uses: docker/metadata-action@v6.1.0
59+
uses: docker/metadata-action@v6.2.0
6060
with:
6161
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
6262
tags: |
@@ -69,7 +69,7 @@ jobs:
6969
type=raw,value=latest,enable={{is_default_branch}}
7070
7171
- name: Build and push Docker image
72-
uses: docker/build-push-action@v7.2.0
72+
uses: docker/build-push-action@v7.3.0
7373
with:
7474
context: ./neutrino_server
7575
file: ./neutrino_server/Dockerfile

.github/workflows/e2e-mainnet.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ jobs:
3636
timeout-minutes: 5
3737

3838
steps:
39-
- uses: actions/checkout@v6.0.2
39+
- uses: actions/checkout@v7.0.1
4040

4141
- name: Set up Go
42-
uses: actions/setup-go@v6.4.0
42+
uses: actions/setup-go@v7.0.0
4343
with:
44-
go-version: '1.25'
44+
go-version: '1.27.0'
4545
cache-dependency-path: neutrino_server/go.sum
4646

4747
- name: Install dependencies

.github/workflows/pre-commit.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ jobs:
2424
pre-commit:
2525
runs-on: ubuntu-latest
2626
steps:
27-
- uses: actions/checkout@v6.0.2
27+
- uses: actions/checkout@v7.0.1
2828

2929
- name: Set up Go
30-
uses: actions/setup-go@v6.4.0
30+
uses: actions/setup-go@v7.0.0
3131
with:
32-
go-version: '1.25'
32+
go-version: '1.27.0'
3333
cache: false
3434

35-
- uses: actions/setup-python@v6.2.0
35+
- uses: actions/setup-python@v7.0.0
3636
with:
3737
python-version: '3.14'
3838

.github/workflows/release.yaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
version: ${{ steps.get_version.outputs.version }}
2929
steps:
3030
- name: Checkout
31-
uses: actions/checkout@v6.0.2
31+
uses: actions/checkout@v7.0.1
3232

3333
- name: Get version
3434
id: get_version
@@ -50,7 +50,7 @@ jobs:
5050
# Get content between version header and next version or end
5151
NOTES=$(awk "/## \[${VERSION#v}\]/{flag=1; next} /## \[/{flag=0} flag" CHANGELOG.md)
5252
if [ -z "$NOTES" ]; then
53-
NOTES="Release ${VERSION}"$'\n\n'"Built with Neutrino v0.16.0"$'\n\n'"See [CHANGELOG.md](CHANGELOG.md) for details."
53+
NOTES="Release ${VERSION}"$'\n\n'"Built with Neutrino v0.18.0"$'\n\n'"See [CHANGELOG.md](CHANGELOG.md) for details."
5454
fi
5555
else
5656
NOTES="Release ${VERSION}"
@@ -109,16 +109,16 @@ jobs:
109109

110110
steps:
111111
- name: Checkout
112-
uses: actions/checkout@v6.0.2
112+
uses: actions/checkout@v7.0.1
113113

114114
- name: Get reproducible build timestamp
115115
id: source_date
116116
run: echo "epoch=$(git log -1 --pretty=%ct)" >> $GITHUB_OUTPUT
117117

118118
- name: Set up Go
119-
uses: actions/setup-go@v6.4.0
119+
uses: actions/setup-go@v7.0.0
120120
with:
121-
go-version: '1.25.11'
121+
go-version: '1.27.0'
122122
cache-dependency-path: neutrino_server/go.sum
123123

124124
- name: Get dependencies
@@ -159,24 +159,24 @@ jobs:
159159

160160
steps:
161161
- name: Checkout
162-
uses: actions/checkout@v6.0.2
162+
uses: actions/checkout@v7.0.1
163163

164164
- name: Set up QEMU
165-
uses: docker/setup-qemu-action@v4.1.0
165+
uses: docker/setup-qemu-action@v4.2.0
166166

167167
- name: Set up Docker Buildx
168-
uses: docker/setup-buildx-action@v4.1.0
168+
uses: docker/setup-buildx-action@v4.3.0
169169

170170
- name: Log in to Container registry
171-
uses: docker/login-action@v4.2.0
171+
uses: docker/login-action@v4.6.0
172172
with:
173173
registry: ${{ env.REGISTRY }}
174174
username: ${{ github.actor }}
175175
password: ${{ secrets.GITHUB_TOKEN }}
176176

177177
- name: Extract metadata
178178
id: meta
179-
uses: docker/metadata-action@v6.1.0
179+
uses: docker/metadata-action@v6.2.0
180180
with:
181181
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
182182
tags: |
@@ -186,7 +186,7 @@ jobs:
186186
type=raw,value=latest,enable={{is_default_branch}}
187187
188188
- name: Build and push Docker image
189-
uses: docker/build-push-action@v7.2.0
189+
uses: docker/build-push-action@v7.3.0
190190
with:
191191
context: ./neutrino_server
192192
file: ./neutrino_server/Dockerfile
@@ -208,7 +208,7 @@ jobs:
208208
contents: write
209209
steps:
210210
- name: Checkout
211-
uses: actions/checkout@v6.0.2
211+
uses: actions/checkout@v7.0.1
212212

213213
- name: Download built binaries
214214
uses: actions/download-artifact@v8.0.1

.github/workflows/test.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ jobs:
2121
test-neutrino:
2222
runs-on: ubuntu-latest
2323
steps:
24-
- uses: actions/checkout@v6.0.2
24+
- uses: actions/checkout@v7.0.1
2525

2626
- name: Set up Go
27-
uses: actions/setup-go@v6.4.0
27+
uses: actions/setup-go@v7.0.0
2828
with:
29-
go-version: '1.25'
29+
go-version: '1.27.0'
3030
cache-dependency-path: neutrino_server/go.sum
3131

3232
- name: Install dependencies
@@ -40,15 +40,15 @@ jobs:
4040
- name: Run staticcheck
4141
working-directory: neutrino_server
4242
run: |
43-
go install honnef.co/go/tools/cmd/staticcheck@v0.7.0
43+
go install honnef.co/go/tools/cmd/staticcheck@v0.8.1
4444
staticcheck ./...
4545
4646
- name: Run tests
4747
working-directory: neutrino_server
4848
run: go test -v -race -coverprofile=coverage.out -covermode=atomic ./...
4949

5050
- name: Upload coverage
51-
uses: codecov/codecov-action@v6.0.1
51+
uses: codecov/codecov-action@v7.0.0
5252
with:
5353
files: ./neutrino_server/coverage.out
5454
flags: unittests
@@ -57,7 +57,7 @@ jobs:
5757
test-docker-build:
5858
runs-on: ubuntu-latest
5959
steps:
60-
- uses: actions/checkout@v6.0.2
60+
- uses: actions/checkout@v7.0.1
6161

6262
- name: Build Docker image
6363
run: docker build -t neutrino-api:test ./neutrino_server
@@ -76,7 +76,7 @@ jobs:
7676
runs-on: ubuntu-latest
7777
timeout-minutes: 15
7878
steps:
79-
- uses: actions/checkout@v6.0.2
79+
- uses: actions/checkout@v7.0.1
8080

8181
- name: Start services
8282
run: docker compose up -d --build

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ repos:
2929
pass_filenames: false
3030
- id: go-staticcheck
3131
name: go staticcheck
32-
entry: bash -c 'cd neutrino_server && go run honnef.co/go/tools/cmd/staticcheck@v0.7.0 ./...'
32+
entry: bash -c 'cd neutrino_server && go run honnef.co/go/tools/cmd/staticcheck@v0.8.1 ./...'
3333
language: system
3434
files: \.go$
3535
pass_filenames: false

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212
- Add `scripts/update-dependencies.sh` to synchronize reviewed Go, Docker,
1313
GitHub Actions, and tooling dependency pins before releases.
1414

15+
### Changed
16+
17+
- Migrate to Neutrino v0.18.0 and btcd v0.26.2, including the new v2 modules
18+
for addresses, utilities, chain parameters, hashes, scripts, and wire types.
19+
- Update the build and CI toolchain to Go 1.27.0, Alpine 3.23.5, Staticcheck
20+
2026.2.1, and the latest compatible GitHub Actions. Pin the regtest Bitcoin
21+
Core image by digest for reproducible integration tests.
22+
1523
## [1.6.0] - 2026-08-23
1624

1725
### Added

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
services:
22
# Bitcoin Core regtest node (main node for our implementation)
3-
# Uses latest Bitcoin Core with descriptor wallets and compact block filters
3+
# Uses digest-pinned Bitcoin Core with descriptor wallets and compact block filters
44
bitcoin:
5-
image: kylemanna/bitcoind:latest
5+
image: kylemanna/bitcoind@sha256:86bbcaa99bf3bf3d5df7fd6d9217b3a41194db4c4e34385064f2cfc9fa7bdf91
66
container_name: neutrino-bitcoin
77
restart: unless-stopped
88
healthcheck:

neutrino_server/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build stage
2-
FROM golang:1.25-alpine AS builder
2+
FROM golang:1.27.0-alpine3.23 AS builder
33

44
ARG VERSION=dev
55

@@ -18,8 +18,7 @@ RUN CGO_ENABLED=0 GOOS=linux go build \
1818
-o neutrinod ./cmd/neutrinod
1919

2020
# Runtime stage
21-
FROM alpine:3.19
22-
21+
FROM alpine:3.23.5
2322
RUN apk add --no-cache ca-certificates tzdata
2423

2524
# Create non-root user

neutrino_server/go.mod

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,50 @@
11
module github.com/m0wer/neutrino-api/neutrino_server
22

3-
go 1.25.11
3+
go 1.27.0
44

55
require (
6-
github.com/btcsuite/btcd v0.25.0
7-
github.com/btcsuite/btcd/btcutil v1.2.0
8-
github.com/btcsuite/btcd/chaincfg/chainhash v1.2.0
6+
github.com/btcsuite/btcd v0.26.2
7+
github.com/btcsuite/btcd/address/v2 v2.0.0
8+
github.com/btcsuite/btcd/btcutil/v2 v2.0.1
9+
github.com/btcsuite/btcd/chaincfg/v2 v2.0.0
10+
github.com/btcsuite/btcd/chainhash/v2 v2.0.0
11+
github.com/btcsuite/btcd/txscript/v2 v2.0.0
12+
github.com/btcsuite/btcd/wire/v2 v2.0.1
913
github.com/btcsuite/btclog v1.0.0
1014
github.com/btcsuite/btcwallet/walletdb v1.6.0
1115
github.com/gorilla/mux v1.8.1
12-
github.com/lightninglabs/neutrino v0.17.1
16+
github.com/lightninglabs/neutrino v0.18.0
1317
go.etcd.io/bbolt v1.5.0
14-
golang.org/x/net v0.57.0
18+
golang.org/x/net v0.58.0
1519
)
1620

17-
replace github.com/lightninglabs/neutrino => github.com/m0wer/neutrino v0.0.0-20260522161657-0d5f911e647c
21+
replace github.com/lightninglabs/neutrino => github.com/m0wer/neutrino v0.0.0-20260823175358-3ba12bde0bd0
1822

1923
require (
2024
github.com/aead/siphash v1.0.1 // indirect
21-
github.com/btcsuite/btcd/btcec/v2 v2.3.5 // indirect
22-
github.com/btcsuite/btcd/v2transport v1.0.1 // indirect
23-
github.com/btcsuite/btcwallet/wtxmgr v1.5.0 // indirect
25+
github.com/btcsuite/btcd/btcec/v2 v2.5.0 // indirect
26+
github.com/btcsuite/btcd/v2transport v1.1.0 // indirect
27+
github.com/btcsuite/btcwallet v0.18.0 // indirect
28+
github.com/btcsuite/btcwallet/wtxmgr v1.6.0 // indirect
2429
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect
2530
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect
2631
github.com/davecgh/go-spew v1.1.1 // indirect
27-
github.com/decred/dcrd/crypto/blake256 v1.0.1 // indirect
28-
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect
29-
github.com/decred/dcrd/lru v1.1.2 // indirect
32+
github.com/decred/dcrd/crypto/blake256 v1.1.0 // indirect
33+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.1 // indirect
34+
github.com/decred/dcrd/lru v1.1.3 // indirect
3035
github.com/kcalvinalvin/anet v0.0.0-20251112173137-d8ddc1f6dbee // indirect
3136
github.com/kkdai/bstream v1.0.0 // indirect
32-
github.com/kr/text v0.2.0 // indirect
3337
github.com/lightninglabs/neutrino/cache v1.1.4 // indirect
3438
github.com/lightningnetwork/lnd/clock v1.1.1 // indirect
35-
github.com/lightningnetwork/lnd/fn/v2 v2.0.8 // indirect
39+
github.com/lightningnetwork/lnd/fn/v2 v2.0.9 // indirect
3640
github.com/lightningnetwork/lnd/queue v1.2.0 // indirect
3741
github.com/lightningnetwork/lnd/ticker v1.1.1 // indirect
38-
github.com/pmezard/go-difflib v1.0.0 // indirect
3942
github.com/stretchr/objx v0.5.3 // indirect
40-
github.com/stretchr/testify v1.11.1 // indirect
41-
golang.org/x/crypto v0.54.0 // indirect
42-
golang.org/x/exp v0.0.0-20260727155853-b88d891fe743 // indirect
43+
github.com/stretchr/testify v1.12.1 // indirect
44+
go.yaml.in/yaml/v3 v3.0.5 // indirect
45+
golang.org/x/crypto v0.55.0 // indirect
46+
golang.org/x/exp v0.0.0-20260820142414-ca536658362e // indirect
4347
golang.org/x/sync v0.22.0 // indirect
4448
golang.org/x/sys v0.47.0 // indirect
45-
gopkg.in/yaml.v3 v3.0.1 // indirect
49+
golang.org/x/time v0.15.0 // indirect
4650
)

0 commit comments

Comments
 (0)