WS: Add ledger_entry option ledger.

This commit is contained in:
Arthur Britto
2012-09-27 14:40:56 -07:00
parent 22c22bd734
commit 84dd986b6e
2 changed files with 36 additions and 4 deletions

View File

@@ -609,10 +609,13 @@ void WSConnection::doLedgerEntry(Json::Value& jvResult, const Json::Value& jvReq
jvResult["ledger_index"] = uLedgerIndex;
uint256 uNodeIndex;
bool bNodeBinary = false;
if (jvRequest.isMember("index"))
{
jvResult["error"] = "notImplemented";
// XXX Needs to provide proof.
uNodeIndex.SetHex(jvRequest["index"].asString());
bNodeBinary = true;
}
else if (jvRequest.isMember("account_root"))
{
@@ -675,12 +678,21 @@ void WSConnection::doLedgerEntry(Json::Value& jvResult, const Json::Value& jvReq
if (!sleNode)
{
// Not found.
// XXX We should also provide proof.
jvResult["error"] = "entryNotFound";
// XXX Should also provide proof.
jvResult["error"] = "entryNotFound";
}
else if (bNodeBinary)
{
// XXX Should also provide proof.
Serializer s;
sleNode->add(s);
jvResult["node_binary"] = strHex(s.peekData());
}
else
{
jvResult["node"] = sleNode->getJson(0);
jvResult["node"] = sleNode->getJson(0);
}
}
}

View File

@@ -163,6 +163,26 @@ buster.testCase("Websocket commands", {
});
});
},
'ledger_entry index' :
function(done) {
alpha.ledger_closed(function (r) {
// console.log("result: %s", JSON.stringify(r));
buster.refute('error' in r);
alpha.ledger_entry({
'ledger_index' : r.ledger_index,
'index' : "2B6AC232AA4C4BE41BF49D2459FA4A0347E1B543A4C92FCEE0821C0201E2E9A8",
} , function (r) {
console.log("node: %s", JSON.stringify(r));
buster.assert('node_binary' in r);
done();
});
});
},
});
// vim:ts=4