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

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Build sudo_toggle_evm_precompile call
const precompile_id = 0 as any /* PrecompileEnum */;
const enabled = true;

const call = api.tx[stringCamelCase("AdminUtils")][stringCamelCase("sudo_toggle_evm_precompile")](
  precompile_id,
  enabled
);

Runtime Info

View Source
Pallet Index
19
Call Index
62
First Version
v238
Current Version
v393