A contract's constructor which takes structs or arrays that contain dynamically sized arrays reverts or decodes to invalid data when ABIEncoderV2 is used.
This is due to a compiler bug introduced in v0.4.16
and fixed in v0.5.9
. (see here)
- Constructor Dynamic Arguments
- ABIEncoderV2
- Dynamic Arrays
- Revert or Invalid Decode
- Compiler Bug -> Fixed
solc 0.4.16
-> 0.5.9