Make 'tx' RPC command with no parameteres work. It displays all

"in progress" transactions that affect local accounts.
This commit is contained in:
JoelKatz
2012-01-20 17:44:28 -08:00
parent 5196be1645
commit ff4678c741
3 changed files with 12 additions and 0 deletions

View File

@@ -393,6 +393,9 @@ Json::Value RPCServer::doTx(Json::Value& params)
std::string param1, param2;
if(!extractString(param1, params, 0))
{ // all local transactions
Json::Value ret(Json::objectValue);
theApp->getWallet().addLocalTransactions(ret);
return ret;
}
if(Transaction::isHexTxID(param1))

View File

@@ -882,3 +882,11 @@ void Wallet::applyTransaction(Transaction::pointer txn)
}
}
}
void Wallet::addLocalTransactions(Json::Value& ret)
{
boost::recursive_mutex::scoped_lock sl(mLock);
for(std::map<uint256, LocalTransaction::pointer>::iterator it=mTransactions.begin();
it!=mTransactions.end(); ++it)
ret[it->first.GetHex()]=it->second->getJson();
}

View File

@@ -72,6 +72,7 @@ public:
bool getFullFamilyInfo(const uint160& family, std::string& name, std::string& comment,
std::string& pubGen, bool& isLocked);
Json::Value getFamilyJson(const uint160& family);
void addLocalTransactions(Json::Value&);
static bool isHexPrivateKey(const std::string&);
static bool isHexPublicKey(const std::string&);