Skip to content

Upstream merge: Alloy 1#11

Merged
cdrappi merged 40 commits intoseismicfrom
alloy-1
Jun 30, 2025
Merged

Upstream merge: Alloy 1#11
cdrappi merged 40 commits intoseismicfrom
alloy-1

Conversation

@cdrappi
Copy link
Contributor

@cdrappi cdrappi commented Jun 30, 2025

No description provided.

DaniPopes and others added 30 commits January 7, 2025 20:28
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

![image](https://github.com/user-attachments/assets/fa0a5db3-2a64-4c30-9cb6-6aea30175e7c)

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
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
mattsse and others added 10 commits May 7, 2025 19:48
- 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
@cdrappi cdrappi merged commit 54a4eeb into seismic Jun 30, 2025
8 checks passed
@cdrappi cdrappi deleted the alloy-1 branch June 30, 2025 21:24
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.

9 participants