-
-
Notifications
You must be signed in to change notification settings - Fork 834
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
feat: publish immutables layout #2768
feat: publish immutables layout #2768
Conversation
immutables can have the same name as storage variables, depending on the order they occur in. for instance, this is allowed ``` x: uint256 x: immutable(uint256) ``` but, this is is not: ``` x: immutable(uint256) x: uint256 ``` this commit ensures both cases are blocked.
Codecov Report
@@ Coverage Diff @@
## master #2768 +/- ##
==========================================
- Coverage 87.33% 87.32% -0.02%
==========================================
Files 94 94
Lines 10046 10053 +7
Branches 2489 2490 +1
==========================================
+ Hits 8774 8779 +5
- Misses 804 805 +1
- Partials 468 469 +1
Continue to review full report at Codecov.
|
kind of wonder if we should publish as two separate dicts. e.g.
@fubuloubu thoughts? |
Are collisions even allowed? |
there was a case where they were allowed, but I blocked that case in this PR. but we might not always block. |
I think collisions should not be allowed here. It's sort of like a |
meeting notes: separate into two dicts |
What I did
publish immutables layout. since the output is a single dict of variable names (see below for ex.), I was a bit concerned about collisions between immutables and storage variables, so I went ahead and blocked those.
How I did it
add code offsets dict to the
-f layout
outputHow to verify it
try
Commit message
Description for the changelog
Cute Animal Picture