Unsafe transferFrom breaks compatibility with 100s of ERC20 tokens
In Ninja vaults, the delegated strategy sends profit tokens to the vault using `depositProfitTokenForUsers()`. The vault transfers the tokens in using:\\n```\\n         // Now pull in the tokens (Should have permission)\\n          // We only want to pull the tokens with accounting\\n                profitToken.transferFrom(strategy, address(this), _amount);\\n          emit ProfitReceivedFromStrategy(_amount);\\n```\\n\\nThe issue is that the code doesn't use the `safeTransferFrom()` utility from SafeERC20. Therefore, profitTokens that don't return a bool in `transferFrom()` will cause a revert which means they are stuck in the strategy. Examples of such tokens are USDT, BNB, among hundreds of other tokens.
Use `safeTransferFrom()` from SafeERC20.sol
```\\n         // Now pull in the tokens (Should have permission)\\n          // We only want to pull the tokens with accounting\\n                profitToken.transferFrom(strategy, address(this), _amount);\\n          emit ProfitReceivedFromStrategy(_amount);\\n```\\n