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

This commit is contained in:
JoelKatz
2012-12-06 03:39:37 -08:00
5 changed files with 28 additions and 7 deletions

View File

@@ -774,14 +774,13 @@ SLE::pointer Ledger::getASNode(LedgerStateParms& parms, const uint256& nodeID,
if ( (parms & lepCREATE) == 0 )
{
parms = lepMISSING;
cLog(lsDEBUG) << "getASNode: MISSING";
return SLE::pointer();
}
parms = parms | lepCREATED | lepOKAY;
SLE::pointer sle=boost::make_shared<SLE>(let, nodeID);
cLog(lsDEBUG) << "getASNode: CREATED";
return sle;
}
@@ -790,14 +789,12 @@ cLog(lsDEBUG) << "getASNode: CREATED";
if (sle->getType() != let)
{ // maybe it's a currency or something
cLog(lsDEBUG) << "getASNode: WRONG TYPE";
parms = parms | lepWRONGTYPE;
return SLE::pointer();
}
parms = parms | lepOKAY;
cLog(lsDEBUG) << "getASNode: FOUND";
return sle;
}

View File

@@ -1307,8 +1307,24 @@ bool NetworkOPs::unsubLedger(InfoSub* ispListener)
// <-- bool: true=added, false=already there
bool NetworkOPs::subServer(InfoSub* ispListener, Json::Value& jvResult)
{
uint256 uRandom;
jvResult["stand_alone"] = theConfig.RUN_STANDALONE;
switch (RAND_bytes(uRandom.begin(), uRandom.size()))
{
case 0:
case 1:
jvResult["random"] = uRandom.ToString();
break;
case -1:
default:
// XXX Should probably stop running.
cLog(lsFATAL) << "Internal error: unable to generate secure random.";
break;
}
return mSubServer.insert(ispListener).second;
}

View File

@@ -658,13 +658,13 @@ Json::Value RPCHandler::doAccountOffers(Json::Value jvRequest)
// Result:
// {
// random: <uint160>
// random: <uint256>
// }
Json::Value RPCHandler::doRandom(Json::Value jvRequest)
{
uint160 uRandom;
uint256 uRandom;
switch (RAND_pseudo_bytes(uRandom.begin(), uRandom.size()))
switch (RAND_bytes(uRandom.begin(), uRandom.size()))
{
case 0:
case 1:

View File

@@ -841,6 +841,9 @@ Remote.prototype._server_subscribe = function () {
.on('success', function (message) {
self.stand_alone = !!message.stand_alone;
if (message.random)
self.emit('random', utils.hexToArray(message.random));
if (message.ledger_hash && message.ledger_index) {
self._ledger_time = message.ledger_time;
self._ledger_hash = message.ledger_hash;

View File

@@ -70,6 +70,10 @@ var stringToArray = function (s) {
return a;
};
var hexToArray = function (h) {
return stringToArray(hexToString(h));
}
var chunkString = function (str, n, leftAlign) {
var ret = [];
var i=0, len=str.length;
@@ -96,6 +100,7 @@ var assert = function (assertion, msg) {
exports.trace = trace;
exports.arraySet = arraySet;
exports.hexToString = hexToString;
exports.hexToArray = hexToArray;
exports.stringToArray = stringToArray;
exports.stringToHex = stringToHex;
exports.chunkString = chunkString;