EIP-8141: Frame Transaction

TXPARAM(0x00) halts in any context other than a frame transaction. The only way in the EVM (without resorting to a subcall) to check whether it’s in a frame transaction is ORIGIN == ENTRY_POINT, and it only works in VERIFY and DEFAULT modes. Is this by design? If so, should the Specification state that ORIGIN == ENTRY_POINT never holds in any other context, and should the Rationale explain it?

Or should TXPARAM(0x00) halting be relaxed instead?

Tangent: ENTRY_POINT at 0xaa falls into the implicit L1 precompile range, is this intended? (EDIT: the range is implicit and not strictly precompile-only so this seems a non-issue)

1 Like