mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
refactor: simplify comparator in rpc/governance
This commit is contained in:
parent
4083fff0b2
commit
b2ad5302ce
@ -271,16 +271,13 @@ static UniValue gobject_list_prepared(const JSONRPCRequest& request)
|
||||
std::vector<const Governance::Object*> vecObjects = wallet->GetGovernanceObjects();
|
||||
// Sort the vector by the object creation time/hex data
|
||||
std::sort(vecObjects.begin(), vecObjects.end(), [](const Governance::Object* a, const Governance::Object* b) {
|
||||
bool fGreater = a->time > b->time;
|
||||
bool fEqual = a->time == b->time;
|
||||
bool fHexGreater = a->GetDataAsHexString() > b->GetDataAsHexString();
|
||||
return fGreater || (fEqual && fHexGreater);
|
||||
if (a->time != b->time) return a->time < b->time;
|
||||
return a->GetDataAsHexString() < b->GetDataAsHexString();
|
||||
});
|
||||
|
||||
UniValue jsonArray(UniValue::VARR);
|
||||
auto it = vecObjects.rbegin() + std::max<int>(0, vecObjects.size() - nCount);
|
||||
while (it != vecObjects.rend()) {
|
||||
jsonArray.push_back((*it++)->ToJson());
|
||||
for (auto it = vecObjects.begin() + std::max<int>(0, vecObjects.size() - nCount); it != vecObjects.end(); ++it) {
|
||||
jsonArray.push_back((*it)->ToJson());
|
||||
}
|
||||
|
||||
return jsonArray;
|
||||
|
Loading…
Reference in New Issue
Block a user