Skip to content

Commit

Permalink
Update EIP-3540: Clarify EXTDELEGATECALL to "legacy"
Browse files Browse the repository at this point in the history
Merged by EIP-Bot.
  • Loading branch information
chfast authored Jun 5, 2024
1 parent 84f7756 commit 73f68e7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion EIPS/eip-3540.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ For an EOF contract:
- Execution starts at the first byte of code section 0
- `CODESIZE`, `CODECOPY`, `EXTCODESIZE`, `EXTCODECOPY`, `EXTCODEHASH`, `GAS` are rejected by validation in EOF contracts, with no replacements
- `CALL`, `DELEGATECALL`, `STATICCALL` are rejected by validation in EOF contracts, replacement instructions to be introduced in a separate EIP.
- `EXTDELEGATECALL` (`DELEGATECALL` replacement) from an EOF contract to a legacy contract is disallowed, and it should fail in the same mode as if the call depth check failed. We allow legacy to EOF path for existing proxy contracts to be able to use EOF upgrades.
- `EXTDELEGATECALL` (`DELEGATECALL` replacement) from an EOF contract to a non-EOF contract (legacy contract, EOA, empty account) is disallowed, and it should fail in the same mode as if the call depth check failed. We allow legacy to EOF path for existing proxy contracts to be able to use EOF upgrades.

For a legacy contract:

Expand Down

0 comments on commit 73f68e7

Please sign in to comment.