#[repr(C)]pub struct Market {
pub store: Pubkey,
/* private fields */
}
Expand description
Market.
Fields§
§store: Pubkey
Store.
Implementations§
Source§impl Market
impl Market
Sourcepub fn find_market_address(
store: &Pubkey,
token: &Pubkey,
store_program_id: &Pubkey,
) -> (Pubkey, u8)
pub fn find_market_address( store: &Pubkey, token: &Pubkey, store_program_id: &Pubkey, ) -> (Pubkey, u8)
Find PDA for Market
account.
Sourcepub fn init(
&mut self,
bump: u8,
store: Pubkey,
name: &str,
market_token_mint: Pubkey,
index_token_mint: Pubkey,
long_token_mint: Pubkey,
short_token_mint: Pubkey,
is_enabled: bool,
) -> Result<(), Error>
pub fn init( &mut self, bump: u8, store: Pubkey, name: &str, market_token_mint: Pubkey, index_token_mint: Pubkey, long_token_mint: Pubkey, short_token_mint: Pubkey, is_enabled: bool, ) -> Result<(), Error>
Initialize the market.
Sourcepub fn meta(&self) -> &MarketMeta
pub fn meta(&self) -> &MarketMeta
Get meta.
Sourcepub fn validated_meta(&self, store: &Pubkey) -> Result<&MarketMeta, Error>
pub fn validated_meta(&self, store: &Pubkey) -> Result<&MarketMeta, Error>
Get validated meta.
Sourcepub fn description(&self) -> Result<String, Error>
pub fn description(&self) -> Result<String, Error>
Description.
Sourcepub fn flag(&self, flag: MarketFlag) -> bool
pub fn flag(&self, flag: MarketFlag) -> bool
Get flag.
Sourcepub fn set_flag(&mut self, flag: MarketFlag, value: bool) -> bool
pub fn set_flag(&mut self, flag: MarketFlag, value: bool) -> bool
Set flag.
Return the previous value.
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Is this market enabled.
Sourcepub fn set_enabled(&mut self, enabled: bool) -> bool
pub fn set_enabled(&mut self, enabled: bool) -> bool
Set enabled.
Return previous value.
Sourcepub fn is_adl_enabled(&self, is_long: bool) -> bool
pub fn is_adl_enabled(&self, is_long: bool) -> bool
Is ADL enabled.
Sourcepub fn set_adl_enabled(&mut self, is_long: bool, enabled: bool) -> bool
pub fn set_adl_enabled(&mut self, is_long: bool, enabled: bool) -> bool
Set ADL enabled.
Return previous value.
Sourcepub fn is_gt_minting_enabled(&self) -> bool
pub fn is_gt_minting_enabled(&self) -> bool
Is GT Minting enabled.
Sourcepub fn set_is_gt_minting_enbaled(&mut self, enabled: bool) -> bool
pub fn set_is_gt_minting_enbaled(&mut self, enabled: bool) -> bool
Set whether the GT minting is enabled.
Return the previous value.
Sourcepub fn try_pool(&self, kind: PoolKind) -> Result<&Pool, Error>
pub fn try_pool(&self, kind: PoolKind) -> Result<&Pool, Error>
Try to get pool of the given kind.
Sourcepub fn get_config(&self, key: &str) -> Result<&u128, Error>
pub fn get_config(&self, key: &str) -> Result<&u128, Error>
Get config.
Sourcepub fn get_config_by_key(&self, key: MarketConfigKey) -> Option<&u128>
pub fn get_config_by_key(&self, key: MarketConfigKey) -> Option<&u128>
Get config by key.
Sourcepub fn get_config_mut(&mut self, key: &str) -> Result<&mut u128, Error>
pub fn get_config_mut(&mut self, key: &str) -> Result<&mut u128, Error>
Get config mutably.
Sourcepub fn get_config_flag(&self, key: &str) -> Result<bool, Error>
pub fn get_config_flag(&self, key: &str) -> Result<bool, Error>
Get config flag.
Sourcepub fn get_config_flag_by_key(&self, key: MarketConfigFlag) -> bool
pub fn get_config_flag_by_key(&self, key: MarketConfigFlag) -> bool
Get config flag by key.
Sourcepub fn set_config_flag(&mut self, key: &str, value: bool) -> Result<bool, Error>
pub fn set_config_flag(&mut self, key: &str, value: bool) -> Result<bool, Error>
Set config flag.
Returns previous value.
Sourcepub fn state(&self) -> &OtherState
pub fn state(&self) -> &OtherState
Get other market state.
Sourcepub fn indexer_mut(&mut self) -> &mut Indexer
pub fn indexer_mut(&mut self) -> &mut Indexer
Get market indexer mutably.
Sourcepub fn update_config_with_buffer(
&mut self,
buffer: &MarketConfigBuffer,
) -> Result<(), Error>
pub fn update_config_with_buffer( &mut self, buffer: &MarketConfigBuffer, ) -> Result<(), Error>
Update config with buffer.
Sourcepub fn max_pool_value_for_deposit(
&self,
is_long_token: bool,
) -> Result<u128, Error>
pub fn max_pool_value_for_deposit( &self, is_long_token: bool, ) -> Result<u128, Error>
Get max pool value for deposit.
Sourcepub fn as_liquidity_market<'a>(
&'a self,
market_token: &'a Mint,
) -> AsLiquidityMarket<'a, Market>
pub fn as_liquidity_market<'a>( &'a self, market_token: &'a Mint, ) -> AsLiquidityMarket<'a, Market>
As a liquidity market.
Sourcepub fn validate_shiftable(&self, target: &Market) -> Result<(), Error>
pub fn validate_shiftable(&self, target: &Market) -> Result<(), Error>
Validate that this market is shiftable to the target market.
Trait Implementations§
Source§impl AccountDeserialize for Market
impl AccountDeserialize for Market
Source§fn try_deserialize(buf: &mut &[u8]) -> Result<Market, Error>
fn try_deserialize(buf: &mut &[u8]) -> Result<Market, Error>
Deserializes previously initialized account data. Should fail for all
uninitialized accounts, where the bytes are zeroed. Implementations
should be unique to a particular account type so that one can never
successfully deserialize the data of one account type into another.
For example, if the SPL token program were to implement this trait,
it should be impossible to deserialize a
Mint
account into a token
Account
.Source§impl Adl for Market
impl Adl for Market
Source§impl AsRef<Market> for RevertibleMarket<'_, '_>
impl AsRef<Market> for RevertibleMarket<'_, '_>
Source§impl BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}> for Market
impl BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}> for Market
Source§fn liquidity_pool(
&self,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
fn liquidity_pool( &self, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
Get the liquidity pool.
Source§fn claimable_fee_pool(
&self,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
fn claimable_fee_pool( &self, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
Get the claimable fee pool.
Source§fn swap_impact_pool(
&self,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
fn swap_impact_pool( &self, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
Get the swap impact pool.
Source§fn open_interest_pool(
&self,
is_long: bool,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
fn open_interest_pool( &self, is_long: bool, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
Get the open interest pool.
Source§fn open_interest_in_tokens_pool(
&self,
is_long: bool,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
fn open_interest_in_tokens_pool( &self, is_long: bool, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
Get the open interest in (index) tokens pool.
Source§fn collateral_sum_pool(
&self,
is_long: bool,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
fn collateral_sum_pool( &self, is_long: bool, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Pool, Error>
Get collateral sum pool.
Source§fn usd_to_amount_divisor(
&self,
) -> <Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num
fn usd_to_amount_divisor( &self, ) -> <Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num
USD value to market token amount divisor. Read more
Source§fn max_pool_amount(
&self,
is_long_token: bool,
) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
fn max_pool_amount( &self, is_long_token: bool, ) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
Get max pool amount.
Source§fn pnl_factor_config(
&self,
kind: PnlFactorKind,
is_long: bool,
) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
fn pnl_factor_config( &self, kind: PnlFactorKind, is_long: bool, ) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
Get pnl factor config.
Source§fn reserve_factor(
&self,
) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
fn reserve_factor( &self, ) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
Get reserve factor.
Source§fn open_interest_reserve_factor(
&self,
) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
fn open_interest_reserve_factor( &self, ) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
Get open interest reserve factor.
Source§fn max_open_interest(
&self,
is_long: bool,
) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
fn max_open_interest( &self, is_long: bool, ) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#0}::{constant#0}>>::Num, Error>
Get max open interest.
Source§impl BorrowingFeeMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}> for Market
impl BorrowingFeeMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}> for Market
Source§fn borrowing_factor_pool(
&self,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Pool, Error>
fn borrowing_factor_pool( &self, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Pool, Error>
Get borrowing factor pool.
Source§fn total_borrowing_pool(
&self,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Pool, Error>
fn total_borrowing_pool( &self, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Pool, Error>
Get total borrowing pool.
Source§fn borrowing_fee_params(
&self,
) -> Result<BorrowingFeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Num>, Error>
fn borrowing_fee_params( &self, ) -> Result<BorrowingFeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Num>, Error>
Get borrowing fee params.
Source§fn passed_in_seconds_for_borrowing(&self) -> Result<u64, Error>
fn passed_in_seconds_for_borrowing(&self) -> Result<u64, Error>
Get the passed time in seconds for the given kind of clock.
Source§fn borrowing_fee_kink_model_params(
&self,
) -> Result<BorrowingFeeKinkModelParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Num>, Error>
fn borrowing_fee_kink_model_params( &self, ) -> Result<BorrowingFeeKinkModelParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#3}::{constant#0}>>::Num>, Error>
Get borrowing fee kink model params.
Source§impl<'de> Deserialize<'de> for Market
impl<'de> Deserialize<'de> for Market
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Market, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Market, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Discriminator for Market
impl Discriminator for Market
const DISCRIMINATOR: [u8; 8]
fn discriminator() -> [u8; 8]
Source§impl HasMarketMeta for Market
impl HasMarketMeta for Market
fn is_pure(&self) -> bool
fn market_meta(&self) -> &MarketMeta
Source§impl PerpMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}> for Market
impl PerpMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}> for Market
Source§fn funding_factor_per_second(
&self,
) -> &<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Signed
fn funding_factor_per_second( &self, ) -> &<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Signed
Get funding factor per second.
Source§fn funding_amount_per_size_pool(
&self,
is_long: bool,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Pool, Error>
fn funding_amount_per_size_pool( &self, is_long: bool, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Pool, Error>
Get funding amount per size pool.
Source§fn claimable_funding_amount_per_size_pool(
&self,
is_long: bool,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Pool, Error>
fn claimable_funding_amount_per_size_pool( &self, is_long: bool, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Pool, Error>
Get claimable funding amount per size pool.
Source§fn funding_amount_per_size_adjustment(
&self,
) -> <Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num
fn funding_amount_per_size_adjustment( &self, ) -> <Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num
Adjustment factor for packing funding amount per size.
Source§fn funding_fee_params(
&self,
) -> Result<FundingFeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
fn funding_fee_params( &self, ) -> Result<FundingFeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
Get funding fee params.
Source§fn position_params(
&self,
) -> Result<PositionParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
fn position_params( &self, ) -> Result<PositionParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
Get basic position params.
Source§fn order_fee_params(
&self,
) -> Result<FeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
fn order_fee_params( &self, ) -> Result<FeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
Get the order fee params.
Source§fn min_collateral_factor_for_open_interest_multiplier(
&self,
is_long: bool,
) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num, Error>
fn min_collateral_factor_for_open_interest_multiplier( &self, is_long: bool, ) -> Result<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num, Error>
Get min collateral factor for open interest multiplier.
Source§fn liquidation_fee_params(
&self,
) -> Result<LiquidationFeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
fn liquidation_fee_params( &self, ) -> Result<LiquidationFeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#4}::{constant#0}>>::Num>, Error>
Get liquidation fee params.
Source§impl PositionImpactMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}> for Market
impl PositionImpactMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}> for Market
Source§fn position_impact_pool(
&self,
) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}>>::Pool, Error>
fn position_impact_pool( &self, ) -> Result<&<Market as BaseMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}>>::Pool, Error>
Get position impact pool.
Source§fn position_impact_params(
&self,
) -> Result<PriceImpactParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}>>::Num>, Error>
fn position_impact_params( &self, ) -> Result<PriceImpactParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}>>::Num>, Error>
Get the position impact params.
Source§fn position_impact_distribution_params(
&self,
) -> Result<PositionImpactDistributionParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}>>::Num>, Error>
fn position_impact_distribution_params( &self, ) -> Result<PositionImpactDistributionParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#2}::{constant#0}>>::Num>, Error>
Get position impact distribution params.
Source§impl Serialize for Market
impl Serialize for Market
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl SwapMarket<gmsol_store::::states::market::model::{impl#1}::{constant#0}> for Market
impl SwapMarket<gmsol_store::::states::market::model::{impl#1}::{constant#0}> for Market
Source§fn swap_impact_params(
&self,
) -> Result<PriceImpactParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#1}::{constant#0}>>::Num>, Error>
fn swap_impact_params( &self, ) -> Result<PriceImpactParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#1}::{constant#0}>>::Num>, Error>
Get swap impact params.
Source§fn swap_fee_params(
&self,
) -> Result<FeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#1}::{constant#0}>>::Num>, Error>
fn swap_fee_params( &self, ) -> Result<FeeParams<<Market as BaseMarket<gmsol_store::::states::market::model::{impl#1}::{constant#0}>>::Num>, Error>
Get the swap fee params.
impl Copy for Market
impl Pod for Market
impl ZeroCopy for Market
Auto Trait Implementations§
impl Freeze for Market
impl RefUnwindSafe for Market
impl Send for Market
impl Sync for Market
impl Unpin for Market
impl UnwindSafe for Market
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<M, const DECIMALS: u8> BaseMarketExt<DECIMALS> for Mwhere
M: BaseMarket<DECIMALS> + ?Sized,
impl<M, const DECIMALS: u8> BaseMarketExt<DECIMALS> for Mwhere
M: BaseMarket<DECIMALS> + ?Sized,
Source§fn pool_value_without_pnl_for_one_side(
&self,
prices: &Prices<Self::Num>,
is_long: bool,
maximize: bool,
) -> Result<Self::Num, Error>
fn pool_value_without_pnl_for_one_side( &self, prices: &Prices<Self::Num>, is_long: bool, maximize: bool, ) -> Result<Self::Num, Error>
Get the usd value of primary pool without pnl for one side.
Source§fn open_interest(&self) -> Result<Merged<&Self::Pool, &Self::Pool>, Error>
fn open_interest(&self) -> Result<Merged<&Self::Pool, &Self::Pool>, Error>
Get total open interest as a
Balance
.Source§fn pnl(
&self,
index_token_price: &Price<Self::Num>,
is_long: bool,
maximize: bool,
) -> Result<Self::Signed, Error>
fn pnl( &self, index_token_price: &Price<Self::Num>, is_long: bool, maximize: bool, ) -> Result<Self::Signed, Error>
Get total pnl of the market for one side.
Source§fn pnl_factor_with_pool_value(
&self,
prices: &Prices<Self::Num>,
is_long: bool,
maximize: bool,
) -> Result<(Self::Signed, Self::Num), Error>
fn pnl_factor_with_pool_value( &self, prices: &Prices<Self::Num>, is_long: bool, maximize: bool, ) -> Result<(Self::Signed, Self::Num), Error>
Get pnl factor with pool value.
Source§fn pnl_factor(
&self,
prices: &Prices<Self::Num>,
is_long: bool,
maximize: bool,
) -> Result<Self::Signed, Error>
fn pnl_factor( &self, prices: &Prices<Self::Num>, is_long: bool, maximize: bool, ) -> Result<Self::Signed, Error>
Get pnl factor.
Source§fn validate_pool_amount(&self, is_long_token: bool) -> Result<(), Error>
fn validate_pool_amount(&self, is_long_token: bool) -> Result<(), Error>
Validate (primary) pool amount.
Source§fn pnl_factor_exceeded(
&self,
prices: &Prices<Self::Num>,
kind: PnlFactorKind,
is_long: bool,
) -> Result<Option<PnlFactorExceeded<Self::Num>>, Error>
fn pnl_factor_exceeded( &self, prices: &Prices<Self::Num>, kind: PnlFactorKind, is_long: bool, ) -> Result<Option<PnlFactorExceeded<Self::Num>>, Error>
Get the excess of pending pnl. Read more
Source§fn validate_pnl_factor(
&self,
prices: &Prices<Self::Num>,
kind: PnlFactorKind,
is_long: bool,
) -> Result<(), Error>
fn validate_pnl_factor( &self, prices: &Prices<Self::Num>, kind: PnlFactorKind, is_long: bool, ) -> Result<(), Error>
Validate pnl factor.
Source§fn validate_max_pnl(
&self,
prices: &Prices<Self::Num>,
long_kind: PnlFactorKind,
short_kind: PnlFactorKind,
) -> Result<(), Error>
fn validate_max_pnl( &self, prices: &Prices<Self::Num>, long_kind: PnlFactorKind, short_kind: PnlFactorKind, ) -> Result<(), Error>
Validate max pnl.
Source§fn reserved_value(
&self,
index_token_price: &Price<Self::Num>,
is_long: bool,
) -> Result<Self::Num, Error>
fn reserved_value( &self, index_token_price: &Price<Self::Num>, is_long: bool, ) -> Result<Self::Num, Error>
Get reserved value.
Source§fn validate_reserve(
&self,
prices: &Prices<Self::Num>,
is_long: bool,
) -> Result<(), Error>
fn validate_reserve( &self, prices: &Prices<Self::Num>, is_long: bool, ) -> Result<(), Error>
Validate reserve.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<M, const DECIMALS: u8> BorrowingFeeMarketExt<DECIMALS> for Mwhere
M: BorrowingFeeMarket<DECIMALS> + ?Sized,
impl<M, const DECIMALS: u8> BorrowingFeeMarketExt<DECIMALS> for Mwhere
M: BorrowingFeeMarket<DECIMALS> + ?Sized,
Source§fn cumulative_borrowing_factor(&self, is_long: bool) -> Result<Self::Num, Error>
fn cumulative_borrowing_factor(&self, is_long: bool) -> Result<Self::Num, Error>
Get current borrowing factor.
Source§fn borrowing_factor_per_second(
&self,
is_long: bool,
prices: &Prices<Self::Num>,
) -> Result<Self::Num, Error>
fn borrowing_factor_per_second( &self, is_long: bool, prices: &Prices<Self::Num>, ) -> Result<Self::Num, Error>
Get borrowing factor per second.
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self
.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<M, const DECIMALS: u8> PerpMarketExt<DECIMALS> for Mwhere
M: PerpMarket<DECIMALS>,
impl<M, const DECIMALS: u8> PerpMarketExt<DECIMALS> for Mwhere
M: PerpMarket<DECIMALS>,
Source§fn funding_fee_amount_per_size(
&self,
is_long: bool,
is_long_collateral: bool,
) -> Result<Self::Num, Error>
fn funding_fee_amount_per_size( &self, is_long: bool, is_long_collateral: bool, ) -> Result<Self::Num, Error>
Get current funding fee amount per size.
Source§fn claimable_funding_fee_amount_per_size(
&self,
is_long: bool,
is_long_collateral: bool,
) -> Result<Self::Num, Error>
fn claimable_funding_fee_amount_per_size( &self, is_long: bool, is_long_collateral: bool, ) -> Result<Self::Num, Error>
Get current claimable funding fee amount per size.
Source§fn validate_open_interest_reserve(
&self,
prices: &Prices<Self::Num>,
is_long: bool,
) -> Result<(), Error>
fn validate_open_interest_reserve( &self, prices: &Prices<Self::Num>, is_long: bool, ) -> Result<(), Error>
Validate open interest reserve.
Source§fn min_collateral_factor_for_open_interest(
&self,
delta: &Self::Signed,
is_long: bool,
) -> Result<Self::Num, Error>
fn min_collateral_factor_for_open_interest( &self, delta: &Self::Signed, is_long: bool, ) -> Result<Self::Num, Error>
Get min collateral factor for open interest.