-
Notifications
You must be signed in to change notification settings - Fork 136
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: add assemblycreate for warning suppression for zksolc 1.5.10 #840
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Maybe we should wait until linking is merged to add this change and then formally bump zksolc to version 1.5.9 along with it though.
I think it's ok as long as we don't change the default version here. But we should add this flag by default for >= 1.5.9 I believe since the affected contract is part of forge-std |
It's fine in terms of functionality. It's just tidier history wise to have an isolated PR bumping the compiler version and include the changes related to the version bump in that same PR. |
Hey @dutterbutter I need 1.5.9 for the linking due to the unlinked factory deps, I think it's best if we merge your PR first, bumping to 1.5.9 with it, and then my linking PR would be based on top of 1.5.9, wdyt? |
@elfedy bumped this to 1.5.10 and made it default. One question I have, when I log out the compiler output from the tests I see the following difference between TxOrigin warning and AssemblyCreate warning:
I would expect the |
Is it correct the test failures related to:
Would be resolved with #800 ? |
@dutterbutter I don't think those failures are expected. @Karrq can confirm though, maybe something changed on |
@dutterbutter will investigate this, it is strange as it should not change at all and should always have the warning. We are just deserializing the error json so not sure how this can happen by just changing the |
Hmm I suspect it could be because in a recent compiler release (I think 1.5.8) the |
Since we removed the |
I'm in favor of retaining it wrt backwards compatibility & compiler versioning, but if that's not a concern then I'm in favor of removing it as well |
@dutterbutter yes we would remove all missing libs checks from |
@elfedy updated to remove the logic for processing missing libraries in Are tests, |
I think we should keep the tests. As far as I understand they should pass as the libraries are being specified in the input and bytecode should be linked, right @Karrq ? |
@dutterbutter @Karrq seems we will need to update our |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGtM!
@hedgar2017 any insight on @elfedy question:
|
Must be a bug. I can fix it in v1.5.11. |
I actually had a different false positive where interfaces (that didn't have a hash) would be detected as unlinked - so I removed that and added if the number of unlinked factory deps (which afaik contains all factory deps) is higher than the list of linked factory deps, in addition to the missing libraries, but if we have another field to determine that then that's even better |
Sounds like we should switch |
Sure, but please provide a bug report for the issue above. Is it very important to fix anyway. |
So @dutterbutter if I understand correctly you are observing a populated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than the discussion above this looks good
What π»
assemblycreate
error suppressionWhy β
Evidence π·
Include screenshots, screen recordings, or
console
output here demonstrating that your changes work as intendedDocumentation π
Please ensure the following before submitting your PR: