ShortLongSpell#openPosition attempts to burn wrong token
ShortLongSpell#openPosition attempts to burn vault.uToken when it should be using vault instead. The result is that ShortLongSpell#openPosition will be completely nonfunctional when the user is adding to their position\\n```\\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\\nWe see above that the contract attempts to withdraw vault.uToken from the wrapper.\\n```\\n    _doPutCollateral(\\n        vault,\\n        IERC20Upgradeable(ISoftVault(vault).uToken()).balanceOf(\\n            address(this)\\n        )\\n    );\\n```\\n\\nThis is in direct conflict with the collateral that is actually deposited which is vault. This will cause the function to always revert when adding to an existing position.
Burn token should be vault rather than vault.uToken
ShortLongSpell#openPosition will be completely nonfunctional when the user is adding to their position
```\\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