Skip to content

v1.8.0

Compare
Choose a tag to compare
@jrick jrick released this 13 Jun 20:46
· 189 commits to master since this release
release-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. A VotingService.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 buying
  • 82f59828: Update version prerelease and metadata for release-v1.8 branch
  • 92529a4b: Prepare v1.8.0 release
  • 3a52f00a: Validate that blocks satisfy either V1 or V2 PoW
  • 85b48444: Bump deps.
  • 96817277: Remove features marked deprecated
  • 8374bd52: Follow DCP0012 once activated.
  • 99be2039: Remove jsonrpc/types module replacement
  • 1683d3ae: 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 package
  • 7cd8248f: linter: fixes
  • 72eefbed: Revert unintentional context change from previous commit
  • dc38eb65: Unexport wallet SaveRescanned method
  • 0aeb02cd: vsp: Use client provided by vspd package.
  • 89623dc9: build: Test against Go 1.20
  • 69d8b47b: multi: linter cleanup
  • dfcac12f: Avoid spv data race on rescanned block hashes
  • 86898358: Bump remaining golang.org/x/* modules
  • e89da321: Bump golang.org/x/sys module
  • 904a6db4: cmd: update to latest deps
  • 5b6ab6da: 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 mode
  • 39a379eb: dcrwallet: Add --cpuprofile option
  • 7352c1cb: rpc: Add TSpendPolicies and SetTSpendPolicy requests
  • f31e848f: Do not require additional newline prompting a hex seed
  • dd93c2f6: Allow passphrase confirmation to be read from non-tty
  • 566eff83: multi: Remove some unused code
  • 183083d6: multi: Update dcrd pkgs to wip major versions
  • 5e7d5e73: multi: Bump major module version to 3
  • b16f7ca0: 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.19
  • 3d518eab: whack a comment
  • ed842ec8: Run go fmt from Go 1.19 over the tree
  • 7cdfb44a: Bump development version
  • 4ed5a4c6: Prevent panic in RPC-mode getstakeinfo
  • 4c162c4f: Fix compatibility with latest development dcrd
  • 04d8d0f6: Fix regen.sh return code if $UID is unset
  • 736efd2a: Make default fee amount constant more readable
  • 185f9cd7: Update to latest gRPC
  • 4941af16: Updates for Go 1.18
  • 80bcd2f3: Switch away from deprecated terminal package
  • d9945563: wallet: No taking voting addresses.

Code Contributors (alphabetical order):