You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
The first draft of this pallet was written with the tight coupling approach for the sake of simplicity.
Moving Forward
We can use StakingInterface as a proxy into a staking pallet.
We won't rely on nomination pools anymore and won't provide the feature to join the pool on the fly.
If we happen to want to still support pool join, we can either:
You provide some opaque: Vec<u8> data to the fast-unstake pallet, which is later on forwarded through some hook to nomination pools, and decoded as pool_id. Still, very very janky.
we wrap the current fast-unstake in a new pallet that does fast-unstake-and-join-pools.
The text was updated successfully, but these errors were encountered:
We can use StakingInterface as a proxy into a staking pallet.
With the way fast-unstake is currently using pallet-staking Storage/Constants/Methods it seems like StakingInterface is not going to be enough to decouple one from the other.
What we would need to do for full decoupling:
Remove direct calls to pallet-staking, like: Staking::<T>::chill, Staking::<T>::slashing_spans. For that we'd need to introduce some new methods to the StakingInterface
Remove param/constant getters that reference pallet-staking, like: <T as pallet_staking::Config>::BondingDuration::get()
One of the options is incorporating all the storage/constant calls as methods in the StakingInterface.
And then we could also call it type Staking: StakingInterface<>,
All of the above can reasonably be added to StakingInterface. It is reasonable for a interface to staking to be able to chill or force_unstake stakers, and to report what is its current bodning duration and validator count.
The slashing span thing can be abstracted away and should be dealt with purely on the staking side. We need that value only for weighing anyhow.
I am not saying we should YOLO it and tweak StakingInterface arbitrarily, but all of the above make sense to me to live in the interface, at least at the time being. If you think otherwise, happy to discuss, else I think we can move forward.
The first draft of this pallet was written with the tight coupling approach for the sake of simplicity.
StakingInterface
as a proxy into a staking pallet.If we happen to want to still support pool join, we can either:
opaque: Vec<u8>
data to the fast-unstake pallet, which is later on forwarded through some hook to nomination pools, and decoded aspool_id
. Still, very very janky.fast-unstake-and-join-pools
.The text was updated successfully, but these errors were encountered: