- Split use_seed_optimize parameter into two independent configs:
* wsol_use_seed: controls seed optimization for WSOL ATA operations (default: false)
* mint_use_seed: controls seed optimization for other mint ATA operations (default: true)
- Refactor TradeConfig to accept all parameters in new() constructor
- Remove deprecated builder methods (with_seed_config, with_wsol_ata_config)
- Add wsol_use_seed and mint_use_seed fields to SwapParams
- Remove open_seed_optimize field from SwapParams
- Update all instruction builders to use correct seed parameter:
* Use params.wsol_use_seed for WSOL token operations
* Use params.mint_use_seed for other token operations
* Fix token type detection in bonk.rs, raydium_cpmm.rs, and raydium_amm_v4.rs
to properly select wsol_use_seed when dealing with WSOL tokens
- Update wsol_manager functions to accept is_use_seed parameter:
* handle_wsol()
* close_wsol()
* create_wsol_ata()
* wrap_sol_only()
* wrap_wsol_to_sol()
- Add wrap_wsol_to_sol() function with smart temporary account selection:
* If source is seed-created, use normal ATA for temp account
* If source is normal ATA, use seed ATA for temp account
* Prevents address conflicts while optimizing performance
This provides fine-grained control over seed optimization strategies,
allowing different configurations for WSOL and other tokens.
- Remove open_seed_optimize parameter from TradeBuyParams and TradeSellParams structs
- Add global use_seed_optimize configuration in TradeConfig with default value true
- Add create_wsol_ata_on_startup configuration in TradeConfig with default value true
- Implement automatic WSOL ATA creation and verification on SDK initialization
- Add with_wsol_ata_config() builder method to TradeConfig for custom WSOL settings
- Update all examples to remove open_seed_optimize parameter usage
- Update documentation (README, TRADING_PARAMETERS) to reflect new configuration approach
- Upgrade package version from 3.1.7 to 3.2.0
Breaking Changes:
- open_seed_optimize parameter removed from trade parameters (now global setting)
- Seed optimization is now enabled by default for all operations
- Upgrade Solana dependencies from 2.3.x to 3.0.0 series
- Upgrade solana-streamer-sdk from 0.4.13 to 0.5.0
- Upgrade yellowstone-grpc from 8.0.0 to 9.0.0
- Add new SPL token utility modules (spl_token.rs, spl_token_2022.rs,
spl_associated_token_account.rs)
- Remove deprecated gRPC protocol definitions (protos/ directory)
- Remove event_subscription example and update all example dependencies
- Update README documentation to reflect v2.0.0 changes
- Refactor imports to use new dependency structure across examples
BREAKING CHANGES:
- Solana SDK upgraded to 3.0.0 with API changes
- Removed gRPC protocol definitions
- Updated import paths for SPL token operations
- feat(gas): add comprehensive gas fee strategy management system
* Implement GasFeeStrategyType with Default/LowTipHighCuPrice/HighTipLowCuPrice strategies
* Add dynamic gas fee configuration per SWQOS service and trade type
* Integrate arc-swap for thread-safe strategy updates
- docs: restructure documentation with dedicated guides
* Add ADDRESS_LOOKUP_TABLE.md/CN.md for lookup table configuration
* Add NONCE_CACHE.md/CN.md for nonce management documentation
* Add TRADING_PARAMETERS.md/CN.md for comprehensive parameter guides
* Simplify main README.md with focused overview
- refactor: update all examples with new gas fee strategy integration
* Modernize 14 trading examples with consistent parameter handling
* Improve error handling and configuration management
* Enhance parallel trading implementation
- Simplify TradeExecutor interface by integrating middleware and swqos clients into params
- Refactor parallel execution module with dedicated buy/sell execute functions
- Add SOL wrapping/unwrapping functionality for wSOL management
- Remove redundant parameter passing in sell operations
- Delete example main.rs file
- Optimize transaction building with integrated parameter structures
BREAKING CHANGE: TradeExecutor interface simplified, middleware and swqos_clients now passed through params
- Remove redundant transaction builder functions and merge into single build_transaction()
- Simplify compute budget manager with unified add_compute_budget_instructions()
- Consolidate trade executor interface by removing separate buy/sell methods
- Unify BuyParams/SellParams usage, remove *WithTipParams structs
- Streamline parallel execution logic and remove TradeType parameter
- Delete obsolete files: address_lookup.rs, tip_cache.rs
- Clean up nonce manager by removing unused is_using_nonce() function
This refactoring reduces code duplication and provides a cleaner, more maintainable API
for transaction building and execution across all trading protocols.
1. Upgrade version from 0.4.7 to 0.5.0
2. Rename compute unit parameters from unit_limit/unit_price to tip_unit_limit/tip_unit_price
3. Remove creator parameter from API to simplify trading interface
4. Optimize PumpFun and PumpSwap protocol parameter structures with creator_vault support
5. Remove unnecessary constants and functions like TOTAL_SUPPLY and BONDING_CURVE_SUPPLY
6. Improve code formatting and documentation