Skip to content

Bump rainlang 0.1.2 -> 0.2.1 and the dep chain pinning it - #39

Merged
thedavidmeister merged 3 commits into
mainfrom
2026-09-07-rainlang-0.2.0
Sep 8, 2026
Merged

thedavidmeister merged 3 commits into
mainfrom
2026-09-07-rainlang-0.2.0

Conversation

@thedavidmeister

@thedavidmeister thedavidmeister commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Moves this repo onto rainlang 0.2.1, the library half after the split (rainlanguage/rainlang#552), and carries the dependency chain the package spells, which is also the rain-solmem 0.1.28 bump this repo was waiting on.

  • rainlang 0.1.2 -> 0.2.1. The concretes and deploy pins left the package, so tests bind its source-built harness: OpTest deploys the test concretes itself. No test here read a deployed address from the pins.
  • rain-interpreter-interface 0.1.0 (orphaned name) -> rainlang-interface 0.2.8, the successor package, imports re-pointed.
  • rain-solmem 0.1.3 -> 0.1.28, rain-extrospection 0.1.0 -> 0.1.14, rain-math-binary 0.1.1 -> 0.1.4, rain-deploy 0.1.2 -> 0.1.7.
  • rain-sol-codegen 0.1.0 -> 0.1.36 and forge-std 1.16.2, the versions rainlang 0.2.1 spells; no remappings, every import names the version foundry.toml pins.
  • rain-sol-codegen 0.1.36 refuses a generated file it did not name, so the pointers file follows its convention: src/generated/PythWords.pointers.sol -> PythWordsPointers.sol, imports and docs updated. Regenerated with script/build.sh to a fixed point.

PythWords bytecode, BYTECODE_HASH and Zoltu address are unchanged, so nothing on chain moves.

QA

  • Discriminating tests: the full suite at the new pins, 16 passed, 0 failed. PythWords.pointers.t.sol pins the regenerated tables against LibPythSubParser and the live bytecode hash.
  • Mutations applied: none; dependency pins and a generated-file rename, no logic change in this repo.
  • Oracle: rainlang 0.2.1 on the Soldeer registry and its foundry.toml pin set; script/build.sh output byte-stable on rerun.
  • Category check: rain-solmem 0.1.28 bump (org campaign) plus rainlang split consumer migration (rainlang#552), both covered.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QyCCzi9WZPhuXcU1hwr2bq

Summary by CodeRabbit

  • Chores

    • Updated project dependencies and package mappings to newer versions.
    • Refreshed build and deployment tooling references.
    • Updated generated pointer references to the newer naming convention.
    • Added pre-commit configuration to the ignored files list.
  • Tests

    • Updated test tooling and dependency references to remain compatible with the refreshed development environment.

baku-ccron and others added 2 commits September 7, 2026 13:38
rainlang 0.2.0 is the library half after the split (rainlang#552); the
concretes and deploy pins left it, so tests bind the package's
source-built harness: OpTest deploys the test concretes.

recursive_deps=false means vendored dep src resolves through this repo's
remappings, so the bump carries the chain the package spells:

- rainlang 0.1.2 -> 0.2.1
- rain-interpreter-interface 0.1.0 (orphaned name) -> rainlang-interface
  0.2.8, the successor package, with imports re-pointed
- rain-solmem 0.1.3 -> 0.1.28
- rain-extrospection 0.1.0 -> 0.1.14
- rain-math-binary 0.1.1 -> 0.1.4
- rain-deploy 0.1.2 -> 0.1.7
- rain-sol-codegen 0.1.0 -> 0.1.36 and forge-std 1.16.1 -> 1.16.2, the
  versions rainlang 0.2.1 spells; no remappings

rain-sol-codegen 0.1.36 refuses a generated file it did not name, so
the pointers file follows its convention: PythWords.pointers.sol ->
PythWordsPointers.sol. Regenerated to a fixed point; the PythWords
bytecode, hash and Zoltu address are unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QyCCzi9WZPhuXcU1hwr2bq
git-hooks.nix writes it on shell entry and rainix-copy-artifacts
regenerates it, so a committed copy is always stale; ignored like the
other rain repos.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QyCCzi9WZPhuXcU1hwr2bq
@coderabbitai

coderabbitai Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • flake.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: c39376d3-a332-4978-bb36-1dec38e86162

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: 5d0c438d-bbeb-48f9-9ec2-e29acdcb3d4a

📥 Commits

Reviewing files that changed from the base of the PR and between 9ea145f and 4fab051.

⛔ Files ignored due to path filters (2)
  • soldeer.lock is excluded by !**/*.lock
  • src/generated/PythWordsPointers.sol is excluded by !**/generated/**
📒 Files selected for processing (17)
  • .gitignore
  • foundry.toml
  • remappings.txt
  • script/Build.sol
  • script/BuildAuthoringMeta.sol
  • script/Deploy.sol
  • src/abstract/PythExtern.sol
  • src/abstract/PythSubParser.sol
  • src/concrete/PythWords.sol
  • src/lib/op/LibOpPythPrice.sol
  • src/lib/parse/LibPythSubParser.sol
  • test/src/concrete/PythWords.pythPrice.t.sol
  • test/src/lib/op/LibOpPythPrice.t.sol
  • test/src/lib/pyth/LibPyth.constants.t.sol
  • test/src/lib/pyth/LibPyth.getPriceFeedContract.t.sol
  • test/src/lib/pyth/LibPyth.getPriceFeedId.t.sol
  • test/src/lib/pyth/LibPyth.getPriceNoOlderThan.t.sol

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The project updates Forge and Rain dependencies, replaces rain-interpreter-interface with rainlang-interface, renames the generated pointer module, updates contract imports, and aligns test imports with the new package versions.

Changes

Dependency and generated pointer updates

Layer / File(s) Summary
Dependency and tooling configuration
.gitignore, foundry.toml, remappings.txt, script/Build.sol, script/BuildAuthoringMeta.sol, script/Deploy.sol
Dependency versions, remappings, filesystem permission formatting, ignore rules, and Forge script imports were updated.
Generated pointer module rename
script/Build.sol, src/abstract/PythExtern.sol, src/abstract/PythSubParser.sol, src/concrete/PythWords.sol
The build script now generates PythWordsPointers, and production imports use the renamed module.
Interface imports and test updates
src/lib/op/LibOpPythPrice.sol, src/lib/parse/LibPythSubParser.sol, test/src/concrete/PythWords.pythPrice.t.sol, test/src/lib/op/LibOpPythPrice.t.sol, test/src/lib/pyth/*
Production and test imports now use the updated Rainlang and Forge package versions.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 4fab0

This updates Rainlang-related dependencies and renames generated pointer imports without changing PythWords bytecode or deployment identifiers. The updated build and production imports are aligned, and no current merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the primary change: upgrading rainlang from 0.1.2 to 0.2.1 and updating its dependent dependency chain.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-09-07-rainlang-0.2.0

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.

nix flake update moves rain.cli to its 2026-06-02 revision (and its
rainix to 2026-06-01), the pins rain.dia carries. The 2024 pin's Rust
crate tarballs no longer download, which broke both the dev shell and
rainix-copy-artifacts' currency check. Regenerated with the new CLI:
meta and pointers are byte-identical.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QyCCzi9WZPhuXcU1hwr2bq
@thedavidmeister thedavidmeister self-assigned this Sep 8, 2026
@thedavidmeister
thedavidmeister merged commit 7fb0976 into main Sep 8, 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