INNER CODE UNIT · Rust
apply_for_candidacy
AstarNetwork/Astar · pallets/collator-selection/src/lib.rs:540
pub fn apply_for_candidacy(origin: OriginFor<T>) -> DispatchResultWithPostInfo {
let who = ensure_signed(origin)?;
ensure!(
!PendingApplications::<T>::contains_key(&who),
Error::<T>::PendingApplicationExists
);
ensure!(
!Invulnerables::<T>::get().contains(&who),
Error::<T>::AlreadyInvulnerable
);
ensure!(
T::AccountCheck::allowed_candidacy(&who),
Error::<T>::NotAllowedCandidate
);
ensure!(
!Self::is_account_candidate(&who),
Error::<T>::AlreadyCandidate