diff --git a/src/evo/assetlocktx.cpp b/src/evo/assetlocktx.cpp index 64ee2b32c4..27e53e0b24 100644 --- a/src/evo/assetlocktx.cpp +++ b/src/evo/assetlocktx.cpp @@ -120,8 +120,11 @@ bool CAssetUnlockPayload::VerifySig(const llmq::CQuorumManager& qman, const uint const auto& llmq_params_opt = Params().GetLLMQ(llmqType); assert(llmq_params_opt.has_value()); - // after deployment WITHDRAWALS activated we check not to quorum, but all active quorums + 1 the latest inactive - const int quorums_to_scan = DeploymentActiveAt(*pindexTip, Params().GetConsensus(), Consensus::DEPLOYMENT_WITHDRAWALS) ? (llmq_params_opt->signingActiveQuorumCount + 1) : 2; + // We check two quorums before DEPLOYMENT_WITHDRAWALS activation + // and "all active quorums + 1 the latest inactive" after activation. + const int quorums_to_scan = DeploymentActiveAt(*pindexTip, Params().GetConsensus(), Consensus::DEPLOYMENT_WITHDRAWALS) + ? (llmq_params_opt->signingActiveQuorumCount + 1) + : 2; const auto quorums = qman.ScanQuorums(llmqType, pindexTip, quorums_to_scan); if (bool isActive = std::any_of(quorums.begin(), quorums.end(), [&](const auto &q) { return q->qc->quorumHash == quorumHash; }); !isActive) { diff --git a/test/functional/rpc_blockchain.py b/test/functional/rpc_blockchain.py index a327a630aa..14c4f55f4a 100755 --- a/test/functional/rpc_blockchain.py +++ b/test/functional/rpc_blockchain.py @@ -162,7 +162,7 @@ class BlockchainTest(BitcoinTestFramework): 'bip9': { 'status': 'defined', 'start_time': 0, - 'timeout': 9223372036854775807, # testdummy does not have a timeout so is set to the max int64 value + 'timeout': 9223372036854775807, # "withdrawals" does not have a timeout so is set to the max int64 value 'since': 0, 'min_activation_height': 0, 'ehf': True