From 80bad62fcdb3efef22e391fc92f775e727557ec3 Mon Sep 17 00:00:00 2001 From: kaustavha Date: Sun, 11 May 2014 15:30:19 -0400 Subject: [PATCH 1/9] Fixed broken build instructions link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 617d50ce6..e7e21ab12 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Contributors, builders and testers include Eric Lombrozo (cross-compilation), Ti ### Building -See [Build Instructions](https://github.com/ethereum/cpp-ethereum/wiki/Build-Instructions) and [Compatibility Info and Build Tips](https://github.com/ethereum/cpp-ethereum/wiki/Compatibility-Info-and-Build-Tips). +See the [Wiki](https://github.com/ethereum/cpp-ethereum/wiki) for build instructions, compatibility information and build tips. ### Testing From 5aefb2306ba5885a3fd91fd842f37ac87221cd04 Mon Sep 17 00:00:00 2001 From: KKudryavtsev Date: Mon, 12 May 2014 00:09:55 +0100 Subject: [PATCH 2/9] updated gitignore --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 1bf55fed8..85db51f57 100644 --- a/.gitignore +++ b/.gitignore @@ -19,8 +19,13 @@ ipch *.opensdf *.suo +#Xcode stuff +build_xc + *.user *.user.* *~ *.pyc + +.DS_Store \ No newline at end of file From 6ba89491fe00b9c30b193d296925fb6ce11f1fee Mon Sep 17 00:00:00 2001 From: KKudryavtsev Date: Tue, 13 May 2014 01:21:05 +0100 Subject: [PATCH 3/9] new rpc methods: procedures, lastBlock, block --- eth/EthStubServer.cpp | 85 +++++++++++++++++++++++++++++++++++-- eth/EthStubServer.h | 7 ++- eth/abstractethstubserver.h | 21 +++++++++ eth/spec.json | 35 +++++++-------- 4 files changed, 127 insertions(+), 21 deletions(-) diff --git a/eth/EthStubServer.cpp b/eth/EthStubServer.cpp index a2aadec8a..1731de195 100644 --- a/eth/EthStubServer.cpp +++ b/eth/EthStubServer.cpp @@ -8,15 +8,15 @@ cpp-ethereum is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with cpp-ethereum. If not, see . + along with cpp-ethereum. If not, see . */ /** @file EthStubServer.cpp * @authors: - * Gav Wood + * Gav Wood * @date 2014 */ @@ -27,12 +27,40 @@ using namespace std; using namespace eth; + + EthStubServer::EthStubServer(jsonrpc::AbstractServerConnector* _conn, Client& _client): AbstractEthStubServer(_conn), m_client(_client) { } + +//only works with a json spec that doesn't have notifications for now +Json::Value EthStubServer::procedures() +{ + Json::Value ret; + + for(auto proc : this->GetProtocolHanlder()->GetProcedures()) + { + Json::Value proc_j; + + proc_j[proc.second->GetProcedureType() == 0 ? "method" : "notification"] = proc.first; + + Json::Value params_j; + for(auto params : proc.second->GetParameters()) + { + params_j[params.first] = jsontypeToValue(params.second); + } + proc_j["params"] = params_j; + + proc_j["returns"] = jsontypeToValue(proc.second->GetReturnType()); + + ret.append(proc_j); + } + return ret; +} + std::string EthStubServer::coinbase() { ClientGuard g(&m_client); @@ -129,4 +157,55 @@ std::string EthStubServer::secretToAddress(const std::string& _a) { return toJS(KeyPair(jsToSecret(_a)).address()); } + +Json::Value EthStubServer::lastBlock() +{ + return blockJson(""); +} + +Json::Value EthStubServer::block(const std::string& hash) +{ + return blockJson(hash); +} + +Json::Value EthStubServer::blockJson(const std::string& hash) +{ + Json::Value res; + auto const& bc = m_client.blockChain(); + + auto b = hash.length() ? bc.block(h256(hash)) : bc.block(); + + auto bi = BlockInfo(b); + res["number"] = to_string(bc.details(bc.currentHash()).number); + res["hash"] = boost::lexical_cast(bi.hash); + res["parentHash"] = boost::lexical_cast(bi.parentHash); + res["sha3Uncles"] = boost::lexical_cast(bi.sha3Uncles); + res["coinbaseAddress"] = boost::lexical_cast(bi.coinbaseAddress); + res["stateRoot"] = boost::lexical_cast(bi.stateRoot); + res["transactionsRoot"] = boost::lexical_cast(bi.transactionsRoot); + res["minGasPrice"] = boost::lexical_cast(bi.minGasPrice); + res["gasLimit"] = boost::lexical_cast(bi.gasLimit); + res["gasUsed"] = boost::lexical_cast(bi.gasUsed); + res["difficulty"] = boost::lexical_cast(bi.difficulty); + res["timestamp"] = boost::lexical_cast(bi.timestamp); + res["nonce"] = boost::lexical_cast(bi.nonce); + + return res; +} + +Json::Value EthStubServer::jsontypeToValue(int jsontype) +{ + cout<< jsontype << endl; + switch(jsontype) + { + case jsonrpc::JSON_STRING: return ""; //Json::stringValue segfault, fuck knows why + case jsonrpc::JSON_BOOLEAN: return Json::booleanValue; + case jsonrpc::JSON_INTEGER: return Json::intValue; + case jsonrpc::JSON_REAL: return Json::realValue; + case jsonrpc::JSON_OBJECT: return Json::objectValue; + case jsonrpc::JSON_ARRAY: return Json::arrayValue; + default: return Json::nullValue; + } +} + #endif diff --git a/eth/EthStubServer.h b/eth/EthStubServer.h index fc0752910..049efa67b 100644 --- a/eth/EthStubServer.h +++ b/eth/EthStubServer.h @@ -31,11 +31,13 @@ namespace eth { class Client; } namespace eth { class KeyPair; } + class EthStubServer: public AbstractEthStubServer { public: EthStubServer(jsonrpc::AbstractServerConnector* _conn, eth::Client& _client); + virtual Json::Value procedures(); virtual std::string balanceAt(std::string const& _a); virtual Json::Value check(Json::Value const& _as); virtual std::string coinbase(); @@ -51,10 +53,13 @@ public: virtual Json::Value transact(const std::string& aDest, const std::string& bData, const std::string& sec, const std::string& xGas, const std::string& xGasPrice, const std::string& xValue); virtual std::string txCountAt(const std::string& a); virtual std::string secretToAddress(const std::string& a); - + virtual Json::Value lastBlock(); + virtual Json::Value block(const std::string&); void setKeys(std::vector _keys) { m_keys = _keys; } private: eth::Client& m_client; std::vector m_keys; + Json::Value jsontypeToValue(int); + Json::Value blockJson(const std::string&); }; diff --git a/eth/abstractethstubserver.h b/eth/abstractethstubserver.h index 74a50c514..3355b5557 100644 --- a/eth/abstractethstubserver.h +++ b/eth/abstractethstubserver.h @@ -14,6 +14,7 @@ class AbstractEthStubServer : public jsonrpc::AbstractServer(conn) { this->bindAndAddMethod(new jsonrpc::Procedure("balanceAt", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_STRING, "a",jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::balanceAtI); + this->bindAndAddMethod(new jsonrpc::Procedure("block", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_OBJECT, "a",jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::blockI); this->bindAndAddMethod(new jsonrpc::Procedure("check", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_ARRAY, "a",jsonrpc::JSON_ARRAY, NULL), &AbstractEthStubServer::checkI); this->bindAndAddMethod(new jsonrpc::Procedure("coinbase", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::coinbaseI); this->bindAndAddMethod(new jsonrpc::Procedure("create", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_OBJECT, "bCode",jsonrpc::JSON_STRING,"sec",jsonrpc::JSON_STRING,"xEndowment",jsonrpc::JSON_STRING,"xGas",jsonrpc::JSON_STRING,"xGasPrice",jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::createI); @@ -23,7 +24,9 @@ class AbstractEthStubServer : public jsonrpc::AbstractServerbindAndAddMethod(new jsonrpc::Procedure("isMining", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_BOOLEAN, NULL), &AbstractEthStubServer::isMiningI); this->bindAndAddMethod(new jsonrpc::Procedure("key", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::keyI); this->bindAndAddMethod(new jsonrpc::Procedure("keys", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_ARRAY, NULL), &AbstractEthStubServer::keysI); + this->bindAndAddMethod(new jsonrpc::Procedure("lastBlock", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_OBJECT, NULL), &AbstractEthStubServer::lastBlockI); this->bindAndAddMethod(new jsonrpc::Procedure("peerCount", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_INTEGER, NULL), &AbstractEthStubServer::peerCountI); + this->bindAndAddMethod(new jsonrpc::Procedure("procedures", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_ARRAY, NULL), &AbstractEthStubServer::proceduresI); this->bindAndAddMethod(new jsonrpc::Procedure("secretToAddress", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_STRING, "a",jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::secretToAddressI); this->bindAndAddMethod(new jsonrpc::Procedure("storageAt", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_STRING, "a",jsonrpc::JSON_STRING,"x",jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::storageAtI); this->bindAndAddMethod(new jsonrpc::Procedure("transact", jsonrpc::PARAMS_BY_NAME, jsonrpc::JSON_OBJECT, "aDest",jsonrpc::JSON_STRING,"bData",jsonrpc::JSON_STRING,"sec",jsonrpc::JSON_STRING,"xGas",jsonrpc::JSON_STRING,"xGasPrice",jsonrpc::JSON_STRING,"xValue",jsonrpc::JSON_STRING, NULL), &AbstractEthStubServer::transactI); @@ -36,6 +39,11 @@ class AbstractEthStubServer : public jsonrpc::AbstractServerbalanceAt(request["a"].asString()); } + inline virtual void blockI(const Json::Value& request, Json::Value& response) + { + response = this->block(request["a"].asString()); + } + inline virtual void checkI(const Json::Value& request, Json::Value& response) { response = this->check(request["a"]); @@ -81,11 +89,21 @@ class AbstractEthStubServer : public jsonrpc::AbstractServerkeys(); } + inline virtual void lastBlockI(const Json::Value& request, Json::Value& response) + { + response = this->lastBlock(); + } + inline virtual void peerCountI(const Json::Value& request, Json::Value& response) { response = this->peerCount(); } + inline virtual void proceduresI(const Json::Value& request, Json::Value& response) + { + response = this->procedures(); + } + inline virtual void secretToAddressI(const Json::Value& request, Json::Value& response) { response = this->secretToAddress(request["a"].asString()); @@ -108,6 +126,7 @@ class AbstractEthStubServer : public jsonrpc::AbstractServer Date: Tue, 13 May 2014 01:39:43 +0100 Subject: [PATCH 4/9] tabified ethStubServer --- eth/EthStubServer.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/eth/EthStubServer.h b/eth/EthStubServer.h index 049efa67b..51778807d 100644 --- a/eth/EthStubServer.h +++ b/eth/EthStubServer.h @@ -8,11 +8,11 @@ cpp-ethereum is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with cpp-ethereum. If not, see . + along with cpp-ethereum. If not, see . */ /** @file EthStubServer.h * @author Gav Wood @@ -37,7 +37,7 @@ class EthStubServer: public AbstractEthStubServer public: EthStubServer(jsonrpc::AbstractServerConnector* _conn, eth::Client& _client); - virtual Json::Value procedures(); + virtual Json::Value procedures(); virtual std::string balanceAt(std::string const& _a); virtual Json::Value check(Json::Value const& _as); virtual std::string coinbase(); @@ -53,13 +53,12 @@ public: virtual Json::Value transact(const std::string& aDest, const std::string& bData, const std::string& sec, const std::string& xGas, const std::string& xGasPrice, const std::string& xValue); virtual std::string txCountAt(const std::string& a); virtual std::string secretToAddress(const std::string& a); - virtual Json::Value lastBlock(); - virtual Json::Value block(const std::string&); + virtual Json::Value lastBlock(); + virtual Json::Value block(const std::string&); void setKeys(std::vector _keys) { m_keys = _keys; } - private: eth::Client& m_client; std::vector m_keys; - Json::Value jsontypeToValue(int); - Json::Value blockJson(const std::string&); + Json::Value jsontypeToValue(int); + Json::Value blockJson(const std::string&); }; From 7f67696fc7d3aae144769d4cd4677330ad0a79e5 Mon Sep 17 00:00:00 2001 From: KKudryavtsev Date: Tue, 13 May 2014 12:58:41 +0100 Subject: [PATCH 5/9] added "order"s back into the json; fixed styling issues --- eth/EthStubServer.cpp | 26 ++++++++++---------------- eth/EthStubServer.h | 4 ++-- eth/spec.json | 18 +++++++++--------- 3 files changed, 21 insertions(+), 27 deletions(-) diff --git a/eth/EthStubServer.cpp b/eth/EthStubServer.cpp index 1731de195..86a05e883 100644 --- a/eth/EthStubServer.cpp +++ b/eth/EthStubServer.cpp @@ -8,15 +8,15 @@ cpp-ethereum is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with cpp-ethereum. If not, see . + along with cpp-ethereum. If not, see . */ /** @file EthStubServer.cpp * @authors: - * Gav Wood + * Gav Wood * @date 2014 */ @@ -27,15 +27,12 @@ using namespace std; using namespace eth; - - EthStubServer::EthStubServer(jsonrpc::AbstractServerConnector* _conn, Client& _client): AbstractEthStubServer(_conn), m_client(_client) { } - //only works with a json spec that doesn't have notifications for now Json::Value EthStubServer::procedures() { @@ -48,10 +45,8 @@ Json::Value EthStubServer::procedures() proc_j[proc.second->GetProcedureType() == 0 ? "method" : "notification"] = proc.first; Json::Value params_j; - for(auto params : proc.second->GetParameters()) - { + for (auto params: proc.second->GetParameters()) params_j[params.first] = jsontypeToValue(params.second); - } proc_j["params"] = params_j; proc_j["returns"] = jsontypeToValue(proc.second->GetReturnType()); @@ -163,17 +158,17 @@ Json::Value EthStubServer::lastBlock() return blockJson(""); } -Json::Value EthStubServer::block(const std::string& hash) +Json::Value EthStubServer::block(const std::string& _hash) { - return blockJson(hash); + return blockJson(_hash); } -Json::Value EthStubServer::blockJson(const std::string& hash) +Json::Value EthStubServer::blockJson(const std::string& _hash) { Json::Value res; auto const& bc = m_client.blockChain(); - auto b = hash.length() ? bc.block(h256(hash)) : bc.block(); + auto b = _hash.length() ? bc.block(h256(_hash)) : bc.block(); auto bi = BlockInfo(b); res["number"] = to_string(bc.details(bc.currentHash()).number); @@ -193,10 +188,9 @@ Json::Value EthStubServer::blockJson(const std::string& hash) return res; } -Json::Value EthStubServer::jsontypeToValue(int jsontype) +Json::Value EthStubServer::jsontypeToValue(int _jsontype) { - cout<< jsontype << endl; - switch(jsontype) + switch (_jsontype) { case jsonrpc::JSON_STRING: return ""; //Json::stringValue segfault, fuck knows why case jsonrpc::JSON_BOOLEAN: return Json::booleanValue; diff --git a/eth/EthStubServer.h b/eth/EthStubServer.h index 51778807d..9677885bf 100644 --- a/eth/EthStubServer.h +++ b/eth/EthStubServer.h @@ -8,11 +8,11 @@ cpp-ethereum is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with cpp-ethereum. If not, see . + along with cpp-ethereum. If not, see . */ /** @file EthStubServer.h * @author Gav Wood diff --git a/eth/spec.json b/eth/spec.json index 537a7c0e1..51d042a0d 100644 --- a/eth/spec.json +++ b/eth/spec.json @@ -7,16 +7,16 @@ { "method": "key", "params": null, "returns" : "" }, { "method": "keys", "params": null, "returns" : [] }, { "method": "peerCount", "params": null, "returns" : 0 }, - { "method": "balanceAt", "params": { "a": "" }, "returns" : "" }, - { "method": "storageAt", "params": { "a": "", "x": "" }, "returns" : "" }, - { "method": "txCountAt", "params": { "a": "" }, "returns" : "" }, - { "method": "isContractAt", "params": { "a": "" }, "returns" : false }, - { "method": "create", "params": { "sec": "", "xEndowment": "", "bCode": "", "xGas": "", "xGasPrice": "" }, "returns": {} }, - { "method": "transact", "params": { "sec": "", "xValue": "", "aDest": "", "bData": "", "xGas": "", "xGasPrice": "" }, "returns": {} }, - { "method": "secretToAddress", "params": { "a": "" }, "returns" : "" }, - { "method": "check", "params": { "a": [] }, "returns" : [] }, + { "method": "balanceAt", "params": { "a": "" }, "order": ["a"], "returns" : "" }, + { "method": "storageAt", "params": { "a": "", "x": "" }, "order": ["a", "x"], "returns" : "" }, + { "method": "txCountAt", "params": { "a": "" },"order": ["a"], "returns" : "" }, + { "method": "isContractAt", "params": { "a": "" }, "order": ["a"], "returns" : false }, + { "method": "create", "params": { "sec": "", "xEndowment": "", "bCode": "", "xGas": "", "xGasPrice": "" }, "order": ["sec", "xEndowment", "bCode", "xGas", "xGasPrice"] , "returns": {} }, + { "method": "transact", "params": { "sec": "", "xValue": "", "aDest": "", "bData": "", "xGas": "", "xGasPrice": "" }, "order": ["sec", "xValue", "aDest", "bData", "xGas", "xGasPrice"], "returns": {} }, + { "method": "secretToAddress", "params": { "a": "" }, "order": ["a"], "returns" : "" }, + { "method": "check", "params": { "a": [] }, "order": ["a"], "returns" : [] }, { "method": "lastBlock", "params": null, "returns": {}}, - { "method": "block", "params": {"a":""}, "returns": {}} + { "method": "block", "params": {"a":""}, "order": ["a"], "returns": {}} ] From c35d8f218a82e26096e7c1dfb722027fb754d5e2 Mon Sep 17 00:00:00 2001 From: KKudryavtsev Date: Tue, 13 May 2014 12:59:41 +0100 Subject: [PATCH 6/9] spaces --- eth/EthStubServer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth/EthStubServer.cpp b/eth/EthStubServer.cpp index 86a05e883..546a4ce02 100644 --- a/eth/EthStubServer.cpp +++ b/eth/EthStubServer.cpp @@ -16,7 +16,7 @@ */ /** @file EthStubServer.cpp * @authors: - * Gav Wood + * Gav Wood * @date 2014 */ From f9b740e2727e348d22f97331994ec93ac37ba7a0 Mon Sep 17 00:00:00 2001 From: KKudryavtsev Date: Tue, 13 May 2014 13:00:23 +0100 Subject: [PATCH 7/9] remove whitespace --- eth/EthStubServer.h | 1 - 1 file changed, 1 deletion(-) diff --git a/eth/EthStubServer.h b/eth/EthStubServer.h index 9677885bf..52b33fc38 100644 --- a/eth/EthStubServer.h +++ b/eth/EthStubServer.h @@ -31,7 +31,6 @@ namespace eth { class Client; } namespace eth { class KeyPair; } - class EthStubServer: public AbstractEthStubServer { public: From afc836597d26b43fa07aed300a9497fbc8e1d2d4 Mon Sep 17 00:00:00 2001 From: KKudryavtsev Date: Tue, 13 May 2014 13:02:01 +0100 Subject: [PATCH 8/9] added remaining "orders"" --- eth/spec.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/eth/spec.json b/eth/spec.json index 51d042a0d..839ceb9a6 100644 --- a/eth/spec.json +++ b/eth/spec.json @@ -1,12 +1,12 @@ [ - { "method": "procedures", "params": null, "returns": [] }, - { "method": "coinbase", "params": null, "returns" : "" }, - { "method": "isListening", "params": null, "returns" : false }, - { "method": "isMining", "params": null, "returns" : false }, - { "method": "gasPrice", "params": null, "returns" : "" }, - { "method": "key", "params": null, "returns" : "" }, - { "method": "keys", "params": null, "returns" : [] }, - { "method": "peerCount", "params": null, "returns" : 0 }, + { "method": "procedures", "params": null, "order": [], "returns": [] }, + { "method": "coinbase", "params": null, "order": [], "returns" : "" }, + { "method": "isListening", "params": null, "order": [], "returns" : false }, + { "method": "isMining", "params": null, "order": [], "returns" : false }, + { "method": "gasPrice", "params": null, "order": [], "returns" : "" }, + { "method": "key", "params": null, "order": [], "returns" : "" }, + { "method": "keys", "params": null, "order": [], "returns" : [] }, + { "method": "peerCount", "params": null, "order": [], "returns" : 0 }, { "method": "balanceAt", "params": { "a": "" }, "order": ["a"], "returns" : "" }, { "method": "storageAt", "params": { "a": "", "x": "" }, "order": ["a", "x"], "returns" : "" }, { "method": "txCountAt", "params": { "a": "" },"order": ["a"], "returns" : "" }, @@ -15,7 +15,7 @@ { "method": "transact", "params": { "sec": "", "xValue": "", "aDest": "", "bData": "", "xGas": "", "xGasPrice": "" }, "order": ["sec", "xValue", "aDest", "bData", "xGas", "xGasPrice"], "returns": {} }, { "method": "secretToAddress", "params": { "a": "" }, "order": ["a"], "returns" : "" }, { "method": "check", "params": { "a": [] }, "order": ["a"], "returns" : [] }, - { "method": "lastBlock", "params": null, "returns": {}}, + { "method": "lastBlock", "params": null, "order": [], "returns": {}}, { "method": "block", "params": {"a":""}, "order": ["a"], "returns": {}} ] From d6ac5a7318ab4460f7c68f1fdb62c76583a062ec Mon Sep 17 00:00:00 2001 From: KKudryavtsev Date: Tue, 13 May 2014 15:10:45 +0100 Subject: [PATCH 9/9] fixed formatting --- eth/EthStubServer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth/EthStubServer.cpp b/eth/EthStubServer.cpp index 546a4ce02..2153cce06 100644 --- a/eth/EthStubServer.cpp +++ b/eth/EthStubServer.cpp @@ -38,7 +38,7 @@ Json::Value EthStubServer::procedures() { Json::Value ret; - for(auto proc : this->GetProtocolHanlder()->GetProcedures()) + for (auto proc: this->GetProtocolHanlder()->GetProcedures()) { Json::Value proc_j;