Add additional argument to `unstake_all` and `unstake_all` (or `remove_all`)
Issue: Inaccurate "Unstake All" Behavior in Dynamic Environments
We've observed that when users try to unstake their entire Alpha from a hotkey, a small residual stake sometimes remains. This happens because emissions accrue between the time the client queries the stake amount and when the unstake transaction executes. While we've implemented SDK-side adjustments, a truly robust solution requires chain-level changes.
We propose adding arguments to the remove_stake and remove_stake_limit functions in Subtensor. This would allow the chain to precisely understand the user's intent to unstake all Alpha, ensuring complete and accurate withdrawals even in dynamic network conditions.
Please read more about the issue from SDK side here.
What if we modify unstake_all extrinsic instead by specifying optional subnet ID?
What if we modify
unstake_allextrinsic instead by specifying optional subnet ID?
Hey, as I mentioned in the description, any SDK modifications aren't ideal.
We can only be guaranteed to get the expected result if the chain performs the unataking operation for all staked Alpha on the hotkey. Possibly,In order not to create new function, it is worth accepting a new argument something like 'unstake_all: Bool'.