Trait Config

Source
pub trait Config: Config {
    type WeightInfo: WeightInfo;
    type BlockProducerMetadata: Member + Parameter + MaxEncodedLen;
    type Currency: MutateHold<Self::AccountId, Reason = Self::RuntimeHoldReason>;
    type HoldAmount: Get<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>;
    type RuntimeHoldReason: From<HoldReason>;

    // Required methods
    fn genesis_utxo() -> UtxoId;
    fn current_time() -> u64;
}
Expand description

Configuration trait of this pallet.

The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be configured by the runtime that includes this pallet.

Consequently, a runtime that wants to include this pallet must implement this trait.

Required Associated Types§

Source

type WeightInfo: WeightInfo

Weight information for this pallet’s extrinsics

Source

type BlockProducerMetadata: Member + Parameter + MaxEncodedLen

Block producer metadata type

Source

type Currency: MutateHold<Self::AccountId, Reason = Self::RuntimeHoldReason>

The currency used for holding tokens

Source

type HoldAmount: Get<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>

The amount of tokens to hold when upserting metadata

Source

type RuntimeHoldReason: From<HoldReason>

The runtime’s hold reason type

Required Methods§

Source

fn genesis_utxo() -> UtxoId

Should return the chain’s genesis UTXO

Source

fn current_time() -> u64

Should return the start timestamp of current slot in seconds

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§