Trait noble_lottery::Config[][src]

pub trait Config: Config {
    type ModuleId: Get<ModuleId>;
    type Call: Parameter + Dispatchable<Origin = Self::Origin> + GetDispatchInfo + From<Call<Self>>;
    type Currency: ReservableCurrency<Self::AccountId>;
    type Randomness: Randomness<Self::Hash>;
    type Event: From<Event<Self>> + Into<Self::Event>;
    type ManagerOrigin: EnsureOrigin<Self::Origin>;
    type MaxCalls: Get<usize>;
    type ValidateCall: ValidateCall<Self>;
    type MaxGenerateRandom: Get<u32>;
    type WeightInfo: WeightInfo;
}

The module’s config trait.

Associated Types

type ModuleId: Get<ModuleId>[src]

The Lottery’s module id

type Call: Parameter + Dispatchable<Origin = Self::Origin> + GetDispatchInfo + From<Call<Self>>[src]

A dispatchable call.

type Currency: ReservableCurrency<Self::AccountId>[src]

The currency trait.

type Randomness: Randomness<Self::Hash>[src]

Something that provides randomness in the runtime.

type Event: From<Event<Self>> + Into<Self::Event>[src]

The overarching event type.

type ManagerOrigin: EnsureOrigin<Self::Origin>[src]

The manager origin.

type MaxCalls: Get<usize>[src]

The max number of calls available in a single lottery.

type ValidateCall: ValidateCall<Self>[src]

Used to determine if a call would be valid for purchasing a ticket.

Be conscious of the implementation used here. We assume at worst that a vector of MaxCalls indices are queried for any call validation. You may need to provide a custom benchmark if this assumption is broken.

type MaxGenerateRandom: Get<u32>[src]

Number of time we should try to generate a random number that has no modulo bias. The larger this number, the more potential computation is used for picking the winner, but also the more likely that the chosen winner is done fairly.

type WeightInfo: WeightInfo[src]

Weight information for extrinsics in this noble.

Loading content...

Implementors

Loading content...