forked from ghostchain/ghost-node
		
	add an early check for the disabled validator
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
This commit is contained in:
		
							parent
							
								
									c4b16805f7
								
							
						
					
					
						commit
						9bdb7b5d5c
					
				@ -1,6 +1,6 @@
 | 
				
			|||||||
[package]
 | 
					[package]
 | 
				
			||||||
name = "ghost-slow-clap"
 | 
					name = "ghost-slow-clap"
 | 
				
			||||||
version = "0.3.36"
 | 
					version = "0.3.37"
 | 
				
			||||||
description = "Applause protocol for the EVM bridge"
 | 
					description = "Applause protocol for the EVM bridge"
 | 
				
			||||||
license.workspace = true
 | 
					license.workspace = true
 | 
				
			||||||
authors.workspace = true
 | 
					authors.workspace = true
 | 
				
			||||||
 | 
				
			|||||||
@ -465,6 +465,13 @@ impl<T: Config> Pallet<T> {
 | 
				
			|||||||
            authorities.get(clap.authority_index as usize).is_some(),
 | 
					            authorities.get(clap.authority_index as usize).is_some(),
 | 
				
			||||||
            Error::<T>::NotAnAuthority
 | 
					            Error::<T>::NotAnAuthority
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					        ensure!(
 | 
				
			||||||
 | 
					            ClapsInSession::<T>::get(&clap.session_index)
 | 
				
			||||||
 | 
					                .get(&clap.authority_index)
 | 
				
			||||||
 | 
					                .map(|info| !info.disabled)
 | 
				
			||||||
 | 
					                .unwrap_or(true),
 | 
				
			||||||
 | 
					            Error::<T>::CurrentValidatorIsDisabled
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let clap_unique_hash =
 | 
					        let clap_unique_hash =
 | 
				
			||||||
            Self::generate_unique_hash(&clap.receiver, &clap.amount, &clap.network_id);
 | 
					            Self::generate_unique_hash(&clap.receiver, &clap.amount, &clap.network_id);
 | 
				
			||||||
@ -491,15 +498,7 @@ impl<T: Config> Pallet<T> {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            })?;
 | 
					            })?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ClapsInSession::<T>::try_mutate(&clap.session_index, |claps_details| {
 | 
					        ClapsInSession::<T>::mutate(&clap.session_index, |claps_details| {
 | 
				
			||||||
            if claps_details
 | 
					 | 
				
			||||||
                .get(&clap.authority_index)
 | 
					 | 
				
			||||||
                .map(|x| x.disabled)
 | 
					 | 
				
			||||||
                .unwrap_or_default()
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return Err(Error::<T>::CurrentValidatorIsDisabled);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            (*claps_details)
 | 
					            (*claps_details)
 | 
				
			||||||
                .entry(clap.authority_index)
 | 
					                .entry(clap.authority_index)
 | 
				
			||||||
                .and_modify(|individual| (*individual).claps.saturating_inc())
 | 
					                .and_modify(|individual| (*individual).claps.saturating_inc())
 | 
				
			||||||
@ -507,9 +506,7 @@ impl<T: Config> Pallet<T> {
 | 
				
			|||||||
                    claps: 1u32,
 | 
					                    claps: 1u32,
 | 
				
			||||||
                    disabled: false,
 | 
					                    disabled: false,
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
            Ok(())
 | 
					 | 
				
			||||||
        })?;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Self::deposit_event(Event::<T>::Clapped {
 | 
					        Self::deposit_event(Event::<T>::Clapped {
 | 
				
			||||||
            authority_id: clap.authority_index,
 | 
					            authority_id: clap.authority_index,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user