Holders can burn locked funds
Skale token is a modified ERC-777 that allows locking some part of the balance. Locking is checked during every transfer:\\n```\\n// Property of the company SKALE Labs inc.---------------------------------\\n        uint locked = \\_getLockedOf(from);\\n        if (locked > 0) {\\n            require(\\_balances[from] >= locked + amount, "Token should be unlocked for transferring");\\n        }\\n//-------------------------------------------------------------------------\\n        \\_balances[from] = \\_balances[from].sub(amount);\\n        \\_balances[to] = \\_balances[to].add(amount);\\n```\\n\\nBut it's not checked during `burn` function and it's possible to “burn” `locked` tokens. Tokens will be burned, but `locked` amount will remain the same. That will result in having more `locked` tokens than the balance which may have very unpredictable behaviour.
Allow burning only unlocked tokens.
```\\n// Property of the company SKALE Labs inc.---------------------------------\\n        uint locked = \\_getLockedOf(from);\\n        if (locked > 0) {\\n            require(\\_balances[from] >= locked + amount, "Token should be unlocked for transferring");\\n        }\\n//-------------------------------------------------------------------------\\n        \\_balances[from] = \\_balances[from].sub(amount);\\n        \\_balances[to] = \\_balances[to].add(amount);\\n```\\n