Skip to content

Bump rain-lib-memkv 0.1.5 -> 0.2.0 - #239

Merged
thedavidmeister merged 1 commit into
mainfrom
memkv-0.2.0
Sep 19, 2026
Merged

thedavidmeister merged 1 commit into
mainfrom
memkv-0.2.0

Conversation

@thedavidmeister

@thedavidmeister thedavidmeister commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

What

Moves the rain-lib-memkv pin from 0.1.5 to 0.2.0. foundry.toml and
soldeer.lock come from forge soldeer update. The versioned prefix
rain-lib-memkv-0.1.5/ becomes rain-lib-memkv-0.2.0/ in remappings.txt and
in the five files that import the store:

  • src/abstract/RainDeployVerifySnapshotBase.sol
  • test/script/Build.t.sol
  • test/script/Deploy.t.sol
  • test/src/lib/GeneratedSnapshotShape.t.sol
  • test/src/lib/LibRainDeploySnapshot.t.sol

soldeer update adds the 0.2.0 remapping but leaves the 0.1.5 line in place.
That line is removed here because nothing resolves through it any more.

Closes #238

Why 0.2.0's aliasing change does not reach this repo

In 0.2.0 a MemoryKV is a handle to memory. Once a store is non-empty, every
copy of its handle refers to the same store, so a write through one copy shows
up in all of them. This repo uses the store only as a string set, and every
site follows one pattern: a fresh MemoryKV x = MemoryKV.wrap(0), then
x = x.set(key, MemoryKVVal.wrap(0)) in a loop, then x.has(key) reads.
Across the five files there are 15 handles and 15 set calls. Each set
assigns back to the handle it was called on. No handle is assigned from
another handle, passed to a function, returned, or saved and restored. No two
copies of a handle ever exist, so there is nothing that could alias. set and
has keep their signatures, and the build compiles unchanged.

QA

  • Discriminating tests: n/a. This is a dependency bump. No logic changes here
    and no assertion changes. The set sites above already exercise set and
    has in the existing suite, and CI runs that suite.
  • Mutation: stale prefix. With the pin, lock and remapping at 0.2.0 but the
    five imports still on rain-lib-memkv-0.1.5/, forge build fails on every
    one with Error (6275): Source "rain-lib-memkv-0.1.5/src/lib/LibMemoryKV.sol" not found. With the rewrite it compiles (126 files, Solc 0.8.25,
    "Compiler run successful!").
  • Oracle: the Soldeer registry
    (api.soldeer.xyz/api/v1/revision?project_name=rain-lib-memkv). 0.2.0 is the
    newest revision (published 2026-09-18T21:06:03Z) at
    0_2_0_18-09-2026_21:06:03_rain.lib.zip, and that is the URL
    soldeer.lock now records.
  • Category check: git grep '0\.1\.5' finds no memkv reference. Two hits
    remain, and neither is this dependency. audit/mutation-test-scans.json has
    publishedTag: sol-v0.1.5, which is this repo's own release tag.
    tools/hyperliquid-big-blocks/Cargo.lock has http-body-util 0.1.5, a Rust
    crate.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated the memory key-value library dependency to version 0.2.0.
    • Updated related references to maintain compatibility across deployment and testing workflows.

Moves the pin, the lock entry, the remapping and the five versioned
imports to 0.2.0.

Closes #238

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@thedavidmeister thedavidmeister self-assigned this Sep 18, 2026
@coderabbitai

coderabbitai Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 55c31b7d-9152-4412-891d-96e02e94c783

📥 Commits

Reviewing files that changed from the base of the PR and between 8f8e482 and 69d87ba.

⛔ Files ignored due to path filters (1)
  • soldeer.lock is excluded by !**/*.lock
📒 Files selected for processing (7)
  • foundry.toml
  • remappings.txt
  • src/abstract/RainDeployVerifySnapshotBase.sol
  • test/script/Build.t.sol
  • test/script/Deploy.t.sol
  • test/src/lib/GeneratedSnapshotShape.t.sol
  • test/src/lib/LibRainDeploySnapshot.t.sol

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


Walkthrough

The project updates rain-lib-memkv from version 0.1.5 to 0.2.0 in dependency configuration, remappings, production imports, and test imports.

Changes

rain-lib-memkv upgrade

Layer / File(s) Summary
Dependency version and remapping
foundry.toml, remappings.txt
The declared dependency and remapping path now reference rain-lib-memkv version 0.2.0.
Source and test imports
src/abstract/RainDeployVerifySnapshotBase.sol, test/script/*, test/src/lib/*
Production and test imports now reference rain-lib-memkv-0.2.0.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Suggested reviewers: claude

Merge Risk: ⚪ Minimal · up to 69d87

The dependency upgrade preserves the existing MemoryKV usage, with no concrete build or runtime regression identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive Issue #238 requires the dependency pin, soldeer.lock entry, remapping, and all versioned Solidity import prefixes. The summary shows the pin changed in foundry.toml, the remapping changed, and fiv… Provide reviewable evidence that soldeer.lock contains the rain-lib-memkv 0.2.0 lock entry.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the main change: updating the rain-lib-memkv dependency from version 0.1.5 to 0.2.0.
Out of Scope Changes check ✅ Passed The reported changes update the rain-lib-memkv version in dependency configuration, the remapping, and related Solidity import prefixes. These changes directly support issue #238. No unrelated logic…
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…
Full details: Linked Issues check

Explanation

Issue #238 requires the dependency pin, soldeer.lock entry, remapping, and all versioned Solidity import prefixes. The summary shows the pin changed in foundry.toml, the remapping changed, and five Solidity imports changed to 0.2.0. The summary also states that soldeer.lock changed, but soldeer.lock is excluded from review. The required lock entry cannot be independently verified.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@thedavidmeister
thedavidmeister merged commit 0b63ec1 into main Sep 19, 2026
6 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.

Bump rain-lib-memkv 0.1.5 -> 0.2.0

1 participant