dcrwallet v2.0.5
This release includes fixes to increase the mixing reliability and improves startup syncing when operating in in SPV mode.
All mixing users should upgrade to this release to maintain the maximum anonymity set.
Bug fixes
-
When secrets are revealed in a mix, blame assignment is delayed until all expected messages for the current stage of the run have been received (decred/dcrd#3454).
-
A rare crash that could occur calculating mixing message jitter was fixed (decred/dcrd#3448).
-
A started but killed
csppsolver
child process is now detected. If this occurs, wallets will fall back to depending on other peers' published root solutions and will stop advertising root solving capabilities to other peers (decred/dcrd#3451). -
A missing check that published roots in the mixing protocol are in the proper order was added (decred/dcrd#3453).
-
When mixed tickets are purchased using the
purchasetickets
JSON-RPC method, the mix change is returned to the configured change account (b22f59b3
). -
When mixing is disabled and no other voting account has been specified, voting addresses are derived from the purchasing account rather than the unset voting account (
bf73f3c2
). -
The
mixaccount
JSON-RPC method, which was unusable since the introduction of P2P mixing, was fixed (cb88e4f0
). -
The
--ticketsplitaccount
option, used when converting an unmixed ticketbuyer gradually over to a mixing buyer, was not being used since the introduction of P2P mixing (e45749aa
). -
The voting account, a required argument during mixed ticketbuying, is now always used when mixing is enabled, even when
UseVotingAccount
in a ticket purchasing request is not set true (c1b1ac0b
). -
A hang occuring at the end of initial SPV sync has been fixed (
7def7850
).
Other Improvements
-
Peers who send too few headers, which could slow down initial sync time, are disconnected (
59a40408
). -
Peers who send headers before being requested are disconnected earlier in the sync process (
58585aa5
). -
Peers who send headers that do not connect to the block locators are disconnected earlier in the sync process (
fdd9e0b2
). -
An error determining the block to rescan from is no longer a permanent ticket autobuyer failure (
8c660622
). -
Background mixing client operations are more reliably stopped when
dcrd
is disconnected in RPC sync mode (01f1e12e
). -
Compatibility with older VSP software has been improved (
3bbc7781
).
Changelog
The following lists all commits since dcrwallet v2.0.4:
563b6779
: [release-v2.0] version: Update for v2.0.55a0c93f7
: [release-v2.0] Update to latest mixing module7def7850
: [release-v2.0] spv: Accept cfilters from more peers.3bbc7781
: [release-v2.0] multi: Send empty VSP policy fields01f1e12e
: [release-v2.0] Add context wrapping for syncer disconnections45d78411
: [release-v2.0] rescan: add missing db update error checkc1b1ac0b
: [release-v2.0] Always use configured voting account when mixinge45749aa
: [release-v2.0] Use correct account for mixed ticket split txns.8c660622
: [release-v2.0] ticketbuyer: Dont terminate if RescanPoint fails.cb88e4f0
: [release-v2.0] jsonrpc: Allow mixaccount RPC to actually mix.bf73f3c2
: [release-v2.0] wallet: Use purchase acct for voting if not mixingb22f59b3
: [release-v2.0] jsonrpc: Use correct change account when mixing.fdd9e0b2
: [release-v2.0] p2p: Move check for getheaders locators earlier in the call58585aa5
: [release-v2.0] p2p: Move headers requested check earlier in the call59a40408
: [release-v2.0] p2p: Disconnect from peers that sent too few headers
Code Contributors (alphabetical order):
- David Hill (@dajohi)
- Matheus Degiovani (@matheusd)
- Jamie Holdstock (@jholdstock)
- @JoeGruffins
- Josh Rickmar (@jrick)