Skip to content

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 22:44
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

Copy link
Member

@LukaszRozmej LukaszRozmej left a comment

Choose a reason for hiding this comment

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

Few more small things

@ak88 ak88 merged commit e0c4a59 into master Oct 7, 2024
@ak88 ak88 deleted the pectra_fix_7702_after_merge branch October 7, 2024 14:00
rjnrohit added a commit that referenced this pull request Oct 10, 2024
Co-authored-by: MarekM25 <[email protected]>
Co-authored-by: Rohit Ranjan <[email protected]>
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: Yaroslav Kukharuk <[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]>
Co-authored-by: Ahmad Bitar <[email protected]>
@rubo rubo mentioned this pull request Dec 14, 2024
10 tasks
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.

7 participants