pub struct ContractVersion { /* private fields */ }Expand description
Version of the deployed exchange smart contract.
Renders as v1.<major>.<minor>.<patch> - the leading v1 epoch is fixed
for this contract’s lifetime and changes only with an entirely new contract.
Implementations§
Source§impl ContractVersion
impl ContractVersion
Sourcepub const V2_GETTERS: Self
pub const V2_GETTERS: Self
First version exposing the V2 information getters (getPerpetualInfoV2,
getPositionV2) and the corresponding V2 position events.
Predates getContractVersion, so this version is never reported by the
contract itself - it is only reached through selector probing.
Sourcepub const BUILDER_CODES: Self
pub const BUILDER_CODES: Self
First version exposing keyed fee schedules, per-account fee tiers,
builder attribution, the perpetual-existence bitmap - and
getContractVersion itself.
Sourcepub const PPM_FEE_UNIT: Self
pub const PPM_FEE_UNIT: Self
First version whose stored fee-schedule rates are in millionths (ppm) rather than hundred-thousandths, and whose fills charge the schedule fee on EVERY position size change rather than on additions only.
The two arrived in the same release and neither has a signal of its own, so they share the threshold.
pub const fn new(major: u64, minor: u64, patch: u64) -> Self
pub const fn major(&self) -> u64
pub const fn minor(&self) -> u64
pub const fn patch(&self) -> u64
Trait Implementations§
Source§impl Clone for ContractVersion
impl Clone for ContractVersion
Source§fn clone(&self) -> ContractVersion
fn clone(&self) -> ContractVersion
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ContractVersion
Source§impl Debug for ContractVersion
impl Debug for ContractVersion
Source§impl Display for ContractVersion
impl Display for ContractVersion
impl Eq for ContractVersion
Source§impl Ord for ContractVersion
impl Ord for ContractVersion
Source§fn cmp(&self, other: &ContractVersion) -> Ordering
fn cmp(&self, other: &ContractVersion) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ContractVersion
impl PartialEq for ContractVersion
Source§impl PartialOrd for ContractVersion
impl PartialOrd for ContractVersion
impl StructuralPartialEq for ContractVersion
Auto Trait Implementations§
impl Freeze for ContractVersion
impl RefUnwindSafe for ContractVersion
impl Send for ContractVersion
impl Sync for ContractVersion
impl Unpin for ContractVersion
impl UnsafeUnpin for ContractVersion
impl UnwindSafe for ContractVersion
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.