mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 12:32:48 +01:00
852adb56ae
## Issue being fixed or feature implemented `llmq/utils` has simple util code that used all over code base and also have too heavy code for calculation quorums such as: `GetAllQuorumMembers`, `EnsureQuorumConnections` and other. These helpers for calculation quorums are used only by evo/deterministicmns, evo/simplifiedmns and llmq/* modules, but llmq/utils is included in many other modules for various trivial helpers. ## What was done? Prior work: - https://github.com/dashpay/dash/pull/5753 - #5486 See also #4798 This PR remove all non-quorum calculation code from llmq/utils. Eventually it happens that easier to take everything out rather than move Quorum Calculation to new place atm: - new module llmq/options have a code related to various params, command line options, spork-related etc - llmq/utils is not included in various files which do not use any llmq/utils code - helper `BuildCommitmentHash` goes to llmq/commitment - helper `BuildSignHash` goes to llmq/signing - helper `GetLLMQParam` inlined since it's trivial (it has not been trivial when introduced ages ago) - removed dependency of `IsQuorumEnabled` on CQuorumManager which means `quorumManager` deglobalization is done for 90% ## How Has This Been Tested? - Run unit functional tests - updated circular dependencies `test/lint/lint-circular-dependencies.sh` - check that llmq/utils is not included without needs to calculate Quorums Members ``` $ grep -r include src/ 2> /dev/null | grep -v .Po: | grep -vE 'llmq/utils.(h|cpp)': | grep llmq/utils src/evo/mnauth.cpp:#include <llmq/utils.h> src/evo/deterministicmns.cpp:#include <llmq/utils.h> src/llmq/quorums.cpp:#include <llmq/utils.h> src/llmq/blockprocessor.cpp:#include <llmq/utils.h> src/llmq/commitment.cpp:#include <llmq/utils.h> src/llmq/debug.cpp:#include <llmq/utils.h> src/llmq/dkgsessionhandler.cpp:#include <llmq/utils.h> src/llmq/dkgsession.cpp:#include <llmq/utils.h> src/llmq/dkgsessionmgr.cpp:#include <llmq/utils.h> src/rpc/quorums.cpp:#include <llmq/utils.h> ``` ## Breaking Changes N/A ## Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone |
||
---|---|---|
.. | ||
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.py | ||
lint-python-utf8-encoding.sh | ||
lint-python.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.py | ||
lint-tests.py | ||
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.
Usage: test/lint/git-subtree-check.sh [-r] DIR [COMMIT]
test/lint/git-subtree-check.sh -?
DIR
is the prefix within the repository to check.COMMIT
is the commit to check, if it is not provided, HEAD will be used.-r
checks that subtree commit is present in repository.
To do a full check with -r
, 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)
To do so, add the upstream repository as remote:
git remote add --fetch secp256k1 https://github.com/bitcoin-core/secp256k1.git
lint-all.sh
Calls other scripts with the lint-
prefix.