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
If contracts inherit interfaces that have structs annotated with namespaces, those namespaces can still be validated but they won't have detailed type information such as slots or lengths.
When creating modified solc input, consider converting interfaces into abstract contracts, so that we can insert variables for the namespace structs to extract their detailed type information.
This would require:
Change interface to abstract contract
Add virtual to any interface functions since they are unimplemented
Continue making other modifications similar to how contracts are treated, so that other function signature changes would also occur (to ensure the virtual function's signature does not become out of sync from any implementations)
However, this risks further compilation errors since there may be other edge cases. We should only consider this after #1088.
The text was updated successfully, but these errors were encountered:
Related to #1086 (comment)
If contracts inherit interfaces that have structs annotated with namespaces, those namespaces can still be validated but they won't have detailed type information such as slots or lengths.
When creating modified solc input, consider converting interfaces into abstract contracts, so that we can insert variables for the namespace structs to extract their detailed type information.
This would require:
interface
toabstract contract
virtual
to any interface functions since they are unimplementedHowever, this risks further compilation errors since there may be other edge cases. We should only consider this after #1088.
The text was updated successfully, but these errors were encountered: