Browse Source

added anonymous to ABI

cl-refactor
Liana Husikyan 10 years ago
parent
commit
7cb944c903
  1. 2
      libsolidity/AST.h
  2. 2
      libsolidity/ExpressionCompiler.cpp
  3. 2
      libsolidity/InterfaceHandler.cpp
  4. 21
      test/SolidityABIJSON.cpp

2
libsolidity/AST.h

@ -570,7 +570,7 @@ public:
std::vector<ASTPointer<VariableDeclaration>> const& getParameters() const { return m_parameters->getParameters(); }
ParameterList const& getParameterList() const { return *m_parameters; }
bool IsAnonymous() const { return m_anonymous; }
bool isAnonymous() const { return m_anonymous; }
virtual TypePointer getType(ContractDefinition const* = nullptr) const override
{

2
libsolidity/ExpressionCompiler.cpp

@ -542,7 +542,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
appendTypeConversion(*arguments[arg - 1]->getType(),
*function.getParameterTypes()[arg - 1], true);
}
if (!event.IsAnonymous())
if (!event.isAnonymous())
{
m_context << u256(h256::Arith(dev::sha3(function.getCanonicalSignature(event.getName()))));
++numIndexed;

2
libsolidity/InterfaceHandler.cpp

@ -70,7 +70,7 @@ std::unique_ptr<std::string> InterfaceHandler::getABIInterface(ContractDefinitio
Json::Value event;
event["type"] = "event";
event["name"] = it->getName();
//todo add anonymous!;
event["anonymous"] = it->isAnonymous();
Json::Value params(Json::arrayValue);
for (auto const& p: it->getParameters())
{

21
test/SolidityABIJSON.cpp

@ -309,6 +309,7 @@ BOOST_AUTO_TEST_CASE(events)
{
"name": "e1",
"type": "event",
"anonymous": false,
"inputs": [
{
"indexed": false,
@ -325,6 +326,7 @@ BOOST_AUTO_TEST_CASE(events)
{
"name": "e2",
"type": "event",
"anonymous": false,
"inputs": []
}
@ -333,6 +335,23 @@ BOOST_AUTO_TEST_CASE(events)
checkInterface(sourceCode, interface);
}
BOOST_AUTO_TEST_CASE(events_anonymous)
{
char const* sourceCode = "contract test {\n"
" event e() anonymous; \n"
"}\n";
char const* interface = R"([
{
"name": "e",
"type": "event",
"anonymous": true,
"inputs": []
}
])";
checkInterface(sourceCode, interface);
}
BOOST_AUTO_TEST_CASE(inherited)
{
@ -380,6 +399,7 @@ BOOST_AUTO_TEST_CASE(inherited)
{
"name": "derivedEvent",
"type": "event",
"anonymous": false,
"inputs":
[{
"indexed": true,
@ -390,6 +410,7 @@ BOOST_AUTO_TEST_CASE(inherited)
{
"name": "baseEvent",
"type": "event",
"anonymous": false,
"inputs":
[{
"indexed": true,

Loading…
Cancel
Save