Earn 5.65% APY staking with Solana Compass + help grow Solana's ecosystem

Stake natively or with our LST compassSOL to earn a market leading APY

LiteSVM 0.14.0 Adds CPI Call Tree Debugger and Syncs With Agave 4.1

Solana ๐Ÿงญ Compass By Solana ๐Ÿงญ Compass

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 0.14.0 Adds CPI Call Tree Debugger and Syncs With Agave 4.1
An antique wooden case opens to reveal a glowing CPI call tree hierarchy on a glass panel, flanked by a brass armillary sphere bearing the Solana logo and a magnifying glass focused on a glowing program cube.

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.

Keep up to date with the Solana eco
Follow us on Google News

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.

Solana ๐Ÿงญ Compass
Solana ๐Ÿงญ Compass
@SolanaCompass

Solana Compass is an independent Solana analytics and staking platform, operating a validator on Solana mainnet since September 2021. Its network statistics and...


Comments

Please login to leave a comment.


Solana tokens

Solana Token Markets

Explore all tokens โ†’