PrecompileEnable

Storage Map v238 → v411 Changed in v411

Enable/disable state for EVM precompiles.

Explore chain
Queried by: developersvalidators

The Big Picture

EVM precompiles are special contracts at fixed addresses providing efficient implementations of common operations. This storage controls which precompiles are active. Root can toggle precompiles on/off for security or feature management.

Use Cases

  • Check if a specific precompile is enabled before calling
  • Monitor precompile availability changes
  • Build EVM tooling aware of available precompiles

From Chain Metadata

Map PrecompileEnum --> enabled

Purpose & Usage

Purpose

Controls which precompiled smart contracts are accessible on the EVM.

Common Query Patterns

  • Query by precompile ID
  • Check if precompile is enabled

Query Keys

#NameTypeDescription
1
precompile
raw: key1
PrecompileEnum key1 (PrecompileEnum)

Stored Value

value (bool)

Code Examples

// ----------------------------------------------------------------------
// HEADS UP: 1 arg below has a complex type with no usable default.
// Look for `undefined as any` and replace it with real value
// before running — the snippet compiles, but will fail at runtime as-is.
// ----------------------------------------------------------------------
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Query PrecompileEnable storage
const key1 = undefined as any /* PrecompileEnum — replace with real value */;

const result = await api.query.AdminUtils.PrecompileEnable.getValue(key1);
console.log("PrecompileEnable:", result);

Version History

v238 block 4,936,550 Added
v259–v260 · runtime versions skipped on chain (never deployed)
v261 block 5,328,895 Internal re-bind
v278–v289 · runtime versions skipped on chain (never deployed)
v290 block 5,947,548 Internal re-bind
v307–v314 · runtime versions skipped on chain (never deployed)
v315 block 6,414,634 Internal re-bind
v316–v319 · runtime versions skipped on chain (never deployed)
v320 block 6,523,566 Internal re-bind
v327–v333 · runtime versions skipped on chain (never deployed)
v334 block 6,811,690 Internal re-bind
v353–v360 · runtime versions skipped on chain (never deployed)
v361 block 7,063,679 Internal re-bind
v403–v410 · runtime versions skipped on chain (never deployed)
v411 block 8,283,784 Internal re-bind Current

Runtime Info

View Source
Pallet
AdminUtils
Storage Kind
Map
First Version
v238
Current Version
v411