uint256 withdrawnCollateral = ICDPVault(leverParams.vault).withdraw(address(this), subCollateral);
uint256 withdrawnCollateral = ICDPVault(leverParams.vault).withdraw(leverParams.position, subCollateral);
return ICDPVault(leverParams.vault).deposit(address(this), addCollateralAmount);
return addCollateralAmount;
poolToken = balancerVault.getPool(poolId);
function _onDecreaseLever(
    LeverParams memory leverParams,
    uint256 subCollateral
) internal override returns (uint256 tokenOut) {
    ...

    if (leverParams.auxAction.args.length != 0) {
        bytes memory exitData = _delegateCall(
            address(poolAction),
            abi.encodeWithSelector(poolAction.exit.selector, leverParams.auxAction)
        );

-       tokenOut = abi.decode(exitData, (uint256));
+       tokenOut = IERC20(IERC4626(leverParams.collateralToken).asset()).balanceOf(address(this));
    }
}
