Skip to main content

defituna_client/
consts.rs

1use solana_pubkey::{pubkey, Pubkey};
2
3pub const HUNDRED_PERCENT: u32 = 1000000;
4pub const LEVERAGE_ONE: u32 = HUNDRED_PERCENT; // 1.0x
5
6pub const MAX_LEVERAGE: u32 = 11 * LEVERAGE_ONE;
7pub const MAX_PROTOCOL_FEE: u16 = (HUNDRED_PERCENT / 100) as u16;
8pub const MAX_LIQUIDATION_FEE: u32 = HUNDRED_PERCENT / 5;
9pub const MAX_LIQUIDATION_THRESHOLD: u32 = HUNDRED_PERCENT * 95 / 100;
10
11pub const NO_LOWER_LIMIT_ORDER: i32 = -2147483648;
12pub const NO_UPPER_LIMIT_ORDER: i32 = 2147483647;
13
14pub const UNLIMITED_SUPPLY_LIMIT: u64 = u64::MAX;
15
16pub const TUNA_POSITION_FLAGS_LOWER_LIMIT_ORDER_SWAP_TO_TOKEN_A: u32 = 1;
17pub const TUNA_POSITION_FLAGS_LOWER_LIMIT_ORDER_SWAP_TO_TOKEN_B: u32 = 1 << 1;
18pub const TUNA_POSITION_FLAGS_UPPER_LIMIT_ORDER_SWAP_TO_TOKEN_A: u32 = 1 << 2;
19pub const TUNA_POSITION_FLAGS_UPPER_LIMIT_ORDER_SWAP_TO_TOKEN_B: u32 = 1 << 3;
20pub const TUNA_POSITION_FLAGS_AUTO_COMPOUND_YIELD: u32 = 1 << 4;
21pub const TUNA_POSITION_FLAGS_AUTO_COMPOUND_YIELD_WITH_LEVERAGE: u32 = 1 << 5;
22pub const TUNA_POSITION_FLAGS_ALLOW_REBALANCING: u32 = 1 << 6;
23pub const TUNA_POSITION_FLAGS_LOCKED: u32 = 1 << 7;
24pub const TUNA_POSITION_FLAGS_MASK: u32 = (1 << 8) - 1;
25
26pub const WP_NFT_UPDATE_AUTH: Pubkey = pubkey!("3axbTs2z5GBy6usVbNVoqEgZMng3vZvMnAoX29BFfwhr");
27pub const DEFAULT_PUSH_ORACLE_PROGRAM_ID: Pubkey = pubkey!("pythWSnswVUd12oZpeFP8e9CVaEqJg25g1Vtc2biRsT");
28
29pub const JUPITER_PROGRAM_ID: Pubkey = pubkey!("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4");
30pub const JUPITER_EVENT_AUTHORITY: Pubkey = pubkey!("D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf");
31pub const JUPITER_PROGRAM_AUTHORITY_8: Pubkey = pubkey!("9nnLbotNTcUhvbrsA6Mdkx45Sm82G35zo28AqUvjExn8");
32pub const JUPITER_PROGRAM_AUTHORITY_11: Pubkey = pubkey!("69yhtoJR4JYPPABZcSNkzuqbaFbwHsCkja1sP1Q2aVT5");