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

refactor(solc): rewrite compiler passes and cache change detection #802

Merged
merged 96 commits into from
Feb 4, 2022

Conversation

mattsse
Copy link
Collaborator

@mattsse mattsse commented Jan 17, 2022

Motivation

Close #784
Close #727

Solution

PR Checklist

  • Added Tests
  • Added Documentation
  • Updated the changelog

Copy link
Owner

@gakonst gakonst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so far so good-really like the direction

ethers-solc/src/compile/project.rs Outdated Show resolved Hide resolved
@mattsse
Copy link
Collaborator Author

mattsse commented Jan 24, 2022

Update

  • complete new compile API
  • more docs

TODO

Update 2

@gakonst
Copy link
Owner

gakonst commented Feb 2, 2022

@mattsse should we pull in the Forge integration tests for compilation in ethers-solc perhaps?

@mattsse
Copy link
Collaborator Author

mattsse commented Feb 2, 2022

@mattsse should we pull in the Forge integration tests for compilation in ethers-solc perhaps?

debugging on patched foundry rn

Also, currently we're storing absolute paths in the cache file, we can store them relatively, however it doesn't really matter since this should be always kept locally, so I guess absolute paths are fine.

@gakonst gakonst mentioned this pull request Feb 2, 2022
2 tasks
ethers-solc/src/cache.rs Outdated Show resolved Hide resolved
@gakonst
Copy link
Owner

gakonst commented Feb 3, 2022

Just a doctest failing

@mattsse
Copy link
Collaborator Author

mattsse commented Feb 3, 2022

Update

  • added various helper functions
  • simplified source map handling
  • fixed doctests

manual testing indicates, that this appears to finally resolve the spells-mainnet cache bug

foundry-rs/foundry#316

BEFORE MERGE

  • double check on foundry regarding relative/absolute paths, especially for linking

@gakonst
Copy link
Owner

gakonst commented Feb 4, 2022

OK let's go - pray

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

Successfully merging this pull request may close these issues.

Use dependency graph for change detection solc: Emit all artifacts during cached build
5 participants