I've been doing some research around using external libraries and I still have a couple of questions which would be great if someone could help.
I have come across this paragraph:
In the meantime you can deploy upgradeable contracts linked to external libraries by setting the
unsafeAllowLinkedLibrariesflag to true in the
upgradeProxycalls, or including
unsafeAllowarray. Keep in mind the plugins will not verify that the linked libraries are upgrade safe. This has to be done manually for now until the full support for external libraries is implemented.
The confusing part here is that it suggests we need to do manual verification to see if the linked library is upgrade safe.
The is documentation about when a contract is upgrade safe
However, I'm not quite sure how does this translate into the context of libraries. When a library is upgrade safe?
Moreover, I came across this sentence from the link above:
As such, it is not allowed to use either
delegatecallin your contracts.
Isn't a call to an external library a delegatecall? If so does it mean we cannot/should not use external libraries whatosver?