aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-08-25 17:39:53 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-08-25 17:39:53 +0800
commit20e3b98d1fd7e95b7b03e10e68373283666d1c3c (patch)
tree54954e262e44d9c315fc82a8c7137abf1b0542f5 /libsolidity
parentdd67e5966f41be0b2ef52041ea726930af74f7e9 (diff)
downloaddexon-solidity-20e3b98d1fd7e95b7b03e10e68373283666d1c3c.tar.gz
dexon-solidity-20e3b98d1fd7e95b7b03e10e68373283666d1c3c.tar.zst
dexon-solidity-20e3b98d1fd7e95b7b03e10e68373283666d1c3c.zip
Reorder ABI for readability
Diffstat (limited to 'libsolidity')
-rw-r--r--libsolidity/interface/ABI.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/libsolidity/interface/ABI.cpp b/libsolidity/interface/ABI.cpp
index 3df9d1f8..49df843d 100644
--- a/libsolidity/interface/ABI.cpp
+++ b/libsolidity/interface/ABI.cpp
@@ -32,13 +32,14 @@ Json::Value ABI::generate(ContractDefinition const& _contractDef)
for (auto it: _contractDef.interfaceFunctions())
{
auto externalFunctionType = it.second->interfaceFunctionType();
+ solAssert(!!externalFunctionType, "");
Json::Value method;
method["type"] = "function";
method["name"] = it.second->declaration().name();
// TODO: deprecate constant in a future release
- method["constant"] = it.second->stateMutability() == StateMutability::Pure || it.second->stateMutability() == StateMutability::View;
- method["payable"] = it.second->isPayable();
- method["stateMutability"] = stateMutabilityToString(it.second->stateMutability());
+ method["constant"] = externalFunctionType->stateMutability() == StateMutability::Pure || it.second->stateMutability() == StateMutability::View;
+ method["payable"] = externalFunctionType->isPayable();
+ method["stateMutability"] = stateMutabilityToString(externalFunctionType->stateMutability());
method["inputs"] = formatTypeList(
externalFunctionType->parameterNames(),
externalFunctionType->parameterTypes(),
@@ -53,15 +54,15 @@ Json::Value ABI::generate(ContractDefinition const& _contractDef)
}
if (_contractDef.constructor())
{
+ auto externalFunctionType = FunctionType(*_contractDef.constructor(), false).interfaceFunctionType();
+ solAssert(!!externalFunctionType, "");
Json::Value method;
method["type"] = "constructor";
- auto externalFunction = FunctionType(*_contractDef.constructor(), false).interfaceFunctionType();
- solAssert(!!externalFunction, "");
- method["payable"] = externalFunction->isPayable();
- method["stateMutability"] = stateMutabilityToString(externalFunction->stateMutability());
+ method["payable"] = externalFunctionType->isPayable();
+ method["stateMutability"] = stateMutabilityToString(externalFunctionType->stateMutability());
method["inputs"] = formatTypeList(
- externalFunction->parameterNames(),
- externalFunction->parameterTypes(),
+ externalFunctionType->parameterNames(),
+ externalFunctionType->parameterTypes(),
_contractDef.isLibrary()
);
abi.append(method);