add daily snapshot address to getsnapshot (top = -1)
This commit is contained in:
@@ -1282,7 +1282,8 @@ UniValue getsnapshot(const UniValue& params, bool fHelp)
|
||||
if (params.size() > 0 && !params[0].isNull()) {
|
||||
top = atoi(params[0].get_str().c_str());
|
||||
if (top <= 0)
|
||||
throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, top must be a positive integer");
|
||||
//throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, top must be a positive integer");
|
||||
top = -1;
|
||||
}
|
||||
|
||||
if ( fHelp || params.size() > 1)
|
||||
|
||||
19
src/txdb.cpp
19
src/txdb.cpp
@@ -555,6 +555,8 @@ bool CBlockTreeDB::Snapshot2(std::map <std::string, CAmount> &addressAmounts, Un
|
||||
return true;
|
||||
}
|
||||
|
||||
extern std::vector <std::pair<CAmount, CTxDestination>> vAddressSnapshot;
|
||||
|
||||
UniValue CBlockTreeDB::Snapshot(int top)
|
||||
{
|
||||
int topN = 0;
|
||||
@@ -564,11 +566,20 @@ UniValue CBlockTreeDB::Snapshot(int top)
|
||||
UniValue result(UniValue::VOBJ);
|
||||
UniValue addressesSorted(UniValue::VARR);
|
||||
result.push_back(Pair("start_time", (int) time(NULL)));
|
||||
if ( Snapshot2(addressAmounts,&result) )
|
||||
if ( (vAddressSnapshot.size() > 0 && top < 0) || (Snapshot2(addressAmounts,&result) && top > 0) )
|
||||
{
|
||||
for (std::pair<std::string, CAmount> element : addressAmounts)
|
||||
vaddr.push_back( make_pair(element.second, element.first) );
|
||||
std::sort(vaddr.rbegin(), vaddr.rend());
|
||||
if ( top > 0 )
|
||||
{
|
||||
for (std::pair<std::string, CAmount> element : addressAmounts)
|
||||
vaddr.push_back( make_pair(element.second, element.first) );
|
||||
std::sort(vaddr.rbegin(), vaddr.rend());
|
||||
}
|
||||
else
|
||||
{
|
||||
for ( auto address : vAddressSnapshot )
|
||||
vaddr.push_back(make_pair(address.first, CBitcoinAddress(address.second).ToString()));
|
||||
top = vAddressSnapshot.size();
|
||||
}
|
||||
int topN = 0;
|
||||
for (std::vector<std::pair<CAmount, std::string>>::iterator it = vaddr.begin(); it!=vaddr.end(); ++it)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user