@@ -142,7 +142,7 @@ fn test_announce_coldkey_swap_with_existing_announcement_not_past_delay_fails()
142142
143143 assert_noop ! (
144144 SubtensorModule :: announce_coldkey_swap( RuntimeOrigin :: signed( who) , new_coldkey_2_hash, ) ,
145- Error :: <Test >:: ColdKeySwapReannouncedTooEarly
145+ Error :: <Test >:: ColdkeySwapReannouncedTooEarly
146146 ) ;
147147 } ) ;
148148}
@@ -266,7 +266,7 @@ fn test_swap_coldkey_announced_works() {
266266 ) ) ;
267267
268268 // Ensure the announcement has been consumed
269- assert_eq ! ( ColdkeySwapAnnouncements :: <Test >:: get ( who) , None ) ;
269+ assert_eq ! ( ! ColdkeySwapAnnouncements :: <Test >:: contains_key ( who) ) ;
270270
271271 // Ensure the cost has been withdrawn from the old coldkey and recycled
272272 let balance_after = SubtensorModule :: get_coldkey_balance ( & who) ;
@@ -404,10 +404,11 @@ fn test_do_swap_coldkey_preserves_new_coldkey_identity() {
404404 } ;
405405 IdentitiesV2 :: < Test > :: insert ( new_coldkey, new_identity. clone ( ) ) ;
406406
407- let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
408- SubtensorModule :: add_balance_to_coldkey_account ( & who, swap_cost. to_u64 ( ) ) ;
409-
410- assert_ok ! ( SubtensorModule :: do_swap_coldkey( & who, & new_coldkey) ) ;
407+ assert_ok ! ( SubtensorModule :: do_swap_coldkey(
408+ & who,
409+ & new_coldkey,
410+ TaoCurrency :: ZERO
411+ ) ) ;
411412
412413 // Identity is preserved
413414 assert_eq ! ( IdentitiesV2 :: <Test >:: get( who) , Some ( old_identity) ) ;
@@ -441,7 +442,7 @@ fn test_swap_coldkey_announced_without_announcement_fails() {
441442
442443 assert_noop ! (
443444 SubtensorModule :: swap_coldkey_announced( RuntimeOrigin :: signed( who) , new_coldkey) ,
444- Error :: <Test >:: ColdKeySwapAnnouncementNotFound
445+ Error :: <Test >:: ColdkeySwapAnnouncementNotFound
445446 ) ;
446447 } )
447448}
@@ -483,7 +484,7 @@ fn test_swap_coldkey_announced_too_early_fails() {
483484 <Test as frame_system:: Config >:: RuntimeOrigin :: signed( who) ,
484485 new_coldkey
485486 ) ,
486- Error :: <Test >:: ColdKeySwapTooEarly
487+ Error :: <Test >:: ColdkeySwapTooEarly
487488 ) ;
488489 } )
489490}
@@ -562,8 +563,9 @@ fn test_do_swap_coldkey_with_not_enough_balance_to_pay_swap_cost_fails() {
562563 let delay = ColdkeySwapAnnouncementDelay :: < Test > :: get ( ) + 1 ;
563564 System :: run_to_block :: < AllPalletsWithSystem > ( now + delay) ;
564565
566+ let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
565567 assert_noop ! (
566- SubtensorModule :: do_swap_coldkey( & who, & new_coldkey) ,
568+ SubtensorModule :: do_swap_coldkey( & who, & new_coldkey, swap_cost ) ,
567569 Error :: <Test >:: NotEnoughBalanceToPaySwapColdKey
568570 ) ;
569571 } ) ;
@@ -575,10 +577,11 @@ fn test_do_swap_coldkey_with_no_stake() {
575577 let old_coldkey = U256 :: from ( 1 ) ;
576578 let new_coldkey = U256 :: from ( 2 ) ;
577579
578- let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
579- SubtensorModule :: add_balance_to_coldkey_account ( & old_coldkey, swap_cost. to_u64 ( ) ) ;
580-
581- assert_ok ! ( SubtensorModule :: do_swap_coldkey( & old_coldkey, & new_coldkey, ) ) ;
580+ assert_ok ! ( SubtensorModule :: do_swap_coldkey(
581+ & old_coldkey,
582+ & new_coldkey,
583+ TaoCurrency :: ZERO
584+ ) ) ;
582585
583586 assert_eq ! (
584587 SubtensorModule :: get_total_stake_for_coldkey( & old_coldkey) ,
@@ -648,14 +651,15 @@ fn test_do_swap_coldkey_with_max_values() {
648651 netuid2,
649652 ) ;
650653
651- let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
652- SubtensorModule :: add_balance_to_coldkey_account ( & old_coldkey, swap_cost . to_u64 ( ) ) ;
653- SubtensorModule :: add_balance_to_coldkey_account ( & old_coldkey2 , swap_cost . to_u64 ( ) ) ;
654-
655- assert_ok ! ( SubtensorModule :: do_swap_coldkey ( & old_coldkey , & new_coldkey , ) ) ;
654+ assert_ok ! ( SubtensorModule :: do_swap_coldkey (
655+ & old_coldkey,
656+ & new_coldkey ,
657+ TaoCurrency :: ZERO
658+ ) ) ;
656659 assert_ok ! ( SubtensorModule :: do_swap_coldkey(
657660 & old_coldkey2,
658- & new_coldkey2
661+ & new_coldkey2,
662+ TaoCurrency :: ZERO
659663 ) ) ;
660664
661665 assert_eq ! (
@@ -713,10 +717,11 @@ fn test_do_swap_coldkey_effect_on_delegated_stake() {
713717 let coldkey_stake_before = SubtensorModule :: get_total_stake_for_coldkey ( & old_coldkey) ;
714718 let delegator_stake_before = SubtensorModule :: get_total_stake_for_coldkey ( & delegator) ;
715719
716- let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
717- SubtensorModule :: add_balance_to_coldkey_account ( & old_coldkey, swap_cost. to_u64 ( ) ) ;
718-
719- assert_ok ! ( SubtensorModule :: do_swap_coldkey( & old_coldkey, & new_coldkey, ) ) ;
720+ assert_ok ! ( SubtensorModule :: do_swap_coldkey(
721+ & old_coldkey,
722+ & new_coldkey,
723+ TaoCurrency :: ZERO
724+ ) ) ;
720725
721726 assert_abs_diff_eq ! (
722727 SubtensorModule :: get_total_stake_for_coldkey( & new_coldkey) ,
@@ -808,11 +813,12 @@ fn test_swap_delegated_stake_for_coldkey() {
808813 let total_hotkey1_stake = SubtensorModule :: get_total_stake_for_hotkey ( & hotkey1) ;
809814 let total_hotkey2_stake = SubtensorModule :: get_total_stake_for_hotkey ( & hotkey2) ;
810815
811- let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
812- SubtensorModule :: add_balance_to_coldkey_account ( & old_coldkey, swap_cost. to_u64 ( ) ) ;
813-
814816 // Perform the swap
815- assert_ok ! ( SubtensorModule :: do_swap_coldkey( & old_coldkey, & new_coldkey, ) ) ;
817+ assert_ok ! ( SubtensorModule :: do_swap_coldkey(
818+ & old_coldkey,
819+ & new_coldkey,
820+ TaoCurrency :: ZERO
821+ ) ) ;
816822
817823 // Verify stake transfer
818824 assert_eq ! (
@@ -1100,16 +1106,17 @@ fn test_coldkey_swap_total() {
11001106 vec![ hotkey3, delegate3]
11011107 ) ;
11021108
1103- let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
1104- SubtensorModule :: add_balance_to_coldkey_account ( & coldkey, swap_cost. to_u64 ( ) ) ;
1105-
11061109 // Perform the swap
11071110 let new_coldkey = U256 :: from ( 1100 ) ;
11081111 assert_eq ! (
11091112 SubtensorModule :: get_total_stake_for_coldkey( & coldkey) ,
11101113 ck_stake
11111114 ) ;
1112- assert_ok ! ( SubtensorModule :: do_swap_coldkey( & coldkey, & new_coldkey, ) ) ;
1115+ assert_ok ! ( SubtensorModule :: do_swap_coldkey(
1116+ & coldkey,
1117+ & new_coldkey,
1118+ TaoCurrency :: ZERO
1119+ ) ) ;
11131120 assert_eq ! (
11141121 SubtensorModule :: get_total_stake_for_coldkey( & new_coldkey) ,
11151122 ck_stake
@@ -1243,11 +1250,12 @@ fn test_do_swap_coldkey_effect_on_delegations() {
12431250 stake. into( )
12441251 ) ) ;
12451252
1246- let swap_cost = SubtensorModule :: get_key_swap_cost ( ) ;
1247- SubtensorModule :: add_balance_to_coldkey_account ( & coldkey, swap_cost. to_u64 ( ) ) ;
1248-
12491253 // Perform the swap
1250- assert_ok ! ( SubtensorModule :: do_swap_coldkey( & coldkey, & new_coldkey, ) ) ;
1254+ assert_ok ! ( SubtensorModule :: do_swap_coldkey(
1255+ & coldkey,
1256+ & new_coldkey,
1257+ TaoCurrency :: ZERO
1258+ ) ) ;
12511259
12521260 // Verify stake was moved for the delegate
12531261 let approx_total_stake = TaoCurrency :: from ( stake * 2 - fee * 2 ) ;
@@ -1283,6 +1291,44 @@ fn test_do_swap_coldkey_effect_on_delegations() {
12831291 } ) ;
12841292}
12851293
1294+ #[ test]
1295+ fn test_remove_coldkey_swap_announcement_works ( ) {
1296+ new_test_ext ( 1 ) . execute_with ( || {
1297+ let who = U256 :: from ( 1 ) ;
1298+ let new_coldkey = U256 :: from ( 2 ) ;
1299+ let new_coldkey_hash = <Test as frame_system:: Config >:: Hashing :: hash_of ( & new_coldkey) ;
1300+
1301+ assert_ok ! ( SubtensorModule :: announce_coldkey_swap(
1302+ RuntimeOrigin :: signed( who) ,
1303+ new_coldkey_hash,
1304+ ) ) ;
1305+
1306+ assert_ok ! ( SubtensorModule :: remove_coldkey_swap_announcement(
1307+ RuntimeOrigin :: root( ) ,
1308+ who,
1309+ ) ) ;
1310+
1311+ assert ! ( !ColdkeySwapAnnouncements :: <Test >:: contains_key( who) ) ;
1312+ } ) ;
1313+ }
1314+
1315+ #[ test]
1316+ fn test_remove_coldkey_swap_announcement_with_bad_origin_fails ( ) {
1317+ new_test_ext ( 1 ) . execute_with ( || {
1318+ let who = U256 :: from ( 1 ) ;
1319+
1320+ assert_noop ! (
1321+ SubtensorModule :: remove_coldkey_swap_announcement( RuntimeOrigin :: none( ) , who) ,
1322+ BadOrigin
1323+ ) ;
1324+
1325+ assert_noop ! (
1326+ SubtensorModule :: remove_coldkey_swap_announcement( RuntimeOrigin :: root( ) , who) ,
1327+ BadOrigin
1328+ ) ;
1329+ } ) ;
1330+ }
1331+
12861332#[ test]
12871333fn test_subtensor_extension_rejects_any_call_that_is_not_swap_coldkey_announced ( ) {
12881334 new_test_ext ( 0 ) . execute_with ( || {
@@ -1401,25 +1447,6 @@ fn test_subtensor_extension_rejects_any_call_that_is_not_swap_coldkey_announced(
14011447 } ) ;
14021448}
14031449
1404- #[ test]
1405- #[ allow( deprecated) ]
1406- fn test_swap_coldkey_deprecated ( ) {
1407- new_test_ext ( 1 ) . execute_with ( || {
1408- let old_coldkey = U256 :: from ( 1 ) ;
1409- let new_coldkey = U256 :: from ( 2 ) ;
1410-
1411- assert_noop ! (
1412- SubtensorModule :: swap_coldkey(
1413- <<Test as Config >:: RuntimeOrigin >:: root( ) ,
1414- old_coldkey,
1415- new_coldkey,
1416- TaoCurrency :: MAX
1417- ) ,
1418- Error :: <Test >:: Deprecated
1419- ) ;
1420- } ) ;
1421- }
1422-
14231450#[ test]
14241451#[ allow( deprecated) ]
14251452fn test_schedule_swap_coldkey_deprecated ( ) {
0 commit comments