Struct mango_v4::state::MangoAccountDynamicHeader
source · pub struct MangoAccountDynamicHeader {
pub token_count: u8,
pub serum3_count: u8,
pub perp_count: u8,
pub perp_oo_count: u8,
pub token_conditional_swap_count: u8,
pub openbook_v2_count: u8,
}
Fields§
§token_count: u8
§serum3_count: u8
§perp_count: u8
§perp_oo_count: u8
§token_conditional_swap_count: u8
§openbook_v2_count: u8
Implementations§
source§impl MangoAccountDynamicHeader
impl MangoAccountDynamicHeader
pub fn account_size(&self) -> usize
pub fn token_offset(&self, raw_index: usize) -> usize
pub fn serum3_offset(&self, raw_index: usize) -> usize
pub fn perp_offset(&self, raw_index: usize) -> usize
pub fn token_count(&self) -> usize
pub fn serum3_count(&self) -> usize
pub fn perp_count(&self) -> usize
pub fn perp_oo_count(&self) -> usize
pub fn token_conditional_swap_count(&self) -> usize
pub fn openbook_v2_count(&self) -> usize
pub fn zero() -> Self
pub fn expected_health_accounts(&self) -> usize
pub fn max_health_accounts() -> usize
sourcepub fn check_resize_from(&self, prev: &Self) -> Result<()>
pub fn check_resize_from(&self, prev: &Self) -> Result<()>
Error if this header isn’t a valid resize from prev
- Check that the total health accounts stay limited (this coverers token, perp, serum position limits)
- Check that if perp oo/tcs size increases, it is bounded by the limits
- If a field doesn’t change, don’t error if it exceeds the limits (might have been expanded earlier when it was valid to do)
Trait Implementations§
source§impl Clone for MangoAccountDynamicHeader
impl Clone for MangoAccountDynamicHeader
source§fn clone(&self) -> MangoAccountDynamicHeader
fn clone(&self) -> MangoAccountDynamicHeader
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for MangoAccountDynamicHeader
impl Debug for MangoAccountDynamicHeader
source§impl DynamicHeader for MangoAccountDynamicHeader
impl DynamicHeader for MangoAccountDynamicHeader
source§fn from_bytes(dynamic_data: &[u8]) -> Result<Self>
fn from_bytes(dynamic_data: &[u8]) -> Result<Self>
Builds header by scanning and parsing the dynamic portion of the account.
source§fn initialize(dynamic_data: &mut [u8]) -> Result<()>
fn initialize(dynamic_data: &mut [u8]) -> Result<()>
initializes a header on the dynamic portion of a new account
Auto Trait Implementations§
impl RefUnwindSafe for MangoAccountDynamicHeader
impl Send for MangoAccountDynamicHeader
impl Sync for MangoAccountDynamicHeader
impl Unpin for MangoAccountDynamicHeader
impl UnwindSafe for MangoAccountDynamicHeader
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where T: CheckedCast<Dst>,
Casts the value.
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where T: OverflowingCast<Dst>,
Casts the value.
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere T: SaturatingCast<Dst>,
Casts the value.
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere T: UnwrappedCast<Dst>,
Casts the value.
source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere Src: UnwrappedCast<Dst>,
source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere T: WrappingCast<Dst>,
Casts the value.
source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere Src: WrappingCast<Dst>,
source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.