From a584a9c2843ed332782135b3723027dda5b9365d Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Thu, 27 Sep 2012 15:16:38 -0700 Subject: [PATCH] WS: Add ledger_entry option offer. --- src/WSDoor.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/WSDoor.cpp b/src/WSDoor.cpp index 5eca83fb2d..8f3a94b100 100644 --- a/src/WSDoor.cpp +++ b/src/WSDoor.cpp @@ -640,7 +640,28 @@ void WSConnection::doLedgerEntry(Json::Value& jvResult, const Json::Value& jvReq } else if (jvRequest.isMember("offer")) { - jvResult["error"] = "notImplemented"; + NewcoinAddress naAccountID; + + if (!jvRequest.isObject()) + { + uNodeIndex.SetHex(jvRequest["offer"].asString()); + } + else if (!jvRequest["offer"].isMember("account") + || !jvRequest["offer"].isMember("seq") + || !jvRequest["offer"]["seq"].isIntegral()) + { + jvResult["error"] = "malformedRequest"; + } + else if (!naAccountID.setAccountID(jvRequest["offer"]["account"].asString())) + { + jvResult["error"] = "malformedAddress"; + } + else + { + uint32 uSequence = jvRequest["offer"]["seq"].asUInt(); + + uNodeIndex = Ledger::getOfferIndex(naAccountID.getAccountID(), uSequence); + } } else if (jvRequest.isMember("ripple_state")) {