chore(deps): standardize litesvm to 0.8.0 across basics/#638
Conversation
All basics/ packages that used litesvm were scattered across three version pins (^0.3.3, ^0.4.0, 0.8.0). This consolidates all 15 to the exact pin 0.8.0 — the latest web3.js v1 compatible release before litesvm 1.0.0 switched its API to @solana/kit (web3.js v2). 0.8.0 is backward-compatible with the existing ^0.3.3 and ^0.4.0 API surface (same PublicKey/Transaction types) and adds new features (sysvar getters/setters, warpToSlot, withTransactionHistory) without breaking existing test code. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR standardizes LiteSVM across the affected
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (2): Last reviewed commit: "fix: regenerate lockfiles with pnpm@10.3..." | Re-trigger Greptile |
| cpu: [arm64] | ||
| os: [linux] | ||
|
|
||
| litesvm-linux-arm64-musl@0.8.0: | ||
| resolution: {integrity: sha512-g7vgYPJZC6cT1gaWA1M2SbZu+Sngs9FuxsybDSE1Mmelmaejlguf7X/ymUuhehaSjEY+QSi+ydWtwzgE95JL0w==} | ||
| engines: {node: '>= 20'} | ||
| cpu: [arm64] | ||
| os: [linux] | ||
| libc: [musl] | ||
|
|
||
| litesvm-linux-x64-gnu@0.3.3: | ||
| resolution: {integrity: sha512-Qai2/E8Eq03w8VKnJDREyiWxwavjykW/H6onE179ayMnBjVVmkj5fN7XF50VV4z73kasx5bpDzBNK8fcaxMdzA==} | ||
| litesvm-linux-x64-gnu@0.8.0: | ||
| resolution: {integrity: sha512-nn599p+XuOJoQN2XTSaY4Yz1ZqYxLNUbvt30kImuRUs2ZlIv5FANzM+VUsZgSzWV0phW8m6stX3mpdVv0iIuFQ==} | ||
| engines: {node: '>= 20'} | ||
| cpu: [x64] | ||
| os: [linux] | ||
| libc: [glibc] | ||
|
|
||
| litesvm-linux-x64-musl@0.3.3: | ||
| resolution: {integrity: sha512-bpWZ2f506hbfu1y6bkmuZf+qqtnLDxggpOMTQbibjd+q6faEO3sETWwKGlIgHB99P8wyU+aXKwLSGQX2sJEw6Q==} | ||
| litesvm-linux-x64-musl@0.8.0: | ||
| resolution: {integrity: sha512-UH4v1GM4hNOjEIzx/dBZQ5mxWGFOd85qs7IBou070dLjH0vdZMh4avQCQyc127+A7aRfdc8+wK7t4SEIn4EEgw==} | ||
| engines: {node: '>= 20'} | ||
| cpu: [x64] | ||
| os: [linux] | ||
| libc: [musl] | ||
|
|
||
| litesvm@0.3.3: | ||
| resolution: {integrity: sha512-QHXjAIXzvG0uAMOza6aJcYl19yTKz3guwq/z0Zml4KnQxyQvPhjaBpUFc5sf2ey/NxMVdqFhoXmL02CXOOomjw==} | ||
| litesvm@0.8.0: | ||
| resolution: {integrity: sha512-P0Ly11FSr1f77bKwaRf0VQQZYdsw6Oi3OLKBxgBN5iJcB7W7lTjFB1tnVcJqdn1NMz6upqU/04rZFCC/JfYBWg==} |
There was a problem hiding this comment.
Linux Libc Selection Is Ambiguous
The regenerated entries remove the libc selectors from both GNU and musl LiteSVM binaries. On Alpine or another musl-based environment, pnpm can treat both Linux variants as eligible and install the incompatible GNU binary, causing LiteSVM to fail when the tests load its native module; preserve libc-specific package metadata or confirm the published 0.8.0 packages provide equivalent filtering.
This is a pnpm 10 format change, not a regression introduced by this PR. The Crucially, litesvm-linux-x64-gnu@0.8.0:
resolution: {integrity: sha512-...}
engines: {node: '>= 20'}
cpu: [x64]
os: [linux]
# no libc: field — same as all the new lockfiles in this PRSo the lockfile format here is consistent with what's already in |
Stale pnpm store caused litesvm platform packages to be recorded without libc selectors. Regenerated using pnpm@10.33.0 with a clean store so libc: [glibc] and libc: [musl] are correctly preserved. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
litesvmwas pinned to three different versions acrossbasics/:^0.3.3(2 packages),^0.4.0(13 packages), and0.8.0(1 package — already pinned in add pinocchio transfer-tokens example #596)litesvm1.0.0 switched its entire API from@solana/web3.js(v1 types) to@solana/kit(web3.js v2). All existing test files importPublicKey,Transaction,TransactionInstructionfrom@solana/web3.js, so a 1.x bump would be a breaking web3.js v2 migration — not a simple version bump0.8.0— the highest web3.js v1 compatible release — matching whatbasics/cross-program-invocation/nativealready usesChanges
package.json:litesvmversion →0.8.0(no other changes)pnpm-lock.yaml: regenerated0.8.0 vs 0.3.3 / 0.4.0 compatibility
0.8.0is fully backward-compatible with the^0.3.3and^0.4.0API surfaces used in the existing tests (airdrop,addProgramFromFile,sendTransaction,getAccountall accept the samePublicKey/Transactiontypes). It adds new sysvar helpers andwarpToSlotbut removes nothing.