pub struct CompactOrder {
pub nonce: u64,
pub maker: Pubkey,
pub side: OrderSide,
pub maker_amount: u64,
pub taker_amount: u64,
pub expiration: i64,
}Expand description
Compact order format for transaction size optimization.
Excludes market, base_mint, quote_mint which are passed via accounts.
Layout (65 bytes):
- [0..8] nonce (8 bytes)
- [8..40] maker (32 bytes)
- [40] side (1 byte)
- [41..49] maker_amount (8 bytes)
- [49..57] taker_amount (8 bytes)
- [57..65] expiration (8 bytes)
Fields§
§nonce: u64Unique order ID and replay protection
maker: PubkeyOrder maker’s pubkey
side: OrderSideOrder side (0 = Bid, 1 = Ask)
maker_amount: u64Amount maker gives
taker_amount: u64Amount maker receives
expiration: i64Expiration timestamp (0 = no expiration)
Implementations§
Source§impl CompactOrder
impl CompactOrder
Sourcepub fn deserialize(data: &[u8]) -> SdkResult<Self>
pub fn deserialize(data: &[u8]) -> SdkResult<Self>
Deserialize from bytes.
Trait Implementations§
Source§impl Clone for CompactOrder
impl Clone for CompactOrder
Source§fn clone(&self) -> CompactOrder
fn clone(&self) -> CompactOrder
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for CompactOrder
impl RefUnwindSafe for CompactOrder
impl Send for CompactOrder
impl Sync for CompactOrder
impl Unpin for CompactOrder
impl UnwindSafe for CompactOrder
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more