pub struct OrderView<'a> {Show 28 fields
pub order_id: u64,
pub symbol_id: u32,
pub client_order_id: &'a str,
pub side: EnumValue<Side>,
pub status: EnumValue<OrderStatus>,
pub order_type: EnumValue<OrderType>,
pub time_in_force: EnumValue<TimeInForce>,
pub self_trade_prevention_mode: EnumValue<SelfTradePreventionMode>,
pub fee_asset: EnumValue<FeeAsset>,
pub post_only: bool,
pub orig_qty_scaled: i64,
pub cum_qty_scaled: i64,
pub leaves_qty_scaled: i64,
pub avg_price_ticks: i64,
pub price_ticks: i64,
pub created_ts_ns: u64,
pub terminal_ts_ns: u64,
pub terminal_reason_code: u32,
pub terminal_reason: &'a str,
pub attached_risk: MessageFieldView<AttachedRiskView<'a>>,
pub origin: MessageFieldView<OrderOriginView<'a>>,
pub market_client_ref_price_ticks: i64,
pub market_max_slippage_ticks: i32,
pub market_max_slippage_bps: i32,
pub version: u32,
pub batch_request_id: u64,
pub submitted_max_quote_debit_scaled: Option<i64>,
pub __buffa_unknown_fields: UnknownFieldsView<'a>,
}Expand description
§============================================================================= Connect/Proto-facing Messages (scaled ints, fixed64 IDs)
Order is the Connect-facing order view with compact binary fields.
Fields§
§order_id: u64Public order identifier as fixed64.
Field 1: order_id
symbol_id: u32Trading symbol numeric identifier.
Field 3: symbol_id
client_order_id: &'a strClient-provided id for idempotency/correlation (may be empty).
Field 4: client_order_id
side: EnumValue<Side>Order side.
Field 5: side
status: EnumValue<OrderStatus>Current order lifecycle status.
Field 6: status
order_type: EnumValue<OrderType>Order type.
Field 7: order_type
time_in_force: EnumValue<TimeInForce>Time-in-force policy.
Field 8: time_in_force
self_trade_prevention_mode: EnumValue<SelfTradePreventionMode>Self-trade prevention mode.
Field 9: self_trade_prevention_mode
fee_asset: EnumValue<FeeAsset>Fee asset selected for fills. This also determines the decode scale for fee_scaled and referral_share_scaled on user trade rows.
Field 10: fee_asset
post_only: boolTrue if the order was submitted as post-only (maker-only).
Field 11: post_only
orig_qty_scaled: i64Original order quantity scaled by the pair’s base_quantity_scale from GetSpotConfig for symbol_id.
Field 12: orig_qty_scaled
cum_qty_scaled: i64Cumulative filled quantity scaled by the pair’s base_quantity_scale from GetSpotConfig for symbol_id.
Field 13: cum_qty_scaled
leaves_qty_scaled: i64Remaining working quantity scaled by the pair’s base_quantity_scale from GetSpotConfig for symbol_id. Zero for terminal orders.
Field 20: leaves_qty_scaled
avg_price_ticks: i64Average fill price in quote units scaled by 1e6. Zero if no fills.
Field 14: avg_price_ticks
price_ticks: i64Limit price in quote units scaled by 1e6. Zero for MARKET orders.
Field 15: price_ticks
created_ts_ns: u64Creation timestamp in nanoseconds since epoch (UTC).
Field 16: created_ts_ns
terminal_ts_ns: u64Terminal timestamp in nanoseconds since epoch (UTC). Zero for open orders.
Field 17: terminal_ts_ns
terminal_reason_code: u32Terminal reason code for canceled/rejected orders. Zero for non-terminal orders.
Field 18: terminal_reason_code
terminal_reason: &'a strStable string for terminal_reason_code (e.g. “POST_ONLY_CROSS”, “USER_REQUEST”). Empty for non-terminal orders.
Field 19: terminal_reason
attached_risk: MessageFieldView<AttachedRiskView<'a>>Attached risk controls + runtime state on the parent order. Empty when no attached risk exists.
Field 21: attached_risk
origin: MessageFieldView<OrderOriginView<'a>>Runtime lineage metadata (why the order exists and what generated it).
Field 22: origin
market_client_ref_price_ticks: i64Optional client-side reference price used for MARKET slippage protection, in quote units scaled by 1e6.
Field 23: market_client_ref_price_ticks
market_max_slippage_ticks: i32Optional MARKET max slippage as a price delta in 1e-6 quote-unit ticks.
Field 24: market_max_slippage_ticks
market_max_slippage_bps: i32Optional MARKET max slippage in basis points (1 bp = 0.01%).
Field 25: market_max_slippage_bps
version: u32Per-order state version. Starts at 1 and increases for every published state change. Use this field to reconcile API and realtime updates.
Field 26: version
batch_request_id: u64Batch-replace identity that admitted this order. Zero for other origins.
Field 27: batch_request_id
submitted_max_quote_debit_scaled: Option<i64>Submitted hard all-in quote debit limit, scaled by the pair’s quote_quantity_scale from GetSpotConfig. Present only when that sizing method was submitted.
Field 28: submitted_max_quote_debit_scaled
__buffa_unknown_fields: UnknownFieldsView<'a>Trait Implementations§
Source§impl<'v> DefaultViewInstance for OrderView<'v>
impl<'v> DefaultViewInstance for OrderView<'v>
Source§fn default_view_instance<'a>() -> &'a Selfwhere
Self: 'a,
fn default_view_instance<'a>() -> &'a Selfwhere
Self: 'a,
Source§impl<'a> MessageName for OrderView<'a>
impl<'a> MessageName for OrderView<'a>
Source§const PACKAGE: &'static str = "orders.v1"
const PACKAGE: &'static str = "orders.v1"
Source§const NAME: &'static str = "Order"
const NAME: &'static str = "Order"
. between nesting levels. Read moreSource§impl<'a> MessageView<'a> for OrderView<'a>
impl<'a> MessageView<'a> for OrderView<'a>
Source§fn decode_view(buf: &'a [u8]) -> Result<Self, DecodeError>
fn decode_view(buf: &'a [u8]) -> Result<Self, DecodeError>
Source§fn decode_view_with_ctx(
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<Self, DecodeError>
fn decode_view_with_ctx( buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<Self, DecodeError>
Source§fn merge_view_field(
&mut self,
tag: Tag,
cur: &'a [u8],
before_tag: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<&'a [u8], DecodeError>
fn merge_view_field( &mut self, tag: Tag, cur: &'a [u8], before_tag: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<&'a [u8], DecodeError>
Source§fn to_owned_message(&self) -> Result<Order, DecodeError>
fn to_owned_message(&self) -> Result<Order, DecodeError>
Source§fn to_owned_from_source(
&self,
__buffa_src: Option<&Bytes>,
) -> Result<Order, DecodeError>
fn to_owned_from_source( &self, __buffa_src: Option<&Bytes>, ) -> Result<Order, DecodeError>
bytes::Bytes-typed fields from source instead of copying. Read moreSource§fn decode_view_ctx(
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<Self, DecodeError>where
Self: Default,
fn decode_view_ctx(
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<Self, DecodeError>where
Self: Default,
DecodeContext
(remaining recursion depth and unknown-field allowance), driving the
provided tag loop over merge_view_field. Read moreSource§fn merge_into_view(
&mut self,
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<(), DecodeError>
fn merge_into_view( &mut self, buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>
buf into this view (proto merge semantics):
repeated fields append, singular fields last-wins, singular message
fields merge recursively. Read moreSource§impl<'__a> Serialize for OrderView<'__a>
Serializes this view as protobuf JSON.
impl<'__a> Serialize for OrderView<'__a>
Serializes this view as protobuf JSON.
Implicit-presence fields with default values are omitted, required
fields are always emitted, explicit-presence (optional) fields are
emitted only when set, bytes fields are base64-encoded, and enum
values are their proto name strings.
This impl uses serialize_map(None) because the number of emitted
fields depends on default-omission rules; serializers that require
known map lengths (e.g. bincode) will return a runtime error.
Use the owned message type for those formats.
Source§impl<'a> ViewEncode<'a> for OrderView<'a>
impl<'a> ViewEncode<'a> for OrderView<'a>
Source§fn compute_size(&self, __cache: &mut SizeCache) -> u32
fn compute_size(&self, __cache: &mut SizeCache) -> u32
Source§fn write_to(&self, __cache: &mut SizeCache, buf: &mut impl BufMut)
fn write_to(&self, __cache: &mut SizeCache, buf: &mut impl BufMut)
cache (populated by a prior
compute_size call on the same cache). Read moreSource§fn encode(&self, buf: &mut impl BufMut)
fn encode(&self, buf: &mut impl BufMut)
Source§fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl BufMut)
fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl BufMut)
SizeCache, for
reuse across many encodes in a hot loop. Clears the cache first.Source§fn encoded_len(&self) -> u32
fn encoded_len(&self) -> u32
Source§fn encode_length_delimited(&self, buf: &mut impl BufMut)
fn encode_length_delimited(&self, buf: &mut impl BufMut)
Source§fn encode_to_bytes(&self) -> Bytes
fn encode_to_bytes(&self) -> Bytes
bytes::Bytes.Source§impl ViewReborrow for OrderView<'static>
impl ViewReborrow for OrderView<'static>
Source§type Reborrowed<'b> = OrderView<'b>
type Reborrowed<'b> = OrderView<'b>
'b.Source§fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b>
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b>
&'b Self (= &'b FooView<'static>) to
&'b Self::Reborrowed<'b> (= &'b FooView<'b>). The canonical body
is just this; the compiler accepts it via standard lifetime
variance for covariant view types. Read more