Releases: tenequm/solana-idls
v1.2.0
New Features
Examples Directory
Added three practical examples showing real-world usage patterns:
- Basic Usage - Direct IDL imports and inspection
- Error Lookup - Resolving error codes to human-readable messages
- Transaction Parsing - Integration with DeBridge parser for semantic transaction decoding
This makes the library immediately usable for new developers without reading extensive docs.
Direct IDL Exports
All 41 protocol IDLs are now exported as individual constants alongside their program IDs:
import { JUPITER_IDL, JUPITER_PROGRAM_ID } from 'solana-idls';This enables direct integration with transaction parsers and custom tooling without going through the registry.
Optional Peer Dependency
Added @coral-xyz/anchor as an optional peer dependency for proper TypeScript types on IDL exports, while keeping the library lightweight for consumers who don't need Anchor.
Developer Experience
Build Improvements
- Migrated from tsup to tsdown for better library output and smaller bundle sizes
- Added Biome for fast linting and formatting
- Added
prepublishOnlyhook to ensure fresh builds
Documentation
- Updated README with practical "Quick Start" showing direct IDL usage (what most developers actually need)
- Added Examples section with links to working code
- All examples are type-checked via workspace setup
Breaking Changes
None - fully backward compatible.
Migration Guide
No migration needed. Existing code continues to work. New IDL exports are additive features.
v1.1.0
What's Changed
Update 7 protocol IDLs to latest on-chain versions, add version tracking, and setup automated releases
IDL Updates
- Orca Whirlpools: v0.3.6 (+9 errors)
- Meteora DLMM: v0.10.0 (+27 errors)
- Meteora AMM: v0.5.3 (+9 errors)
- Meteora CP AMM: v0.1.5 (+11 errors)
- Drift V2: v2.143.0 (+35 errors)
- Tensor: v3.1.0 (+37 errors)
- Metaplex Hydra: v0.4.1
Improvements
- Added version column to README protocol table for transparency
- Total error coverage increased from 1,786 to 1,914 (+128 errors)
- Added
packageManagerfield to package.json (pnpm@10.20.0) - All IDLs verified against official on-chain/GitHub sources
Full Changelog: v1.0.0...v1.1.0
v1.2.1 - Enhanced TypeScript Type Safety
What's Changed
Enhanced TypeScript Type Safety for IDL Exports
This patch release significantly improves the developer experience when integrating with transaction parsers.
✨ Key Improvements
- Fully typed IDL exports - All IDL exports are now properly typed as
Idlfrom@coral-xyz/anchor - No more
as anycasting - Clean integration with parser libraries like@debridge-finance/solana-transaction-parser - Better IntelliSense - Full IDE autocomplete support for instruction names, accounts, and arguments
- Improved examples - Updated patterns showing specific type assertions instead of
as any - Enhanced documentation - Clear guidance on peer dependency usage
📦 Installation
npm install solana-idls
# For parser integration (recommended)
npm install solana-idls @coral-xyz/anchor🔧 Usage Example
import { JUPITER_IDL, JUPITER_PROGRAM_ID } from 'solana-idls';
import { SolanaParser, convertLegacyIdlToV30 } from '@debridge-finance/solana-transaction-parser';
// ✅ No type casting needed!
const parser = new SolanaParser([{
idl: convertLegacyIdlToV30(JUPITER_IDL, JUPITER_PROGRAM_ID),
programId: JUPITER_PROGRAM_ID
}]);Full Changelog: https://github.com/tenequm/solana-idls/compare/solana-idls@1.2.0...solana-idls@1.2.1
v1.0.0
solana-idls
1.0.0
Major Changes
-
Initial standalone release - extracted from @obsidian-debug/solana-errors monorepo package
Breaking Changes
- Package renamed:
@obsidian-debug/solana-errors→solana-idls - Now published as standalone repository (was monorepo package)
- Users must update imports:
from "@obsidian-debug/solana-errors"→from "solana-idls"
Features
- ✅ 1,786 error definitions from 41 Solana protocols
- ✅ Error resolution API (
registry.resolve()) - ✅ Instruction resolution with discriminators (
registry.resolveInstruction()) - ✅ Account metadata with semantic names from IDLs
- ✅ Program name resolution (
registry.getByProgramId()) - ✅ Hierarchical fallback (program-specific → Anchor framework)
- ✅ Full TypeScript support with immutable types
- ✅ Zero configuration required
Protocol Coverage
- DeFi & Swaps: Jupiter, Raydium, Meteora, Orca, Phoenix, OpenBook, Serum (526 errors)
- Meme Tokens: Pump.fun, Moonshot, Boop, Heaven, BonkSwap (222 errors)
- NFT Ecosystem: Metaplex suite - Token Metadata, Candy Machine, Bubblegum, etc. (604 errors)
- Infrastructure: SPL Token, Token-2022, Drift, Anchor Framework (434 errors)
Improvements
- Normalized IDL filenames for consistency (
spl-token-2022,magiceden-v2) - Added comprehensive documentation and usage examples
- Integrated changesets for better release management
- Package renamed: