A couple of minor improvements in IS code (#3114)
* check if we can lock before checking if it is conflicting, it is very rare a tx will actually be conflicting, whereas it is very common that a MN will not be able to sign for a specific Tx Signed-off-by: Pasta <pasta@dashboost.org> * remove unused variable Signed-off-by: Pasta <pasta@dashboost.org> * move sync check higher up Signed-off-by: Pasta <pasta@dashboost.org> * remove unused/unnecessary variable Signed-off-by: Pasta <pasta@dashboost.org> * remove unused variable Signed-off-by: Pasta <pasta@dashboost.org> * Revert "move sync check higher up" This reverts commit 77fbe054df78b8bb12f686a627ef618ecff7e7a1.
This commit is contained in:
parent
43b7c31d96
commit
c5da938518
@ -402,11 +402,11 @@ bool CInstantSendManager::ProcessTx(const CTransaction& tx, const Consensus::Par
|
|||||||
g_connman->RelayInvFiltered(inv, tx, LLMQS_PROTO_VERSION);
|
g_connman->RelayInvFiltered(inv, tx, LLMQS_PROTO_VERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsConflicted(tx)) {
|
if (!CheckCanLock(tx, true, params)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CheckCanLock(tx, true, params)) {
|
if (IsConflicted(tx)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,14 +461,11 @@ bool CInstantSendManager::CheckCanLock(const CTransaction& tx, bool printDebug,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
CAmount nValueIn = 0;
|
|
||||||
for (const auto& in : tx.vin) {
|
for (const auto& in : tx.vin) {
|
||||||
CAmount v = 0;
|
CAmount v = 0;
|
||||||
if (!CheckCanLock(in.prevout, printDebug, tx.GetHash(), &v, params)) {
|
if (!CheckCanLock(in.prevout, printDebug, tx.GetHash(), &v, params)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
nValueIn += v;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -560,8 +557,6 @@ void CInstantSendManager::HandleNewRecoveredSig(const CRecoveredSig& recoveredSi
|
|||||||
|
|
||||||
void CInstantSendManager::HandleNewInputLockRecoveredSig(const CRecoveredSig& recoveredSig, const uint256& txid)
|
void CInstantSendManager::HandleNewInputLockRecoveredSig(const CRecoveredSig& recoveredSig, const uint256& txid)
|
||||||
{
|
{
|
||||||
auto llmqType = Params().GetConsensus().llmqTypeInstantSend;
|
|
||||||
|
|
||||||
CTransactionRef tx;
|
CTransactionRef tx;
|
||||||
uint256 hashBlock;
|
uint256 hashBlock;
|
||||||
if (!GetTransaction(txid, tx, Params().GetConsensus(), hashBlock, true)) {
|
if (!GetTransaction(txid, tx, Params().GetConsensus(), hashBlock, true)) {
|
||||||
@ -958,8 +953,6 @@ void CInstantSendManager::ProcessNewTransaction(const CTransactionRef& tx, const
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool inMempool = mempool.get(tx->GetHash()) != nullptr;
|
|
||||||
|
|
||||||
uint256 islockHash;
|
uint256 islockHash;
|
||||||
{
|
{
|
||||||
LOCK(cs);
|
LOCK(cs);
|
||||||
|
Loading…
Reference in New Issue
Block a user