schedule_after

Call v133 → v148, v149 → current #4

Anonymously schedule a task to execute after a delay from the current block .

View calls on chain

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

#NameTypeDescription
0
after
u32 BlockNumberFor<T>after: Block number
1
maybe_periodic
Option Option<schedule::Period<BlockNumberFor<T>>>maybe_periodic (Option)
2
priority
u8 schedule::Prioritypriority (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

Events Emitted

Storage Modified

Postconditions

  • Call scheduled for current_block + after
  • Task added to Agenda

Side Effects

  • Equivalent to schedule(when=current_block+after)
  • Deposit may be reserved

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