Conversation
When importing sub crates directly (like artifacts) we don't need regex, walkdir, and other deps. No functional changes intended.
Closes foundry-rs/foundry#9722 This PR introduces a concept of "primary" profile. Primary profile is the one which we've chosen for input source when analyzing it on its own (i.e not as a dependency of other contract). That way `Counter.json` would always correspond to an artifact compiled with the default profile if it was possible.
Before + after  Incredibly cursed thanks to the awesome consistent implementation in solc
Closes foundry-rs/foundry#9788 ref foundry-rs/foundry#9788 (comment) Instead of sorting by path, firstly attempts sorting by filenames
Signed-off-by: camcui <cuishua@sina.cn> Co-authored-by: camcui <cuishua@sina.cn>
Ref: foundry-rs/foundry#9770 (comment) Smol convenience fn for `ContractInfo` to retrieve the `Path`.
- ref foundry-rs/foundry#9876: add ErrorDefinition as part of SourceUnitPart group
ref https://soliditylang.org/blog/2025/03/12/solidity-0.8.29-release-announcement if configured opts into experimental EOF support ref foundry-rs/foundry#10064
#254 followup
need to check for >= prague
Hi! I updated the file extension to ensure compatibility with the system requirements. This change maintains functionality while following the expected file format standards.
Implements a preprocessor allowing us to skip recompiling tests on non-interface source file changes. See the companion Foundry PR foundry-rs/foundry#10010 for benchmarks and more details. Supersedes foundry-rs/compilers#198: - uses solar AST instead solang-parser to compute interface representation - uses solar HIR instead of solc AST to find bytecode dependencies - handles more edge cases, like deploying with salt/value Closes #197. ### TODO - [x] use solar HIR (deps to review and include paradigmxyz/solar#210) - [x] unit tests - [x] opt-in caching changes - [x] autodetect mocks - [x] figure out how to parse when building from different dir - [x] additional testing (tested with uniswap v4-core and simpler projects) ### Depends on - [x] merge solar PR (paradigmxyz/solar#210) - [x] solar release --------- Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com> Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>
fix old link to a new one
- prereq for forge lint PR foundry-rs/foundry#10405 - solar 0.1.3 requires rust 1.86 so this breaks compatibility with older rust versions - bump msrv
- when checking for missing artifacts avoid checking files within artifacts / out directory - otherwise files like `/home/george/work/foundry-issues/issue-preproc/out/Base.sol/CommonBase.json` are checked and erroneously flag missing extra files / rebuild sources - will add test in foundry with such cases and assert the number of files built
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.