A contract's constructor that takes structs or arrays that contain dynamically-sized arrays reverts or decodes to invalid data.
During construction of a contract, constructor parameters are copied from the code section to memory for decoding. The amount of bytes to copy was calculated incorrectly in case all parameters are statically-sized but contain dynamically-sized arrays as struct members or inner arrays. Such types are only available if ABIEncoderV2 is activated. - First Introduced: 0.4.16 - Fixed in Version: 0.5.9 - Published: - Severity<: very low