fn withdraw_staking_pot() -> BalanceOf<T> {
        let staking_pot = Self::staking_pot();
        if T::Currency::free_balance(&staking_pot) < T::Currency::minimum_balance() {
            log!(
                info,
                "🏢 Murphy Staking Pot is empty."
            );

            return Zero::zero();
        }
        // Leave the minimum balance to keep this account live.
        let staking_amount = T::Currency::free_balance(&staking_pot) - T::Currency::minimum_balance();
        let mut imbalance = <PositiveImbalanceOf<T>>::zero();
        imbalance.subsume(T::Currency::burn(staking_amount.clone()));
        if let Err(_) = T::Currency::settle(
            &staking_pot,
            imbalance,
            WithdrawReasons::TRANSFER,
            KeepAlive
        ) {
            log!(
                warn,
                "🏢 Something wrong during withdrawing staking pot. Admin/Council should pay attention to it."
            );

            return Zero::zero();
        }
        staking_amount
    }
// withdraw murphy staking pot for distributing staking reward
withdraw murphy staking pot for distributing staking reward
withdraw murphy staking pot for distributing staking reward
fn withdraw_staking_pot() -> BalanceOf<T> {
        let staking_pot = Self::staking_pot();
        if T::Currency::free_balance(&staking_pot) < T::Currency::minimum_balance() {
            log!(
                info,
                "🏢 Murphy Staking Pot is empty."
            );
            return Zero::zero();
        }
        // Leave the minimum balance to keep this account live.
        let staking_amount = T::Currency::free_balance(&staking_pot) - T::Currency::minimum_balance();
        let mut imbalance = <PositiveImbalanceOf<T>>::zero();
        imbalance.subsume(T::Currency::burn(staking_amount.clone()));
        if let Err(_) = T::Currency::settle(
            &staking_pot,
            imbalance,
            WithdrawReasons::TRANSFER,
            KeepAlive
        ) {
            log!(
                warn,
                "🏢 Something wrong during withdrawing staking pot. Admin/Council should pay attention to it."
            );
            return Zero::zero();
        }
        staking_amount
    }
fn withdraw_staking_pot ( ) -> BalanceOf < T > { let staking_pot = Self :: staking_pot ( ) ; if T :: Currency :: free_balance ( & staking_pot ) < T :: Currency :: minimum_balance ( ) { log ! ( info " ) ; return Zero :: zero ( ) ; } // Leave the minimum balance to keep this account live. let staking_amount = T :: Currency :: free_balance ( & staking_pot ) - T :: Currency :: minimum_balance ( ) ; let mut imbalance = < PositiveImbalanceOf < T > > :: zero ( ) ; imbalance . subsume ( T :: Currency :: burn ( staking_amount . clone ( ) ) ) ; if let Err ( _ ) = T :: Currency :: settle ( & staking_pot , imbalance , WithdrawReasons :: TRANSFER , KeepAlive ) { log ! ( warn " ) ; return Zero :: zero ( ) ; } staking_amount }
withdraw murphy staking pot for distributing staking reward
withdraw murphy staking pot for distributing staking reward