API Reference
Configuration
Builder methods for configuring LiteSVM in TypeScript
Configuration
LiteSVM uses a builder pattern for configuration. All methods return LiteSVM for chaining.
Typical Test Setup
const client = createEmptyClient().use(litesvm());
client.svm
.withSigverify(false) // Skip signature verification (faster)
.withBlockhashCheck(false) // Skip blockhash validation (simpler)
.withSysvars() // Enable Clock, Rent, etc.
.withBuiltins() // Enable ed25519, secp256k1
.withTransactionHistory(100n); // Store last 100 transactionsSignature & Blockhash
withSigverify
withSigverify(sigverify: boolean): LiteSVMEnable or disable signature verification.
// Disable for faster tests (default is enabled)
client.svm.withSigverify(false);
// Enable for production-like testing
client.svm.withSigverify(true);Disabling signature verification makes tests faster but less realistic.
withBlockhashCheck
withBlockhashCheck(check: boolean): LiteSVMEnable or disable blockhash expiration checking.
// Disable for simpler tests
client.svm.withBlockhashCheck(false);Programs & Sysvars
withSysvars
withSysvars(): LiteSVMEnable sysvar accounts (Clock, Rent, EpochSchedule, etc.).
client.svm.withSysvars();
// Now you can access sysvars
const clock = client.svm.getClock();
const rent = client.svm.getRent();withBuiltins
withBuiltins(): LiteSVMEnable built-in programs (ed25519, secp256k1 signature verification).
client.svm.withBuiltins();withPrecompiles
withPrecompiles(): LiteSVMEnable precompiled programs.
client.svm.withPrecompiles();withDefaultPrograms
withDefaultPrograms(): LiteSVMAdd default programs (System Program, BPF Loader, etc.).
client.svm.withDefaultPrograms();Resource Limits
withLamports
withLamports(lamports: bigint): LiteSVMSet default lamports for accounts.
client.svm.withLamports(1_000_000_000n); // 1 SOLwithLogBytesLimit
withLogBytesLimit(limit?: bigint): LiteSVMSet the log output byte limit.
client.svm.withLogBytesLimit(10000n);withTransactionHistory
withTransactionHistory(capacity: bigint): LiteSVMEnable transaction history storage.
// Store last 100 transactions
client.svm.withTransactionHistory(100n);Feature Sets
withFeatureSet
withFeatureSet(featureSet: FeatureSet): LiteSVMConfigure the feature set for testing specific Solana versions.
Helper Methods
tap
tap(fn: (svm: LiteSVM) => void): LiteSVMExecute a function inline while chaining.
client.svm
.withSysvars()
.tap(svm => {
// Do setup inside the chain
svm.airdrop(account.address, lamports(5_000_000_000n));
console.log('Account funded');
})
.withTransactionHistory(100n);