Guides/EVM/Precompiles

Precompile registry

Registry for precompile availability.

View as Markdown
PropertyValue
ImplementationPrecompileRegistry
Solidity interfaceIPrecompileRegistry
Address0x0000000000000000000000000000000000000813
StatusDeployed

In v444, the registry reports the current operational availability of a whole precompile through isDisabled. It does not report whether an individual selector exists, is deprecated, or has a replacement.

Interface

interface IPrecompileRegistry {
    struct PrecompileStatus {
        bool isDeprecated;
        bool isDisabled;
        address newPrecompile;
        bytes4 newSelector;
        string message;
    }

    function getPrecompileStatus(
        address precompile,
        bytes4 selector
    ) external view returns (PrecompileStatus memory);
}

The selector parameter and the isDeprecated, newPrecompile, newSelector, and message result fields are reserved for future selector-lifecycle support. In v444 those fields are not populated, and the selector is not interpreted. Do not use this call to test whether a selector is supported; use the canonical Solidity interfaces and JSON ABIs for selector discovery.

AdminUtils.sudo_toggle_evm_precompile is Root-only and is not exposed by this precompile. The registry reports availability but does not grant callers permission to change it.

The lifecycle model is described in Precompile design and lifecycle.

Source: registry.sol