Add test with event where indexed parameters are not the first.

This commit is contained in:
chriseth 2021-05-31 14:46:14 +02:00
parent c09dc6144c
commit 28aad7e0b4

View File

@ -0,0 +1,18 @@
contract C {
// Indexed parameters are always listed first in the output.
// The data is the ABI encoding of just the non-indexed parameters,
// so putting the indexed parameters "in between" would mess
// up the offsets for the reader.
event E(uint a, uint indexed r, uint b, bytes c);
function deposit() public {
emit E(1, 2, 3, "def");
}
}
// ====
// compileViaYul: also
// ----
// deposit() ->
// ~ emit E(uint256,uint256,uint256,bytes): #0x02, 0x01, 0x03, 0x60, 0x03, "def"
// gas irOptimized: 23685
// gas legacy: 24170
// gas legacyOptimized: 23753