- Add comprehensive calculation utilities for all protocols (bonk, pumpfun, pumpswap, raydium) - Refactor instruction modules to reduce code complexity and improve maintainability - Optimize trading parameters structure and enhance common utilities - Separate calculation logic from trading modules for better code organization - Update dependencies and module exports
38 lines
1.6 KiB
Rust
Executable File
38 lines
1.6 KiB
Rust
Executable File
//! Constants used by the crate.
|
|
//!
|
|
//! This module contains various constants used throughout the crate, including:
|
|
//!
|
|
//! - Seeds for deriving Program Derived Addresses (PDAs)
|
|
//! - Program account addresses and public keys
|
|
//!
|
|
//! The constants are organized into submodules for better organization:
|
|
//!
|
|
//! - `seeds`: Contains seed values used for PDA derivation
|
|
//! - `accounts`: Contains important program account addresses
|
|
|
|
/// Constants used as seeds for deriving PDAs (Program Derived Addresses)
|
|
pub mod seeds {
|
|
pub const POOL_SEED: &[u8] = b"pool";
|
|
pub const POOL_VAULT_SEED: &[u8] = b"pool_vault";
|
|
pub const OBSERVATION_STATE_SEED: &[u8] = b"observation";
|
|
}
|
|
|
|
/// Constants related to program accounts and authorities
|
|
pub mod accounts {
|
|
use solana_sdk::{pubkey, pubkey::Pubkey};
|
|
pub const AUTHORITY: Pubkey = pubkey!("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL");
|
|
pub const AMM_CONFIG: Pubkey = pubkey!("D4FPEruKEHrG5TenZ2mpDGEfu1iUvTiqBxvpU8HLBvC2");
|
|
pub const TOKEN_PROGRAM: Pubkey = spl_token::ID;
|
|
pub const WSOL_TOKEN_ACCOUNT: Pubkey = pubkey!("So11111111111111111111111111111111111111112");
|
|
pub const RAYDIUM_CPMM: Pubkey = pubkey!("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C");
|
|
|
|
pub const FEE_RATE_DENOMINATOR_VALUE: u128 = 1_000_000;
|
|
pub const TRADE_FEE_RATE: u64 = 2500;
|
|
pub const CREATOR_FEE_RATE: u64 = 0;
|
|
pub const PROTOCOL_FEE_RATE: u64 = 120000;
|
|
pub const FUND_FEE_RATE: u64 = 40000;
|
|
}
|
|
|
|
pub const SWAP_BASE_IN_DISCRIMINATOR: &[u8] = &[143, 190, 90, 218, 196, 30, 51, 222];
|
|
pub const SWAP_BASE_OUT_DISCRIMINATOR: &[u8] = &[55, 217, 98, 86, 163, 74, 180, 173];
|