PrecompileEnable
Storage Map v238 → v411 Changed in v411Enable/disable state for EVM precompiles.
Explore chainQueried 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
| # | Name | Type | Description |
|---|---|---|---|
| 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