Skip to content

chore: de-submodule to soldeer (rain.interpreter -> rainlang) - #10

Merged
thedavidmeister merged 5 commits into
mainfrom
2026-06-03-desubmodule-soldeer
Jun 4, 2026
Merged

chore: de-submodule to soldeer (rain.interpreter -> rainlang)#10
thedavidmeister merged 5 commits into
mainfrom
2026-06-03-desubmodule-soldeer

Conversation

@thedavidmeister

Copy link
Copy Markdown
Contributor

Replaces the lib/rain.interpreter git submodule with explicit soldeer deps. rain.interpreter is now the rainlang soldeer package; declares the full flattened interpreter dep tree (17 pkgs) at the versions it pins.

  • versioned soldeer imports (no custom remappings); reconciled the rainlang rename (BaseRainterpreter*NPE2 -> BaseRainlang*) + interface path drift
  • extern bad-inputs tests assert ExternIntegrityInputsMismatch via checkUnhappyParse2 (matching rainlang's RainlangReferenceExtern tests) instead of the opcode-level BadOpInputsLength
  • regenerated pointers/meta/proof fixtures; forge test 12/12 passing locally
  • CI: bespoke rainix.yml -> reusable rainix-sol.yaml; git-clean adds soldeer install + drops submodule checkout

🤖 Generated with Claude Code

Replace the lib/rain.interpreter git submodule with explicit soldeer
dependencies. rain.interpreter is now published as the `rainlang` soldeer
package; declare the full flattened interpreter dep tree at the versions it
pins.

- foundry.toml: [dependencies] (17 pkgs) + [soldeer]; libs use dependencies;
  drop the lib/-based remappings (soldeer generates versioned remappings.txt)
- version-suffixed imports; reconcile the rainlang rename
  (BaseRainterpreterExternNPE2 -> BaseRainlangExtern,
   BaseRainterpreterSubParserNPE2 -> BaseRainlangSubParser) and interface path
  drift (interface/unstable -> interface, deprecated -> deprecated/v1)
- extern bad-inputs tests assert ExternIntegrityInputsMismatch (extern-integrity
  level) via checkUnhappyParse2, matching rainlang's RainlangReferenceExtern
  tests, instead of the opcode-level BadOpInputsLength
- regenerate pointers/meta/proof fixtures against rainlang 0.1.2
- CI: bespoke rainix.yml -> reusable rainix-sol.yaml; git-clean adds soldeer
  install + drops submodule checkout; gitignore dependencies/
- forge test: 12/12 passing

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@thedavidmeister, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 29 minutes and 20 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 @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 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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ec401387-445f-4b09-a7c8-22467184240f

📥 Commits

Reviewing files that changed from the base of the PR and between e5cae11 and b4e1d0c.

⛔ Files ignored due to path filters (3)
  • foundry.lock is excluded by !**/*.lock
  • soldeer.lock is excluded by !**/*.lock
  • src/generated/MerkleWords.pointers.sol is excluded by !**/generated/**
📒 Files selected for processing (22)
  • .github/workflows/git-clean.yaml
  • .github/workflows/manual-sol-artifacts.yaml
  • .github/workflows/rainix-sol.yaml
  • .github/workflows/rainix.yml
  • .gitignore
  • .gitmodules
  • REUSE.toml
  • foundry.toml
  • lib/rain.interpreter
  • remappings.txt
  • script/BuildAuthoringMeta.sol
  • script/BuildPointers.sol
  • script/Deploy.sol
  • script/build.sh
  • src/abstract/MerkleExtern.sol
  • src/abstract/MerkleSubParser.sol
  • src/concrete/MerkleWords.sol
  • src/lib/op/LibOpMerkleProofVerify.sol
  • src/lib/parse/LibMerkleSubParser.sol
  • test/proof/LibTestProof.sol
  • test/src/concrete/MerkleWords.merkleProofVerify.t.sol
  • test/src/lib/op/LibOpMerkleProofVerify.t.sol
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-06-03-desubmodule-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

Copy link
Copy Markdown
Contributor Author

Reviewed b4e1d0c: APPROVE — de-submodule to soldeer, CI on reusable rainix-sol + copy-artifacts, PRIVATE_KEY deploy. Extern input-mismatch tests reconciled to ExternIntegrityInputsMismatch; 12/12 merkle-proof tests + full suite green.

@thedavidmeister
thedavidmeister merged commit 5c2d71c into main Jun 4, 2026
5 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.

1 participant