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

EIP-7702 and EIP-7251 #7459

Open
wants to merge 558 commits into
base: master
Choose a base branch
from
Open

EIP-7702 and EIP-7251 #7459

wants to merge 558 commits into from

Conversation

ak88
Copy link
Contributor

@ak88 ak88 commented Sep 18, 2024

https://eips.ethereum.org/EIPS/eip-7702
https://eips.ethereum.org/EIPS/eip-7251 (consolidations)

Changes

Adds an authorization_list to tx that is used to set delegations on EOAs in the form of 0xef0100 || address

When the EOA is called it is delegated to the address, in similar fashion as a DELEGATECALL.
EVM opcodes like EXTCODESIZE, EXTCODECOPY etc. are affected by a delegation.

Other things to note:

  • 7702 delegations and refunds will happen regardless of EVM execution outcome.
  • Account access gas is changed to count double if delegated. Once for the EOA and once for the delegation address.

Types of changes

What types of changes does your code introduce?

  • Bugfix (a non-breaking change that fixes an issue)
  • New feature (a non-breaking change that adds functionality)
  • Breaking change (a change that causes existing functionality not to work as expected)
  • Optimization
  • Refactoring
  • Documentation update
  • Build-related changes
  • Other: Description

Testing

Requires testing

  • Yes
  • No

If yes, did you write tests?

  • Yes
  • No

Notes on testing

Optional. Remove if not applicable.

Documentation

Requires documentation update

  • Yes
  • No

If yes, link the PR to the docs update or the issue with the details labeled docs. Remove if not applicable.

Requires explanation in Release Notes

  • Yes
  • No

If yes, fill in the details here. Remove if not applicable.

Remarks

Optional. Remove if not applicable.

MarekM25 and others added 30 commits May 8, 2024 14:21
Co-authored-by: Ben Adams <[email protected]>
Co-authored-by: Kamil Chodoła <[email protected]>
Co-authored-by: nethermind-machine <[email protected]>
Co-authored-by: LukaszRozmej <[email protected]>
Co-authored-by: Daniel Kyutae Jung <[email protected]>
Co-authored-by: Ahmad Bitar <[email protected]>
Co-authored-by: Lukasz Rozmej <[email protected]>
Co-authored-by: Amirul Ashraf <[email protected]>
Co-authored-by: yerke26 <[email protected]>
Co-authored-by: yeerke <[email protected]>
Co-authored-by: Ruben Buniatyan <[email protected]>
Co-authored-by: Alexey <[email protected]>
Co-authored-by: Nikita Mescheryakov <[email protected]>
Co-authored-by: Lautaro Emanuel <[email protected]>
Co-authored-by: Marcos Antonio Maceo <[email protected]>
Co-authored-by: ak88 <[email protected]>
Co-authored-by: Yaroslav Kukharuk <[email protected]>
Co-authored-by: Marek Moraczyński <[email protected]>
Co-authored-by: Ahmad Bitar <[email protected]>
Co-authored-by: Oleg Jakushkin <[email protected]>
Co-authored-by: Kamil Chodoła <[email protected]>
Co-authored-by: healthyyyoung <[email protected]>
@ak88 ak88 requested a review from LukaszRozmej October 2, 2024 10:27
@ak88 ak88 requested a review from MarekM25 October 2, 2024 11:32

requestsList.AddRange(_depositsProcessor.ProcessDeposits(block, receipts, spec));
requestsList.AddRange(_withdrawalRequestsProcessor.ReadWithdrawalRequests(block, state, spec));
using ArrayPoolList<ConsensusRequest> requestsList = new(receipts.Length * 2);
Copy link
Contributor

Choose a reason for hiding this comment

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

hmm, but block.Requests.Length will give us the correct capacity besides Invalid blocks, maybe block.Requests.Length *2 then?

receipts are not related to requests. We can have 3 receipts and 16 requests

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

Successfully merging this pull request may close these issues.

5 participants