From e42100a668ad6989ecd48d1e3daf54f9a05f6dbd Mon Sep 17 00:00:00 2001 From: Jamie Holdstock Date: Wed, 8 Jan 2025 20:10:00 +0800 Subject: [PATCH 1/3] LICENSE: 2025 --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index c8c6701..18ac493 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ ISC License -Copyright (c) 2017-2024 The Decred developers +Copyright (c) 2017-2025 The Decred developers Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above From e3961a5e63506d6dac92fb8edad016a98fcb7ff2 Mon Sep 17 00:00:00 2001 From: jholdstock Date: Thu, 14 Aug 2025 07:55:42 +0100 Subject: [PATCH 2/3] Update build tools (incl. go 1.25). --- .github/workflows/docker.yml | 2 +- .github/workflows/go.yml | 8 ++++---- .golangci.yml | 21 +++++++++++++-------- Dockerfile | 2 +- main.go | 4 ++-- service.go | 2 +- 6 files changed, 22 insertions(+), 17 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 21ee4fd..a12ba5f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -5,7 +5,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b #v4.1.4 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 - name: Build the Docker image run: docker build -t decred/dcrwebapi:$(date +%s) . diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index d042a95..4615216 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -9,16 +9,16 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go: ["1.21", "1.22"] + go: ["1.24", "1.25"] steps: - name: Set up Go - uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 #v5.0.1 + uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 #v5.5.0 with: go-version: ${{ matrix.go }} - name: Check out source - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b #v4.1.4 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 - name: Install Linters - run: "curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.58.1" + run: "curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.4.0" - name: Build run: go build ./... - name: Test diff --git a/.golangci.yml b/.golangci.yml index 55a25ba..be16288 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,18 +1,15 @@ +version: "2" run: - deadline: 10m + timeout: 10m linters: - disable-all: true + default: none enable: - asciicheck - bidichk - durationcheck - exhaustive - - exportloopref - goconst - - gofmt - - goimports - - gosimple - govet - ineffassign - misspell @@ -20,8 +17,16 @@ linters: - revive - staticcheck - tparallel - - typecheck - unconvert - unparam - unused - - vetshadow + - usestdlibvars + - usetesting + exclusions: + presets: + - comments +formatters: + enable: + - gofmt + - goimports + diff --git a/Dockerfile b/Dockerfile index 7866481..5e79ba3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # build -FROM golang:1.22-alpine AS builder +FROM golang:1.25-alpine AS builder WORKDIR $GOPATH/src/github.com/decred/dcrwebapi COPY . . diff --git a/main.go b/main.go index c595f48..833f616 100644 --- a/main.go +++ b/main.go @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2018 The Decred developers +// Copyright (c) 2017-2025 The Decred developers // Use of this source code is governed by an ISC // license that can be found in the LICENSE file. @@ -21,7 +21,7 @@ func main() { log.Println("dcrwebapi starting on", defaultPort) origins := handlers.AllowedOrigins([]string{"*"}) - methods := handlers.AllowedMethods([]string{"GET", "OPTIONS"}) + methods := handlers.AllowedMethods([]string{http.MethodGet, http.MethodOptions}) log.Fatal(http.ListenAndServe(defaultPort, handlers.CORS(origins, methods)(service.Router))) diff --git a/service.go b/service.go index 3749acf..f921b5f 100644 --- a/service.go +++ b/service.go @@ -168,7 +168,7 @@ func NewService() *Service { // getHTTP will use the services HTTP client to send a GET request to the // provided URL. Returns the response body, or an error. func (service *Service) getHTTP(url string) ([]byte, error) { - req, err := http.NewRequest("GET", url, nil) + req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { return nil, fmt.Errorf("%v: failed to create request: %v", url, err) From 543fffdc73faec86e961861346b7485f3701a2c1 Mon Sep 17 00:00:00 2001 From: jholdstock Date: Thu, 14 Aug 2025 07:55:51 +0100 Subject: [PATCH 3/3] Bump dcrutil version. --- go.mod | 8 ++++---- go.sum | 17 +++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index c9c7efa..eb2e9e5 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/decred/dcrwebapi go 1.18 require ( - github.com/decred/dcrd/dcrutil/v4 v4.0.1 + github.com/decred/dcrd/dcrutil/v4 v4.0.2 github.com/decred/dcrdata/v6 v6.0.0 github.com/gorilla/handlers v1.5.2 ) @@ -16,7 +16,7 @@ require ( github.com/decred/dcrd/blockchain/stake/v3 v3.0.1 // indirect github.com/decred/dcrd/blockchain/standalone/v2 v2.2.0 // indirect github.com/decred/dcrd/chaincfg/chainhash v1.0.4 // indirect - github.com/decred/dcrd/chaincfg/v3 v3.2.0 // indirect + github.com/decred/dcrd/chaincfg/v3 v3.2.1 // indirect github.com/decred/dcrd/crypto/blake256 v1.0.1 // indirect github.com/decred/dcrd/crypto/ripemd160 v1.0.2 // indirect github.com/decred/dcrd/database/v2 v2.0.3 // indirect @@ -28,8 +28,8 @@ require ( github.com/decred/dcrd/dcrutil/v3 v3.0.1 // indirect github.com/decred/dcrd/rpc/jsonrpc/types/v2 v2.3.1 // indirect github.com/decred/dcrd/txscript/v3 v3.0.1 // indirect - github.com/decred/dcrd/txscript/v4 v4.1.0 // indirect - github.com/decred/dcrd/wire v1.6.0 // indirect + github.com/decred/dcrd/txscript/v4 v4.1.1 // indirect + github.com/decred/dcrd/wire v1.7.0 // indirect github.com/decred/slog v1.2.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/golang/snappy v0.0.4 // indirect diff --git a/go.sum b/go.sum index 6998ac8..edf4b4f 100644 --- a/go.sum +++ b/go.sum @@ -39,8 +39,8 @@ github.com/decred/dcrd/chaincfg/chainhash v1.0.2/go.mod h1:BpbrGgrPTr3YJYRN3Bm+D github.com/decred/dcrd/chaincfg/chainhash v1.0.4 h1:zRCv6tdncLfLTKYqu7hrXvs7hW+8FO/NvwoFvGsrluU= github.com/decred/dcrd/chaincfg/chainhash v1.0.4/go.mod h1:hA86XxlBWwHivMvxzXTSD0ZCG/LoYsFdWnCekkTMCqY= github.com/decred/dcrd/chaincfg/v3 v3.0.0/go.mod h1:EspyubQ7D2w6tjP7rBGDIE7OTbuMgBjR2F2kZFnh31A= -github.com/decred/dcrd/chaincfg/v3 v3.2.0 h1:6WxA92AGBkycEuWvxtZMvA76FbzbkDRoK8OGbsR2muk= -github.com/decred/dcrd/chaincfg/v3 v3.2.0/go.mod h1:2rHW1TKyFmwZTVBLoU/Cmf0oxcpBjUEegbSlBfrsriI= +github.com/decred/dcrd/chaincfg/v3 v3.2.1 h1:x9zKJaU24WAKbxAR1UyFKHlM3oJgP0H9LodokM4X5lM= +github.com/decred/dcrd/chaincfg/v3 v3.2.1/go.mod h1:SDCWDtY7BLj0leXc9FuoA1YjSVKyCIBVAyxwZn6+sXc= github.com/decred/dcrd/connmgr/v3 v3.0.0/go.mod h1:cPI43Aggp1lOhrVG75eJ3c3BwuFx0NhT77FK34ky+ak= github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= @@ -68,8 +68,8 @@ github.com/decred/dcrd/dcrjson/v3 v3.1.1/go.mod h1:lACNzZjn7po2erViTnXtBfdvSzK7E github.com/decred/dcrd/dcrutil/v3 v3.0.0/go.mod h1:iVsjcqVzLmYFGCZLet2H7Nq+7imV9tYcuY+0lC2mNsY= github.com/decred/dcrd/dcrutil/v3 v3.0.1 h1:F6FjaGMzs/1adL0Ld3T1tGAyKwAWfsNYoCt4h620zJQ= github.com/decred/dcrd/dcrutil/v3 v3.0.1/go.mod h1:XfZj8SjOoOYiFuOK6hA9NEwKpH907XOFdlw9UxlJf28= -github.com/decred/dcrd/dcrutil/v4 v4.0.1 h1:E+d2TNbpOj0f1L9RqkZkEm1QolFjajvkzxWC5WOPf1s= -github.com/decred/dcrd/dcrutil/v4 v4.0.1/go.mod h1:7EXyHYj8FEqY+WzMuRkF0nh32ueLqhutZDoW4eQ+KRc= +github.com/decred/dcrd/dcrutil/v4 v4.0.2 h1:eIl3E6gGln54qE8nk5o5lLtjh2/9C2Rz63OpD662h+8= +github.com/decred/dcrd/dcrutil/v4 v4.0.2/go.mod h1:iS3JB1ac3R3FgfpTF1kBD+SPNet8TmiW3Br+/Jc5MC8= github.com/decred/dcrd/gcs/v2 v2.1.0/go.mod h1:MbnJOINFcp42NMRAQ+CjX/xGz+53AwNgMzKZhwBibdM= github.com/decred/dcrd/hdkeychain/v3 v3.0.0/go.mod h1:Vz7PJSlLzhqmOR2lmjGD9JqAZgmUnM8P6r8hg7U4Zho= github.com/decred/dcrd/rpc/jsonrpc/types/v2 v2.3.0/go.mod h1:krn89ZOgSa8yc7sA4WpDK95p61NnjNWFkNlMnGrKbMc= @@ -79,12 +79,12 @@ github.com/decred/dcrd/rpcclient/v6 v6.0.2/go.mod h1:t6ECC72j2xWQ323poL85IFNq0EU github.com/decred/dcrd/txscript/v3 v3.0.0/go.mod h1:pdvnlD4KGdDoc09cvWRJ8EoRQUaiUz41uDevOWuEfII= github.com/decred/dcrd/txscript/v3 v3.0.1 h1:343cSGjRR0Oel6kjLhcCQq37W2G4DwnkXkAeUmWcEv4= github.com/decred/dcrd/txscript/v3 v3.0.1/go.mod h1:NbIL3qM6U6NS3TKPf5zAx3cDsC3QsUJfSNOLxgcCMhY= -github.com/decred/dcrd/txscript/v4 v4.1.0 h1:uEdcibIOl6BuWj3AqmXZ9xIK/qbo6lHY9aNk29FtkrU= -github.com/decred/dcrd/txscript/v4 v4.1.0/go.mod h1:OVguPtPc4YMkgssxzP8B6XEMf/J3MB6S1JKpxgGQqi0= +github.com/decred/dcrd/txscript/v4 v4.1.1 h1:R4M2+jMujgQA91899SkL0cW66d6DC76Gx+1W1oEHjc0= +github.com/decred/dcrd/txscript/v4 v4.1.1/go.mod h1:7ybmJoI+b6dxvQ+0aXdZpkyrj0PbnylJCzFxD1g8+/A= github.com/decred/dcrd/wire v1.3.0/go.mod h1:fnKGlUY2IBuqnpxx5dYRU5Oiq392OBqAuVjRVSkIoXM= github.com/decred/dcrd/wire v1.4.0/go.mod h1:WxC/0K+cCAnBh+SKsRjIX9YPgvrjhmE+6pZlel1G7Ro= -github.com/decred/dcrd/wire v1.6.0 h1:YOGwPHk4nzGr6OIwUGb8crJYWDiVLpuMxfDBCCF7s/o= -github.com/decred/dcrd/wire v1.6.0/go.mod h1:XQ8Xv/pN/3xaDcb7sH8FBLS9cdgVctT7HpBKKGsIACk= +github.com/decred/dcrd/wire v1.7.0 h1:5JHiDjEQeS4XUl4PfnTZYLwAD/E/+LwBmPRec/fP76o= +github.com/decred/dcrd/wire v1.7.0/go.mod h1:lAqrzV0SU4kyV6INLEJgDtUjJaTaVKrbF4LHtaYl+zU= github.com/decred/dcrdata/v6 v6.0.0 h1:eNe2h7XCITLBM4FfBVd57VwqGYpCLJrnev38YzwJ9qw= github.com/decred/dcrdata/v6 v6.0.0/go.mod h1:3dzYsjv4i8/H7jAWRmIq3yXW5Wa/1Hv3xJV1oGDIgfk= github.com/decred/go-socks v1.1.0/go.mod h1:sDhHqkZH0X4JjSa02oYOGhcGHYp12FsY1jQ/meV8md0= @@ -224,6 +224,7 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=