Commit Graph

4 Commits

Author SHA1 Message Date
Alexander Block
22b5952c5a
Implement and enforce DIP6 commitments (#2477)
* Add LLMQ parameters to consensus params

* Add DIP6 quorum commitment special TX

* Implement CQuorumBlockProcessor which validates and handles commitments

* Add quorum commitments to new blocks

* Propagate QFCOMMITMENT messages to all nodes

* Allow special transactions in blocks which have no inputs/outputs

But only for TRANSACTION_QUORUM_COMMITMENT for now.

* Add quorum commitments to self-crafted blocks in DIP3 tests

* Add simple fork logic for current testnet

This should avoid a fork on the current testnet. It only applies to the
current chain which activated DIP3 at height 264000 and block
00000048e6e71d4bd90e7c456dcb94683ae832fcad13e1760d8283f7e89f332f.

When we revert the chain to retest the DIP3 deployment, this fork logic
can be removed again.

* Use quorumVvecHash instead of quorumHash to make null commitments unique

Implementation of https://github.com/dashpay/dips/pull/31

* Re-add quorum commitments after pruning mempool selected blocks

* Refactor CQuorumBlockProcessor::ProcessBlock to have less nested if/else statements

Also add BEGIN/END markers for temporary code.

* Add comments/documentation to LLMQParams

* Move code which determines if a commitment is required into IsCommitmentRequired

This should make the code easier to read and also removes some duplication.

The also changes the error types that are possible from 3 to 2 now. Instead
of having "bad-qc-already-mined" and "bad-qc-not-mining-phase", there is
only "bad-qc-not-allowed" now.

* Use new parameter from consensus parames for the temporary fork
2018-11-23 15:42:09 +01:00
Alexander Block
40fa1bb492
Add platform dependent include_directories in CMakeLists.txt (#2455)
This gives much better auto-completion and code analysis in CLion.

Also add src/qt/forms to include path.
2018-11-19 07:30:58 +01:00
Alexander Block
0402240a2e
Bump CMAKE_CXX_STANDARD to 14 in CMakeLists.txt (#2377)
We still don't really use this file (it won't even work), but it's good
to have CLion not brable about unknown stuff all the time.
2018-10-25 09:15:49 +02:00
Alexander Block
ef1a86c3e1 Add dummy CMakeLists.txt file to make development with CLion easier (#1978) 2018-03-09 15:41:28 +03:00