Merge branch 'master' of github.com:jedmccaleb/NewCoin

This commit is contained in:
JoelKatz
2013-03-09 17:14:22 -08:00
6 changed files with 36 additions and 8 deletions

View File

@@ -893,8 +893,15 @@ void LedgerEntrySet::ownerCountAdjust(const uint160& uOwnerID, int iAmount, SLE:
const uint32 uOwnerCount = sleRoot->getFieldU32(sfOwnerCount);
if (iAmount + int(uOwnerCount) >= 0)
const uint32 uNew = iAmount + int(uOwnerCount) > 0
? uOwnerCount+iAmount
: 0;
if (uOwnerCount != uNew)
{
sleRoot->setFieldU32(sfOwnerCount, uOwnerCount+iAmount);
entryModify(sleRoot);
}
}
TER LedgerEntrySet::offerDelete(SLE::ref sleOffer, const uint256& uOfferIndex, const uint160& uOwnerID)

View File

@@ -1674,7 +1674,7 @@ bool NetworkOPs::subLedger(InfoSub::ref isrListener, Json::Value& jvResult)
jvResult["reserve_inc"] = Json::UInt(lpClosed->getReserveInc());
if ((mMode == omFULL) || (mMode == omTRACKING))
jvResult["valid_ledgers"] = theApp->getLedgerMaster().getCompleteLedgers();
jvResult["validated_ledgers"] = theApp->getLedgerMaster().getCompleteLedgers();
boost::recursive_mutex::scoped_lock sl(mMonitorLock);
return mSubLedger.insert(std::make_pair(isrListener->getSeq(), isrListener)).second;

View File

@@ -1696,7 +1696,7 @@ Json::Value RPCHandler::doAccountTransactions(Json::Value jvRequest, int& cost)
try
{
#endif
int vl = mNetOps->getValidatedSeq();
unsigned int vl = mNetOps->getValidatedSeq();
ScopedUnlock su(theApp->getMasterLock());
Json::Value ret(Json::objectValue);
@@ -2729,11 +2729,25 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest, int& cost)
if(currencyIn.isNonZero())
STAmount::issuerFromString(issuerIn,(*it)["IssuerIn"].asString());
bool bothSides=false;
if((*it).isMember("BothSides") && (*it)["BothSides"].asBool()) bothSides=true;
mNetOps->subBook(ispSub, currencyIn, currencyOut, issuerIn, issuerOut);
if(bothSides) mNetOps->subBook(ispSub, currencyOut, currencyIn, issuerOut, issuerIn);
if((*it)["StateNow"].asBool())
{
//lpLedger = theApp->getLedgerMaster().getClosedLedger();
//mNetOps->getBookPage(lpLedger, uTakerPaysCurrencyID, uTakerPaysIssuerID, uTakerGetsCurrencyID, uTakerGetsIssuerID, raTakerID.getAccountID(), false, iLimit, jvMarker, jvResult);
Ledger::pointer ledger= theApp->getLedgerMaster().getClosedLedger();
RippleAddress raTakerID;
raTakerID.setAccountID(ACCOUNT_ONE);
const Json::Value jvMarker = Json::Value(Json::nullValue);
mNetOps->getBookPage(ledger, currencyOut, issuerOut, currencyIn, issuerIn, raTakerID.getAccountID(), false, 0, jvMarker, jvResult);
if(bothSides)
{
Json::Value tempJson(Json::objectValue);
if(jvResult.isMember("offers")) jvResult["bids"]=jvResult["offers"];
mNetOps->getBookPage(ledger, currencyIn, issuerIn, currencyOut, issuerOut, raTakerID.getAccountID(), false, 0, jvMarker, tempJson);
if(tempJson.isMember("offers")) jvResult["asks"]=tempJson["offers"];
}
}
}
}