I don't understand how ABI encoding with tuples work:
f(uint8, uint) with arguments
, 4 accordingly https://abi.hashex.org produces:
In arguments the value 3 goes before 4, but in the encoded 4 is before 3. In some reason, the value 3 is at the very end despite it is in the first element. Why?!
First go all the heads, then all the tails, right? Each head is a 32 bytes offset to the corresponding tail from the beginning of the tuple, right?