v1.8.0
This release enables the votes for and implements the necessary features to follow the upcoming hard forks described by DCP0011 and DCP0012. As always, other minor feature additions and bug fixes have been included.
Bug fixes
-
Manual ticket revocations are no longer performed by the VSP client (
c9fc99b2
). -
A data race on the fee transaction pointer in the VSP client was corrected (
a8f2b058
). -
VSP options in the config file are validated at startup to prevent invalid configurations that do not specify all required settings (
6cc8d053
). -
Ticket purchasing performed through the JSON-RPC server now respects the configured maximum VSP fee (
a19dcb43
). -
A data race on rescanned block hashes in SPV mode was corrected (
dfcac12f
). -
New addresses can no longer be generated and returned externally for an imported voting account. This does not affect address generation when paying to voting account addresses during ticket buying (
d9945563
).
New features
-
Blocks are now validated according to either the initial proof-of-work algorithm or the difficulty and proof-of-work hash algorithm specified by DCP0011 (
3a52f00a
). -
Votes created by the wallet will use the subsidy split described by DCP0012 if the agenda is active (
8374bd52
). -
Mixed ticket purchasing now trickles the ticket purchases with random delays to harden against profiling specific buyers by their ticket timings (
e71decbd
). -
Mixed ticket purchasing was implemented by the
WalletService.PurchaseTickets
gRPC method (5b6ab6da
,4c697648
). -
A
WalletService.Address
gRPC method was added to query the wallet for details about its addresses (80a0e716
,a333c1f5
). -
A
WalletService.DumpPrivateKey
gRPC method was added to dump private keys of wallet addresses (c609d558
,12b9c552
). -
A
VotingService.SetTSpendPolicy
gRPC method was added to set a voting policy for a specific TSpend transaction. AVotingService.TSpendPolicies
gRPC method was added to query the voting policies of these specific TSpends (7352c1cb
). -
In SPV mode, TSpends are now fetched at wallet startup (
eab54c36
). -
A
--cpuprofile
config flag was added to write a pprof CPU profile for the entire process execution. The--memprofile
flag was changed to also profile the entire process execution rather than stopping after 5 minutes (39a379eb
). -
An additional newline character is no longer required when providing the seed during seed restore when entering seeds in hexadecimal form (
f31e848f
). -
The passphrase confirmation can now be piped during the
--create
prompts (dd93c2f6
).
Changelog
The following lists all commits included in dcrwallet v1.8.0 that were not backported to a prior 1.7.x release:
e71decbd
: Trickle tickets during mixed buying82f59828
: Update version prerelease and metadata for release-v1.8 branch92529a4b
: Prepare v1.8.0 release3a52f00a
: Validate that blocks satisfy either V1 or V2 PoW85b48444
: Bump deps.96817277
: Remove features marked deprecated8374bd52
: Follow DCP0012 once activated.99be2039
: Remove jsonrpc/types module replacement1683d3ae
: multi: Fix "the the" comment typos.c9fc99b2
: vsp: Don't revoke tickets.a8f2b058
: vsp: Add missing mutex locks.b6467521
: multi: Introduce AgendaChoices type.816f16d6
: vsp: Don't export Policy.d95475b1
: vsp: Unparam Policy.bf8e7a09
: vsp: Don't export Wallet.6cc8d053
: Validate VSP configs on startup.a19dcb43
: jsonrpc: Respect configured VSPMaxFee.c6933a35
: Move logger subsystem variables to internal package7cd8248f
: linter: fixes72eefbed
: Revert unintentional context change from previous commitdc38eb65
: Unexport wallet SaveRescanned method0aeb02cd
: vsp: Use client provided by vspd package.89623dc9
: build: Test against Go 1.2069d8b47b
: multi: linter cleanupdfcac12f
: Avoid spv data race on rescanned block hashes86898358
: Bump remaining golang.org/x/* modulese89da321
: Bump golang.org/x/sys module904a6db4
: cmd: update to latest deps5b6ab6da
: multi: Modify PurchaseTickets method.4c697648
: rpc: Add parameters to PurchaseTickets.c609d558
: server: Add DumpPrivateKey.12b9c552
: rpc: Add DumpPrivateKey method type.80a0e716
: server: Add Address method.a333c1f5
: rpc: Add address method type.eab54c36
: Fetch tspends in SPV mode39a379eb
: dcrwallet: Add --cpuprofile option7352c1cb
: rpc: Add TSpendPolicies and SetTSpendPolicy requestsf31e848f
: Do not require additional newline prompting a hex seeddd93c2f6
: Allow passphrase confirmation to be read from non-tty566eff83
: multi: Remove some unused code183083d6
: multi: Update dcrd pkgs to wip major versions5e7d5e73
: multi: Bump major module version to 3b16f7ca0
: vsp: Pass the context to feepayment instead of creating a new one.fe1bb25f
: tests: Use a single context in tests.3b3e9e04
: build: Test against Go 1.193d518eab
: whack a commented842ec8
: Run go fmt from Go 1.19 over the tree7cdfb44a
: Bump development version4ed5a4c6
: Prevent panic in RPC-mode getstakeinfo4c162c4f
: Fix compatibility with latest development dcrd04d8d0f6
: Fix regen.sh return code if $UID is unset736efd2a
: Make default fee amount constant more readable185f9cd7
: Update to latest gRPC4941af16
: Updates for Go 1.1880bcd2f3
: Switch away from deprecated terminal packaged9945563
: wallet: No taking voting addresses.
Code Contributors (alphabetical order):
- Alex Yocom-Piatt (@alexlyp)
- @bgptr
- Dave Collins (@davecgh)
- David Hill (@dajohi)
- Jamie Holdstock (@jholdstock)
- @JoeGruffins
- Josh Rickmar (@jrick)
- Matheus Degiovani (@matheusd)
- @norwnd