-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: isdlock support without quorum rotation (regtest only) #5259
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
feat: isdlock support without quorum rotation (regtest only) #5259
Conversation
| std::string strLLMQType = gArgs.GetArg("-llmqinstantsend", std::string(llmq_params_opt->name)); | ||
|
|
||
| Consensus::LLMQType llmqType = Consensus::LLMQType::LLMQ_NONE; | ||
| for (const auto& params : consensus.llmqs) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: it seems as this loop already implemented several times:
if (auto optLLMQParams = ranges::find_if_opt(Params().GetConsensus().llmqs,
[&strLLMQType](const auto& params){return params.name == strLLMQType;})) {
in src/llmq/utils.cpp and src/chainparams.cpp:
Consensus::LLMQType llmqType = Consensus::LLMQType::LLMQ_NONE;
for (const auto& params : consensus.llmqs) {
if (params.name == strLLMQType) {
llmqType = params.type;
}
}
May be it's time to refactor to a new method:
const Consensus::LLMQParams& GetLLMQ(const std::string& llmqTypeName) const;
?
|
@knst All your suggestions are valid. |
|
@PastaPastaPasta @UdjinM6 Moved this to v19 as requested by @markin-io. |
UdjinM6
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK for squash merge (built locally)
…enddip0024` (#5654) ## Issue being fixed or feature implemented This reverts #5636 and introduces 2 similar cmd-line/config params which are made specifically for regtest. Turned out Platform guys actually still need smth like that for local testing #5259. ## What was done? pls see individual commits ## How Has This Been Tested? run tests but we don't really have(/need?) tests for this. ## Breaking Changes n/a ## Checklist: - [x] I have performed a self-review of my own code - [ ] 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 _(for repository code-owners and collaborators only)_ cc @shumkov
Issue being fixed or feature implemented
In #5229, we disabled rotation when running a regtest with 3 nodes.
Instantsend were non-deterministic islocks.
This PR aims to make them deterministic for a 3-nodes regtest network (Platform dev environment).
What was done?
Added the possibility to overwrite
llmqinstantsendandllmqinstantsenddip0024.By starting a regtest with:
-llmqinstantsend=llmq_test-llmqinstantsenddip0024=llmq_test_instantsendInstantsend locks will be deterministic without running quorum rotation.
How Has This Been Tested?
Breaking Changes
Checklist:
For repository code-owners and collaborators only