Merge pull request #11458 from ethereum/event_indexed_mixed

Add test with event where indexed parameters are not the first.
This commit is contained in:
Harikrishnan Mulackal 2021-05-31 16:19:52 +02:00 committed by GitHub
commit 8ecf79474b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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