Skip to main content

Crate pyra_margin

Crate pyra_margin 

Source
Expand description

Margin weight, balance, and price calculations for spot positions.

Protocol-specific logic lives in submodules (drift, kamino); shared math and error types are at the crate root.

Re-exports§

pub use drift::balance::calculate_value_usdc_base_units;
pub use drift::balance::compute_token_balance;
pub use drift::balance::get_token_balance;
pub use common::calculate_spend_limit_cents;
pub use common::usdc_base_units_to_cents;
pub use common::USDC_BASE_UNITS_PER_CENT;
pub use drift::capacity::calculate_capacity;
pub use drift::capacity::CapacityResult;
pub use drift::capacity::PositionInfo;
pub use drift::limits::calculate_position_limits;
pub use drift::limits::MarginState;
pub use drift::limits::PositionData;
pub use drift::limits::PositionLimits;
pub use drift::weights::calculate_asset_weight;
pub use drift::weights::calculate_liability_weight;
pub use drift::weights::calculate_scaled_initial_asset_weight;
pub use drift::weights::calculate_size_discount_asset_weight;
pub use drift::weights::calculate_size_premium_liability_weight;
pub use drift::weights::get_strict_price;
pub use drift::weights::to_amm_precision;
pub use drift::weights::AMM_RESERVE_PRECISION;
pub use drift::weights::SPOT_IMF_PRECISION;
pub use drift::weights::SPOT_WEIGHT_PRECISION;
pub use error::MathError;
pub use error::MathResult;
pub use kamino::balance::get_kamino_borrow_balance;
pub use kamino::balance::get_kamino_deposit_balance;
pub use kamino::capacity::calculate_kamino_capacity;
pub use kamino::capacity::KaminoCapacityResult;
pub use kamino::capacity::KaminoPositionInfo;
pub use kamino::capacity::KaminoPositionType;
pub use kamino::limits::calculate_kamino_position_limits;
pub use kamino::limits::KaminoMarginState;
pub use kamino::limits::KaminoPositionLimits;
pub use kamino::weights::get_kamino_asset_weight;
pub use kamino::weights::get_kamino_liability_weight;
pub use kamino::weights::get_kamino_price;
pub use math::CheckedDivCeil;
pub use spend_limits::get_remaining_timeframe_limit;

Modules§

common
drift
error
kamino
math
spend_limits