pub trait Config: Config + Config<RuntimeEvent: From<Event<Self>>> {
type RelayChainOrigin: EnsureOrigin<Self::RuntimeOrigin>;
type AHStakingInterface: AHStakingInterface<AccountId = Self::AccountId>;
type SendToRelayChain: SendToRelayChain<AccountId = Self::AccountId>;
}
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§
Sourcetype RelayChainOrigin: EnsureOrigin<Self::RuntimeOrigin>
type RelayChainOrigin: EnsureOrigin<Self::RuntimeOrigin>
An origin type that allows us to be sure a call is being dispatched by the relay chain.
It be can be configured to something like Root
or relay chain or similar.
Sourcetype AHStakingInterface: AHStakingInterface<AccountId = Self::AccountId>
type AHStakingInterface: AHStakingInterface<AccountId = Self::AccountId>
Our communication handle to the local staking pallet.
Sourcetype SendToRelayChain: SendToRelayChain<AccountId = Self::AccountId>
type SendToRelayChain: SendToRelayChain<AccountId = Self::AccountId>
Our communication handle to the relay chain.
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.