upgrade_accounts

Call v149 → current #6

Upgrades legacy accounts to the new balance format.

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: developersvalidators

The Big Picture

After runtime upgrades that change the account storage format, this call migrates accounts from the old format to the new one. Usually needed after major protocol upgrades.

Use Cases

  • Post-upgrade account migration
  • Preparing accounts for new features
  • Batch account maintenance

From Chain Metadata

See [`Pallet::upgrade_accounts`].

Input Parameters

#NameTypeDescription
0
who
Vec<AccountId> VecWho account address

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Accounts exist in legacy format
  • Caller is signed

Effects

Events Emitted

Storage Modified

Postconditions

  • Specified accounts upgraded to new format
  • Upgraded event emitted for each account

Side Effects

  • Transaction fee may be waived if upgrading many accounts

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 upgrade_accounts call
const who = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";

const call = api.tx[stringCamelCase("Balances")][stringCamelCase("upgrade_accounts")](
  who
);

Runtime Info

Pallet Index
5
Call Index
6
First Version
v149
Current Version
v393