sudo_toggle_evm_precompile

Call v238 → current #62

Enables or disables an EVM precompile contract.

View calls on chain

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

#NameTypeDescription
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