Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions MIPs/MIP-18.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ Neither opcode needs immediate arguments, so neither uses the argument encodings

Under MIP-7, the extended opcodes `0xAE 0x00` and `0xAE 0x01` currently behave like `INVALID`. Existing code that executes either sequence halts exceptionally today and will execute successfully after this MIP. Such code is not expected to exist in practice, because the sequences have never had defined behavior on Monad or Ethereum.

A trailing `EXTENSION` byte has no selector and MUST halt exceptionally, as [MIP-7](./MIP-7.md) specifies.

`JUMPDEST` analysis is unaffected.

## Security Considerations
Expand Down
1 change: 1 addition & 0 deletions MIPs/MIP-7.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ EIP-8163 reserves the `EXTENSION` (`0xAE`) opcode on Ethereum L1 specifically to
### Extended Opcode Encoding

The `EXTENSION` opcode (`0xAE`) MUST be immediately followed by a 1-byte extension selector. The extension selector MUST NOT be `0x5B` (`JUMPDEST`) or in the range `0x60`-`0x7F` (`PUSH1`-`PUSH32`). An extension selector in this excluded range MUST cause an exceptional halt, consuming all remaining gas.
An `EXTENSION` byte at the end of code has no selector and MUST cause an exceptional halt, consuming all remaining gas.

Define **extended opcode** as the 2-byte sequence `0xAE XX`.

Expand Down
Loading