EVHEthereum
Virtual Hook
SYNCINGBLOCK EPOCH PLUGINS ASSIGNED POOLS LAST DISPATCH HYPERVISOR
Documentation · 07 / 11

Opcode rules

OpcodeScanner disassembles runtime bytecode on-chain, skipping PUSH immediates and the solc metadata trailer, and refuses:

OpcodeByteWhy
DELEGATECALL0xF4Runs foreign code in the plugin's own context.
CALLCODE0xF2Legacy form of the same escape.
CREATE / CREATE20xF0 / 0xF5Would deploy unscanned code and call it.
SELFDESTRUCT0xFFA plugin could vanish mid-lineup.

CALL and STATICCALL are allowed: the interesting property is who a plugin calls, not that it calls. Code must be under 24,576 bytes. Governance can whitelist a specific codehash after manual review when a data segment trips the linear sweep.

The scan is a necessary condition, not a sufficient one. A clean plugin can still be economically adversarial; bonds, strikes and the Council bound that.