call_old_weight

Call v334 → current #0

Legacy call interface using old weight format (deprecated).

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: developers

The Big Picture

When Substrate changed weight representation, old call signatures became incompatible. This preserves the old interface for tools that haven't updated. Functionally identical to Contracts.call, just with legacy weight parameters.

Use Cases

  • Support old tools/libraries not updated to new weight format
  • Backward compatibility during transition periods

From Chain Metadata

Deprecated version if [`Self::call`] for use in an in-storage `Call`.

Input Parameters

#NameTypeDescription
0
dest
MultiAddress AccountIdLookupOf<T>dest: Account address as a lookup source (typically resolves to AccountId)
1
value
Compact<u64> Cpt BalanceOf<T>value: Balance in chain native currency (RAO for TAO; ÷10⁹) (RAO -> TAO (/ 10^9))
2
gas_limit
Compact<u64> Cpt OldWeightgas_limit: Legacy Substrate weight (pre-WeightV2) (SCALE compact -> integer)
3
storage_deposit_limit
Option Option<<BalanceOf<T> as codec::HasCompact>::Type>storage_deposit_limit (Option)
4
data
Vec<u8> Vec data (Vec<u8>)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Same as Contracts.call
  • Used for backward compatibility with old tooling

Effects

Storage Modified

Postconditions

  • Same as Contracts.call

Side Effects

  • Same as Contracts.call

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 call_old_weight call (typed, named args)
const dest = undefined as any /* MultiAddress — replace with real value */;
const value = 0n;
const gas_limit = 0n;
const storage_deposit_limit = undefined;
const data = Binary.fromOpaque(new Uint8Array(0));

const tx = api.tx.Contracts.call_old_weight({
  dest,
  value,
  gas_limit,
  storage_deposit_limit,
  data,
});

Runtime Info

Pallet Index
29
Call Index
0
First Version
v334
Current Version
v411