solana_central/raydium/
get_cpmm_fee_amount_from_config_account.rs1use solana_sdk::pubkey::Pubkey;
2
3const ONE: Pubkey = Pubkey::from_str_const("B5u5x9S5pyaJdonf7bXUiEnBfEXsJWhNxXfLGAbRFtg2");
4const TWO: Pubkey = Pubkey::from_str_const("BgxH5ifebqHDuiADWKhLjXGP5hWZeZLoCdmeWJLkRqLP");
5const THREE: Pubkey = Pubkey::from_str_const("BhH6HphjBKXu2PkUc2aw3xEMdUvK14NXxE5LbNWZNZAA");
6const FOUR: Pubkey = Pubkey::from_str_const("D4FPEruKEHrG5TenZ2mpDGEfu1iUvTiqBxvpU8HLBvC2");
7const FIVE: Pubkey = Pubkey::from_str_const("2fGXL8uhqxJ4tpgtosHZXT4zcQap6j62z3bMDxdkMvy5");
8const SIX: Pubkey = Pubkey::from_str_const("G95xxie3XbkCqtE39GgQ9Ggc7xBC8Uceve7HFDEFApkc");
9const SEVEN: Pubkey = Pubkey::from_str_const("C7Cx2pMLtjybS3mDKSfsBj4zQ3PRZGkKt7RCYTTbCSx2");
10
11pub fn get_cpmm_fee_amount_from_config_account(config_account: Pubkey, pool_account: &Pubkey) -> u64 {
17 if config_account == ONE {
18 return 15000000;
19 } else if config_account == TWO {
20 return 3000000;
21 } else if config_account == THREE {
22 return 5000000;
23 } else if config_account == FOUR {
24 return 2500000;
25 } else if config_account == FIVE {
26 return 20000000;
27 } else if config_account == SIX {
28 return 10000000;
29 } else if config_account == SEVEN {
30 return 4000000;
31 }
32 else {
33 println!(
34 "get_cpmm_fee_amount_from_config_account: Found a config account not defined in constants, config_account: {}, pool account: {}. Reporting a 100% swap fee rate.",
35 config_account,
36 pool_account
37 );
38
39 1000000000
40 }
41}