Conversation
📝 WalkthroughWalkthroughThis PR performs a coordinated version bump of the hdwallet monorepo from 1.62.14 to 1.62.15, updating package versions, dependencies, build scripts, and TypeScript configurations across all related packages consistently. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Areas for attention:
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (51)
💤 Files with no reviewable changes (1)
🧰 Additional context used🧠 Learnings (8)📓 Common learnings📚 Learning: 2025-08-07T15:24:19.530ZApplied to files:
📚 Learning: 2025-08-07T15:27:03.179ZApplied to files:
📚 Learning: 2025-08-07T15:23:54.858ZApplied to files:
📚 Learning: 2025-08-07T15:47:29.207ZApplied to files:
📚 Learning: 2025-08-07T15:47:26.835ZApplied to files:
📚 Learning: 2025-11-20T11:04:44.808ZApplied to files:
📚 Learning: 2025-08-07T15:24:34.076ZApplied to files:
🔇 Additional comments (53)
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 |
|
Yeeting this as fix confirmed |
Clause PR body below, as a result of a few hours of hellish debugging, ~20% weekly Claude tokens spent, and full sanity lost. tl;dr this fixes non-determinstic builds (hence, checksums) following #741.
TODO:
Issue
Starting with version 1.62.12,
@shapeshiftoss/hdwallet-gridplus(and initially other packages) began failing withThe remote archive doesn't match the expected checksumerrors duringyarn install --frozen-lockfilein CI (example failure). Version 1.62.11 (web commit fb25b01) worked fine. Web was temporarily fixed by pinning hdwallet-gridplus to 1.62.11 in package.json resolutions (web commit 7e2046a).Initially suspected PR #749 (BCH bech32 fix) since that's when 1.62.12 was published, but investigation revealed the actual culprit was PR #741 (gridplus cleanup) which introduced non-deterministic builds.
Investigation
Tested by cloning the hdwallet repo to
/tmpmultiple times and comparing published npm tarballs between versions. Downloaded actual published packages from npm registry for versions 1.62.11, 1.62.12, 1.62.13, and 1.62.14 usingnpm pack @shapeshiftoss/hdwallet-gridplus@<version>.Found that PR #741 made three problematic changes to all 24 packages:
"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"to tsconfig.json"rm -rf dist tsconfig.tsbuildinfo"to"rm -rf dist node_modules""yarn clean && yarn build"to"rm -rf dist && yarn build"TypeScript's
tsconfig.tsbuildinfofiles contain timestamps, absolute paths, and build metadata that vary between builds. The modified scripts no longer cleaned up these files before publishing, causing them to be included in the published packages with different checksums on each build. Confirmed by runningyarn clean && yarn build && yarn packtwice - produced different SHA256 checksums each time.Fix
Revert the three changes from PR #741 for all 24 packages:
"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"from all package tsconfig.json files"rm -rf dist tsconfig.tsbuildinfo""yarn clean && yarn build"This ensures
tsconfig.tsbuildinfois cleaned before every build and publish, producing deterministic package tarballs that match the checksums expected by yarn's lockfile.Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.