Skip to content

Commit

Permalink
7702: add more rationale
Browse files Browse the repository at this point in the history
  • Loading branch information
lightclient committed Oct 9, 2024
1 parent 9a9256e commit 7d7f09a
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions EIPS/eip-7702.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,14 @@ Specifically:
* It does not require adding any opcodes, that would become dangling and useless in a post-EOA world.
* It allows EOAs to masquerade as contracts to be included in ERC-4337 bundles, in a way that's compatible with the existing `EntryPoint`.

### Clearing Delegation Designations

A general design goal of state transition changes is to minimize the number of special cases an EIP has. In early iterations, this EIP resisted a special case for clearing an account's delegation designation.

For most intents and purposes, an account delegated to `0x0` is indistinguishable from a true EOA. However, one particular unfortunate case is unavoidable. Even if a user has a zeroed out delegation designation, most operations that interact with that account will encounter an additional `COLD_ACCOUNT_READ_COST` upon the first touch.

This is not ideal and may be a significant enough concern to impact the overall adoption of the EIP. For these reasons, we have opted to include a mechanism which allow users to restore their EOA to its original pureness.

## Backwards Compatibility

This EIP breaks the invariant that an account balance can only decrease as a result of transactions originating from that account. It also breaks the invariant that an EOA nonce may not increase after transaction execution has begun. These breakages have consequences for mempool design, and for other EIPs such as inclusion lists. However, because the accounts are listed statically in the outer transaction, it is possible to modify transaction propagation rules so that conflicting transactions are not forwarded.
Expand Down

0 comments on commit 7d7f09a

Please sign in to comment.