ShortLongSpell#openPosition uses the wrong balanceOf when determining how much collateral to put
The _doPutCollateral subcall in ShortLongSpell#openPosition uses the balance of the uToken rather than the vault resulting in the vault tokens being left in the contract which will be stolen.\\n```\\n    address vault = strategies[param.strategyId].vault;\\n    _doPutCollateral(\\n        vault,\\n        IERC20Upgradeable(ISoftVault(vault).uToken()).balanceOf(\\n            address(this)\\n        )\\n    );\\n```\\n\\nWhen putting the collateral the contract is putting vault but it uses the balance of the uToken instead of the balance of the vault.
Use the balanceOf vault rather than vault.uToken
Vault tokens will be left in contract and stolen
```\\n    address vault = strategies[param.strategyId].vault;\\n    _doPutCollateral(\\n        vault,\\n        IERC20Upgradeable(ISoftVault(vault).uToken()).balanceOf(\\n            address(this)\\n        )\\n    );\\n```\\n