Skip to content

Commit 5e425fb

Browse files
rebase fix
1 parent 1306fec commit 5e425fb

File tree

2 files changed

+24
-20
lines changed

2 files changed

+24
-20
lines changed

pallets/subtensor/src/subnets/uids.rs

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,20 @@ impl<T: Config> Pallet<T> {
99
SubnetworkN::<T>::get(netuid)
1010
}
1111

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;
2216
}
2317
}
2418

2519
/// Resets the trust, emission, consensus, incentive, dividends of the neuron to default
2620
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));
3226
}
3327

3428
/// Replace the neuron under this uid.

pallets/subtensor/tests/uids.rs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,21 @@ fn test_replace_neuron() {
5454
let neuron_uid = neuron_uid.unwrap();
5555

5656
// set non-default values
57-
Trust::<Test>::mutate(netuid, |v| v[neuron_uid as usize] = 5u16);
58-
Emission::<Test>::mutate(netuid, |v| v[neuron_uid as usize] = 5u64);
59-
Consensus::<Test>::mutate(netuid, |v| v[neuron_uid as usize] = 5u16);
60-
Incentive::<Test>::mutate(netuid, |v| v[neuron_uid as usize] = 5u16);
61-
Dividends::<Test>::mutate(netuid, |v| v[neuron_uid as usize] = 5u16);
57+
Trust::<Test>::mutate(netuid, |v| {
58+
SubtensorModule::set_element_at(v, neuron_uid as usize, 5u16)
59+
});
60+
Emission::<Test>::mutate(netuid, |v| {
61+
SubtensorModule::set_element_at(v, neuron_uid as usize, 5u64)
62+
});
63+
Consensus::<Test>::mutate(netuid, |v| {
64+
SubtensorModule::set_element_at(v, neuron_uid as usize, 5u16)
65+
});
66+
Incentive::<Test>::mutate(netuid, |v| {
67+
SubtensorModule::set_element_at(v, neuron_uid as usize, 5u16)
68+
});
69+
Dividends::<Test>::mutate(netuid, |v| {
70+
SubtensorModule::set_element_at(v, neuron_uid as usize, 5u16)
71+
});
6272

6373
// serve axon mock address
6474
let ip: u128 = 1676056785;

0 commit comments

Comments
 (0)