Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare v2.0.5 #2447

Merged
merged 15 commits into from
Nov 11, 2024
Merged

Prepare v2.0.5 #2447

merged 15 commits into from
Nov 11, 2024

Conversation

jrick
Copy link
Member

@jrick jrick commented Nov 11, 2024

No description provided.

matheusd and others added 13 commits November 11, 2024 19:40
The existing full node software (dcrd) always sends batches of 2000
headers when requesting headers during Initial Block Download.

The check added in this commit ensures the wallet disconnects from any
peers that deviate from this behavior. While receiving less than 2000
headers could not cause any consistency or safety issues, it could slow
down sync time.

Backport of 34395a5.
This moves the check for requested headers earlier in the call stack for
processing headers messages.

This ensures misbehaving peers are disconnected earlier, before spending
cpu processing for block hash calculation.

Backport of 68ed4d3.
… call

This moves the check that ensures that a reply to a getheaders connects
to the existing locators ealier in the call stack for processing a
headers response.

This ensures the wallet disconnects from misbehaving peers before
processing block hashes.

Backport of 08c05e9.
This fixes a bug where the change from a ticket purchase was always sent
back to the purchasing account, regardless of whether mixing is enabled
and a different change account has been configured.

Backport of 1d2a414.
In the case where mixing is disabled and no voting account has been set,
the purchase account should be used as a fallback to derive a ticket
voting address.

Backport of 5cd89f5.
This RPC has been broken since dcrwallet was converted to peer-to-peer
mixing in bb04b75.

Backport of f5ebc3c.
If the call to RescanPoint fails the ticketbuyer should not be
terminated forever, it can continue running and subsequent calls to
RescanPoint may succeed. This is how all other errors in the ticketbuyer
are handled (with the exception of incorrect passphrase error).

Backport of 1978106.
This was accidentally changed during the move to peer-to-peer mixing.

Backport of 532aa67.
The comments suggested that this was the intended behavior, but the voting
account option was only being considered when UseVotingAccount (allowing the
option to be used in non-mixing situations) was true, and mixed ticketbuying
was not setting this value.

Backport of 17dd448.
Any long-lived process (such as mixing) must return if the network backend
(e.g. the dcrd RPC connection) is disconnected or the syncer encounters
another error.  However, it was observed that mixclient calls were continuing
to execute despite the syncer erroring, resulting in locked outputs that could
not be mixed after the syncer reconnected and restarted.

To avoid this, the network backend interface gains additional methods to
select on when disconnect occurs, and a new context wrapping function is
added, which creates a derived context that is canceled (or "done") after the
syncer exits.  Wrapped contexts are added in the ticket purchasing and account
mixing paths, including those being performed by the autobuyer.

Backport of 4adf892.
This changes the VSP library functions to fill in missing policy choices
with empty maps instead of nil maps.

This fixes an issue where certain VSPs will fail to accept the policy
calls because those fields are required by the API but not sent.

Backport of 4ec0b8b.
If initial sync takes longer than six blocks and peers have not changed,
sync will hand at ninety-nine percent unable to get cfilters for the
last few blocks. Also accept cfilters from a peer that gave us headers
at or above the desired height in this case.

Backport of 1d9f076.
@jrick jrick merged commit 563b677 into decred:release-v2.0 Nov 11, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants