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 CChainParams& chainparams = Params();
|
||||||
const Consensus::Params &consensusParams = chainparams.GetConsensus();
|
const Consensus::Params &consensusParams = chainparams.GetConsensus();
|
||||||
uint64_t totalsats = 0;
|
uint64_t totalsats = 0;
|
||||||
|
|||||||
@@ -367,7 +367,14 @@ CBlockTemplate* CreateNewBlock(CPubKey _pk,const CScript& _scriptPubKeyIn, int32
|
|||||||
dPriority += (double)nValueIn * nConf;
|
dPriority += (double)nValueIn * nConf;
|
||||||
}
|
}
|
||||||
if ( numSN != 0 && numNotaryVins >= numSN / 5 )
|
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
|
else
|
||||||
NotarisationNotaries.clear();
|
NotarisationNotaries.clear();
|
||||||
|
|
||||||
|
|||||||
@@ -128,8 +128,8 @@ UniValue getiguanajson(const UniValue& params, bool fHelp)
|
|||||||
|
|
||||||
json.push_back(Pair("port",iguanaPort));
|
json.push_back(Pair("port",iguanaPort));
|
||||||
json.push_back(Pair("BTCminsigs",BTCminsigs));
|
json.push_back(Pair("BTCminsigs",BTCminsigs));
|
||||||
json.push_back(Pair("minsigs",2));
|
json.push_back(Pair("minsigs",minsigs));
|
||||||
json.push_back(Pair("seeds", seeds));
|
json.push_back(Pair("seeds",seeds));
|
||||||
json.push_back(Pair("notaries",notaries));
|
json.push_back(Pair("notaries",notaries));
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user