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

EOF Implementers Call #57 #1138

Closed
poojaranjan opened this issue Aug 21, 2024 · 6 comments
Closed

EOF Implementers Call #57 #1138

poojaranjan opened this issue Aug 21, 2024 · 6 comments

Comments

@poojaranjan
Copy link
Contributor

poojaranjan commented Aug 21, 2024

Meeting Info

Sep 4th, 2024 , 15:00 UTC

Duration: 60 minutes

Zoom: https://us02web.zoom.us/j/88940506383?pwd=aTdsbHVyMTNDSUFHYmhTWlI2ZEVldz09

📅 Subscribe to the Ethereum Protocol Call calendar for calendar invites

Resources

Agenda

  • Client updates
  • Compiler updates
  • Spec updates
  • Testing updates
  • Other items

Please add other agenda items or links to discuss.

Next call on Sep 18th, 2024

@shemnon
Copy link
Contributor

shemnon commented Sep 4, 2024

Items for discussion

@marioevz
Copy link
Member

marioevz commented Sep 4, 2024

Converting EOF format tests into State test to verify validation during transaction deployment: ethereum/execution-spec-tests#783

Summary of issues found:

  • Container too big to fit in the init container (Exceeds maximum init code size)
  • Containers with ContainerKind == INIT need to: a) be placed in a factory and then the factory within another init container, in order to have a deterministic code deployed, or b) Init containers need to specify an expected deploy container in order to verify that the code could be deployed and the container was valid.

@shemnon
Copy link
Contributor

shemnon commented Sep 4, 2024

  • clients and compilers - no non-test updates

  • switch to prague

  • mario discussed 7702/EOF testing features in EEST https://github.com/ethereum/execution-spec-tests/blob/eip-7702-devnet-3/tests/prague/eip7702_set_code_tx/test_set_code_txs.py

  • Fuzzing - no new updates

  • Discussed converting EOF format tests into format tests.

    • Init containers need extra work, either double wrapping or need to declare deployed container format. Issues include appending data
    • For automated testing we will move to assuming the container is deployed, and in cases where that isn't going to work we need to notate the tests with expected outputs
  • New release of legacy tests - invalid tests have been removed, or fixed, or moved to EEST. No new coverage -- all new coverage comes in EEST.

  • ISCONTRACT

    • Legacy solidity will not easily be able to determine if it's EOF or Legacy, so the code may fail compiling to EOF. Old contracts will need new versions or alternates for EOF.
    • Most libraries depending on assembly would need to change for EOF anyway (any use of JUMP, CALL*, EXCODE* for example)
    • May be best solved in solidity? conditional compilation or new is_contract primitive? existing solidity PR Detect EVM version? existing solidity pr
    • Example: OpenZeppelin, Solady, Tycho do deep code interactions and have taken up to a year to implement.
    • Need to do outreach to the AA team, as they expressed concern on ACD that this may be problematic. (Piotr to reach out)
  • What is Erigon's status?

    • Unknown status.
  • More on nethermind's status

    • 7702 is in a different branch from EOF. 7702 will land in Nethermind master first.
    • Will target prague in EOF branch
    • Running published EEST fixtures.
  • New fixtures will be published this week. Need to fix an EEST bug relating to EXT*CALL opcodes.

@shemnon
Copy link
Contributor

shemnon commented Sep 4, 2024

For next time, we should discuss EIP-7756 tracing

@poojaranjan
Copy link
Contributor Author

Closing in favor of #1146

@poojaranjan
Copy link
Contributor Author

Recording https://youtu.be/7wFucExQb7U

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

No branches or pull requests

3 participants