diff --git a/src/bls/bls_batchverifier.h b/src/bls/bls_batchverifier.h index 86df3c2d42ed9..a5181c7865220 100644 --- a/src/bls/bls_batchverifier.h +++ b/src/bls/bls_batchverifier.h @@ -148,7 +148,7 @@ class CBLSInsecureBatchVerifier } } - if (!aggSig.IsValid()) { + if (!aggPubKey.IsValid()) { // only duplicates for this msgHash continue; } diff --git a/src/llmq/quorums_dkgsessionhandler.cpp b/src/llmq/quorums_dkgsessionhandler.cpp index d25e1ce9c6397..17a57020dd875 100644 --- a/src/llmq/quorums_dkgsessionhandler.cpp +++ b/src/llmq/quorums_dkgsessionhandler.cpp @@ -509,7 +509,7 @@ void CDKGSessionHandler::HandleDKGRound() auto fContributeWait = [this] { return ProcessPendingMessageBatch(*curSession, pendingContributions, 8); }; - HandlePhase(QuorumPhase_Contribute, QuorumPhase_Complain, curQuorumHash, 0.5, fContributeStart, fContributeWait); + HandlePhase(QuorumPhase_Contribute, QuorumPhase_Complain, curQuorumHash, 0.05, fContributeStart, fContributeWait); // Complain auto fComplainStart = [this]() { @@ -518,7 +518,7 @@ void CDKGSessionHandler::HandleDKGRound() auto fComplainWait = [this] { return ProcessPendingMessageBatch(*curSession, pendingComplaints, 8); }; - HandlePhase(QuorumPhase_Complain, QuorumPhase_Justify, curQuorumHash, 0.1, fComplainStart, fComplainWait); + HandlePhase(QuorumPhase_Complain, QuorumPhase_Justify, curQuorumHash, 0.05, fComplainStart, fComplainWait); // Justify auto fJustifyStart = [this]() { @@ -527,7 +527,7 @@ void CDKGSessionHandler::HandleDKGRound() auto fJustifyWait = [this] { return ProcessPendingMessageBatch(*curSession, pendingJustifications, 8); }; - HandlePhase(QuorumPhase_Justify, QuorumPhase_Commit, curQuorumHash, 0.1, fJustifyStart, fJustifyWait); + HandlePhase(QuorumPhase_Justify, QuorumPhase_Commit, curQuorumHash, 0.05, fJustifyStart, fJustifyWait); // Commit auto fCommitStart = [this]() { @@ -536,7 +536,7 @@ void CDKGSessionHandler::HandleDKGRound() auto fCommitWait = [this] { return ProcessPendingMessageBatch(*curSession, pendingPrematureCommitments, 8); }; - HandlePhase(QuorumPhase_Commit, QuorumPhase_Finalize, curQuorumHash, 0.5, fCommitStart, fCommitWait); + HandlePhase(QuorumPhase_Commit, QuorumPhase_Finalize, curQuorumHash, 0.1, fCommitStart, fCommitWait); auto finalCommitments = curSession->FinalizeCommitments(); for (const auto& fqc : finalCommitments) { diff --git a/src/llmq/quorums_signing.cpp b/src/llmq/quorums_signing.cpp index 239978356da39..0bea6a16282f2 100644 --- a/src/llmq/quorums_signing.cpp +++ b/src/llmq/quorums_signing.cpp @@ -562,10 +562,11 @@ CQuorumCPtr CSigningManager::SelectQuorumForSigning(Consensus::LLMQType llmqType uint256 startBlock; { LOCK(cs_main); - if (signHeight > chainActive.Height()) { + int startBlockHeight = signHeight - SIGN_HEIGHT_OFFSET; + if (startBlockHeight > chainActive.Height()) { return nullptr; } - startBlock = chainActive[signHeight - SIGN_HEIGHT_OFFSET]->GetBlockHash(); + startBlock = chainActive[startBlockHeight]->GetBlockHash(); } auto quorums = quorumManager->ScanQuorums(llmqType, startBlock, poolSize);