mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
494b5c744c
## Issue being fixed or feature implemented Implementation of Randomness Beacon Part 3. Starting from v20 activation fork, members for quorums are sorted using (if available) the best CL signature found in Coinbase. If no CL signature is present yet, then the usual way is used (By using Blockhash instead) The actual new way to shuffle is already implemented in https://github.com/dashpay/dash/pull/5366. SPV clients also need to calculate members, but they only know block headers. Since Coinbase is in the actual block, then they lack the required information to correctly calculate quorum members. ## What was done? - Message `MNLISTIDFF` is enriched with a new field `quorumsCLSigs`. This field holds the Chainlock Signature required for each set of indexes corresponding to quorums in field `newQuorums`. - Protocol version has been bumped to `70230`. - Clients with protocol version greater or equal to `70230` will receive the new field `quorumsCLSigs`. - The same field is returned in `protx diff` RPC. Note: - Field `quorumsCLSigs` will populated only after v20 activation - If for one or more quorums, no non-null CL sig was found in CbTx then a null signature is returned in `quorumsCLSigs`. ## How Has This Been Tested? - Functional test mininode's protocol version was bumped to `70230`. - `feature_llmq_rotation.py` checks that `quorumsCLSigs` match in both P2P and RPC messages. ## Breaking Changes No ## Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have added or updated relevant unit/integration/functional/e2e tests - [x] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ --------- Co-authored-by: thephez <thephez@users.noreply.github.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com> Co-authored-by: pasta <pasta@dashboost.org> |
||
---|---|---|
.. | ||
check-doc.py | ||
check-rpc-mappings.py | ||
commit-script-check.sh | ||
extended-lint-all.sh | ||
extended-lint-cppcheck.sh | ||
git-subtree-check.sh | ||
lint-all.sh | ||
lint-assertions.sh | ||
lint-circular-dependencies.sh | ||
lint-cppcheck-dash.sh | ||
lint-filenames.sh | ||
lint-format-strings.py | ||
lint-format-strings.sh | ||
lint-git-commit-check.sh | ||
lint-include-guards.sh | ||
lint-includes.sh | ||
lint-locale-dependence.sh | ||
lint-logs.sh | ||
lint-python-dead-code.sh | ||
lint-python-mutable-default-parameters.sh | ||
lint-python-utf8-encoding.sh | ||
lint-python.sh | ||
lint-qt.sh | ||
lint-rpc-help.sh | ||
lint-shebang.sh | ||
lint-shell-locale.sh | ||
lint-shell.sh | ||
lint-spelling.ignore-words.txt | ||
lint-spelling.sh | ||
lint-submodule.sh | ||
lint-tests.sh | ||
lint-whitespace.sh | ||
README.md |
This folder contains lint scripts.
check-doc.py
Check for missing documentation of command line options.
commit-script-check.sh
Verification of scripted diffs. Scripted diffs are only assumed to run on the latest LTS release of Ubuntu. Running them on other operating systems might require installing GNU tools, such as GNU sed.
git-subtree-check.sh
Run this script from the root of the repository to verify that a subtree matches the contents of the commit it claims to have been updated to.
To use, make sure that you have fetched the upstream repository branch in which the subtree is maintained:
- for
src/secp256k1
: https://github.com/bitcoin-core/secp256k1.git (branch master) - for
src/leveldb
: https://github.com/bitcoin-core/leveldb.git (branch bitcoin-fork) - for
src/univalue
: https://github.com/bitcoin-core/univalue.git (branch master) - for
src/crypto/ctaes
: https://github.com/bitcoin-core/ctaes.git (branch master) - for
src/crc32c
: https://github.com/google/crc32c.git (branch master)
Usage: git-subtree-check.sh DIR (COMMIT)
COMMIT
may be omitted, in which case HEAD
is used.
lint-all.sh
Calls other scripts with the lint-
prefix.