I think it would make sense to separate issuer functions from regular users, as usually it contains different logics anyway, e.g. function withdrawLiquidity():
The check that the msg.sender is issuer will be irrelevant >99% of the time (if we assume there will be many users), but it will consume extra gas every time. Also, it would help to keep a single responsibility principle. But the deployment costs might be a bit higher.
Handle
pauliax
Vulnerability details
Impact
I think it would make sense to separate issuer functions from regular users, as usually it contains different logics anyway, e.g. function withdrawLiquidity():
The check that the msg.sender is issuer will be irrelevant >99% of the time (if we assume there will be many users), but it will consume extra gas every time. Also, it would help to keep a single responsibility principle. But the deployment costs might be a bit higher.