You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given a user who wants to use a contract from a zOS standard library (aka KernelInstance), they can only request a proxy to the implementation and use it via composition in their contract.
Research options for allowing a user to write a contract that somehow extends from an implementation already deployed, so the user does not need to redeploy the code from the base class.
I'm very skeptical that this will result in a usable feature. It would be bending the semantics of Solidity too much, and I think we should stick as closely as possible to them.
For example, inheritance normally allows you to call the internal functions of your parents. This simply cannot be implemented with an upgradeable parent, because calls from the contract to its ugpradeable parent will necessarily be mediated by a delegatecall, and this doesn't allow to use memory to pass arguments, which is how the internal calling convention works.
Allow users to extend the provided functionality of the kernel library contracts
The text was updated successfully, but these errors were encountered: