From 2e7a2fd6961b2ebe91bd9ca36f4fbee7bf1f9393 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Mon, 11 Mar 2013 18:58:47 -0700 Subject: [PATCH] Canonicalize API protocol. --- CHANGELOG | 12 ++++++++++++ src/cpp/ripple/Ledger.cpp | 28 ++++++++++++++++++---------- src/cpp/ripple/RPCHandler.cpp | 14 ++++---------- 3 files changed, 34 insertions(+), 20 deletions(-) create mode 100644 CHANGELOG diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000000..13013402e3 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,12 @@ +Critical protocol changes +------------------------- + +* date +* The JSON field "metaData" changing to "meta". +* RPC ledger will no longer take "ledger", use "ledger_hash" or "ledger_index". +* "closedLedger" events: +** "hash" DEPRECATED: use "ledger_hash" +** "seqNum" DEPRECATED: use "ledger_index" +** "closeTime" DEPRECATED: use "close" or "close_human" +* stream "rt_accounts" --> "accounts_proposed" +* stream "rt_transactions" --> "transactions_proposed" diff --git a/src/cpp/ripple/Ledger.cpp b/src/cpp/ripple/Ledger.cpp index 1403ea3ae1..0d85bf1579 100644 --- a/src/cpp/ripple/Ledger.cpp +++ b/src/cpp/ripple/Ledger.cpp @@ -837,26 +837,34 @@ Json::Value Ledger::getJson(int options) boost::recursive_mutex::scoped_lock sl(mLock); - ledger["parentHash"] = mParentHash.GetHex(); - ledger["seqNum"] = boost::lexical_cast(mLedgerSeq); + ledger["seqNum"] = boost::lexical_cast(mLedgerSeq); // DEPRECATED + + ledger["parent_hash"] = mParentHash.GetHex(); + ledger["ledger_index"] = boost::lexical_cast(mLedgerSeq); if (mClosed || bFull) { if (mClosed) ledger["closed"] = true; - ledger["hash"] = mHash.GetHex(); - ledger["transactionHash"] = mTransHash.GetHex(); - ledger["accountHash"] = mAccountHash.GetHex(); - ledger["accepted"] = mAccepted; - ledger["totalCoins"] = boost::lexical_cast(mTotCoins); + + ledger["hash"] = mHash.GetHex(); // DEPRECATED + ledger["totalCoins"] = boost::lexical_cast(mTotCoins); // DEPRECATED + + ledger["ledger_hash"] = mHash.GetHex(); + ledger["transaction_hash"] = mTransHash.GetHex(); + ledger["account_hash"] = mAccountHash.GetHex(); + ledger["accepted"] = mAccepted; + ledger["total_coins"] = boost::lexical_cast(mTotCoins); + if (mCloseTime != 0) { if ((mCloseFlags & sLCF_NoConsensusTime) != 0) - ledger["closeTimeEstimate"] = boost::posix_time::to_simple_string(ptFromSeconds(mCloseTime)); + ledger["close_time_estimate"] = boost::posix_time::to_simple_string(ptFromSeconds(mCloseTime)); else { - ledger["closeTime"] = boost::posix_time::to_simple_string(ptFromSeconds(mCloseTime)); - ledger["closeTimeResolution"] = mCloseResolution; + ledger["close_time"] = mCloseTime; + ledger["close_time_human"] = boost::posix_time::to_simple_string(ptFromSeconds(mCloseTime)); + ledger["close_time_resolution"] = mCloseResolution; } } } diff --git a/src/cpp/ripple/RPCHandler.cpp b/src/cpp/ripple/RPCHandler.cpp index 8704235417..782fa80643 100644 --- a/src/cpp/ripple/RPCHandler.cpp +++ b/src/cpp/ripple/RPCHandler.cpp @@ -2617,14 +2617,6 @@ boost::unordered_set RPCHandler::parseAccountIds(const Json::Valu return usnaResult; } -/* -server : Sends a message anytime the server status changes such as network connectivity. -ledger : Sends a message at every ledger close. -transactions : Sends a message for every transaction that makes it into a ledger. -rt_transactions -accounts -rt_accounts -*/ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest, int& cost) { InfoSub::pointer ispSub; @@ -2704,7 +2696,8 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest, int& cost) { mNetOps->subTransactions(ispSub); } - else if (streamName=="rt_transactions") + else if (streamName=="transactions_proposed" + || streamName=="rt_transactions") // DEPRECATED { mNetOps->subRTTransactions(ispSub); } @@ -2720,7 +2713,8 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest, int& cost) } } - if (jvRequest.isMember("rt_accounts")) + if (jvRequest.isMember("accounts_proposed") + || jvRequest.isMember("rt_accounts")) // DEPRECATED { boost::unordered_set usnaAccoundIds = parseAccountIds(jvRequest["rt_accounts"]);