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

Multiple fixes and optimizations for LLMQs and ChainLocks #2724

Merged
merged 9 commits into from
Feb 27, 2019

Commits on Feb 26, 2019

  1. Configuration menu
    Copy the full SHA
    0df4fdb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6ec5557 View commit details
    Browse the repository at this point in the history
  3. Move RemoveAskFor call for CLSIGs into ProcessNewChainLock

    In case we got INV items for the same CLSIG that we recreated through
    HandleNewRecoveredSig, (re-)requesting of the CLSIG from other peers
    becomes unnecessary.
    codablock committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    853aa9e View commit details
    Browse the repository at this point in the history
  4. Move Cleanup() call in CChainLocksHandler::UpdatedBlockTip up

    We bail out early in a few situations from this method, so that Cleanup()
    might not be called while its at the bottom.
    codablock committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    867334e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cc2f707 View commit details
    Browse the repository at this point in the history
  6. Call RemoveAskFor when QFCOMMITMENT was received

    Otherwise we might end up re-requesting it for a very long time when the
    commitment INV was received shortly before it got mined.
    codablock committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    c9dc099 View commit details
    Browse the repository at this point in the history
  7. Call RemoveSigSharesForSession when a recovered sig is received

    Otherwise we end up with session data in node states lingering around until
    a fake "timeout" occurs (can be seen in the logs).
    codablock committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    c8d4286 View commit details
    Browse the repository at this point in the history
  8. Better handling of false-positive conflicts in CSigningManager

    The old code was emitting a lot of messages in logs as it treated sigs
    for exactly the same session as a conflict. This commit fixes this by
    looking at the signHash before logging.
    
    Also handle a corner-case where a recovered sig might be deleted between
    the HasRecoveredSigForId and GetRecoveredSigById call.
    codablock committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    e620f43 View commit details
    Browse the repository at this point in the history
  9. Don't run into session timeout when sig shares come in slow

    Instead of just tracking when the first share was received, we now also
    track when the last (non-duplicate) share was received. Sessios will now
    timeout 5 minutes after the first share arrives, or 1 minute after the last
    one arrived.
    codablock committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    8279b27 View commit details
    Browse the repository at this point in the history