Sync supported DEX IDLs from bitquery/solana-idl-lib, upgrade protocol builders, and keep trade submission hot paths free of RPC query calls.
Include exact-output coverage, token-account setup fixes for WSOL and stable pairs, and low-latency transaction build improvements.
- Replace compile-time `pumpfun-v2` feature flag with runtime
`TradeConfig::use_pumpfun_v2(bool)` for flexible V1/V2 switching
- Fix BUYBACK_FEE_RECIPIENTS pool: replace wrong addresses (was reusing
standard pool + FEE_CONFIG) with official buyback pool from
FEE_RECIPIENTS.md
- Fix legacy buy/buy_exact_sol_in ix data encoding: use 2-byte
Option<bool> (option tag + value) matching official Pump SDK, 26 bytes
total instead of broken 25
- Add `SwapParams.use_pumpfun_v2` field and wire through TradingClient
buy/sell paths
- V2 instructions read `quote_mint` from `PumpFunParams` (not
BondingCurveAccount which lacks the field)
- Fix `fetch_bonding_curve_account` to use BorshDeserialize instead of
non-existent `decode_from_chain_account_data`
- Update all examples with `use_pumpfun_v2: false` field
- Update README with unified V1/V2 section showing both enabling methods
- resolve_creator_vault_for_ix_with_fee_sharing uses non-placeholder ix vault as-is.
- When ix vault missing, fall back to fee_sharing_creator_vault_if_active then PDA(creator).
- Add Pump troubleshooting CN doc; extend PumpFunParams field documentation.
- Bump to v4.0.7.
Co-authored-by: Cursor <cursoragent@cursor.com>