schedule_after
Call v133 → v148, v149 → current #4Anonymously schedule a task to execute after a delay from the current block .
View calls on chainCall Workflow
This diagram shows the call execution flow: starting with schedule_after, passing through validation
(signature, nonce, mortality, fee payment), then pre-dispatch checks, followed by dispatch which emits events: Scheduled and modifies storage: Agenda, 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: developersanalytics
The Big Picture
Convenience for relative timing - specify delay rather than absolute block number.
Use Cases
- Schedule operations with relative timing
- Implement delays without calculating blocks
From Chain Metadata
See [`Pallet::schedule_after`].
Input Parameters
| # | Name | Type | Description |
|---|---|---|---|
| 0 | after | u32 BlockNumberFor<T> | after: Block number |
| 1 | maybe_periodic | Option Option<schedule::Period<BlockNumberFor<T>>> | maybe_periodic (Option) |
| 2 | priority | u8 schedule::Priority | priority (u8) |
| 3 | call | RuntimeCall Box<<T as Config>::RuntimeCall> | call (RuntimeCall) |
Permissions
Origin
Unknown
Required Role
Permission data inferred from metadata. May be incomplete.
Requirements
- Caller has permission
- Delay is at least 1 block
Effects
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 schedule_after call (typed, named args)
const after = 0;
const maybe_periodic = undefined;
const priority = 0;
const call = undefined as any /* RuntimeCall — replace with real value */;
const tx = api.tx.Scheduler.schedule_after({
after,
maybe_periodic,
priority,
call,
});Version History
v133 block 1,404,224 4 args
v149 block 3,014,339 4 args Current
Runtime Info
- Pallet Index
- 15
- Call Index
- 4
- First Version
- v133
- Current Version
- v411