Skip to main content

BookOrder

Struct BookOrder 

Source
pub struct BookOrder { /* private fields */ }
Expand description

Individual order in the book with linked list pointers.

Each order belongs to a doubly-linked list at its price level, enabling O(1) insertion/removal and natural FIFO ordering.

Implementations§

Source§

impl BookOrder

Source

pub fn new(order: Order) -> Self

Create a new book order (initially unlinked).

Methods from Deref<Target = Order>§

Source

pub fn instant(&self) -> StateInstant

Instant the order state is consistent with or was last updated at.

Source

pub fn request_id(&self) -> Option<RequestId>

ID of the request this order was posted or updated by. Available only from real-time events, not from the initial snapshot.

Source

pub fn client_order_id(&self) -> Option<RequestId>

Client order ID = ID of the request this order was placed by. Available only from real-time events, not from the initial snapshot.

Source

pub fn order_id(&self) -> OrderId

ID of the order in the book.

Source

pub fn type(&self) -> OrderType

Type of the order.

Source

pub fn account_id(&self) -> AccountId

ID of the account issued the order.

Source

pub fn price(&self) -> UD64

Limit price of the order.

Source

pub fn size(&self) -> UD64

Current size of the order.

Source

pub fn placed_size(&self) -> Option<UD64>

Size of the order that was placed. Available only from real-time events, not from the initial snapshot.

Source

pub fn filled_size(&self) -> Option<UD64>

Filled size of the order. Available only from real-time events, not from the initial snapshot.

Source

pub fn expiry_block(&self) -> u64

Expiry block of the order, zero if was not specified.

Source

pub fn is_expired(&self) -> bool

Check if the order is expired. NOTE: Valid only after the end of expiry block processing.

Source

pub fn leverage(&self) -> UD64

Leverage of the order.

Source

pub fn post_only(&self) -> Option<bool>

Post-only flag. Available only from real-time events, not from the initial snapshot.

Source

pub fn fill_or_kill(&self) -> Option<bool>

Fill-or-fill flag. Available only from real-time events, not from the initial snapshot.

Source

pub fn immediate_or_cancel(&self) -> Option<bool>

Immediate-or-cancel flag. Available only from real-time events, not from the initial snapshot.

Source

pub fn builder(&self) -> Option<BuilderAttribution>

Builder the order is attributed to, along with the additive fee rate that builder charges on the size the order adds. None means no builder.

Unlike the flags above, attribution is persisted with the resting order on-chain, so it is available both from the initial snapshot (contract v1.1.7.4+, via getOrderV2) and from the OrderRequestV2 event stream. What a builder actually earned per fill is reported by the builder_fee of super::OrderEventType::Filled.

Source

pub fn prev_order_id(&self) -> Option<OrderId>

Previous order ID in the FIFO queue at this price level. Available from snapshot, None for newly placed orders or if this is the first order.

Source

pub fn next_order_id(&self) -> Option<OrderId>

Next order ID in the FIFO queue at this price level. Available from snapshot, None for newly placed orders or if this is the last order.

Trait Implementations§

Source§

impl Clone for BookOrder

Source§

fn clone(&self) -> BookOrder

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BookOrder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for BookOrder

Source§

type Target = Order

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for BookOrder

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<U> As for U

Source§

fn as_<T>(self) -> T
where T: CastFrom<U>, U: Sized,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more