ISystem

Git Source

Title: ISystem

Minimal subset of revive's System precompile, vendored from polkadot-sdk's substrate/frame/revive/uapi/sol/ISystem.sol. Exposed at @custom:address SYSTEM_ADDR on every revive runtime that opts the precompile in.

Kept intentionally minimal. New methods should be added on demand rather than mirrored wholesale, so the audit surface stays small and any upstream change is a deliberate review event.

Functions

callerIsRoot

Returning true iff the immediate caller's substrate origin is Root. Reverts on a RuntimeOrigin::Signed(_) or non-Root origin.

function callerIsRoot() external view returns (bool);

originIsRoot

Returning true iff the transaction-level substrate origin is Root.

Reads the stack origin rather than the immediate caller, so it holds through a UUPS proxy's delegatecall frame where callerIsRoot returns false. Returns false, rather than reverting, on a non-Root origin.

function originIsRoot() external view returns (bool);