Skip to content

soldeer migration#7

Merged
thedavidmeister merged 3 commits into
mainfrom
2026-05-09-soldeer
May 9, 2026
Merged

soldeer migration#7
thedavidmeister merged 3 commits into
mainfrom
2026-05-09-soldeer

Conversation

@thedavidmeister
Copy link
Copy Markdown
Contributor

Migrate from git submodules to soldeer, mirroring rain.solmem, rain.math.binary, and rain.math.saturating. Closes #6.

Note: rain.deploy ships deterministic Zoltu addresses to prod. Source-byte changes (even cosmetic) shift addresses. The only source-side change here is rewriting two import strings in LibRainDeploy.sol from forge-std/... to forge-std-1.16.1/src/... — the resolved files are byte-identical, so the compiled creation code should be unchanged. Worth confirming the codehash on the PR before merging if any consumer pins our LibRainDeploy creation code.

Changes

  • foundry.toml: libs=["dependencies"], [dependencies] forge-std="1.16.1", [soldeer] recursive_deps=false
  • forge-std submodule and .gitmodules removed
  • Source AND test imports updated to forge-std-1.16.1/src/* (LibRainDeploy itself imports Vm and console2 from forge-std for forge scripting cheatcodes)
  • .soldeerignore with depth-anchored patterns
  • REUSE.toml extended for .soldeerignore, remappings.txt, soldeer.lock
  • CI: drop submodules:recursive, drop sol-prelude, add forge soldeer install before each task; static job moved to rainix's reusable
  • Publish workflow: thin wrapper calling rainix's reusable
  • flake bumped; default devShell now points at sol-shell
  • README rewritten

Test plan

  • forge t est passes (30/30) locally on the soldeer-managed forge-std
  • CI green on this PR
  • Confirm LibRainDeploy creation-code keccak unchanged vs main (Zoltu address invariant)

🤖 Generated with Claude Code

Mirrors rain.solmem, rain.math.binary, rain.math.saturating. Closes #6.

- foundry.toml: libs="dependencies", [dependencies] forge-std=1.16.1,
  [soldeer] recursive_deps=false
- forge-std submodule and .gitmodules removed
- Source AND test imports updated to forge-std-1.16.1/src/* (LibRainDeploy
  itself imports Vm and console2 from forge-std for forge scripting
  cheatcodes)
- .soldeerignore with depth-anchored patterns
- REUSE.toml extended for .soldeerignore, remappings.txt, soldeer.lock
- CI: drop submodules:recursive, drop sol-prelude, add forge soldeer
  install before each task; static job moved to rainix's reusable
- Publish workflow: thin wrapper calling rainix's reusable
- flake bumped; default devShell now points at sol-shell
- README rewritten

Verified: forge test passes (30/30) on the soldeer-managed forge-std.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@thedavidmeister thedavidmeister self-assigned this May 9, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 9, 2026

Warning

Rate limit exceeded

@thedavidmeister has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 26 minutes and 32 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9c386dc3-a501-418d-81ea-e53c4f8feeb7

📥 Commits

Reviewing files that changed from the base of the PR and between 43a6ed3 and 38ccb59.

⛔ Files ignored due to path filters (2)
  • flake.lock is excluded by !**/*.lock
  • soldeer.lock is excluded by !**/*.lock
📒 Files selected for processing (15)
  • .github/workflows/publish-soldeer.yaml
  • .github/workflows/rainix-sol-static.yaml
  • .github/workflows/rainix.yaml
  • .gitignore
  • .gitmodules
  • .soldeerignore
  • README.md
  • REUSE.toml
  • flake.nix
  • foundry.toml
  • lib/forge-std
  • remappings.txt
  • slither.config.json
  • src/lib/LibRainDeploy.sol
  • test/src/lib/LibRainDeploy.t.sol
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-05-09-soldeer

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

thedavidmeister and others added 2 commits May 9, 2026 23:26
Soldeer installs forge-std under dependencies/forge-std-<version>/
rather than lib/forge-std/, so the previous filter no longer matched
and slither was flagging forge-std internals (Vm.sol pragma range,
console.sol naming) as project findings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@thedavidmeister thedavidmeister merged commit 9e6f4a5 into main May 9, 2026
4 checks passed
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.

Migrate dependency management from git submodules to soldeer

1 participant