Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests for EIP-3540: EVM Object Format (EOF) v1 #847

Merged
merged 13 commits into from
Nov 11, 2022

Conversation

gumb0
Copy link
Member

@gumb0 gumb0 commented May 18, 2021

Tests for EIP-3540: EVM Object Format (EOF) v1.

Geth implementation is currently in an open PR at ethereum/go-ethereum#24090.

@winsvega winsvega added this to the London milestone May 18, 2021
@gumb0 gumb0 force-pushed the eip-3540 branch 3 times, most recently from 37adffc to 2df849b Compare May 20, 2021 13:26
@gumb0 gumb0 removed this from the London milestone May 21, 2021
@gumb0
Copy link
Member Author

gumb0 commented May 21, 2021

I removed London milestone from PR, because it's not proposed for London.

@gumb0 gumb0 force-pushed the eip-3540 branch 5 times, most recently from d07f44b to 5381e50 Compare May 26, 2021 13:51
@gumb0 gumb0 force-pushed the eip-3540 branch 2 times, most recently from 2070343 to 75ef37f Compare June 23, 2021 13:24
@gumb0 gumb0 force-pushed the eip-3540 branch 10 times, most recently from 2771be7 to f6ddc14 Compare August 23, 2021 16:40
@gumb0 gumb0 changed the title Tests for EIP-3540 Tests for EIP-3540: EVM Object Format (EOF) v1 Dec 3, 2021
@gumb0
Copy link
Member Author

gumb0 commented Nov 8, 2022

The code in the account - 0x174f5374fce5edbc8e2a8697c15331677e6ebf0b appears to be invalid EOF for this test EOF1_Execution_d12g0v0_London+3540+3670 as the computed code size for the container should be 126 bytes and the actual length of the byte string looks like its 128 bytes. Can you verify?

This should be fixed now.

@gumb0
Copy link
Member Author

gumb0 commented Nov 8, 2022

I have an interesting test case which would only be interesting if you activate 3540, 3670 AND 3860 (limit and meter initcode). If you deploy an EOF contract which has a code section which is smaller than the max initcode (per 3860), but the entire EOF container is larger than the initcode, what should happen? (Will also raise this on magicians)

Our intention certainly was to apply code limit size of 3860 to entire container.

@gumb0
Copy link
Member Author

gumb0 commented Nov 9, 2022

I updated expectations to be based on Merge fork
(London+3540+3670 => Merge+3540+3670)

@gumb0 gumb0 marked this pull request as ready for review November 9, 2022 23:44
@gumb0
Copy link
Member Author

gumb0 commented Nov 11, 2022

Removed commented out sections from EOF1_ExecutionFiller.yml.

@gumb0
Copy link
Member Author

gumb0 commented Nov 11, 2022

Rebased.

@winsvega
Copy link
Collaborator

Lets merge the tests. Following updates can be in additional PRs. This one got big already.

@winsvega winsvega merged commit 3a7352b into ethereum:develop Nov 11, 2022
@gumb0 gumb0 mentioned this pull request Nov 16, 2022
1 task
@hugo-dc hugo-dc mentioned this pull request Nov 21, 2022
@axic axic deleted the eip-3540 branch December 2, 2022 00:33
@axic
Copy link
Member

axic commented Dec 2, 2022

Was the test case from @jochem-brouwer included?

@gumb0
Copy link
Member Author

gumb0 commented Dec 5, 2022

Was the test case from @jochem-brouwer included?

It was not. So far I only noted it for later in #1100

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants