sudo_toggle_evm_precompile
Call v238 → current #62Enables or disables an EVM precompile contract.
View calls on chainCall Workflow
This diagram shows the call execution flow: starting with sudo_toggle_evm_precompile, passing through validation
(signature, nonce, mortality, fee payment), then pre-dispatch checks, followed by dispatch which emits events: PrecompileUpdated and modifies storage: AdminUtils.PrecompileEnable, and finally post-dispatch where ExtrinsicSuccess is emitted and fees are settled.
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Click items to navigate. Pan and zoom to explore.
Used by: subnet owners
The Big Picture
Precompiles are special EVM contracts at fixed addresses. This controls which are available.
Use Cases
- Enabling new EVM features
- Disabling vulnerable precompiles
From Chain Metadata
Toggles the enablement of an EVM precompile.
Input Parameters
| # | Name | Type | Description |
|---|---|---|---|
| 0 | precompile_id | PrecompileEnum | precompile_id (PrecompileEnum) |
| 1 | enabled | bool | enabled (bool) |
Permissions
Origin
Root
Required Role
Permission data inferred from metadata. May be incomplete.
Requirements
- Caller is root account
- Valid precompile ID
Effects
Events Emitted
Storage Modified
Postconditions
- PrecompileEnable updated
Side Effects
- EVM contracts using this precompile may break if disabled
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);
// Build sudo_toggle_evm_precompile call (typed, named args)
const precompile_id = undefined as any /* PrecompileEnum — replace with real value */;
const enabled = true;
const tx = api.tx.AdminUtils.sudo_toggle_evm_precompile({
precompile_id,
enabled,
});Runtime Info
View Source- Pallet Index
- 19
- Call Index
- 62
- First Version
- v238
- Current Version
- v411