Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Namespaced layout validations: extract detailed types in interfaces #1089

Open
ericglau opened this issue Oct 2, 2024 · 0 comments
Open

Comments

@ericglau
Copy link
Member

ericglau commented Oct 2, 2024

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:

  1. Change interface to abstract contract
  2. Add virtual to any interface functions since they are unimplemented
  3. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant