Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/rpcwallet.cpp
Show First 20 Lines • Show All 1,684 Lines • ▼ Show 20 Lines | UniValue listtransactions(const Config &config, const JSONRPCRequest &request) { | ||||
if (nFrom > (int)ret.size()) { | if (nFrom > (int)ret.size()) { | ||||
nFrom = ret.size(); | nFrom = ret.size(); | ||||
} | } | ||||
if ((nFrom + nCount) > (int)ret.size()) { | if ((nFrom + nCount) > (int)ret.size()) { | ||||
nCount = ret.size() - nFrom; | nCount = ret.size() - nFrom; | ||||
} | } | ||||
std::vector<UniValue> arrTmp = ret.getValues(); | const std::vector<UniValue> &txs = ret.getValues(); | ||||
UniValue result{UniValue::VARR}; | |||||
std::vector<UniValue>::iterator first = arrTmp.begin(); | |||||
std::advance(first, nFrom); | |||||
std::vector<UniValue>::iterator last = arrTmp.begin(); | |||||
std::advance(last, nFrom + nCount); | |||||
if (last != arrTmp.end()) { | |||||
arrTmp.erase(last, arrTmp.end()); | |||||
} | |||||
if (first != arrTmp.begin()) { | |||||
arrTmp.erase(arrTmp.begin(), first); | |||||
} | |||||
// Return oldest to newest | // Return oldest to newest | ||||
std::reverse(arrTmp.begin(), arrTmp.end()); | result.push_backV({txs.rend() - nFrom - nCount, txs.rend() - nFrom}); | ||||
return result; | |||||
ret.clear(); | |||||
ret.setArray(); | |||||
ret.push_backV(arrTmp); | |||||
return ret; | |||||
} | } | ||||
static UniValue listsinceblock(const Config &config, | static UniValue listsinceblock(const Config &config, | ||||
const JSONRPCRequest &request) { | const JSONRPCRequest &request) { | ||||
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request); | std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request); | ||||
CWallet *const pwallet = wallet.get(); | CWallet *const pwallet = wallet.get(); | ||||
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) { | if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) { | ||||
▲ Show 20 Lines • Show All 3,007 Lines • Show Last 20 Lines |