76a47e87b1
- Replace dynamic PDA calculations with cached vault addresses for better performance - Add support for pre-calculated pool state and observation state addresses - Optimize instruction data creation using fixed-size arrays instead of Vec - Refactor vault account resolution with fallback to PDA calculation - Use fast ATA address calculation to reduce computation overhead - Extract common wSOL handling logic to reduce code duplication - Add RaydiumCpmmParams::from_trade() constructor for event-driven trading - Improve memory allocation efficiency with Vec::with_capacity()