Skip to content

Commit 7b84d3c

Browse files
author
Samuel Dare
committed
fix: add back arbitration check
1 parent 8ebcf2d commit 7b84d3c

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

pallets/subtensor/src/swap.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ impl<T: Config> Pallet<T> {
3232
) -> DispatchResultWithPostInfo {
3333
let coldkey = ensure_signed(origin)?;
3434

35+
ensure!(
36+
!Self::coldkey_in_arbitration(&old_coldkey),
37+
Error::<T>::ColdkeyIsInArbitration
38+
);
39+
3540
let mut weight = T::DbWeight::get().reads(2);
3641

3742
ensure!(old_hotkey != new_hotkey, Error::<T>::NewHotKeyIsSameWithOld);
@@ -80,6 +85,7 @@ impl<T: Config> Pallet<T> {
8085
Self::swap_loaded_emission(old_hotkey, new_hotkey, &netuid_is_member, &mut weight);
8186
Self::swap_uids(old_hotkey, new_hotkey, &netuid_is_member, &mut weight);
8287
Self::swap_prometheus(old_hotkey, new_hotkey, &netuid_is_member, &mut weight);
88+
Self::swap_senate_member(old_hotkey, new_hotkey, &mut weight)?;
8389

8490
Self::swap_total_hotkey_coldkey_stakes_this_interval(old_hotkey, new_hotkey, &mut weight);
8591

pallets/subtensor/tests/swap.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,22 @@ fn test_do_swap_hotkey_ok_robust() {
167167
SubtensorModule::add_balance_to_coldkey_account(coldkey, swap_cost);
168168
}
169169

170+
// Add old_hotkeys[0] and old_hotkeys[1] to Senate
171+
assert_ok!(SenateMembers::add_member(
172+
RawOrigin::Root.into(),
173+
old_hotkeys[0]
174+
));
175+
assert_ok!(SenateMembers::add_member(
176+
RawOrigin::Root.into(),
177+
old_hotkeys[1]
178+
));
179+
180+
// Verify initial Senate membership
181+
assert!(Senate::is_member(&old_hotkeys[0]));
182+
assert!(Senate::is_member(&old_hotkeys[1]));
183+
assert!(!Senate::is_member(&new_hotkeys[0]));
184+
assert!(!Senate::is_member(&new_hotkeys[1]));
185+
170186
// Perform the swaps for only two hotkeys
171187
assert_ok!(SubtensorModule::do_swap_hotkey(
172188
<<Test as Config>::RuntimeOrigin>::signed(coldkeys[0]),
@@ -268,6 +284,10 @@ fn test_do_swap_hotkey_ok_robust() {
268284
assert_eq!(Keys::<Test>::get(netuid, uid), new_hotkeys[i]);
269285
}
270286
}
287+
288+
// Verify Senate membership swap
289+
assert!(!Senate::is_member(&old_hotkeys[i]));
290+
assert!(Senate::is_member(&new_hotkeys[i]));
271291
} else {
272292
// Ensure other hotkeys remain unchanged
273293
assert_eq!(
@@ -278,6 +298,10 @@ fn test_do_swap_hotkey_ok_robust() {
278298
SubtensorModule::get_owning_coldkey_for_hotkey(&new_hotkeys[i]),
279299
coldkeys[i]
280300
);
301+
302+
// Verify Senate membership remains unchanged for other hotkeys
303+
assert!(!Senate::is_member(&old_hotkeys[i]));
304+
assert!(!Senate::is_member(&new_hotkeys[i]));
281305
}
282306
}
283307
}

0 commit comments

Comments
 (0)