LiteSVM 0.14.0 Adds CPI Call Tree Debugger and Syncs With Agave 4.1
LiteSVM v0.14.0 ships a new CPI call tree parsing crate and aligns with Agave 4.1, keeping Solana program tests current with the mainnet execution environment.
LiteSVM v0.14.0 landed on July 13 with two upgrades that matter for anyone writing Solana programs: a new crate for parsing cross-program invocation (CPI) call trees from transaction logs, and alignment with Agave 4.1, the mainnet validator client release that shipped on June 26. The release is published on GitHub, GPG-signed by the project's maintainer.
LiteSVM: The In-Process Solana VM Testing Framework
LiteSVM runs the Solana Virtual Machine in-process, inside a Rust test binary. Developers write unit tests for their programs and execute them locally without a full validator node. The library sets up accounts, sysvars, and built-in programs in memory, runs the transactions, and returns results including logs, errors, and compute unit consumption. Compared to solana-program-test and solana-test-validator, it requires no external process, no validator startup, and no block timing overhead.
Rust makes up 86% of the codebase, with TypeScript and Python bindings also available. An Anchor integration, anchor-litesvm, lets teams using the Anchor framework write tests directly against LiteSVM. For most Solana program developers testing in Rust, it is the default testing tool.
LiteSVM 0.13.0, released in June, established the pattern the project now follows deliberately: each version aligns with the then-current mainnet validator client. That release tracked Agave 4.0; v0.14.0 follows the June 26 Agave 4.1 release.
litesvm-cpi-tree: A Structured View of Program Call Chains
The headline addition is litesvm-cpi-tree, a new Rust crate that parses Solana transaction logs and renders the invocation chain as a structured call tree.
When one Solana program calls another (a CPI), the runtime logs each program's entry and exit. In a complex transaction that chains through a lending protocol, a DEX, an oracle, and an SPL token program, those logs arrive as a flat sequence. Reading a flat log string to find which sub-call failed, at which depth, and what the actual error was is tedious. The difficulty increases with each additional level of nesting.
litesvm-cpi-tree takes those logs and reconstructs the call hierarchy: which program called which, in what order, where each invocation succeeded or failed. For debugging multi-program interactions, which account for most of the complexity in DeFi program development on Solana, this produces something readable rather than something that requires manual reconstruction.
Agave 4.1 Sync: How the Version Bump Keeps LiteSVM Tests Accurate
Syncing to Agave 4.1 is the other core change in v0.14.0, and its practical effect is direct: LiteSVM tests now run against the same execution environment as current mainnet validators.
Anza released Agave v4.1.0 on June 26 with several changes that directly affect compute costs. As we reported at the time, the release shipped two Pinocchio-based rewrites of built-in programs: p-memo and the associated token program. The SPL Memo rewrite cut the compute cost of a memo with no signers from 2,022 CUs to 287 CUs, a reduction now live on mainnet.
Before v0.14.0, a LiteSVM test ran against the old CU costs. A program that built transactions against the 4.0 compute profile could behave differently on mainnet running 4.1. Syncing the library closes that gap. A test that passes against LiteSVM 0.14.0 is running against the same program versions and CU costs that mainnet validators run. That is the core value of keeping the library current.
The same bump also replaces the bundled SPL Memo v3 with SPL Memo v4, consistent with mainnet state after the 4.1 Pinocchio rewrite.
Other Changes in v0.14.0
Three additional items complete the release.
LiteSVM::get_program_accounts is a new API method that returns all accounts owned by a given program with their addresses. This mirrors the getProgramAccounts JSON-RPC method on a full Solana node, bringing the local test environment closer to RPC parity for test setups that need to enumerate or inspect program-owned account state.
Activation slots are now included in the active feature set metadata. Solana feature flags activate at specific slots; programs with time-sensitive feature activation logic can now verify activation slot data inside LiteSVM tests.
The rent check is now restricted to successful transactions. Previously, LiteSVM ran the rent check on the resulting account state regardless of whether the transaction succeeded or failed. A transaction that failed for an unrelated reason could leave accounts in a technically rent-deficient state, causing LiteSVM to return InsufficientFundsForRent as the error, obscuring the actual failure. The fix means failing transactions surface their real error.
What LiteSVM 0.14.0 Changes for Solana Program Developers
The release follows the pattern established across recent LiteSVM versions: a version bump to the current mainnet Agave line keeps test fidelity tight, and each release adds one or two debugging capabilities. v0.13.0 brought a GDB debugger stub. v0.14.0 brings the CPI call tree parser.
For developers building programs with complex invocation chains (any program that calls multiple other programs in a single instruction), litesvm-cpi-tree reduces a previously manual debugging step to a structured crate call. For developers whose programs interact with memo or associated token accounts, the updated compute costs reflect what mainnet validators will actually charge.
LiteSVM v0.14.0 is available on crates.io. TypeScript bindings are available via npm.
Comments
Please login to leave a comment.
Contents
Related Content
LiteSVM 0.13.0 Adds GDB Debugger Support for Solana Program Testing
Breakpoint 2023: ExplorerKit: The Future Standard of Parsing?
Scale or Die at Accelerate 2025: Scaling State on Solana: Batched Merkle Trees & ZK Compression
Solana Changelog - January 31, 2023 - Geyser Improvements, Program-Test, and Bokken
Solana Changelog - January 31, 2023 - Geyser Improvements, Program-Test, and Bokken
Jump Crypto: The State Of Firedancer | Michael McGee
Solana Changelog Oct 9 - Program Runtime ABI v2, Updating Rust to 1.81.0, Agave v2.0 transition
Validated | How Compression Is Changing How We Think About NFTs
Solana Changelog - Nov 20 - Agave validator v2.0, loaded account costs
Tech Talk: BULK
Solana Changelog - Mar 19: Anza's Agave Client, Compute, and create-solana-program
SolanaFM's New Explorer Unveiled - Exclusive Preview with Nicholas Chen
Agave 4.1 Ships Alpenglow Readiness Components and Lays Groundwork for 200ms Slots
Building User-Friendly Block Explorers for Solana | Fathur Rahman, SolanaFM
Solana Changelog Nov 6th
Latest news
Backpack Adds Institutional 13F Filing Viewer to Its Solana Exchange
Helium's HIP-149 Passes: Advisory Council Election Now Open to veHNT Holders
Superteam UK's Stephen Newnham Enters Clacton By-Election on Onchain Transparency Platform
LiteSVM 0.14.0 Adds CPI Call Tree Debugger and Syncs With Agave 4.1
Solana's On-Chain DEXs Outpaced Bybit in Daily Spot Volume for Eight Straight Days
Credible Finance Opens $CRED Curated Raise on MetaDAO July 13
Social Trading App FOMO Briefly Tops Jupiter and Phantom in Solana Daily Revenue
Jupiter's Earn on Recurring Puts Idle USDC in DCA Orders to Work
Backpack Wallet Adds Robinhood Chain, Letting Users Discover, Swap, and Bridge From One App
Solana Logged $10 Billion in Tokenized Stock Volume in June, Capturing 95% of On-Chain Equity Trading
Solana Token Markets
