55 lines
3.6 KiB
Rust
55 lines
3.6 KiB
Rust
use common::deploy_config;
|
|
|
|
/// `CONFIG_SEED` — seed PDA основного конфига `shine_payments`.
|
|
pub const CONFIG_SEED: &[u8] = b"shine_payments_config";
|
|
/// `COEF_LIMIT_SEED` — seed PDA коэффициента, лимита и награды шага выплат.
|
|
pub const COEF_LIMIT_SEED: &[u8] = b"shine_payments_coef_limit";
|
|
/// `QUEUES_SEED` — seed PDA агрегатов очередей выплат.
|
|
pub const QUEUES_SEED: &[u8] = b"shine_payments_queues";
|
|
/// `INFLOW_VAULT_SEED` — seed PDA inflow-вольта, откуда исполняются выплаты.
|
|
pub const INFLOW_VAULT_SEED: &[u8] = b"shine_payments_inflow_vault";
|
|
/// `Q1_TICKET_SEED` — seed PDA тикетов очереди 1.
|
|
pub const Q1_TICKET_SEED: &[u8] = b"shine_payments_q1_ticket";
|
|
/// `Q2_TICKET_SEED` — seed PDA тикетов очереди 2.
|
|
pub const Q2_TICKET_SEED: &[u8] = b"shine_payments_q2_ticket";
|
|
/// `MANAGER_ALLOWANCE_SEED` — seed PDA лимитов менеджера.
|
|
pub const MANAGER_ALLOWANCE_SEED: &[u8] = b"shine_p_manager_allow";
|
|
|
|
/// `CONFIG_SPACE` — размер (в байтах) PDA `ConfigState`.
|
|
pub const CONFIG_SPACE: usize = 8 + 160;
|
|
/// `COEF_LIMIT_SPACE` — размер (в байтах) PDA `CoefLimitState`.
|
|
pub const COEF_LIMIT_SPACE: usize = 8 + 96;
|
|
/// `QUEUES_SPACE` — размер (в байтах) PDA `QueuesState`.
|
|
pub const QUEUES_SPACE: usize = 8 + 192;
|
|
/// `INFLOW_VAULT_SPACE` — размер (в байтах) PDA `VaultState`.
|
|
pub const INFLOW_VAULT_SPACE: usize = 8 + 32;
|
|
/// `TICKET_SPACE` — размер (в байтах) PDA `TicketState`.
|
|
pub const TICKET_SPACE: usize = 8 + 160;
|
|
/// `MANAGER_ALLOWANCE_SPACE` — размер (в байтах) PDA `ManagerAllowanceState`.
|
|
pub const MANAGER_ALLOWANCE_SPACE: usize = 8 + 128;
|
|
|
|
/// `COEF_SCALE_PPM` — масштаб fixed-point для коэффициента (ppm = parts per million).
|
|
pub const COEF_SCALE_PPM: u64 = 1_000_000;
|
|
/// `START_COEF_PPM` — стартовый коэффициент выплаты при инициализации (`5_000_000` = 5.0x).
|
|
pub const START_COEF_PPM: u64 = 5_000_000;
|
|
/// `START_LIMIT_USD_CENTS` — стартовый лимит Q1 в USD-центах (10_000 USD).
|
|
pub const START_LIMIT_USD_CENTS: u64 = 10_000 * 100;
|
|
/// `START_CALL_REWARD_LAMPORTS` — стартовая награда за вызов `step_payout` (0.008 SOL).
|
|
pub const START_CALL_REWARD_LAMPORTS: u64 = 8_000_000;
|
|
/// `MAX_CALL_REWARD_LAMPORTS` — верхняя граница награды за шаг выплат (0.01 SOL).
|
|
pub const MAX_CALL_REWARD_LAMPORTS: u64 = 10_000_000;
|
|
/// `USD_CENTS_SCALE` — масштаб USD-центов (1 USD = 100 центов).
|
|
pub const USD_CENTS_SCALE: u64 = 100;
|
|
/// `LAMPORTS_PER_SOL` — количество лампортов в 1 SOL.
|
|
pub const LAMPORTS_PER_SOL: u64 = 1_000_000_000;
|
|
|
|
/// `ORACLE_MAX_AGE_SECS` — максимальный возраст oracle-цены (в секундах), допустимый для расчетов.
|
|
pub const ORACLE_MAX_AGE_SECS: u64 = 120;
|
|
/// `PYTH_SOL_USD_FEED_ID` — feed id Pyth для пары SOL/USD (берется из общего deploy-конфига).
|
|
pub const PYTH_SOL_USD_FEED_ID: &str = deploy_config::PYTH_SOL_USD_FEED_ID;
|
|
/// `PYTH_SOL_USD_ACCOUNT` — адрес аккаунта Pyth price update для SOL/USD (берется из общего deploy-конфига).
|
|
pub const PYTH_SOL_USD_ACCOUNT: &str = deploy_config::PYTH_SOL_USD_ACCOUNT;
|
|
|
|
/// `DAO_WALLET` — адрес кошелька DAO-казны для `shine_payments` (берется из общего deploy-конфига).
|
|
pub const DAO_WALLET: &str = deploy_config::DAO_TREASURY_WALLET;
|