solana_program/stake/
config.rs1use serde_derive::{Deserialize, Serialize};
4
5crate::declare_id!("StakeConfig11111111111111111111111111111111");
7
8pub const DEFAULT_WARMUP_COOLDOWN_RATE: f64 = 0.25;
11pub const DEFAULT_SLASH_PENALTY: u8 = ((5 * std::u8::MAX as usize) / 100) as u8;
12
13#[derive(Serialize, Deserialize, Debug, PartialEq, Clone, Copy)]
14pub struct Config {
15 pub warmup_cooldown_rate: f64,
17 pub slash_penalty: u8,
19}
20
21impl Default for Config {
22 fn default() -> Self {
23 Self {
24 warmup_cooldown_rate: DEFAULT_WARMUP_COOLDOWN_RATE,
25 slash_penalty: DEFAULT_SLASH_PENALTY,
26 }
27 }
28}