1#![deny(
2 clippy::unwrap_used,
3 clippy::expect_used,
4 clippy::panic,
5 clippy::arithmetic_side_effects,
6 unused_must_use
7)]
8
9pub mod common;
15pub mod drift;
16pub mod error;
17pub mod kamino;
18pub mod math;
19pub mod spend_limits;
20
21pub use drift::balance::{
24 calculate_value_usdc_base_units, compute_token_balance, get_token_balance,
25};
26pub use common::{calculate_spend_limit_cents, usdc_base_units_to_cents, USDC_BASE_UNITS_PER_CENT};
27pub use drift::capacity::{calculate_capacity, CapacityResult, PositionInfo};
28pub use drift::limits::{calculate_position_limits, MarginState, PositionData, PositionLimits};
29pub use drift::weights::{
30 calculate_asset_weight, calculate_liability_weight, calculate_scaled_initial_asset_weight,
31 calculate_size_discount_asset_weight, calculate_size_premium_liability_weight,
32 get_strict_price, to_amm_precision, AMM_RESERVE_PRECISION, SPOT_IMF_PRECISION,
33 SPOT_WEIGHT_PRECISION,
34};
35pub use error::{MathError, MathResult};
36pub use kamino::balance::{get_kamino_borrow_balance, get_kamino_deposit_balance};
37pub use kamino::capacity::{
38 calculate_kamino_capacity, KaminoCapacityResult, KaminoPositionInfo, KaminoPositionType,
39};
40pub use kamino::limits::{
41 calculate_kamino_position_limits, KaminoMarginState, KaminoPositionLimits,
42};
43pub use kamino::weights::{get_kamino_asset_weight, get_kamino_liability_weight, get_kamino_price};
44pub use math::CheckedDivCeil;
45pub use spend_limits::get_remaining_timeframe_limit;