Skip to content

Commit a7b5d97

Browse files
authored
Merge pull request opentensor#2257 from opentensor/feat/disable_lp
Extrinsic to disable LP
2 parents fb8c6d1 + 5d545ad commit a7b5d97

File tree

5 files changed

+274
-249
lines changed

5 files changed

+274
-249
lines changed

pallets/subtensor/src/tests/subnet.rs

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -717,62 +717,62 @@ fn test_subtoken_enable_ok_for_burn_register_before_enable() {
717717
});
718718
}
719719

720-
#[test]
721-
fn test_user_liquidity_access_control() {
722-
new_test_ext(1).execute_with(|| {
723-
let owner_hotkey = U256::from(1);
724-
let owner_coldkey = U256::from(2);
725-
let not_owner = U256::from(999); // arbitrary non-owner
726-
727-
// add network
728-
let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey);
729-
730-
// Not owner, not root: should fail
731-
assert_noop!(
732-
Swap::toggle_user_liquidity(RuntimeOrigin::signed(not_owner), netuid, true),
733-
DispatchError::BadOrigin
734-
);
735-
736-
// Subnet owner can enable
737-
assert_ok!(Swap::toggle_user_liquidity(
738-
RuntimeOrigin::signed(owner_coldkey),
739-
netuid,
740-
true
741-
));
742-
assert!(pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
743-
NetUid::from(netuid)
744-
));
745-
746-
// Root can disable
747-
assert_ok!(Swap::toggle_user_liquidity(
748-
RuntimeOrigin::root(),
749-
netuid,
750-
false
751-
));
752-
assert!(!pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
753-
NetUid::from(netuid)
754-
));
755-
756-
// Root can enable again
757-
assert_ok!(Swap::toggle_user_liquidity(
758-
RuntimeOrigin::root(),
759-
netuid,
760-
true
761-
));
762-
assert!(pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
763-
NetUid::from(netuid)
764-
));
765-
766-
// Subnet owner cannot disable (only root can disable)
767-
assert_noop!(
768-
Swap::toggle_user_liquidity(RuntimeOrigin::signed(owner_coldkey), netuid, false),
769-
DispatchError::BadOrigin
770-
);
771-
assert!(pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
772-
NetUid::from(netuid)
773-
));
774-
});
775-
}
720+
// #[test]
721+
// fn test_user_liquidity_access_control() {
722+
// new_test_ext(1).execute_with(|| {
723+
// let owner_hotkey = U256::from(1);
724+
// let owner_coldkey = U256::from(2);
725+
// let not_owner = U256::from(999); // arbitrary non-owner
726+
727+
// // add network
728+
// let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey);
729+
730+
// // Not owner, not root: should fail
731+
// assert_noop!(
732+
// Swap::toggle_user_liquidity(RuntimeOrigin::signed(not_owner), netuid, true),
733+
// DispatchError::BadOrigin
734+
// );
735+
736+
// // Subnet owner can enable
737+
// assert_ok!(Swap::toggle_user_liquidity(
738+
// RuntimeOrigin::signed(owner_coldkey),
739+
// netuid,
740+
// true
741+
// ));
742+
// assert!(pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
743+
// NetUid::from(netuid)
744+
// ));
745+
746+
// // Root can disable
747+
// assert_ok!(Swap::toggle_user_liquidity(
748+
// RuntimeOrigin::root(),
749+
// netuid,
750+
// false
751+
// ));
752+
// assert!(!pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
753+
// NetUid::from(netuid)
754+
// ));
755+
756+
// // Root can enable again
757+
// assert_ok!(Swap::toggle_user_liquidity(
758+
// RuntimeOrigin::root(),
759+
// netuid,
760+
// true
761+
// ));
762+
// assert!(pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
763+
// NetUid::from(netuid)
764+
// ));
765+
766+
// // Subnet owner cannot disable (only root can disable)
767+
// assert_noop!(
768+
// Swap::toggle_user_liquidity(RuntimeOrigin::signed(owner_coldkey), netuid, false),
769+
// DispatchError::BadOrigin
770+
// );
771+
// assert!(pallet_subtensor_swap::EnabledUserLiquidity::<Test>::get(
772+
// NetUid::from(netuid)
773+
// ));
774+
// });
775+
// }
776776

777777
// cargo test --package pallet-subtensor --lib -- tests::subnet::test_no_duplicates_in_symbol_static --exact --show-output
778778
#[test]

pallets/swap/src/benchmarking.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ use subtensor_runtime_common::NetUid;
1212

1313
use crate::{
1414
pallet::{
15-
AlphaSqrtPrice, Call, Config, CurrentLiquidity, CurrentTick, EnabledUserLiquidity, Pallet,
16-
Positions, SwapV3Initialized,
15+
AlphaSqrtPrice, Call, Config, CurrentLiquidity, CurrentTick, Pallet, Positions,
16+
SwapV3Initialized,
1717
},
1818
position::{Position, PositionId},
1919
tick::TickIndex,
@@ -131,17 +131,17 @@ mod benchmarks {
131131
);
132132
}
133133

134-
#[benchmark]
135-
fn toggle_user_liquidity() {
136-
let netuid = NetUid::from(101);
134+
// #[benchmark]
135+
// fn toggle_user_liquidity() {
136+
// let netuid = NetUid::from(101);
137137

138-
assert!(!EnabledUserLiquidity::<T>::get(netuid));
138+
// assert!(!EnabledUserLiquidity::<T>::get(netuid));
139139

140-
#[extrinsic_call]
141-
toggle_user_liquidity(RawOrigin::Root, netuid.into(), true);
140+
// #[extrinsic_call]
141+
// toggle_user_liquidity(RawOrigin::Root, netuid.into(), true);
142142

143-
assert!(EnabledUserLiquidity::<T>::get(netuid));
144-
}
143+
// assert!(EnabledUserLiquidity::<T>::get(netuid));
144+
// }
145145

146146
impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test);
147147
}

pallets/swap/src/pallet/mod.rs

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -350,9 +350,9 @@ mod pallet {
350350
Error::<T>::MechanismDoesNotExist
351351
);
352352

353-
EnabledUserLiquidity::<T>::insert(netuid, enable);
353+
// EnabledUserLiquidity::<T>::insert(netuid, enable);
354354

355-
Self::deposit_event(Event::UserLiquidityToggled { netuid, enable });
355+
// Self::deposit_event(Event::UserLiquidityToggled { netuid, enable });
356356

357357
Ok(())
358358
}
@@ -600,5 +600,30 @@ mod pallet {
600600

601601
Ok(())
602602
}
603+
604+
/// Disable user liquidity in all subnets.
605+
///
606+
/// Emits `Event::UserLiquidityToggled` on success
607+
#[pallet::call_index(5)]
608+
#[pallet::weight(<T as pallet::Config>::WeightInfo::modify_position())]
609+
pub fn disable_lp(origin: OriginFor<T>) -> DispatchResult {
610+
ensure_root(origin)?;
611+
612+
for netuid in 1..128 {
613+
let netuid = NetUid::from(netuid as u16);
614+
if EnabledUserLiquidity::<T>::get(netuid) {
615+
EnabledUserLiquidity::<T>::insert(netuid, false);
616+
Self::deposit_event(Event::UserLiquidityToggled {
617+
netuid,
618+
enable: false,
619+
});
620+
621+
// Remove provided liquidity
622+
// Self::do_dissolve_all_liquidity_providers(netuid)?;
623+
}
624+
}
625+
626+
Ok(())
627+
}
603628
}
604629
}

0 commit comments

Comments
 (0)