Compare commits
10 Commits
2edf4eb200
...
f5be4c5585
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5be4c5585 | ||
|
|
58cbac7132 | ||
|
|
c9e5155512 | ||
|
|
abeb1da0ce | ||
|
|
d190a83b6f | ||
|
|
e293116c51 | ||
|
|
dd2bfe97dc | ||
|
|
2d525c0496 | ||
|
|
cb6435da62 | ||
|
|
1d2340d61c |
@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2021-2024 The Decred developers
|
||||
// Copyright (c) 2021-2025 The Decred developers
|
||||
// Use of this source code is governed by an ISC
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -13,7 +13,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
wallettypes "decred.org/dcrwallet/v4/rpc/jsonrpc/types"
|
||||
wallettypes "decred.org/dcrwallet/v5/rpc/jsonrpc/types"
|
||||
"github.com/decred/dcrd/blockchain/stake/v5"
|
||||
"github.com/decred/dcrd/chaincfg/v3"
|
||||
"github.com/decred/dcrd/dcrutil/v4"
|
||||
|
||||
104
docs/release-notes/release-notes.1.4.0.md
Normal file
104
docs/release-notes/release-notes.1.4.0.md
Normal file
@ -0,0 +1,104 @@
|
||||
# vspd 1.4.0
|
||||
|
||||
vspd v1.4.0 contains all development work completed since v1.3.2 (November 2023).
|
||||
All commits included in this release can be viewed
|
||||
[on GitHub](https://github.com/decred/vspd/compare/release-v1.3.2...release-v1.4.0).
|
||||
|
||||
## Downgrade Warning
|
||||
|
||||
This release contains a backwards incompatible database upgrade.
|
||||
The new database format is not compatible with previous versions of the vspd
|
||||
software, and there is no code to downgrade the database back to the previous
|
||||
version.
|
||||
|
||||
Making a copy of the database backup before running the upgrade is suggested
|
||||
in order to enable rolling back to a previous version of the software if required.
|
||||
|
||||
## Dependencies
|
||||
|
||||
vspd 1.4.0 must be built with go 1.24 or later, and requires:
|
||||
|
||||
- dcrd 2.1.0
|
||||
- dcrwallet 2.1.0
|
||||
|
||||
Always use release versions of all binaries when deploying vspd to production.
|
||||
Neither vspd nor its dependencies should be built from master when handling
|
||||
mainnet tickets.
|
||||
|
||||
## Recommended Upgrade Procedure
|
||||
|
||||
The upgrade procedure below includes vspd downtime, during which clients will
|
||||
not be able to register new tickets, check their ticket status, or update their
|
||||
voting preferences. You may wish to put up a temporary maintenance webpage or
|
||||
announce downtime in public channels. Voting on tickets already registered with
|
||||
the VSP will not be interrupted.
|
||||
|
||||
1. Build vspd from the `release-v1.4.0` tag, and build dcrwallet and dcrd from
|
||||
their `release-v2.1.0` tags.
|
||||
1. Stop vspd.
|
||||
1. **Make a backup of the vspd database file in case rollback is required.**
|
||||
1. Stop the instance of dcrd running on the vspd server.
|
||||
1. Install new dcrd binary on the vspd server and start it to begin any required
|
||||
database upgrades. You can proceed with the following steps while the
|
||||
upgrades run.
|
||||
1. Upgrade voting wallets one by one so at least two wallets remain online for
|
||||
voting at all times. On each server:
|
||||
1. Stop dcrwallet.
|
||||
1. Stop dcrd.
|
||||
1. Install new dcrd binary and start.
|
||||
1. Wait for any dcrd database upgrades to complete.
|
||||
1. Check dcrd log file for warnings or errors.
|
||||
1. Install new dcrwallet binary and start.
|
||||
1. Wait for any dcrwallet database upgrades to complete.
|
||||
1. Check dcrwallet log file for warnings or errors.
|
||||
1. Ensure dcrd on the vspd server has completed all database upgrades.
|
||||
1. Check dcrd log file for warnings or errors.
|
||||
1. Install new vspd binary and start it.
|
||||
1. Check vspd log file for warnings or errors.
|
||||
1. Log in to the admin webpage and check the VSP Status tab for any issues.
|
||||
|
||||
## Notable Changes
|
||||
|
||||
- A new executable named vspadmin has been added to the repository.
|
||||
|
||||
vspadmin is a tool to perform various VSP administration tasks such as
|
||||
initializing new databases and creating default config files for fresh vspd
|
||||
deployments. It also enables operators of existing VSPs to change the extended
|
||||
public keys (xpub) used for collecting fees, something which was previously
|
||||
not possible.
|
||||
|
||||
Full documentation for vspadmin can be found
|
||||
[on GitHub](https://github.com/decred/vspd/blob/master/cmd/vspadmin/README.md).
|
||||
|
||||
- The current and any historic fee xpub keys are listed on a new tab in the admin
|
||||
page.
|
||||
|
||||
- Fee calculation now takes the new block reward subsidy split from the activation
|
||||
of [DCP-0012](https://github.com/decred/dcps/blob/master/dcp-0012/dcp-0012.mediawiki)
|
||||
into consideration. In practice, this means that VSPs will begin charging
|
||||
marginally higher fees.
|
||||
|
||||
### Config Changes
|
||||
|
||||
- The vspd flag `--feexpub` is now deprecated and does nothing. The equivalent
|
||||
functionality has been moved into the `createdatabase` command of the new
|
||||
vspadmin executable.
|
||||
|
||||
- The vspd flag `--configfile` is now deprecated and does nothing. It is still
|
||||
possible to run vspd with config in a non-default location using the
|
||||
`--homedir` flag.
|
||||
|
||||
### API changes
|
||||
|
||||
- After being deprecated in release 1.3.0, the revoked ticket count has now been
|
||||
removed from `/vspinfo`. The number of revoked tickets can be calculated
|
||||
by adding the number of missed and expired tickets.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Don't run upgrades unnecessarily on brand new databases
|
||||
([#477](https://github.com/decred/vspd/pull/477)).
|
||||
- Don't initialize databases with private keys, only public
|
||||
([#478](https://github.com/decred/vspd/pull/478)).
|
||||
- Various minor GUI improvements and bugfixes
|
||||
([#495](https://github.com/decred/vspd/pull/495)).
|
||||
50
go.mod
50
go.mod
@ -1,31 +1,31 @@
|
||||
module github.com/decred/vspd
|
||||
|
||||
go 1.23
|
||||
go 1.24.0
|
||||
|
||||
require (
|
||||
decred.org/dcrwallet/v4 v4.3.0
|
||||
github.com/decred/dcrd/blockchain/stake/v5 v5.0.1
|
||||
github.com/decred/dcrd/blockchain/standalone/v2 v2.2.1
|
||||
github.com/decred/dcrd/chaincfg/chainhash v1.0.4
|
||||
github.com/decred/dcrd/chaincfg/v3 v3.2.1
|
||||
decred.org/dcrwallet/v5 v5.0.0
|
||||
github.com/decred/dcrd/blockchain/stake/v5 v5.0.2
|
||||
github.com/decred/dcrd/blockchain/standalone/v2 v2.2.2
|
||||
github.com/decred/dcrd/chaincfg/chainhash v1.0.5
|
||||
github.com/decred/dcrd/chaincfg/v3 v3.3.0
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0
|
||||
github.com/decred/dcrd/dcrutil/v4 v4.0.2
|
||||
github.com/decred/dcrd/gcs/v4 v4.1.0
|
||||
github.com/decred/dcrd/hdkeychain/v3 v3.1.2
|
||||
github.com/decred/dcrd/rpc/jsonrpc/types/v4 v4.3.0
|
||||
github.com/decred/dcrd/txscript/v4 v4.1.1
|
||||
github.com/decred/dcrd/wire v1.7.0
|
||||
github.com/decred/dcrd/dcrutil/v4 v4.0.3
|
||||
github.com/decred/dcrd/gcs/v4 v4.1.1
|
||||
github.com/decred/dcrd/hdkeychain/v3 v3.1.3
|
||||
github.com/decred/dcrd/rpc/jsonrpc/types/v4 v4.4.0
|
||||
github.com/decred/dcrd/txscript/v4 v4.1.2
|
||||
github.com/decred/dcrd/wire v1.7.1
|
||||
github.com/decred/slog v1.2.0
|
||||
github.com/decred/vspd/client/v4 v4.0.1
|
||||
github.com/decred/vspd/types/v3 v3.0.0
|
||||
github.com/dustin/go-humanize v1.0.1
|
||||
github.com/gin-gonic/gin v1.10.0
|
||||
github.com/gin-gonic/gin v1.10.1
|
||||
github.com/gorilla/sessions v1.4.0
|
||||
github.com/jessevdk/go-flags v1.6.1
|
||||
github.com/jrick/bitset v1.0.0
|
||||
github.com/jrick/logrotate v1.1.2
|
||||
github.com/jrick/wsrpc/v2 v2.3.8
|
||||
go.etcd.io/bbolt v1.4.0
|
||||
github.com/jrick/wsrpc/v2 v2.4.0
|
||||
go.etcd.io/bbolt v1.4.3
|
||||
)
|
||||
|
||||
require (
|
||||
@ -35,13 +35,14 @@ require (
|
||||
github.com/cloudwego/base64x v0.1.4 // indirect
|
||||
github.com/cloudwego/iasm v0.2.0 // indirect
|
||||
github.com/dchest/siphash v1.2.3 // indirect
|
||||
github.com/decred/base58 v1.0.5 // indirect
|
||||
github.com/decred/base58 v1.0.6 // indirect
|
||||
github.com/decred/dcrd/crypto/blake256 v1.1.0 // indirect
|
||||
github.com/decred/dcrd/crypto/rand v1.0.1 // indirect
|
||||
github.com/decred/dcrd/crypto/ripemd160 v1.0.2 // indirect
|
||||
github.com/decred/dcrd/database/v3 v3.0.2 // indirect
|
||||
github.com/decred/dcrd/database/v3 v3.0.3 // indirect
|
||||
github.com/decred/dcrd/dcrec v1.0.1 // indirect
|
||||
github.com/decred/dcrd/dcrec/edwards/v2 v2.0.3 // indirect
|
||||
github.com/decred/dcrd/dcrjson/v4 v4.1.0 // indirect
|
||||
github.com/decred/dcrd/dcrec/edwards/v2 v2.0.4 // indirect
|
||||
github.com/decred/dcrd/dcrjson/v4 v4.2.0 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
|
||||
github.com/gin-contrib/sse v0.1.0 // indirect
|
||||
github.com/go-playground/locales v0.14.1 // indirect
|
||||
@ -62,13 +63,12 @@ require (
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
github.com/ugorji/go/codec v1.2.12 // indirect
|
||||
golang.org/x/arch v0.8.0 // indirect
|
||||
golang.org/x/crypto v0.33.0 // indirect
|
||||
golang.org/x/net v0.28.0 // indirect
|
||||
golang.org/x/sys v0.30.0 // indirect
|
||||
golang.org/x/text v0.22.0 // indirect
|
||||
golang.org/x/crypto v0.45.0 // indirect
|
||||
golang.org/x/net v0.47.0 // indirect
|
||||
golang.org/x/sys v0.38.0 // indirect
|
||||
golang.org/x/text v0.31.0 // indirect
|
||||
golang.org/x/time v0.3.0
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
||||
google.golang.org/protobuf v1.34.1 // indirect
|
||||
google.golang.org/protobuf v1.36.10 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
lukechampine.com/blake3 v1.3.0 // indirect
|
||||
|
||||
104
go.sum
104
go.sum
@ -1,5 +1,5 @@
|
||||
decred.org/dcrwallet/v4 v4.3.0 h1:JqFyUa5Xj51br1In8wzQresUrW5nuGp7cCFIxpb4VZE=
|
||||
decred.org/dcrwallet/v4 v4.3.0/go.mod h1:cd0+55eXPYwYddb/8r3dRyXI+MXiqx642QisZbswzUI=
|
||||
decred.org/dcrwallet/v5 v5.0.0 h1:94ZhmXx9FQpGHUMkum+XIFGexmVtA0INN2I3eb2AnaQ=
|
||||
decred.org/dcrwallet/v5 v5.0.0/go.mod h1:SIFVCQX7qSGccZRG7sbm4NyA49WzXIXuXFll/NItSNo=
|
||||
github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI=
|
||||
github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0=
|
||||
github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0=
|
||||
@ -16,42 +16,44 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dchest/siphash v1.2.3 h1:QXwFc8cFOR2dSa/gE6o/HokBMWtLUaNDVd+22aKHeEA=
|
||||
github.com/dchest/siphash v1.2.3/go.mod h1:0NvQU092bT0ipiFN++/rXm69QG9tVxLAlQHIXMPAkHc=
|
||||
github.com/decred/base58 v1.0.5 h1:hwcieUM3pfPnE/6p3J100zoRfGkQxBulZHo7GZfOqic=
|
||||
github.com/decred/base58 v1.0.5/go.mod h1:s/8lukEHFA6bUQQb/v3rjUySJ2hu+RioCzLukAVkrfw=
|
||||
github.com/decred/dcrd/blockchain/stake/v5 v5.0.1 h1:KDm6myUPi8j2TTL7LZ+iT+R/pIbxd8qG89fjJNitzx0=
|
||||
github.com/decred/dcrd/blockchain/stake/v5 v5.0.1/go.mod h1:y1tMD1TssTlPmKDYbSrF3Ujznj+STkXFfYPwoVfe+xA=
|
||||
github.com/decred/dcrd/blockchain/standalone/v2 v2.2.1 h1:zeI9CHkLM9be4QOBmIAtoPfs6NCgJM1lpmRUYE61I8o=
|
||||
github.com/decred/dcrd/blockchain/standalone/v2 v2.2.1/go.mod h1:yXZz/EgWdGw5nqMEvyKj/iXZ9I2VSyO95xKj6mRUMIM=
|
||||
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.2.1 h1:x9zKJaU24WAKbxAR1UyFKHlM3oJgP0H9LodokM4X5lM=
|
||||
github.com/decred/dcrd/chaincfg/v3 v3.2.1/go.mod h1:SDCWDtY7BLj0leXc9FuoA1YjSVKyCIBVAyxwZn6+sXc=
|
||||
github.com/decred/base58 v1.0.6 h1:NXndBcO+ubGZORV3EulvqeBcMuQM7doqVGa7pBhMOs4=
|
||||
github.com/decred/base58 v1.0.6/go.mod h1:KR7Oh9njDPXTagD4P67KJZwroL8jT653u8CffkYqhcQ=
|
||||
github.com/decred/dcrd/blockchain/stake/v5 v5.0.2 h1:5SZwlt0oJRuj64MqSFyQItSvfnd6hEgkkx4LySK9Zxo=
|
||||
github.com/decred/dcrd/blockchain/stake/v5 v5.0.2/go.mod h1:h6Xw2ECYewEb27i8yVsjOKktVIIu0TTS6EKhqfxfnbA=
|
||||
github.com/decred/dcrd/blockchain/standalone/v2 v2.2.2 h1:mQA1cEzMS6EHbgV50wb2VFx4VQjNE8+n/B5BKvp5HWk=
|
||||
github.com/decred/dcrd/blockchain/standalone/v2 v2.2.2/go.mod h1:lkBXrIA42dLYG4nDKAf08RlAeO4c4FC5YeDh8if91Hc=
|
||||
github.com/decred/dcrd/chaincfg/chainhash v1.0.5 h1:GwzXLsZoemdDxFdtj3GdW25Z+NXdN6nD3OjVtA+UwiE=
|
||||
github.com/decred/dcrd/chaincfg/chainhash v1.0.5/go.mod h1:vCqZMGtKbyxJkdcVzP3Ryc9IvaspVUb7hO6t+rjxmcs=
|
||||
github.com/decred/dcrd/chaincfg/v3 v3.3.0 h1:Plu5nS4ctf2V+8PMyannHRtcgexjY1EnFLTt3zfgGI8=
|
||||
github.com/decred/dcrd/chaincfg/v3 v3.3.0/go.mod h1:uFkZ81h+Xs8PoMjsWsH1UAAm0siKMQbcIu5H3kKs6OI=
|
||||
github.com/decred/dcrd/crypto/blake256 v1.1.0 h1:zPMNGQCm0g4QTY27fOCorQW7EryeQ/U0x++OzVrdms8=
|
||||
github.com/decred/dcrd/crypto/blake256 v1.1.0/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo=
|
||||
github.com/decred/dcrd/crypto/rand v1.0.1 h1:pYMgDRmRv1z1RNgAAs8izJstm4B+fLFiqGD5btOt2Wg=
|
||||
github.com/decred/dcrd/crypto/rand v1.0.1/go.mod h1:MsA2XySk/4KpCOYW6vsNYTGuOYRK1wpvulaWCuW7RyI=
|
||||
github.com/decred/dcrd/crypto/ripemd160 v1.0.2 h1:TvGTmUBHDU75OHro9ojPLK+Yv7gDl2hnUvRocRCjsys=
|
||||
github.com/decred/dcrd/crypto/ripemd160 v1.0.2/go.mod h1:uGfjDyePSpa75cSQLzNdVmWlbQMBuiJkvXw/MNKRY4M=
|
||||
github.com/decred/dcrd/database/v3 v3.0.2 h1:rgP7XNZemTs8ZC7bnTKO8JO79Woj5nq+yQYmB9ry7yM=
|
||||
github.com/decred/dcrd/database/v3 v3.0.2/go.mod h1:3Ge1yoxEOsqd72V5LTA9g0B7mlY0MGbpxeE1fniIXsQ=
|
||||
github.com/decred/dcrd/database/v3 v3.0.3 h1:4k7zQSxLWnJV2xs0ON8ocZ90iEpFgkQVJCQXN/2n+B0=
|
||||
github.com/decred/dcrd/database/v3 v3.0.3/go.mod h1:XD4uMZbcrUaaGLHRO6HzfEG3hOEoUjuWdwyg1TuDVls=
|
||||
github.com/decred/dcrd/dcrec v1.0.1 h1:gDzlndw0zYxM5BlaV17d7ZJV6vhRe9njPBFeg4Db2UY=
|
||||
github.com/decred/dcrd/dcrec v1.0.1/go.mod h1:CO+EJd8eHFb8WHa84C7ZBkXsNUIywaTHb+UAuI5uo6o=
|
||||
github.com/decred/dcrd/dcrec/edwards/v2 v2.0.3 h1:l/lhv2aJCUignzls81+wvga0TFlyoZx8QxRMQgXpZik=
|
||||
github.com/decred/dcrd/dcrec/edwards/v2 v2.0.3/go.mod h1:AKpV6+wZ2MfPRJnTbQ6NPgWrKzbe9RCIlCF/FKzMtM8=
|
||||
github.com/decred/dcrd/dcrec/edwards/v2 v2.0.4 h1:xmmdtnGxF/Od2doiP56zBv5a3LgJ3PA6mlx3Luf622I=
|
||||
github.com/decred/dcrd/dcrec/edwards/v2 v2.0.4/go.mod h1:07Ke2V+uJkG72M1Eiek8CF6NUB3XPlZ38cIit57R0UU=
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc=
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40=
|
||||
github.com/decred/dcrd/dcrjson/v4 v4.1.0 h1:WJVogRnYnNxB5hWoGHODvP4fNTG1JycTuHHKt/XucHk=
|
||||
github.com/decred/dcrd/dcrjson/v4 v4.1.0/go.mod h1:2qVikafVF9/X3PngQVmqkbUbyAl32uik0k/kydgtqMc=
|
||||
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/v4 v4.1.0 h1:tpW7JW53yJZlgNwl/n2NL1b8NxHaIPRUyNuLMkB/Hks=
|
||||
github.com/decred/dcrd/gcs/v4 v4.1.0/go.mod h1:nPTbGM/I3Ihe5KFvUmxZEqQP/jDZQjQ63+WEi/f4lqU=
|
||||
github.com/decred/dcrd/hdkeychain/v3 v3.1.2 h1:x25WuuE7zM/20EynuVMyOhL0K8BwGBBsexGq8xTiHFA=
|
||||
github.com/decred/dcrd/hdkeychain/v3 v3.1.2/go.mod h1:FnNJmZ7jqUDeAo6/c/xkQi5cuxh3EWtJeMmW6/Z8lcc=
|
||||
github.com/decred/dcrd/rpc/jsonrpc/types/v4 v4.3.0 h1:l0DnCcILTNrpy8APF3FLN312ChpkQaAuW30aC/RgBaw=
|
||||
github.com/decred/dcrd/rpc/jsonrpc/types/v4 v4.3.0/go.mod h1:j+kkRPXPJB5S9VFOsx8SQLcU7PTFkPKRc1aCHN4ENzA=
|
||||
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.7.0 h1:5JHiDjEQeS4XUl4PfnTZYLwAD/E/+LwBmPRec/fP76o=
|
||||
github.com/decred/dcrd/wire v1.7.0/go.mod h1:lAqrzV0SU4kyV6INLEJgDtUjJaTaVKrbF4LHtaYl+zU=
|
||||
github.com/decred/dcrd/dcrjson/v4 v4.2.0 h1:VZOitxS5/J1Gr8V/rUcVnvbtTvijxrVy7i2A3nu9wto=
|
||||
github.com/decred/dcrd/dcrjson/v4 v4.2.0/go.mod h1:1YuURV3cVmko3lmBlkKc6Y2iHwHJJXATdiLULBS9D+Q=
|
||||
github.com/decred/dcrd/dcrutil/v4 v4.0.3 h1:uUgSBB4ZFHeKQFrdUgKv3PvVJ3YpBpFeXMgXZsa0790=
|
||||
github.com/decred/dcrd/dcrutil/v4 v4.0.3/go.mod h1:X59K97qkCrzlp8q6QcLsfxW3mrrDWROQMGM1la46jCY=
|
||||
github.com/decred/dcrd/gcs/v4 v4.1.1 h1:3ELoII8uwIxXFGq6ETB29AjW7Lmr3McQOYsSD3dvUz0=
|
||||
github.com/decred/dcrd/gcs/v4 v4.1.1/go.mod h1:5q1EnYp1CzJw057/XfRB6UGkos24fpu2r2ZLuwE7YdE=
|
||||
github.com/decred/dcrd/hdkeychain/v3 v3.1.3 h1:Kn2wfj5cOR6pQO/WrYOMT1KK12IgWFEeQwnk1o81WsU=
|
||||
github.com/decred/dcrd/hdkeychain/v3 v3.1.3/go.mod h1:mDAuGaH6InRD+hKVeVJsjLD/ih1mD3aCKURNHS8Tq2s=
|
||||
github.com/decred/dcrd/rpc/jsonrpc/types/v4 v4.4.0 h1:BBVaYemabsFsaqNVlCmacoZlSsLDqwHYIs8ty6fg59Q=
|
||||
github.com/decred/dcrd/rpc/jsonrpc/types/v4 v4.4.0/go.mod h1:w4C6hZ7ywpc8/YNkiPAknCaqKofF68cRhUiTglEIc7s=
|
||||
github.com/decred/dcrd/txscript/v4 v4.1.2 h1:1EP7ZmBDl2LBeAMTEygxY8rVNN3+lkGqrsb4u64x+II=
|
||||
github.com/decred/dcrd/txscript/v4 v4.1.2/go.mod h1:r5/8qfCnl6TFrE369gggUayVIryM1oC7BLoRfa27Ckw=
|
||||
github.com/decred/dcrd/wire v1.7.1 h1:kDuHBiY1Qv9rBxYKgC2RgyPy7IOA2WRf00jqHwpr16I=
|
||||
github.com/decred/dcrd/wire v1.7.1/go.mod h1:eP9XRsMloy+phlntkTAaAm611JgLv8NqY1YJoRxkNKU=
|
||||
github.com/decred/slog v1.2.0 h1:soHAxV52B54Di3WtKLfPum9OFfWqwtf/ygf9njdfnPM=
|
||||
github.com/decred/slog v1.2.0/go.mod h1:kVXlGnt6DHy2fV5OjSeuvCJ0OmlmTF6LFpEPMu/fOY0=
|
||||
github.com/decred/vspd/client/v4 v4.0.1 h1:eoFWCoaqEMLBODRQrVABGcpFrFdOSPLiMWpPO+RVvi0=
|
||||
@ -64,8 +66,8 @@ github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uq
|
||||
github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
|
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU=
|
||||
github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
|
||||
github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ=
|
||||
github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
|
||||
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
|
||||
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
||||
@ -78,8 +80,8 @@ github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
|
||||
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
|
||||
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
|
||||
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
@ -95,8 +97,8 @@ github.com/jrick/bitset v1.0.0 h1:Ws0PXV3PwXqWK2n7Vz6idCdrV/9OrBXgHEJi27ZB9Dw=
|
||||
github.com/jrick/bitset v1.0.0/go.mod h1:ZOYB5Uvkla7wIEY4FEssPVi3IQXa02arznRaYaAEPe4=
|
||||
github.com/jrick/logrotate v1.1.2 h1:6ePk462NCX7TfKtNp5JJ7MbA2YIslkpfgP03TlTYMN0=
|
||||
github.com/jrick/logrotate v1.1.2/go.mod h1:f9tdWggSVK3iqavGpyvegq5IhNois7KXmasU6/N96OQ=
|
||||
github.com/jrick/wsrpc/v2 v2.3.8 h1:9vfM8o9g00HXQb/3D6+Y9Cy1uybjD7K1272vtdXXBps=
|
||||
github.com/jrick/wsrpc/v2 v2.3.8/go.mod h1:Ha6uT2AOjHkaiBWMjWfWUFvjDrppbfy0ghLKxPPYmY4=
|
||||
github.com/jrick/wsrpc/v2 v2.4.0 h1:YpcTqRNfOzFP31kfpROT/awPGzvP2XXPwGp7xJ104DA=
|
||||
github.com/jrick/wsrpc/v2 v2.4.0/go.mod h1:Ha6uT2AOjHkaiBWMjWfWUFvjDrppbfy0ghLKxPPYmY4=
|
||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||
@ -141,29 +143,27 @@ github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
|
||||
github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE=
|
||||
github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
|
||||
go.etcd.io/bbolt v1.4.0 h1:TU77id3TnN/zKr7CO/uk+fBCwF2jGcMuw2B/FMAzYIk=
|
||||
go.etcd.io/bbolt v1.4.0/go.mod h1:AsD+OCi/qPN1giOX1aiLAha3o1U8rAz65bvN4j0sRuk=
|
||||
go.etcd.io/bbolt v1.4.3 h1:dEadXpI6G79deX5prL3QRNP6JB8UxVkqo4UPnHaNXJo=
|
||||
go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E=
|
||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||
golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc=
|
||||
golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
|
||||
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
|
||||
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
|
||||
golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
|
||||
golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
|
||||
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
|
||||
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
|
||||
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
|
||||
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
|
||||
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
|
||||
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
|
||||
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
|
||||
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
|
||||
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
|
||||
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
|
||||
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
|
||||
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
|
||||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
||||
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
|
||||
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
|
||||
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
|
||||
@ -18,15 +18,15 @@ const semverAlphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst
|
||||
// Constants defining the application version number.
|
||||
const (
|
||||
major = 1
|
||||
minor = 4
|
||||
patch = 0
|
||||
minor = 3
|
||||
patch = 2
|
||||
)
|
||||
|
||||
// preRelease contains the prerelease name of the application. It is a variable
|
||||
// so it can be modified at link time (e.g.
|
||||
// `-ldflags "-X decred.org/vspd/version.preRelease=rc1"`).
|
||||
// It must only contain characters from the semantic version alphabet.
|
||||
var preRelease = "pre"
|
||||
var preRelease = ""
|
||||
|
||||
func IsPreRelease() bool {
|
||||
return preRelease != ""
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2021-2024 The Decred developers
|
||||
// Copyright (c) 2021-2025 The Decred developers
|
||||
// Use of this source code is governed by an ISC
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -8,7 +8,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"decred.org/dcrwallet/v4/wallet/txrules"
|
||||
"decred.org/dcrwallet/v5/wallet/txrules"
|
||||
"github.com/decred/dcrd/dcrutil/v4"
|
||||
"github.com/decred/vspd/database"
|
||||
"github.com/decred/vspd/rpc"
|
||||
|
||||
@ -36,6 +36,22 @@
|
||||
|
||||
{{ template "vsp-stats" . }}
|
||||
|
||||
<h1>Onion Service</h1>
|
||||
|
||||
<p class="pt-1 pb-2">For maximum privacy, you can configure your voting wallet to use the stakeynet hidden service via
|
||||
<a href="https://www.torproject.org" target="_blank" rel="noopener noreferrer">Tor</a>.<br/>
|
||||
<pre>--vsp.url=http://stakeynett3hgzdowt7iuh5dfctnmculeahpfcjaexnqpubebve2g4ad.onion</pre>
|
||||
</p>
|
||||
|
||||
<h1>nostr</h1>
|
||||
|
||||
<p class="pt-1 pb-2">Our nostr relay is <code>wss://nostr.stakey.net</code> and the <a href="https://citadel.stakey.net/">citadel</a> is now running snort.
|
||||
</p>
|
||||
<p class="pt-1 pb-2">Follow
|
||||
<a href="https://citadel.stakey.net/p/npub1feh69xgmqfmxf5rjf44x6wfyntuz3mzlxcrymucxa0k2af5uzysqmlgx6j" target="_blank" rel="noopener noreferrer">stakeynet</a>
|
||||
on nostr for service updates.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2021-2023 The Decred developers
|
||||
// Copyright (c) 2021-2025 The Decred developers
|
||||
// Use of this source code is governed by an ISC
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -25,7 +25,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
requiredDcrdVersion = semver{Major: 8, Minor: 0, Patch: 0}
|
||||
requiredDcrdVersion = semver{Major: 8, Minor: 3, Patch: 0}
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2021-2024 The Decred developers
|
||||
// Copyright (c) 2021-2025 The Decred developers
|
||||
// Use of this source code is governed by an ISC
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -8,7 +8,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
wallettypes "decred.org/dcrwallet/v4/rpc/jsonrpc/types"
|
||||
wallettypes "decred.org/dcrwallet/v5/rpc/jsonrpc/types"
|
||||
"github.com/decred/dcrd/chaincfg/v3"
|
||||
dcrdtypes "github.com/decred/dcrd/rpc/jsonrpc/types/v4"
|
||||
"github.com/decred/dcrd/wire"
|
||||
@ -16,7 +16,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
requiredWalletVersion = semver{Major: 9, Minor: 0, Patch: 0}
|
||||
requiredWalletVersion = semver{Major: 11, Minor: 0, Patch: 0}
|
||||
)
|
||||
|
||||
// WalletRPC provides methods for calling dcrwallet JSON-RPCs without exposing the details
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user