mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
Push unlocked_until in getinfo.
This commit is contained in:
parent
ddebdd9a8f
commit
98545d2cdf
27
src/rpc.cpp
27
src/rpc.cpp
@ -36,6 +36,9 @@ void ThreadRPCServer2(void* parg);
|
|||||||
typedef Value(*rpcfn_type)(const Array& params, bool fHelp);
|
typedef Value(*rpcfn_type)(const Array& params, bool fHelp);
|
||||||
extern map<string, rpcfn_type> mapCallTable;
|
extern map<string, rpcfn_type> mapCallTable;
|
||||||
|
|
||||||
|
static int64 nWalletUnlockTime;
|
||||||
|
static CCriticalSection cs_nWalletUnlockTime;
|
||||||
|
|
||||||
|
|
||||||
Object JSONRPCError(int code, const string& message)
|
Object JSONRPCError(int code, const string& message)
|
||||||
{
|
{
|
||||||
@ -311,6 +314,8 @@ Value getinfo(const Array& params, bool fHelp)
|
|||||||
obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime()));
|
obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime()));
|
||||||
obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize()));
|
obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize()));
|
||||||
obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee)));
|
obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee)));
|
||||||
|
if (pwalletMain->IsCrypted())
|
||||||
|
obj.push_back(Pair("unlocked_until", (boost::int64_t)nWalletUnlockTime));
|
||||||
obj.push_back(Pair("errors", GetWarnings("statusbar")));
|
obj.push_back(Pair("errors", GetWarnings("statusbar")));
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
@ -1360,31 +1365,29 @@ void ThreadTopUpKeyPool(void* parg)
|
|||||||
|
|
||||||
void ThreadCleanWalletPassphrase(void* parg)
|
void ThreadCleanWalletPassphrase(void* parg)
|
||||||
{
|
{
|
||||||
static int64 nWakeTime;
|
|
||||||
int64 nMyWakeTime = GetTime() + *((int*)parg);
|
int64 nMyWakeTime = GetTime() + *((int*)parg);
|
||||||
static CCriticalSection cs_nWakeTime;
|
|
||||||
|
|
||||||
if (nWakeTime == 0)
|
if (nWalletUnlockTime == 0)
|
||||||
{
|
{
|
||||||
CRITICAL_BLOCK(cs_nWakeTime)
|
CRITICAL_BLOCK(cs_nWalletUnlockTime)
|
||||||
{
|
{
|
||||||
nWakeTime = nMyWakeTime;
|
nWalletUnlockTime = nMyWakeTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (GetTime() < nWakeTime)
|
while (GetTime() < nWalletUnlockTime)
|
||||||
Sleep(GetTime() - nWakeTime);
|
Sleep(GetTime() - nWalletUnlockTime);
|
||||||
|
|
||||||
CRITICAL_BLOCK(cs_nWakeTime)
|
CRITICAL_BLOCK(cs_nWalletUnlockTime)
|
||||||
{
|
{
|
||||||
nWakeTime = 0;
|
nWalletUnlockTime = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CRITICAL_BLOCK(cs_nWakeTime)
|
CRITICAL_BLOCK(cs_nWalletUnlockTime)
|
||||||
{
|
{
|
||||||
if (nWakeTime < nMyWakeTime)
|
if (nWalletUnlockTime < nMyWakeTime)
|
||||||
nWakeTime = nMyWakeTime;
|
nWalletUnlockTime = nMyWakeTime;
|
||||||
}
|
}
|
||||||
free(parg);
|
free(parg);
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user