Newer Solidity 0.5.x compilers generate ABIs whose function and event parameters contain an internalType field as well as the usual type.

In the examples I've seen, type and internalType usually have the same value. But presumably that would not always be the case.

What is the meaning and purpose of this internalType field? When would it differ from the just-plain type field?


1 Answer 1


This post does a nice job explaining the difference. Basically, internalType provides useful debugging information but is not required for contract encode/decode. So for example, an input struct will have a type of tuple and an internalType of the struct's declared name.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.