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>;
type MaxValidatorSetRetries: Get<u32>;
}
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.
Sourcetype MaxValidatorSetRetries: Get<u32>
type MaxValidatorSetRetries: Get<u32>
Maximum number of times that we retry sending a validator set to RC, after which, if
sending still fails, we emit an UnexpectedKind::ValidatorSetDropped
event and drop
it.
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.