Documentation · 08 / 11
Registration & assigning
Registration — PluginCatalog
- The caller must hold at least
minAuthorStakelocked EVH. OpcodeScanner.requireClean(plugin)reverts with the exact opcode and byte offset on failure.- Label, semver, phase mask, fuel cap and permits are compared field-by-field against
spec(). - The plugin enters probation with its open permits granted.
Plugin ids are keccak256("evh.plugin", address). States: probation → approved (owner, i.e. the Council after handover), suspended (author or owner, recoverable), slashed (three strikes), banned (Council, terminal).
Assigning — DispatchBoard
A registered plugin does nothing until an operator assignments it on a subscribed phase at a unique rank. Lineups are kept sorted on insert and capped, so the runtime's read path is one contiguous array with no sorting at execution time. Lower rank runs first.