Crate pallet_utility

source ·
Expand description

Utility Pallet

A stateless pallet with helpers for dispatch management which does no re-authentication.

Overview

This pallet contains two basic pieces of functionality:

  • Batch dispatch: A stateless operation, allowing any origin to execute multiple calls in a single dispatch. This can be useful to amalgamate proposals, combining set_code with corresponding set_storages, for efficient multiple payouts with just a single signature verify, or in combination with one of the other two dispatch functionality.
  • Pseudonymal dispatch: A stateless operation, allowing a signed origin to execute a call from an alternative signed origin. Each account has 2 * 2**16 possible “pseudonyms” (alternative account IDs) and these can be stacked. This can be useful as a key management tool, where you need multiple distinct accounts (e.g. as controllers for many staking accounts), but where it’s perfectly fine to have each of them controlled by the same underlying keypair. Derivative accounts are, for the purposes of proxy filtering considered exactly the same as the origin and are thus hampered with the origin’s filters.

Since proxy filters are respected in all dispatches of this pallet, it should never need to be filtered by any proxy.

Interface

Dispatchable Functions

For batch dispatch
  • batch - Dispatch multiple calls from the sender’s origin.
For pseudonymal dispatch
  • as_derivative - Dispatch a call from a derivative signed origin.

Re-exports

pub use weights::WeightInfo;
pub use pallet::*;

Modules

The module that hosts all the FRAME types needed to add this pallet to a runtime.
Autogenerated weights for pallet_utility