pub fn remove_liquidity(
        &mut self,
        sender_id: &AccountId,
        shares: Balance,
        min_amounts: Vec<Balance>,
    ) -> Vec<Balance> {
        match self {
            Pool::SimplePool(pool) => pool.remove_liquidity(sender_id, shares, min_amounts),
            Pool::StableSwapPool(pool) => {
                pool.remove_liquidity_by_shares(sender_id, shares, min_amounts)
            }
        }
    }
/// Removes liquidity from underlying pool.
Removes liquidity from underlying pool.
Removes liquidity from underlying pool .
pub fn remove_liquidity(
        &mut self,
        sender_id: &AccountId,
        shares: Balance,
        min_amounts: Vec<Balance>,
    ) -> Vec<Balance> {
        match self {
            Pool::SimplePool(pool) => pool.remove_liquidity(sender_id, shares, min_amounts),
            Pool::StableSwapPool(pool) => {
                pool.remove_liquidity_by_shares(sender_id, shares, min_amounts)
            }
        }
    }
pub fn remove_liquidity ( & mut self , sender_id : & AccountId , shares : Balance , min_amounts : Vec < Balance > , ) -> Vec < Balance > { match self { Pool :: SimplePool ( pool ) => pool . remove_liquidity ( sender_id , shares , min_amounts ) , Pool :: StableSwapPool ( pool ) => { pool . remove_liquidity_by_shares ( sender_id , shares , min_amounts ) } } }
Removes liquidity from underlying pool.
Removes liquidity from underlying pool .
&mut self
sender_id
&AccountId
shares
Balance
min_amounts
Vec<Balance>
&mut self
sender_id
&AccountId
shares
Balance
min_amounts
Vec<Balance>