Skip to content

EIP-7702: Set EOA account code#961

Merged
chfast merged 11 commits intomasterfrom
eip-7702
Feb 13, 2025
Merged

EIP-7702: Set EOA account code#961
chfast merged 11 commits intomasterfrom
eip-7702

Conversation

@gumb0
Copy link
Copy Markdown
Member

@gumb0 gumb0 commented Jul 25, 2024

Implement EIP-7702: Set EOA account code. This EIP adds new transaction type set-code that permanently sets the code delegation for an EOA.

Requires new EVMC flag: ipsilon/evmc#720.

@gumb0 gumb0 self-assigned this Jul 25, 2024
@codecov
Copy link
Copy Markdown

codecov bot commented Jul 25, 2024

Codecov Report

Attention: Patch coverage is 97.54098% with 9 lines in your changes missing coverage. Please review.

Project coverage is 94.37%. Comparing base (14e62c4) to head (4358516).
Report is 12 commits behind head on master.

Files with missing lines Patch % Lines
lib/evmone/instructions_calls.cpp 85.18% 4 Missing ⚠️
test/state/errors.hpp 50.00% 2 Missing ⚠️
test/state/state.cpp 96.55% 2 Missing ⚠️
test/statetest/statetest_loader.cpp 93.75% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #961      +/-   ##
==========================================
+ Coverage   94.29%   94.37%   +0.07%     
==========================================
  Files         159      162       +3     
  Lines       17344    17687     +343     
==========================================
+ Hits        16355    16692     +337     
- Misses        989      995       +6     
Flag Coverage Δ
eof_execution_spec_tests 15.79% <11.20%> (-0.13%) ⬇️
ethereum_tests 26.53% <9.83%> (-0.38%) ⬇️
ethereum_tests_silkpre 18.72% <8.00%> (-0.25%) ⬇️
execution_spec_tests 22.04% <30.87%> (+0.23%) ⬆️
unittests 89.25% <91.25%> (+0.20%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
lib/evmone/delegation.cpp 100.00% <100.00%> (ø)
lib/evmone/delegation.hpp 100.00% <100.00%> (ø)
test/state/host.cpp 100.00% <100.00%> (ø)
test/state/precompiles_stubs.cpp 99.76% <100.00%> (+<0.01%) ⬆️
test/state/transaction.cpp 95.45% <100.00%> (+1.16%) ⬆️
test/state/transaction.hpp 100.00% <ø> (ø)
test/statetest/statetest_runner.cpp 96.87% <ø> (-0.27%) ⬇️
test/unittests/evm_eof_calls_test.cpp 100.00% <100.00%> (ø)
test/unittests/state_transition.cpp 98.63% <100.00%> (+0.14%) ⬆️
test/unittests/state_transition_eip7702_test.cpp 100.00% <100.00%> (ø)
... and 4 more

@gumb0 gumb0 force-pushed the eip-7702 branch 4 times, most recently from 5e9c460 to 7f9d123 Compare July 29, 2024 13:27
@gumb0 gumb0 changed the title WIP EIP-7702 implementation EIP-7702: Set EOA account code Jul 29, 2024
@gumb0 gumb0 force-pushed the eip-7702 branch 9 times, most recently from ccc3776 to 90c05f4 Compare August 2, 2024 18:22
@gumb0 gumb0 force-pushed the eip-7702 branch 8 times, most recently from 056e8ae to a919431 Compare August 8, 2024 09:31
@gumb0 gumb0 force-pushed the eip-7702 branch 6 times, most recently from e19a72a to 3ff5253 Compare August 19, 2024 16:26
@chfast
Copy link
Copy Markdown
Member

chfast commented Jan 24, 2025

Remember to drop "WARNING: test case with set_code transaction (type 4) skipped".
Added a commit for it.

Copy link
Copy Markdown
Member

@chfast chfast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some artificial enviroments where this can crash:

  • having invalid delegation designator in state,
  • having a precompile with code.

Do you think we should add sanity checks for these when loading tests?

@gumb0
Copy link
Copy Markdown
Member Author

gumb0 commented Feb 12, 2025

There are some artificial enviroments where this can crash:

  • having invalid delegation designator in state,
  • having a precompile with code.

Do you think we should add sanity checks for these when loading tests?

I think it makes sense to add in a separate PR

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

Labels

Prague Changes for Prague upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants