Check for double signs on notarisation checks. revert minsigs to normal value.
This commit is contained in:
@@ -1886,6 +1886,12 @@ uint64_t komodo_checknotarypay(CBlock *pblock,int32_t height)
|
||||
}
|
||||
}
|
||||
}
|
||||
// check a notary didnt sign twice (this would be an invalid notarisation later on and cause problems)
|
||||
std::set<int> checkdupes( NotarisationNotaries.begin(), NotarisationNotaries.end() );
|
||||
if ( checkdupes.size() != NotarisationNotaries.size() ) {
|
||||
fprintf(stderr, "Possible notarisation is signed multiple times by same notary. It is invalid.\n");
|
||||
return(0);
|
||||
}
|
||||
const CChainParams& chainparams = Params();
|
||||
const Consensus::Params &consensusParams = chainparams.GetConsensus();
|
||||
uint64_t totalsats = 0;
|
||||
|
||||
@@ -367,7 +367,14 @@ CBlockTemplate* CreateNewBlock(CPubKey _pk,const CScript& _scriptPubKeyIn, int32
|
||||
dPriority += (double)nValueIn * nConf;
|
||||
}
|
||||
if ( numSN != 0 && numNotaryVins >= numSN / 5 )
|
||||
fNotarisation = true;
|
||||
{
|
||||
// check a notary didnt sign twice (this would be an invalid notarisation later on and cause problems)
|
||||
std::set<int> checkdupes( NotarisationNotaries.begin(), NotarisationNotaries.end() );
|
||||
if ( checkdupes.size() != NotarisationNotaries.size() ) {
|
||||
NotarisationNotaries.clear();
|
||||
fprintf(stderr, "possible notarisation is signed multiple times by same notary, passed as normal transaction.\n");
|
||||
} else fNotarisation = true;
|
||||
}
|
||||
else
|
||||
NotarisationNotaries.clear();
|
||||
|
||||
|
||||
@@ -128,8 +128,8 @@ UniValue getiguanajson(const UniValue& params, bool fHelp)
|
||||
|
||||
json.push_back(Pair("port",iguanaPort));
|
||||
json.push_back(Pair("BTCminsigs",BTCminsigs));
|
||||
json.push_back(Pair("minsigs",2));
|
||||
json.push_back(Pair("seeds", seeds));
|
||||
json.push_back(Pair("minsigs",minsigs));
|
||||
json.push_back(Pair("seeds",seeds));
|
||||
json.push_back(Pair("notaries",notaries));
|
||||
return json;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user