pub fn unbond<T: Config>(
    member_account: <<T as Config>::Lookup as StaticLookup>::Source,
    unbonding_points: BalanceOf<T>
Expand description

Unbond up to unbonding_points of the member_account’s funds from the pool. It implicitly collects the rewards one last time, since not doing so would mean some rewards would be forfeited.

Under certain conditions, this call can be dispatched permissionlessly (i.e. by any account).

Conditions for a permissionless dispatch.

  • The pool is blocked and the caller is either the root or bouncer. This is refereed to as a kick.
  • The pool is destroying and the member is not the depositor.
  • The pool is destroying, the member is the depositor and no other members are in the pool.

Conditions for permissioned dispatch (i.e. the caller is also the


  • The caller is not the depositor.
  • The caller is the depositor, the pool is destroying and no other members are in the pool.


If there are too many unlocking chunks to unbond with the pool account, Call::pool_withdraw_unbonded can be called to try and minimize unlocking chunks. The StakingInterface::unbond will implicitly call Call::pool_withdraw_unbonded to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks are available). However, it may not be possible to release the current unlocking chunks, in which case, the result of this call will likely be the NoMoreChunks error from the staking system.

Warning: Doc-Only

This function is an automatically generated, and is doc-only, uncallable stub. See the real version in Pallet::unbond.