Skip to content

Commit 7062a3e

Browse files
author
Samuel Dare
committed
chore: additional tests
1 parent cc24255 commit 7062a3e

File tree

2 files changed

+59
-37
lines changed

2 files changed

+59
-37
lines changed

pallets/subtensor/src/swap.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ impl<T: Config> Pallet<T> {
128128
let block: u64 = Self::get_current_block_as_u64();
129129

130130
// Swap coldkey references in storage maps
131+
// NOTE The order of these calls is important
131132
Self::swap_total_coldkey_stake(old_coldkey, new_coldkey, &mut weight);
132133
Self::swap_stake_for_coldkey(old_coldkey, new_coldkey, &mut weight);
133134
Self::swap_owner_for_coldkey(old_coldkey, new_coldkey, &mut weight);

pallets/subtensor/tests/swap.rs

Lines changed: 58 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,44 +1054,51 @@ fn test_do_swap_coldkey_success() {
10541054
new_test_ext(1).execute_with(|| {
10551055
let old_coldkey = U256::from(1);
10561056
let new_coldkey = U256::from(2);
1057-
let hotkey = U256::from(3);
1057+
let hotkey1 = U256::from(3);
1058+
let hotkey2 = U256::from(4);
10581059
let netuid = 1u16;
1059-
let stake_amount = 1000u64;
1060-
let free_balance = 12345;
1060+
let stake_amount1 = 1000u64;
1061+
let stake_amount2 = 2000u64;
1062+
let free_balance_old = 12345u64;
10611063

10621064
// Setup initial state
10631065
add_network(netuid, 13, 0);
1064-
register_ok_neuron(netuid, hotkey, old_coldkey, 0);
1065-
SubtensorModule::add_balance_to_coldkey_account(&old_coldkey, stake_amount + free_balance);
1066+
register_ok_neuron(netuid, hotkey1, old_coldkey, 0);
1067+
register_ok_neuron(netuid, hotkey2, old_coldkey, 0);
10661068

1067-
// Add stake to the neuron
1069+
// Add balance to old coldkey
1070+
SubtensorModule::add_balance_to_coldkey_account(
1071+
&old_coldkey,
1072+
stake_amount1 + stake_amount2 + free_balance_old,
1073+
);
1074+
1075+
// Add stake to the neurons
1076+
assert_ok!(SubtensorModule::add_stake(
1077+
<<Test as Config>::RuntimeOrigin>::signed(old_coldkey),
1078+
hotkey1,
1079+
stake_amount1
1080+
));
10681081
assert_ok!(SubtensorModule::add_stake(
10691082
<<Test as Config>::RuntimeOrigin>::signed(old_coldkey),
1070-
hotkey,
1071-
stake_amount
1083+
hotkey2,
1084+
stake_amount2
10721085
));
10731086

1074-
log::info!(
1075-
"TotalColdkeyStake::<Test>::get(old_coldkey): {:?}",
1076-
TotalColdkeyStake::<Test>::get(old_coldkey)
1087+
// Verify initial stakes and balances
1088+
assert_eq!(
1089+
TotalColdkeyStake::<Test>::get(old_coldkey),
1090+
stake_amount1 + stake_amount2
10771091
);
1078-
log::info!(
1079-
"Stake::<Test>::get(old_coldkey, hotkey): {:?}",
1080-
Stake::<Test>::get(hotkey, old_coldkey)
1092+
assert_eq!(Stake::<Test>::get(hotkey1, old_coldkey), stake_amount1);
1093+
assert_eq!(Stake::<Test>::get(hotkey2, old_coldkey), stake_amount2);
1094+
assert_eq!(
1095+
OwnedHotkeys::<Test>::get(old_coldkey),
1096+
vec![hotkey1, hotkey2]
1097+
);
1098+
assert_eq!(
1099+
SubtensorModule::get_coldkey_balance(&old_coldkey),
1100+
free_balance_old
10811101
);
1082-
1083-
// Verify initial stake
1084-
assert_eq!(TotalColdkeyStake::<Test>::get(old_coldkey), stake_amount);
1085-
assert_eq!(Stake::<Test>::get(hotkey, old_coldkey), stake_amount);
1086-
1087-
assert_eq!(OwnedHotkeys::<Test>::get(old_coldkey), vec![hotkey]);
1088-
assert!(!OwnedHotkeys::<Test>::get(new_coldkey).contains(hotkey));
1089-
1090-
// Get coldkey free balance before swap
1091-
let balance = SubtensorModule::get_coldkey_balance(&old_coldkey);
1092-
assert_eq!(balance, free_balance);
1093-
1094-
let balance_new_coldkey = SubtensorModule::get_coldkey_balance(&new_coldkey);
10951102

10961103
// Perform the swap
10971104
assert_ok!(SubtensorModule::do_swap_coldkey(
@@ -1101,16 +1108,30 @@ let balance_new_coldkey = SubtensorModule::get_coldkey_balance(&new_coldkey);
11011108
));
11021109

11031110
// Verify the swap
1104-
assert_eq!(Owner::<Test>::get(hotkey), new_coldkey);
1105-
assert_eq!(TotalColdkeyStake::<Test>::get(new_coldkey), stake_amount);
1111+
assert_eq!(Owner::<Test>::get(hotkey1), new_coldkey);
1112+
assert_eq!(Owner::<Test>::get(hotkey2), new_coldkey);
1113+
assert_eq!(
1114+
TotalColdkeyStake::<Test>::get(new_coldkey),
1115+
stake_amount1 + stake_amount2
1116+
);
11061117
assert!(!TotalColdkeyStake::<Test>::contains_key(old_coldkey));
1107-
assert_eq!(Stake::<Test>::get(hotkey, new_coldkey), stake_amount);
1108-
assert!(!Stake::<Test>::contains_key(hotkey, old_coldkey));
1109-
assert_eq!(OwnedHotkeys::<Test>::get(new_coldkey), vec![hotkey]);
1118+
assert_eq!(Stake::<Test>::get(hotkey1, new_coldkey), stake_amount1);
1119+
assert_eq!(Stake::<Test>::get(hotkey2, new_coldkey), stake_amount2);
1120+
assert!(!Stake::<Test>::contains_key(hotkey1, old_coldkey));
1121+
assert!(!Stake::<Test>::contains_key(hotkey2, old_coldkey));
1122+
1123+
// Verify OwnedHotkeys
1124+
let new_owned_hotkeys = OwnedHotkeys::<Test>::get(new_coldkey);
1125+
assert!(new_owned_hotkeys.contains(&hotkey1));
1126+
assert!(new_owned_hotkeys.contains(&hotkey2));
1127+
assert_eq!(new_owned_hotkeys.len(), 2);
11101128
assert!(!OwnedHotkeys::<Test>::contains_key(old_coldkey));
11111129

11121130
// Verify balance transfer
1113-
assert_eq!(SubtensorModule::get_coldkey_balance(&new_coldkey), balance + balance_new_coldkey);
1131+
assert_eq!(
1132+
SubtensorModule::get_coldkey_balance(&new_coldkey),
1133+
free_balance_old
1134+
);
11141135
assert_eq!(SubtensorModule::get_coldkey_balance(&old_coldkey), 0);
11151136

11161137
// Verify event emission
@@ -1174,10 +1195,10 @@ fn test_swap_stake_for_coldkey() {
11741195
assert_eq!(Stake::<Test>::get(hotkey2, new_coldkey), stake_amount2);
11751196
assert!(!Stake::<Test>::contains_key(hotkey1, old_coldkey));
11761197
assert!(!Stake::<Test>::contains_key(hotkey2, old_coldkey));
1177-
assert_eq!(TotalHotkeyStake::<Test>::get(hotkey1), stake_amount1);
1178-
assert_eq!(TotalHotkeyStake::<Test>::get(hotkey2), stake_amount2);
1179-
assert_eq!(TotalStake::<Test>::get(), stake_amount1 + stake_amount2);
1180-
assert_eq!(TotalIssuance::<Test>::get(), stake_amount1 + stake_amount2);
1198+
assert_eq!(TotalHotkeyStake::<Test>::get(hotkey1), stake_amount1);
1199+
assert_eq!(TotalHotkeyStake::<Test>::get(hotkey2), stake_amount2);
1200+
assert_eq!(TotalStake::<Test>::get(), stake_amount1 + stake_amount2);
1201+
assert_eq!(TotalIssuance::<Test>::get(), stake_amount1 + stake_amount2);
11811202
// Verify weight update
11821203
let expected_weight = <Test as frame_system::Config>::DbWeight::get().reads_writes(3, 4);
11831204
assert_eq!(weight, expected_weight);

0 commit comments

Comments
 (0)