mango-v4/rs/doc/mango_v4/state/struct.PerpMarket.html

141 lines
110 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `PerpMarket` struct in crate `mango_v4`."><meta name="keywords" content="rust, rustlang, rust-lang, PerpMarket"><title>PerpMarket in mango_v4::state - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../mango_v4/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../mango_v4/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">PerpMarket</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><ul><li><a href="#structfield.asks">asks</a></li><li><a href="#structfield.base_decimals">base_decimals</a></li><li><a href="#structfield.base_liquidation_fee">base_liquidation_fee</a></li><li><a href="#structfield.base_lot_size">base_lot_size</a></li><li><a href="#structfield.bids">bids</a></li><li><a href="#structfield.blocked1">blocked1</a></li><li><a href="#structfield.bump">bump</a></li><li><a href="#structfield.event_queue">event_queue</a></li><li><a href="#structfield.fee_penalty">fee_penalty</a></li><li><a href="#structfield.fees_accrued">fees_accrued</a></li><li><a href="#structfield.fees_settled">fees_settled</a></li><li><a href="#structfield.force_close">force_close</a></li><li><a href="#structfield.funding_last_updated">funding_last_updated</a></li><li><a href="#structfield.group">group</a></li><li><a href="#structfield.group_insurance_fund">group_insurance_fund</a></li><li><a href="#structfield.impact_quantity">impact_quantity</a></li><li><a href="#structfield.init_base_asset_weight">init_base_asset_weight</a></li><li><a href="#structfield.init_base_liab_weight">init_base_liab_weight</a></li><li><a href="#structfield.init_overall_asset_weight">init_overall_asset_weight</a></li><li><a href="#structfield.long_funding">long_funding</a></li><li><a href="#structfield.maint_base_asset_weight">maint_base_asset_weight</a></li><li><a href="#structfield.maint_base_liab_weight">maint_base_liab_weight</a></li><li><a href="#structfield.maint_overall_asset_weight">maint_overall_asset_weight</a></li><li><a href="#structfield.maker_fee">maker_fee</a></li><li><a href="#structfield.max_funding">max_funding</a></li><li><a href="#structfield.min_funding">min_funding</a></li><li><a href="#structfield.name">name</a></li><li><a href="#structfield.open_interest">open_interest</a></li><li><a href="#structfield.oracle">oracle</a></li><li><a href="#structfield.oracle_config">oracle_config</a></li><li><a href="#structfield.padding3">padding3</a></li><li><a href="#structfield.padding4">padding4</a></li><li><a href="#structfield.perp_market_index">perp_market_index</a></li><li><a href="#structfield.positive_pnl_liquidation_fee">positive_pnl_liquidation_fee</a></li><li><a href="#structfield.quote_lot_size">quote_lot_size</a></li><li><a href="#structfield.reduce_only">reduce_only</a></li><li><a href="#structfield.registration_time">registration_time</a></li><li><a href="#structfield.reserved">reserved</a></li><li><a href="#structfield.seq_num">seq_num</a></li><li><a href="#structfield.settle_fee_amount_threshold">settle_fee_amount_threshold</a></li><li><a href="#structfield.settle_fee_flat">settle_fee_flat</a></li><li><a href="#structfield.settle_fee_fraction_low_health">settle_fee_fraction_low_health</a></li><li><a href="#structfield.settle_pnl_limit_factor">settle_pnl_limit_factor</a></li><li><a href="#structfield.settle_pnl_limit_window_size_ts">settle_pnl_limit_window_size_ts</a></li><li><a href="#structfield.settle_token_index">settle_token_index</a></li><li><a href="#structfield.short_funding">short_funding</a></li><li><a href="#structfield.stable_price_model">stable_price_model</a></li><li><a href="#structfield.taker_fee">taker_fee</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><ul><li><a href="#method.compute_settle_fee">compute_settle_fee</a></li><li><a href="#method.default_for_tests">default_for_tests</a></li><li><a href="#method.elligible_for_group_insurance_fund">elligible_for_group_insurance_fund</a></li><li><a href="#method.gen_order_id">gen_order_id</a></li><li><a href="#method.inside_price_limit">inside_price_limit</a></li><li><a href="#method.is_force_close">is_force_close</a></li><li><a href="#method.is_reduce_only">is_reduce_only</a></li><li><a href="#method.lot_to_native_price">lot_to_native_price</a></li><li><a href="#method.name">name</a></li><li><a href="#method.native_price_to_lot">native_price_to_lot</a></li><li><a href="#method.oracle_price">oracle_price</a></li><li><a href="#method.oracle_price_and_state">oracle_price_and_state</a></li><li><a href="#method.set_elligible_for_group_insurance_fund">set_elligible_for_group_insurance_fund</a></li><li><a href="#method.settle_pnl_limit_factor">settle_pnl_limit_factor</a></li><li><a href="#method.socialize_loss">socialize_loss</a></li><li><a href="#method.stable_price">stable_price</a></li><li><a href="#method.update_funding_and_stable_price">update_funding_and_stable_price</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><ul><li><a href="#impl-AccountDeserialize-for-PerpMarket">AccountDeserialize</a></li><li><a href="#impl-Clone-for-PerpMarket">Clone</a></li><li><a href="#impl-Copy-for-PerpMarket">Copy</a></li><li><a href="#impl-Debug-for-PerpMarket">Debug</a></li><li><a href="#impl-Discriminator-for-PerpMarket">Discriminator</a></li><li><a href="#impl-Owner-for-PerpMarket">Owner</a></li><li><a href="#impl-Pod-for-PerpMarket">Pod</a></li><li><a href="#impl-ZeroCopy-for-PerpMarket">ZeroCopy</a></li><li><a href="#impl-Zeroable-for-PerpMarket">Zeroable</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul><li><a href="#impl-RefUnwindSafe-for-PerpMarket">RefUnwindSafe</a></li><li><a href="#impl-Send-for-PerpMarket">Send</a></li><li><a href="#impl-Sync-for-PerpMarket">Sync</a></li><li><a href="#impl-Unpin-for-PerpMarket">Unpin</a></li><li><a href="#impl-UnwindSafe-for-PerpMarket">UnwindSafe</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><ul><li><a href="#impl-Any-for-PerpMarket">Any</a></li><li><a href="#impl-AnyBitPattern-for-PerpMarket">AnyBitPattern</a></li><li><a href="#impl-Az-for-PerpMarket">Az</a></li><li><a href="#impl-Borrow%3CT%3E-for-PerpMarket">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-PerpMarket">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-CastFrom%3CSrc%3E-for-PerpMarket">CastFrom&lt;Src&gt;</a></li><li><a href="#impl-CheckedAs-for-PerpMarket">CheckedAs</a></li><li><a href="#impl-CheckedBitPattern-for-PerpMarket">CheckedBitPattern</a></li><li><a href="#impl-CheckedCastFrom%3CSrc%3E-for-PerpMarket">CheckedCastFrom&lt;Src&gt;</a></li><li><a href="#impl-DynClone-for-PerpMarket">DynClone</a></li><li><a href="#impl-From%3CT%3E-for-PerpMarket">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-PerpMarket">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-PerpMarket">Into&lt;U&gt;</a></li><li><a href="#impl-LosslessTryInto%3CDst%3E-for-PerpMarket">LosslessTryInto&lt;Dst&gt;</a></li><li><a href="#impl-LossyInto%3CDst%3E-for-PerpMarket">LossyInto&lt;Dst&gt;</a></li><li><a href="#impl-NoUninit-for-PerpMarket">NoUninit</a></li><li><a href="#impl-OverflowingAs-for-PerpMarket">OverflowingAs</a></li><li><a href="#impl-OverflowingCastFrom%3CSrc%3E-for-PerpMarket">OverflowingCastFrom&lt;Src&gt;</a></li><li><a href="#impl-Pointable-for-PerpMarket">Pointable</a></li><li><a href="#impl-Same%3CT%3E-for-PerpMarket">Same&lt;T&gt;</a></li><li><a href="#impl-SaturatingAs-for-PerpMarket">SaturatingAs</a></li><li><a href="#impl-SaturatingCastFrom%3CSrc%3E-for-PerpMarket">SaturatingCastFrom&lt;Src&gt;</a></li><li><a href="#impl-ToOwned-for-PerpMarket">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-PerpMarket">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-PerpMarket">TryInto&lt;U&gt;</a></li><li><a href="#impl-UnwrappedAs-for-PerpMarket">UnwrappedAs</a></li><li><a href="#impl-UnwrappedCastFrom%3CSrc%3E-for-PerpMarket">UnwrappedCastFrom&lt;Src&gt;</a></li><li><a href="#impl-VZip%3CV%3E-for-PerpMarket">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-PerpMarket">WithSubscriber</a></li><li><a href="#impl-WrappingAs-for-PerpMarket">WrappingAs</a></li><li><a href="#impl-WrappingCastFrom%3CSrc%3E-for-PerpMarket">WrappingCastFrom&lt;Src&gt;</a></li></ul></div></section><h2 class="location"><a href="index.html">In mango_v4::state</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../mango_v4/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><button type="button">?</button></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">mango_v4</a>::<wbr><a href="index.html">state</a>::<wbr><a class="struct" href="#">PerpMarket</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/mango_v4/state/perp_market.rs.html#20-171">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust struct"><code><div class="code-attribute">#[repr(C)]</div>pub struct PerpMarket {<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 48 fields</span></summary>
pub group: Pubkey,
pub settle_token_index: <a class="type" href="type.TokenIndex.html" title="type mango_v4::state::TokenIndex">TokenIndex</a>,
pub perp_market_index: <a class="type" href="type.PerpMarketIndex.html" title="type mango_v4::state::PerpMarketIndex">PerpMarketIndex</a>,
pub blocked1: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub group_insurance_fund: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub bump: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub base_decimals: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub name: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 16]</a>,
pub bids: Pubkey,
pub asks: Pubkey,
pub event_queue: Pubkey,
pub oracle: Pubkey,
pub oracle_config: <a class="struct" href="struct.OracleConfig.html" title="struct mango_v4::state::OracleConfig">OracleConfig</a>,
pub stable_price_model: <a class="struct" href="struct.StablePriceModel.html" title="struct mango_v4::state::StablePriceModel">StablePriceModel</a>,
pub quote_lot_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a>,
pub base_lot_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a>,
pub maint_base_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub init_base_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub maint_base_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub init_base_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub open_interest: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a>,
pub seq_num: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub registration_time: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub min_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub max_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub impact_quantity: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a>,
pub long_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub short_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub funding_last_updated: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub base_liquidation_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub maker_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub taker_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub fees_accrued: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub fees_settled: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub fee_penalty: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a>,
pub settle_fee_flat: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a>,
pub settle_fee_amount_threshold: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a>,
pub settle_fee_fraction_low_health: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a>,
pub settle_pnl_limit_factor: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a>,
pub padding3: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 4]</a>,
pub settle_pnl_limit_window_size_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub reduce_only: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub force_close: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub padding4: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 6]</a>,
pub maint_overall_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub init_overall_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub positive_pnl_liquidation_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub reserved: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 1888]</a>,
</details>}</code></pre></div><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.group" class="structfield small-section-header"><a href="#structfield.group" class="anchor field"></a><code>group: Pubkey</code></span><span id="structfield.settle_token_index" class="structfield small-section-header"><a href="#structfield.settle_token_index" class="anchor field"></a><code>settle_token_index: <a class="type" href="type.TokenIndex.html" title="type mango_v4::state::TokenIndex">TokenIndex</a></code></span><div class="docblock"><p>Token index that settlements happen in.</p>
<p>Currently required to be 0, USDC. In the future settlement
may be allowed to happen in other tokens.</p>
</div><span id="structfield.perp_market_index" class="structfield small-section-header"><a href="#structfield.perp_market_index" class="anchor field"></a><code>perp_market_index: <a class="type" href="type.PerpMarketIndex.html" title="type mango_v4::state::PerpMarketIndex">PerpMarketIndex</a></code></span><div class="docblock"><p>Index of this perp market. Other data, like the MangoAccounts PerpPosition
reference this market via this index. Unique for this groups perp markets.</p>
</div><span id="structfield.blocked1" class="structfield small-section-header"><a href="#structfield.blocked1" class="anchor field"></a><code>blocked1: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><div class="docblock"><p>Field used to contain the trusted_market flag and is now unused.</p>
</div><span id="structfield.group_insurance_fund" class="structfield small-section-header"><a href="#structfield.group_insurance_fund" class="anchor field"></a><code>group_insurance_fund: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><div class="docblock"><p>Is this market covered by the group insurance fund?</p>
</div><span id="structfield.bump" class="structfield small-section-header"><a href="#structfield.bump" class="anchor field"></a><code>bump: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><div class="docblock"><p>PDA bump</p>
</div><span id="structfield.base_decimals" class="structfield small-section-header"><a href="#structfield.base_decimals" class="anchor field"></a><code>base_decimals: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><div class="docblock"><p>Number of decimals used for the base token.</p>
<p>Used to convert the oracles price into a native/native price.</p>
</div><span id="structfield.name" class="structfield small-section-header"><a href="#structfield.name" class="anchor field"></a><code>name: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 16]</a></code></span><div class="docblock"><p>Name. Trailing zero bytes are ignored.</p>
</div><span id="structfield.bids" class="structfield small-section-header"><a href="#structfield.bids" class="anchor field"></a><code>bids: Pubkey</code></span><div class="docblock"><p>Address of the BookSide account for bids</p>
</div><span id="structfield.asks" class="structfield small-section-header"><a href="#structfield.asks" class="anchor field"></a><code>asks: Pubkey</code></span><div class="docblock"><p>Address of the BookSide account for asks</p>
</div><span id="structfield.event_queue" class="structfield small-section-header"><a href="#structfield.event_queue" class="anchor field"></a><code>event_queue: Pubkey</code></span><div class="docblock"><p>Address of the EventQueue account</p>
</div><span id="structfield.oracle" class="structfield small-section-header"><a href="#structfield.oracle" class="anchor field"></a><code>oracle: Pubkey</code></span><div class="docblock"><p>Oracle account address</p>
</div><span id="structfield.oracle_config" class="structfield small-section-header"><a href="#structfield.oracle_config" class="anchor field"></a><code>oracle_config: <a class="struct" href="struct.OracleConfig.html" title="struct mango_v4::state::OracleConfig">OracleConfig</a></code></span><div class="docblock"><p>Oracle configuration</p>
</div><span id="structfield.stable_price_model" class="structfield small-section-header"><a href="#structfield.stable_price_model" class="anchor field"></a><code>stable_price_model: <a class="struct" href="struct.StablePriceModel.html" title="struct mango_v4::state::StablePriceModel">StablePriceModel</a></code></span><div class="docblock"><p>Maintains a stable price based on the oracle price that is less volatile.</p>
</div><span id="structfield.quote_lot_size" class="structfield small-section-header"><a href="#structfield.quote_lot_size" class="anchor field"></a><code>quote_lot_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a></code></span><div class="docblock"><p>Number of quote native in a quote lot. Must be a power of 10.</p>
<p>Primarily useful for increasing the tick size on the market: A lot price
of 1 becomes a native price of quote_lot_size/base_lot_size becomes a
ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals.</p>
</div><span id="structfield.base_lot_size" class="structfield small-section-header"><a href="#structfield.base_lot_size" class="anchor field"></a><code>base_lot_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a></code></span><div class="docblock"><p>Number of base native in a base lot. Must be a power of 10.</p>
<p>Example: If base decimals for the underlying asset is 6, base lot size
is 100 and and base position lots is 10_000 then base position native is
1_000_000 and base position ui is 1.</p>
</div><span id="structfield.maint_base_asset_weight" class="structfield small-section-header"><a href="#structfield.maint_base_asset_weight" class="anchor field"></a><code>maint_base_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>These weights apply to the base position. The quote position has
no explicit weight (but may be covered by the overall pnl asset weight).</p>
</div><span id="structfield.init_base_asset_weight" class="structfield small-section-header"><a href="#structfield.init_base_asset_weight" class="anchor field"></a><code>init_base_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.maint_base_liab_weight" class="structfield small-section-header"><a href="#structfield.maint_base_liab_weight" class="anchor field"></a><code>maint_base_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.init_base_liab_weight" class="structfield small-section-header"><a href="#structfield.init_base_liab_weight" class="anchor field"></a><code>init_base_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.open_interest" class="structfield small-section-header"><a href="#structfield.open_interest" class="anchor field"></a><code>open_interest: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a></code></span><div class="docblock"><p>Number of base lot pairs currently active in the market. Always &gt;= 0.</p>
</div><span id="structfield.seq_num" class="structfield small-section-header"><a href="#structfield.seq_num" class="anchor field"></a><code>seq_num: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Total number of orders seen</p>
</div><span id="structfield.registration_time" class="structfield small-section-header"><a href="#structfield.registration_time" class="anchor field"></a><code>registration_time: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Timestamp in seconds that the market was registered at.</p>
</div><span id="structfield.min_funding" class="structfield small-section-header"><a href="#structfield.min_funding" class="anchor field"></a><code>min_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Minimal funding rate per day, must be &lt;= 0.</p>
</div><span id="structfield.max_funding" class="structfield small-section-header"><a href="#structfield.max_funding" class="anchor field"></a><code>max_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Maximal funding rate per day, must be &gt;= 0.</p>
</div><span id="structfield.impact_quantity" class="structfield small-section-header"><a href="#structfield.impact_quantity" class="anchor field"></a><code>impact_quantity: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a></code></span><div class="docblock"><p>For funding, get the impact price this many base lots deep into the book.</p>
</div><span id="structfield.long_funding" class="structfield small-section-header"><a href="#structfield.long_funding" class="anchor field"></a><code>long_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Current long funding value. Increasing it means that every long base lot
needs to pay that amount of quote native in funding.</p>
<p>PerpPosition uses and tracks it settle funding. Updated by the perp
keeper instruction.</p>
</div><span id="structfield.short_funding" class="structfield small-section-header"><a href="#structfield.short_funding" class="anchor field"></a><code>short_funding: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>See long_funding.</p>
</div><span id="structfield.funding_last_updated" class="structfield small-section-header"><a href="#structfield.funding_last_updated" class="anchor field"></a><code>funding_last_updated: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>timestamp that funding was last updated in</p>
</div><span id="structfield.base_liquidation_fee" class="structfield small-section-header"><a href="#structfield.base_liquidation_fee" class="anchor field"></a><code>base_liquidation_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Fees
Fee for base position liquidation</p>
</div><span id="structfield.maker_fee" class="structfield small-section-header"><a href="#structfield.maker_fee" class="anchor field"></a><code>maker_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Fee when matching maker orders. May be negative.</p>
</div><span id="structfield.taker_fee" class="structfield small-section-header"><a href="#structfield.taker_fee" class="anchor field"></a><code>taker_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Fee for taker orders, may not be negative.</p>
</div><span id="structfield.fees_accrued" class="structfield small-section-header"><a href="#structfield.fees_accrued" class="anchor field"></a><code>fees_accrued: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Fees accrued in native quote currency</p>
</div><span id="structfield.fees_settled" class="structfield small-section-header"><a href="#structfield.fees_settled" class="anchor field"></a><code>fees_settled: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Fees settled in native quote currency</p>
</div><span id="structfield.fee_penalty" class="structfield small-section-header"><a href="#structfield.fee_penalty" class="anchor field"></a><code>fee_penalty: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a></code></span><div class="docblock"><p>Fee (in quote native) to charge for ioc orders</p>
</div><span id="structfield.settle_fee_flat" class="structfield small-section-header"><a href="#structfield.settle_fee_flat" class="anchor field"></a><code>settle_fee_flat: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a></code></span><div class="docblock"><p>In native units of settlement token, given to each settle call above the
settle_fee_amount_threshold.</p>
</div><span id="structfield.settle_fee_amount_threshold" class="structfield small-section-header"><a href="#structfield.settle_fee_amount_threshold" class="anchor field"></a><code>settle_fee_amount_threshold: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a></code></span><div class="docblock"><p>Pnl settlement amount needed to be eligible for the flat fee.</p>
</div><span id="structfield.settle_fee_fraction_low_health" class="structfield small-section-header"><a href="#structfield.settle_fee_fraction_low_health" class="anchor field"></a><code>settle_fee_fraction_low_health: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a></code></span><div class="docblock"><p>Fraction of pnl to pay out as fee if +pnl account has low health.</p>
</div><span id="structfield.settle_pnl_limit_factor" class="structfield small-section-header"><a href="#structfield.settle_pnl_limit_factor" class="anchor field"></a><code>settle_pnl_limit_factor: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f32.html">f32</a></code></span><div class="docblock"><p>Controls the strictness of the settle limit.
Set to a negative value to disable the limit.</p>
<p>This factor applies to the settle limit in two ways</p>
<ul>
<li>for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value
(i.e. limit_factor * base_native * stable_price)</li>
<li>when increasing the realized pnl settle limit (stored per PerpPosition), the factor is
multiplied with the stable value of the perp pnl being realized
(i.e. limit_factor * reduced_native * stable_price)</li>
</ul>
<p>See also PerpPosition::settle_pnl_limit_realized_trade</p>
</div><span id="structfield.padding3" class="structfield small-section-header"><a href="#structfield.padding3" class="anchor field"></a><code>padding3: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 4]</a></code></span><span id="structfield.settle_pnl_limit_window_size_ts" class="structfield small-section-header"><a href="#structfield.settle_pnl_limit_window_size_ts" class="anchor field"></a><code>settle_pnl_limit_window_size_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Window size in seconds for the perp settlement limit</p>
</div><span id="structfield.reduce_only" class="structfield small-section-header"><a href="#structfield.reduce_only" class="anchor field"></a><code>reduce_only: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><div class="docblock"><p>If true, users may no longer increase their market exposure. Only actions
that reduce their position are still allowed.</p>
</div><span id="structfield.force_close" class="structfield small-section-header"><a href="#structfield.force_close" class="anchor field"></a><code>force_close: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><span id="structfield.padding4" class="structfield small-section-header"><a href="#structfield.padding4" class="anchor field"></a><code>padding4: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 6]</a></code></span><span id="structfield.maint_overall_asset_weight" class="structfield small-section-header"><a href="#structfield.maint_overall_asset_weight" class="anchor field"></a><code>maint_overall_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>Weights for full perp market health, if positive</p>
</div><span id="structfield.init_overall_asset_weight" class="structfield small-section-header"><a href="#structfield.init_overall_asset_weight" class="anchor field"></a><code>init_overall_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.positive_pnl_liquidation_fee" class="structfield small-section-header"><a href="#structfield.positive_pnl_liquidation_fee" class="anchor field"></a><code>positive_pnl_liquidation_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.reserved" class="structfield small-section-header"><a href="#structfield.reserved" class="anchor field"></a><code>reserved: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 1888]</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#211-496">source</a><a href="#impl-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></summary><div class="impl-items"><section id="method.name" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#212-216">source</a><h4 class="code-header">pub fn <a href="#method.name" class="fnname">name</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.str.html">str</a></h4></section><section id="method.is_reduce_only" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#218-220">source</a><h4 class="code-header">pub fn <a href="#method.is_reduce_only" class="fnname">is_reduce_only</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section><section id="method.is_force_close" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#222-224">source</a><h4 class="code-header">pub fn <a href="#method.is_force_close" class="fnname">is_force_close</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section><section id="method.elligible_for_group_insurance_fund" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#226-228">source</a><h4 class="code-header">pub fn <a href="#method.elligible_for_group_insurance_fund" class="fnname">elligible_for_group_insurance_fund</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section><section id="method.set_elligible_for_group_insurance_fund" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#230-232">source</a><h4 class="code-header">pub fn <a href="#method.set_elligible_for_group_insurance_fund" class="fnname">set_elligible_for_group_insurance_fund</a>(&amp;mut self, v: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>)</h4></section><section id="method.settle_pnl_limit_factor" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#234-236">source</a><h4 class="code-header">pub fn <a href="#method.settle_pnl_limit_factor" class="fnname">settle_pnl_limit_factor</a>(&amp;self) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section><section id="method.gen_order_id" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#238-241">source</a><h4 class="code-header">pub fn <a href="#method.gen_order_id" class="fnname">gen_order_id</a>(&amp;mut self, side: <a class="enum" href="enum.Side.html" title="enum mango_v4::state::Side">Side</a>, price_data: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u128.html">u128</a></h4></section><section id="method.oracle_price" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#243-257">source</a><h4 class="code-header">pub fn <a href="#method.oracle_price" class="fnname">oracle_price</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;oracle_acc: &amp;impl <a class="trait" href="../accounts_zerocopy/trait.KeyedAccountReader.html" title="trait mango_v4::accounts_zerocopy::KeyedAccountReader">KeyedAccountReader</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;staleness_slot: <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>&gt;<br>) -&gt; Result&lt;<a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>&gt;</h4></section><section id="method.oracle_price_and_state" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#259-271">source</a><h4 class="code-header">pub fn <a href="#method.oracle_price_and_state" class="fnname">oracle_price_and_state</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;oracle_acc: &amp;impl <a class="trait" href="../accounts_zerocopy/trait.KeyedAccountReader.html" title="trait mango_v4::accounts_zerocopy::KeyedAccountReader">KeyedAccountReader</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;staleness_slot: <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>&gt;<br>) -&gt; Result&lt;(<a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, <a class="struct" href="struct.OracleState.html" title="struct mango_v4::state::OracleState">OracleState</a>)&gt;</h4></section><section id="method.stable_price" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#273-275">source</a><h4 class="code-header">pub fn <a href="#method.stable_price" class="fnname">stable_price</a>(&amp;self) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.update_funding_and_stable_price" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#278-351">source</a><h4 class="code-header">pub fn <a href="#method.update_funding_and_stable_price" class="fnname">update_funding_and_stable_price</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;book: &amp;<a class="struct" href="struct.Orderbook.html" title="struct mango_v4::state::Orderbook">Orderbook</a>&lt;'_&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;oracle_price: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;oracle_state: <a class="struct" href="struct.OracleState.html" title="struct mango_v4::state::OracleState">OracleState</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Use current order book price and index price to update the instantaneous funding</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.lot_to_native_price" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#354-357">source</a><h4 class="code-header">pub fn <a href="#method.lot_to_native_price" class="fnname">lot_to_native_price</a>(&amp;self, price: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a>) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section></summary><div class="docblock"><p>Convert from the price stored on the book to the price used in value calculations</p>
</div></details><section id="method.native_price_to_lot" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#359-362">source</a><h4 class="code-header">pub fn <a href="#method.native_price_to_lot" class="fnname">native_price_to_lot</a>(&amp;self, price: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a></h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.inside_price_limit" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#365-375">source</a><h4 class="code-header">pub fn <a href="#method.inside_price_limit" class="fnname">inside_price_limit</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;side: <a class="enum" href="enum.Side.html" title="enum mango_v4::state::Side">Side</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_price: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;oracle_price: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a><br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Is <code>native_price</code> an acceptable order for the <code>side</code> of this market, given <code>oracle_price</code>?</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.socialize_loss" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#378-395">source</a><h4 class="code-header">pub fn <a href="#method.socialize_loss" class="fnname">socialize_loss</a>(&amp;mut self, loss: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>) -&gt; Result&lt;<a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>&gt;</h4></section></summary><div class="docblock"><p>Socialize the loss in this account across all longs and shorts</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.compute_settle_fee" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#399-437">source</a><h4 class="code-header">pub fn <a href="#method.compute_settle_fee" class="fnname">compute_settle_fee</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;settlement: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;source_liq_end_health: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;source_maint_health: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a><br>) -&gt; Result&lt;<a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the fee for settling <code>settlement</code> when the negative-pnl side has the given
health values.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default_for_tests" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#440-495">source</a><h4 class="code-header">pub fn <a href="#method.default_for_tests" class="fnname">default_for_tests</a>() -&gt; <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h4></section></summary><div class="docblock"><p>Creates default market for tests</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AccountDeserialize-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-AccountDeserialize-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl AccountDeserialize for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_deserialize" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#method.try_deserialize" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_deserialize</a>(buf: &amp;mut &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>]) -&gt; Result&lt;Self&gt;</h4></section></summary><div class='docblock'>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 <code>Mint</code> account into a token
<code>Account</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_deserialize_unchecked" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#method.try_deserialize_unchecked" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_deserialize_unchecked</a>(buf: &amp;mut &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>]) -&gt; Result&lt;Self&gt;</h4></section></summary><div class='docblock'>Deserializes account data without checking the account discriminator.
This should only be used on account initialization, when the bytes of
the account are zeroed. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-Clone-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#19">source</a><a href="#impl-Debug-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#19">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.65.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Discriminator-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-Discriminator-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl Discriminator for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></summary><div class="impl-items"><section id="method.discriminator" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#method.discriminator" class="anchor"></a><h4 class="code-header">fn <a class="fnname">discriminator</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 8]</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Owner-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-Owner-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl Owner for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></summary><div class="impl-items"><section id="method.owner" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#method.owner" class="anchor"></a><h4 class="code-header">fn <a class="fnname">owner</a>() -&gt; Pubkey</h4></section></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Zeroable-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-Zeroable-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl Zeroable for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.zeroed" class="method trait-impl has-srclink"><a href="#method.zeroed" class="anchor"></a><h4 class="code-header">fn <a class="fnname">zeroed</a>() -&gt; Self</h4></section></summary><div class='docblock'>Calls <a href="https://doc.rust-lang.org/1.65.0/core/mem/fn.zeroed.html"><code>zeroed</code></a>. <a>Read more</a></div></details></div></details><section id="impl-Copy-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-Copy-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section><section id="impl-Pod-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-Pod-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl Pod for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section><section id="impl-ZeroCopy-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/perp_market.rs.html#18">source</a><a href="#impl-ZeroCopy-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl ZeroCopy for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-PerpMarket" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section><section id="impl-Send-for-PerpMarket" class="impl has-srclink"><a href="#impl-Send-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section><section id="impl-Sync-for-PerpMarket" class="impl has-srclink"><a href="#impl-Sync-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section><section id="impl-Unpin-for-PerpMarket" class="impl has-srclink"><a href="#impl-Unpin-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section><section id="impl-UnwindSafe-for-PerpMarket" class="impl has-srclink"><a href="#impl-UnwindSafe-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.PerpMarket.html" title="struct mango_v4::state::PerpMarket">PerpMarket</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Az-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#599">source</a><a href="#impl-Az-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.Az.html" title="trait az::Az">Az</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.az" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#602-604">source</a><a href="#method.az" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.Az.html#tymethod.az" class="fnname">az</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.Cast.html" title="trait az::Cast">Cast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#211">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#218">source</a><a href="#impl-BorrowMut%3CT%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#219">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CastFrom%3CSrc%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#330">source</a><a href="#impl-CastFrom%3CSrc%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CastFrom.html" title="trait az::CastFrom">CastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.Cast.html" title="trait az::Cast">Cast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#333">source</a><a href="#method.cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.CastFrom.html#tymethod.cast_from" class="fnname">cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CheckedAs-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#672">source</a><a href="#impl-CheckedAs-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedAs.html" title="trait az::CheckedAs">CheckedAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.checked_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#675-677">source</a><a href="#method.checked_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.CheckedAs.html#tymethod.checked_as" class="fnname">checked_as</a>&lt;Dst&gt;(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Dst&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedCast.html" title="trait az::CheckedCast">CheckedCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CheckedBitPattern-for-PerpMarket" class="impl has-srclink"><a href="#impl-CheckedBitPattern-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; CheckedBitPattern for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: AnyBitPattern,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Bits" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Bits" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Bits</a> = T</h4></section></summary><div class='docblock'><code>Self</code> <em>must</em> have the same layout as the specified <code>Bits</code> except for
the possible invalid bit patterns being checked during
<a href="CheckedBitPattern::is_valid_bit_pattern"><code>is_valid_bit_pattern</code></a>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_valid_bit_pattern" class="method trait-impl has-srclink"><a href="#method.is_valid_bit_pattern" class="anchor"></a><h4 class="code-header">fn <a class="fnname">is_valid_bit_pattern</a>(_bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>If this function returns true, then it must be valid to reinterpret <code>bits</code>
as <code>&amp;Self</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CheckedCastFrom%3CSrc%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#366">source</a><a href="#impl-CheckedCastFrom%3CSrc%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedCastFrom.html" title="trait az::CheckedCastFrom">CheckedCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedCast.html" title="trait az::CheckedCast">CheckedCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.checked_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#369">source</a><a href="#method.checked_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.CheckedCastFrom.html#tymethod.checked_cast_from" class="fnname">checked_cast_from</a>(src: Src) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Dst&gt;</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DynClone-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/dyn_clone/1.0.9/src/dyn_clone/lib.rs.html#188">source</a><a href="#impl-DynClone-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/dyn_clone/1.0.9/dyn_clone/trait.DynClone.html" title="trait dyn_clone::DynClone">DynClone</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><section id="method.__clone_box" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/dyn_clone/1.0.9/src/dyn_clone/lib.rs.html#192">source</a><a href="#method.__clone_box" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/dyn_clone/1.0.9/dyn_clone/trait.DynClone.html#tymethod.__clone_box" class="fnname">__clone_box</a>(&amp;self, Private) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#559">source</a><a href="#impl-From%3CT%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#562">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Instrument-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><a href="#impl-Instrument-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#82">source</a><a href="#method.instrument" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><a href="#method.in_current_span" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a> <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#543">source</a><a href="#impl-Into%3CU%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#551">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-LosslessTryInto%3CDst%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3054">source</a><a href="#impl-LosslessTryInto%3CDst%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LosslessTryInto.html" title="trait fixed::traits::LosslessTryInto">LosslessTryInto</a>&lt;Dst&gt; for Src<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Dst: <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LosslessTryFrom.html" title="trait fixed::traits::LosslessTryFrom">LosslessTryFrom</a>&lt;Src&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.lossless_try_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3058">source</a><a href="#method.lossless_try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LosslessTryInto.html#tymethod.lossless_try_into" class="fnname">lossless_try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Dst&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-LossyInto%3CDst%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3105">source</a><a href="#impl-LossyInto%3CDst%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LossyInto.html" title="trait fixed::traits::LossyInto">LossyInto</a>&lt;Dst&gt; for Src<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Dst: <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LossyFrom.html" title="trait fixed::traits::LossyFrom">LossyFrom</a>&lt;Src&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.lossy_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3109">source</a><a href="#method.lossy_into" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LossyInto.html#tymethod.lossy_into" class="fnname">lossy_into</a>(self) -&gt; Dst</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-OverflowingAs-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#897">source</a><a href="#impl-OverflowingAs-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingAs.html" title="trait az::OverflowingAs">OverflowingAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.overflowing_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#900-902">source</a><a href="#method.overflowing_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.OverflowingAs.html#tymethod.overflowing_as" class="fnname">overflowing_as</a>&lt;Dst&gt;(self) -&gt; (Dst, <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingCast.html" title="trait az::OverflowingCast">OverflowingCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-OverflowingCastFrom%3CSrc%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#474">source</a><a href="#impl-OverflowingCastFrom%3CSrc%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingCastFrom.html" title="trait az::OverflowingCastFrom">OverflowingCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingCast.html" title="trait az::OverflowingCast">OverflowingCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.overflowing_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#477">source</a><a href="#method.overflowing_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.OverflowingCastFrom.html#tymethod.overflowing_cast_from" class="fnname">overflowing_cast_from</a>(src: Src) -&gt; (Dst, <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>)</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Pointable-for-PerpMarket" class="impl has-srclink"><a href="#impl-Pointable-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Pointable for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl has-srclink"><a href="#associatedconstant.ALIGN" class="anchor"></a><h4 class="code-header">const <a class="constant">ALIGN</a>: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a> = mem::align_of::&lt;T&gt;()</h4></section></summary><div class='docblock'>The alignment of pointer.</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Init" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Init" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Init</a> = T</h4></section></summary><div class='docblock'>The type for initializers.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.init" class="method trait-impl has-srclink"><a href="#method.init" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">init</a>(init: &lt;T as Pointable&gt;::Init) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl has-srclink"><a href="#method.deref" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">deref</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;'a </a>T</h4></section></summary><div class='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl has-srclink"><a href="#method.deref_mut" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">deref_mut</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;'a mut </a>T</h4></section></summary><div class='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl has-srclink"><a href="#method.drop" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/typenum/1.16.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-SaturatingAs-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#745">source</a><a href="#impl-SaturatingAs-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingAs.html" title="trait az::SaturatingAs">SaturatingAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.saturating_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#748-750">source</a><a href="#method.saturating_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.SaturatingAs.html#tymethod.saturating_as" class="fnname">saturating_as</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingCast.html" title="trait az::SaturatingCast">SaturatingCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-SaturatingCastFrom%3CSrc%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#402">source</a><a href="#impl-SaturatingCastFrom%3CSrc%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingCastFrom.html" title="trait az::SaturatingCastFrom">SaturatingCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingCast.html" title="trait az::SaturatingCast">SaturatingCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.saturating_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#405">source</a><a href="#method.saturating_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.SaturatingCastFrom.html#tymethod.saturating_cast_from" class="fnname">saturating_cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#83">source</a><a href="#impl-ToOwned-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#601">source</a><a href="#impl-TryFrom%3CU%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#607">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#586">source</a><a href="#impl-TryInto%3CU%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#592">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-UnwrappedAs-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#977">source</a><a href="#impl-UnwrappedAs-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedAs.html" title="trait az::UnwrappedAs">UnwrappedAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.unwrapped_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#979-981">source</a><a href="#method.unwrapped_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.UnwrappedAs.html#tymethod.unwrapped_as" class="fnname">unwrapped_as</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedCast.html" title="trait az::UnwrappedCast">UnwrappedCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-UnwrappedCastFrom%3CSrc%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#526">source</a><a href="#impl-UnwrappedCastFrom%3CSrc%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedCastFrom.html" title="trait az::UnwrappedCastFrom">UnwrappedCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedCast.html" title="trait az::UnwrappedCast">UnwrappedCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.unwrapped_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#529">source</a><a href="#method.unwrapped_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.UnwrappedCastFrom.html#tymethod.unwrapped_cast_from" class="fnname">unwrapped_cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-PerpMarket" class="impl has-srclink"><a href="#impl-VZip%3CV%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl has-srclink"><a href="#method.vzip" class="anchor"></a><h4 class="code-header">fn <a class="fnname">vzip</a>(self) -&gt; V</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#334">source</a><a href="#impl-WithSubscriber-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#169-171">source</a><a href="#method.with_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fnname">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://docs.rs/tracing-core/0.1.22/tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><a href="#method.with_current_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fnname">with_current_subscriber</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a> <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WrappingAs-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#818">source</a><a href="#impl-WrappingAs-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingAs.html" title="trait az::WrappingAs">WrappingAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.wrapping_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#821-823">source</a><a href="#method.wrapping_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.WrappingAs.html#tymethod.wrapping_as" class="fnname">wrapping_as</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingCast.html" title="trait az::WrappingCast">WrappingCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WrappingCastFrom%3CSrc%3E-for-PerpMarket" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#438">source</a><a href="#impl-WrappingCastFrom%3CSrc%3E-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingCastFrom.html" title="trait az::WrappingCastFrom">WrappingCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingCast.html" title="trait az::WrappingCast">WrappingCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.wrapping_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#441">source</a><a href="#method.wrapping_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.WrappingCastFrom.html#tymethod.wrapping_cast_from" class="fnname">wrapping_cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><section id="impl-AnyBitPattern-for-PerpMarket" class="impl has-srclink"><a href="#impl-AnyBitPattern-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; AnyBitPattern for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Pod,</span></h3></section><section id="impl-NoUninit-for-PerpMarket" class="impl has-srclink"><a href="#impl-NoUninit-for-PerpMarket" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; NoUninit for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Pod,</span></h3></section></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="mango_v4" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.65.0 (897e37553 2022-11-02)" ></div></body></html>