Repository navigation
deps: bump rain-datacontract 0.1.9 -> 0.2.0 - #35
Conversation
The only Soldeer pin behind its latest published release (`api.soldeer.xyz/api/v1/revision?project_name=<name>&limit=1`, checked 2026-10-01 for every package in `[dependencies]`). The other eight pins already sit on latest. Manifest and the six `rain-datacontract-0.1.9/` import paths move in the same commit; no remapping alias, no second key. The lock entry is regenerated by `forge soldeer update` and is byte-stable across two further `forge soldeer install` runs, as is `remappings.txt`. What changed upstream between sol-v0.1.9 and sol-v0.2.0 (26 commits, one `src/` file): `LibDataContract.readSlice` widens `start`/`length` from `uint16` to `uint256` and masks both to their low 16 bits where they enter assembly, with the docs rewritten to describe the truncation; tests moved to the mirror tree; Protofire audit v4.0 added. The 0.2.0 package carries no versioned imports of its own. This repo only calls `LibDataContract.contractCreationCode`, which is untouched, so nothing is ported. `forge script script/Build.sol` leaves `src/generated/candidate/` byte-identical: the `DecimalFloat` and `LogTables` records, addresses and codehashes do not move. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (1)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe configured ChangesDependency version update
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Other Merge Risk: ⚪ Minimal · up to No behavior change is expected in the repository’s use of this dependency, and the reported build succeeded. The reported test failures require RPC environment variables and do not establish a regression from this update. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 4 systems. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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. Comment |
Bumps every Soldeer dependency behind its latest published release. Checked each
[dependencies]pin againsthttps://api.soldeer.xyz/api/v1/revision?project_name=<name>&limit=1on 2026-10-01: exactly one is stale.Manifest pin and all six
rain-datacontract-0.1.9/import paths (src/abstract/DecimalFloatDeploySuites.sol,script/lib/LibEtchLogTables.sol, four tests) move in the same commit. No remapping alias, no second Soldeer key; one version of the package on disk.Upstream changes (sol-v0.1.9 → sol-v0.2.0)
26 commits, one
src/file touched.LibDataContract.readSlice(address, uint16, uint16)becomesreadSlice(address, uint256, uint256)with both params masked to their low 16 bits at the assembly boundary (the creation code sizes the container with a 2-bytePUSH2, so higher bits never addressed anything); docs rewritten to describe the truncation. Tests moved to the mirror tree,Deployerfixture split out, Protofire audit v4.0 added. The 0.2.0 package has no versioned imports of its own, so it pins nothing older than what this repo already uses.Not a port: this repo only calls
LibDataContract.contractCreationCode, which did not change.Deploy pins
forge script script/Build.solthenforge build,forge script script/CopyArtifacts.sol --ffi,forge fmt(therainix-copy-artifactssequence) leaves the tree clean:src/generated/candidate/{DecimalFloat,LogTables}.solare byte-identical, so no address or codehash moves and no record changes.Checks (pinned rainix
sol-shell,8657b83b)forge soldeer installtwice afterforge soldeer update:soldeer.lockandremappings.txtbyte-stable (same sha256 all three times).forge build --force: 123 files, compiler run successful.forge test -vvv: 42 suites, 85 tests, 82 passed. The 3 failures arevm.createFork: environment variable *_RPC_URL not foundinDecimalFloatDeployChainTest(2) andLibDecimalFloatDeployProdTest(1): no RPC URLs in the local environment; CI's rpc-preflight supplies them.slither .: 22 contracts, 98 detectors, 0 results.forge fmt --check,forge lint -D warnings,rainix-sol-single-contract,pre-commit run --all-files: all pass.QA
LibDecimalFloatDeployCandidate.t.sol,LibDecimalFloatDeploy.t.sol,LibDecimalFloatDeploy.checkLogTablesDeployed.t.solandLogTest.solcover the oneLibDataContractentry point used (contractCreationCode) and pass against 0.2.0; on base they compile against 0.1.9 and pass likewise, which is the expected result for an unchanged function.rain-datacontract-0.1.9/is no longer on disk afterforge soldeer install, so any leftover old path fails to compile (verified bygrep -rn rain-datacontract-0.1.9 src script test= 0 andforge build --forceafterrm -rf dependencies/rain-datacontract-0.1.9).api.soldeer.xyz/api/v1/revision?project_name=rain-datacontract&limit=1→ 0.2.0) for what "latest" is; the upstreamsol-v0.1.9...sol-v0.2.0compare for what changed;script/Build.solregeneration leavingsrc/generated/candidate/byte-identical for "no pin moves".🤖 Generated with Claude Code
Summary by CodeRabbit