mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
commit
8bc90cb7f8
18
jsonrpc.cpp
18
jsonrpc.cpp
@ -74,6 +74,12 @@ struct Setup
|
||||
}
|
||||
};
|
||||
|
||||
string fromAscii(string _s)
|
||||
{
|
||||
bytes b = asBytes(_s);
|
||||
return "0x" + toHex(b);
|
||||
}
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(environment, Setup)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(jsonrpc_defaultBlock)
|
||||
@ -312,6 +318,18 @@ BOOST_AUTO_TEST_CASE(contract_storage)
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(sha3)
|
||||
{
|
||||
cnote << "Testing jsonrpc sha3...";
|
||||
string testString = "multiply(uint256)";
|
||||
h256 expected = dev::sha3(testString);
|
||||
|
||||
auto hexValue = fromAscii(testString);
|
||||
string result = jsonrpcClient->web3_sha3(hexValue);
|
||||
BOOST_CHECK_EQUAL(toJS(expected), result);
|
||||
BOOST_CHECK_EQUAL("0xc6888fa159d67f77c2f3d7a402e199802766bd7e8d4d1ecd2274fc920265d56a", result);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
|
@ -12,6 +12,16 @@ class WebThreeStubClient : public jsonrpc::Client
|
||||
public:
|
||||
WebThreeStubClient(jsonrpc::IClientConnector &conn) : jsonrpc::Client(conn) {}
|
||||
|
||||
std::string web3_sha3(const std::string& param1) throw (jsonrpc::JsonRpcException)
|
||||
{
|
||||
Json::Value p;
|
||||
p.append(param1);
|
||||
Json::Value result = this->CallMethod("web3_sha3",p);
|
||||
if (result.isString())
|
||||
return result.asString();
|
||||
else
|
||||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString());
|
||||
}
|
||||
std::string eth_coinbase() throw (jsonrpc::JsonRpcException)
|
||||
{
|
||||
Json::Value p;
|
||||
|
Loading…
Reference in New Issue
Block a user