@@ -9,26 +9,20 @@ impl<T: Config> Pallet<T> {
9
9
SubnetworkN :: < T > :: get ( netuid)
10
10
}
11
11
12
- /// Returns a callback that sets the element at the given position to zero, doing nothing if the
13
- /// position is out of bounds
14
- fn clear_element_at < N > ( position : u16 ) -> impl Fn ( & mut Vec < N > )
15
- where
16
- N : From < u8 > ,
17
- {
18
- move |vec : & mut Vec < N > | {
19
- if let Some ( element) = vec. get_mut ( position as usize ) {
20
- * element = N :: from ( 0 ) ;
21
- }
12
+ /// Sets value for the element at the given position if it exists.
13
+ pub fn set_element_at < N > ( vec : & mut [ N ] , position : usize , value : N ) {
14
+ if let Some ( element) = vec. get_mut ( position) {
15
+ * element = value;
22
16
}
23
17
}
24
18
25
19
/// Resets the trust, emission, consensus, incentive, dividends of the neuron to default
26
20
pub fn clear_neuron ( netuid : u16 , neuron_uid : u16 ) {
27
- Emission :: < T > :: mutate ( netuid, Self :: clear_element_at ( neuron_uid) ) ;
28
- Trust :: < T > :: mutate ( netuid, Self :: clear_element_at ( neuron_uid) ) ;
29
- Consensus :: < T > :: mutate ( netuid, Self :: clear_element_at ( neuron_uid) ) ;
30
- Incentive :: < T > :: mutate ( netuid, Self :: clear_element_at ( neuron_uid) ) ;
31
- Dividends :: < T > :: mutate ( netuid, Self :: clear_element_at ( neuron_uid) ) ;
21
+ Emission :: < T > :: mutate ( netuid, |v| Self :: set_element_at ( v , neuron_uid. into ( ) , 0 ) ) ;
22
+ Trust :: < T > :: mutate ( netuid, |v| Self :: set_element_at ( v , neuron_uid. into ( ) , 0 ) ) ;
23
+ Consensus :: < T > :: mutate ( netuid, |v| Self :: set_element_at ( v , neuron_uid. into ( ) , 0 ) ) ;
24
+ Incentive :: < T > :: mutate ( netuid, |v| Self :: set_element_at ( v , neuron_uid. into ( ) , 0 ) ) ;
25
+ Dividends :: < T > :: mutate ( netuid, |v| Self :: set_element_at ( v , neuron_uid. into ( ) , 0 ) ) ;
32
26
}
33
27
34
28
/// Replace the neuron under this uid.
0 commit comments