- Enchanced Function Type by declaration so that it can provide all the
required information at each place interface functions are consumed
- Changed all places where interface functions was used.
- Simplified Mix's FunctionDefinition code
- FunctionDescription is the abstraction of what should describe a
function. It can either be a VariableDeclaration of a
FunctionDefinition.
- ParamDescription is what FunctionDescription uses to describe its
parameters for outside use purposes with a pair of (name, type)
strings
- Modified code around Solidity and especially interface handler to
adapt to this change
- Changed the code so that a generic declaration with the combination of
a function type can be used wherer a function definition was used
before
- Since using an std::pair everywhere is really tiring with this commit
I am in the process of abstracting it into a function
- added unit test
Made some changes after Christian`s review on pull request
- remove/edit comments
- BoolType and ContractType return VoidType after delete
- fixed constructor_arguments test
- fixed set to 0 when deleting variable from stack
- changed test case to test that
identifier
- Changed tests to comply with the new function hash identifier
- Changed the function index offset to 4, and made it a constant for
easy adjustment in the future
- Also introduced dependency between libsolidity and libdevcrypto
- Compler's appendFunctionSelector now has a first version of using
function signature hash instead of index