ShortLongSpell#openPosition can cause user unexpected liquidation when increasing position size
When increasing a position, all collateral is sent to the user rather than being kept in the position. This can cause serious issues because this collateral keeps the user from being liquidated. It may unexpectedly leave the user on the brink of liquidation where a small change in price leads to their liquidation.\\nShortLongSpell.sol#L129-L141\\n```\\n    {\\n        IBank.Position memory pos = bank.getCurrentPositionInfo();\\n        address posCollToken = pos.collToken;\\n        uint256 collSize = pos.collateralSize;\\n        address burnToken = address(ISoftVault(strategy.vault).uToken());\\n        if (collSize > 0) {\\n            if (posCollToken != address(wrapper))\\n                revert Errors.INCORRECT_COLTOKEN(posCollToken);\\n            bank.takeCollateral(collSize);\\n            wrapper.burn(burnToken, collSize);\\n            _doRefund(burnToken);\\n        }\\n    }\\n```\\n\\nIn the above lines we can see that all collateral is burned and the user is sent the underlying tokens. This is problematic as it sends all the collateral to the user, leaving the position collateralized by only the isolated collateral.\\nBest case the user's transaction reverts but worst case they will be liquidated almost immediately.
Don't burn the collateral
Unfair liquidation for users
```\\n    {\\n        IBank.Position memory pos = bank.getCurrentPositionInfo();\\n        address posCollToken = pos.collToken;\\n        uint256 collSize = pos.collateralSize;\\n        address burnToken = address(ISoftVault(strategy.vault).uToken());\\n        if (collSize > 0) {\\n            if (posCollToken != address(wrapper))\\n                revert Errors.INCORRECT_COLTOKEN(posCollToken);\\n            bank.takeCollateral(collSize);\\n            wrapper.burn(burnToken, collSize);\\n            _doRefund(burnToken);\\n        }\\n    }\\n```\\n