Skip to content

Commit 4e80171

Browse files
author
MikhailK
committed
Bypass queue when add validator by council
1 parent 2bd479a commit 4e80171

File tree

1 file changed

+14
-4
lines changed
  • pallets/validator-set/src

1 file changed

+14
-4
lines changed

pallets/validator-set/src/lib.rs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,18 @@ pub mod pallet {
508508
pub fn add_validator(origin: OriginFor<T>, validator_id: T::AccountId) -> DispatchResult {
509509
T::AddRemoveOrigin::ensure_origin(origin)?;
510510

511+
Self::do_add_validator(validator_id.clone(), true)?;
512+
Self::approve_validator(validator_id)?;
513+
514+
Ok(())
515+
}
516+
517+
#[pallet::weight(10_000_000)]
518+
pub fn add_validator_self(origin: OriginFor<T>) -> DispatchResult {
519+
let validator_id = ensure_signed(origin)?;
520+
511521
let deposit = Self::calc_deposit(&validator_id)?;
512-
Self::check_new(&validator_id, deposit, false)?;
522+
Self::check_new(&validator_id, deposit, true)?;
513523
Self::push_validator_in_queue(&validator_id)?;
514524

515525
Ok(())
@@ -938,9 +948,9 @@ impl<T: Config> Pallet<T> {
938948
val
939949
}
940950

941-
fn do_add_validator(validator_id: T::AccountId, check_block_num: bool) -> DispatchResult {
951+
fn do_add_validator(validator_id: T::AccountId, do_pot_transfer: bool) -> DispatchResult {
942952
let deposit = Self::calc_deposit(&validator_id)?;
943-
Self::check_new(&validator_id, deposit, check_block_num)?;
953+
Self::check_new(&validator_id, deposit, do_pot_transfer)?;
944954
Self::insert_validator(&validator_id, deposit)?;
945955

946956
Ok(())
@@ -962,7 +972,7 @@ impl<T: Config> Pallet<T> {
962972
return Err(Error::<T>::TransferToTreasuryFailed.into());
963973
}
964974
}
965-
else if !Self::check_lock(validator_id) {
975+
if !Self::check_lock(validator_id) {
966976
return Err(Error::<T>::AmountLockedBelowLimit.into());
967977
}
968978

0 commit comments

Comments
 (0)