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

Llmq improvements #978

Merged
merged 63 commits into from
Jan 21, 2021
Merged

Llmq improvements #978

merged 63 commits into from
Jan 21, 2021

Conversation

a-bezrukov
Copy link
Contributor

@a-bezrukov a-bezrukov commented Jan 21, 2021

PR intention

Chainlocks is a mechanism for near-instant confirmation of blocks and finding near-instant consensus on the longest valid/accepted chain. It implements the Dash DIP0008 functionality.

Code changes brief

  • Added Dash implementation of chainlocks
  • It depends on the Firo evospork functionality

src/init.cpp Outdated
@@ -2049,8 +2047,6 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
activeMasternodeInfo.blsPubKeyOperator = std::make_unique<CBLSPublicKey>();
}

// ********************************************************* Step 10b: schedule Dash-specific tasks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this comment has to be removed? it's a messy init process, good to break it in stages

return error("ConnectBlock(): ProcessSpecialTxsInBlock for block %s failed with %s",
pindex->GetBlockHash().ToString(), FormatStateMessage(state));
return error("ConnectBlock(): ProcessSpecialTxsInBlock for block height %i failed with %s",
pindex->nHeight, FormatStateMessage(state));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hard to debug in case of competing chains while having only height

configure.ac Outdated
@@ -3,7 +3,7 @@ AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 0)
define(_CLIENT_VERSION_MINOR, 14)
define(_CLIENT_VERSION_REVISION, 3)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bump it to 4 please

psolstice
psolstice previously approved these changes Jan 21, 2021
@lgtm-com
Copy link

lgtm-com bot commented Jan 21, 2021

This pull request introduces 26 alerts and fixes 10 when merging 9cfcd4b into e743e9c - view on LGTM.com

new alerts:

  • 11 for 'import *' may pollute namespace
  • 5 for Except block handles 'BaseException'
  • 3 for Commented-out code
  • 2 for Unused local variable
  • 2 for Unused static function
  • 2 for Variable defined multiple times
  • 1 for Unused import

fixed alerts:

  • 7 for Commented-out code
  • 2 for Catching by value
  • 1 for Commented-out code

@reubenyap reubenyap merged commit 5525561 into master Jan 21, 2021
@reubenyap reubenyap deleted the llmq_improvements branch January 21, 2021 16:22
@lgtm-com
Copy link

lgtm-com bot commented Jan 21, 2021

This pull request introduces 24 alerts and fixes 13 when merging 9cbc32a into e743e9c - view on LGTM.com

new alerts:

  • 11 for 'import *' may pollute namespace
  • 5 for Except block handles 'BaseException'
  • 3 for Commented-out code
  • 2 for Unused local variable
  • 2 for Variable defined multiple times
  • 1 for Unused import

fixed alerts:

  • 7 for Commented-out code
  • 3 for Unused static function
  • 2 for Catching by value
  • 1 for Commented-out code

reubenyap pushed a commit that referenced this pull request Jan 30, 2021
* Copying unstripped binaries

* Debuginfo for OSx

* Debuginfo for OSx

* Debuginfo for OSx

* Reset macos changes

* Llmq improvements (#978)

* Removed znode-payments

* Znodesync-interface cleaned

* darksend has been dealt with

* Removed RPC broadcast

* Znode GUI removed

* Removed znodeman

* Removed znode-sync

* Removed activeznode

* Removed ping and broadcast

* Removed znode

* Removed from GUI and net exchange

* Removed -znodeprivkey

* Removed znode-payments

* Znodesync-interface cleaned

* darksend has been dealt with

* Removed RPC broadcast

* Znode GUI removed

* Removed znodeman

* Removed znode-sync

* Removed activeznode

* Removed ping and broadcast

* Removed znode

* Removed from GUI and net exchange

* Removed -znodeprivkey

* Tests are adjusted

* Removed sporks

* Cleanup in comments, other minor clean-ups

* Stopped using *.dat cache files

* Minor improvements for LLMQs

* Minor improvements for LLMQs

* All LLMQ tests are done

* Llmqs for chainlocks were enabled

* Chainlocks start working

* Wrapping up with chainlocks

* Removed znode-payments

* Znodesync-interface cleaned

* darksend has been dealt with

* Removed znodeman

* Removed znode

* Cleanup in comments, other minor clean-ups

* Minor improvements for LLMQs

* All LLMQ tests are done

* Llmqs for chainlocks were enabled

* Chainlocks start working

* Wrapping up with chainlocks

* Tests are fixed

* Removed the original test

* Evospork controls chainlocks

* More tests for CL

* Blockchain params change for testnet

* Formatting fix

* Minor improvments

* Dealing with the code review comments

* Version update

* HF date is set

* Minor cleanup

* Dealing with code review

Co-authored-by: Andrey <andrey@zcoin.io>
Co-authored-by: Peter Shugalev <peter@shugalev.com>

* Copying unstripped binaries

* Debuginfo for OSx

* Debuginfo for OSx

* Debuginfo for OSx

* Reset macos changes

Co-authored-by: Andrey <andrey@zcoin.io>
Co-authored-by: Peter Shugalev <peter@shugalev.com>
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.

4 participants