deps: migrate from git submodules to soldeer#237
Conversation
|
Warning Review limit reached
More reviews will be available in 59 minutes and 27 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (115)
📝 WalkthroughWalkthroughThis PR migrates the project from git submodules and embedded libraries to Soldeer-based dependency management. Foundry configuration is updated to resolve dependencies from a new ChangesDependency Management Migration to Soldeer
🎯 4 (Complex) | ⏱️ ~60 minutes Possibly Related Issues
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
|
Adopts the soldeer dependency setup used by upstream rain repos (`st0x.deploy` `origin/main` is the canonical reference). Replaces the `lib/` submodule tree with `dependencies/` populated by `forge soldeer install`. CI no longer needs to recursively init submodules. - Available on soldeer (semver pinned): forge-std, @openzeppelin-contracts, rain-factory, rain-math-float, rain-intorastring, st0x-deploy, rain-vats. - rain-pyth not yet on soldeer (upstream still on submodules); pinned as a git source dep at the same revision the previous submodule pointed at. Its nested pyth-crosschain submodule (used by the `pyth-sdk/` bridging remap) is inited explicitly in CI since soldeer doesn't recurse into git-source submodules. - pyth-sdk transitive through rain-pyth's vendored pyth-crosschain — single bridging remapping in foundry.toml. - rain.pyth's source still uses unversioned `rain.math.float/` and `rain.intorastring/` import prefixes; bridge those to the soldeer-pinned packages so its transitive resolution doesn't need rain.interpreter's submodule tree. - All source/test/script imports rewritten to versioned soldeer paths matching st0x.deploy's style (`forge-std-X.Y.Z/src/...`, `@openzeppelin-contracts-X.Y.Z/...`, `rain-factory-X.Y.Z/src/...`, etc.). - slither.config.json `filter_paths` switched from `lib` to `dependencies`. - REUSE.toml drops `lib/**` annotation and adds soldeer artifacts to the rain copyright block; unused MIT and Apache-2.0 LICENSES removed. - `.gitignore` ignores `dependencies/`. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
41d50b3 to
70bd2dd
Compare

Adopts the soldeer dependency setup used by upstream rain repos
(
st0x.deployorigin/mainis the canonical reference). Replaces thelib/submodule tree withdependencies/populated byforge soldeer install. CI no longer needs to recursively init submodules.rain-factory, rain-math-float, rain-intorastring, st0x-deploy, rain-vats.
git source dep at the same revision the previous submodule pointed at.
Its nested pyth-crosschain submodule (used by the
pyth-sdk/bridgingremap) is inited explicitly in CI since soldeer doesn't recurse into
git-source submodules.
bridging remapping in foundry.toml.
rain.math.float/andrain.intorastring/import prefixes; bridge those to the soldeer-pinnedpackages so its transitive resolution doesn't need rain.interpreter's
submodule tree.
matching st0x.deploy's style (
forge-std-X.Y.Z/src/...,@openzeppelin-contracts-X.Y.Z/...,rain-factory-X.Y.Z/src/..., etc.).filter_pathsswitched fromlibtodependencies.lib/**annotation and adds soldeer artifacts to therain copyright block; unused MIT and Apache-2.0 LICENSES removed.
.gitignoreignoresdependencies/.Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com
Summary by CodeRabbit