pub struct PairConfigView<'a> {Show 19 fields
pub symbol_id: u32,
pub symbol: &'a str,
pub base_asset: &'a str,
pub quote_asset: &'a str,
pub tick_size: &'a str,
pub step_size: &'a str,
pub min_notional_quote: &'a str,
pub min_qty_base: &'a str,
pub allow_buy_fee_from_base: bool,
pub base_quantity_scale: u32,
pub quote_quantity_scale: u32,
pub marketdata: MessageFieldView<PairMarketdataConfigView<'a>>,
pub listing_at: MessageFieldView<TimestampView<'a>>,
pub delisting_at: MessageFieldView<TimestampView<'a>>,
pub status: EnumValue<PairStatus>,
pub default_market_slippage_bps_buy: i32,
pub default_market_slippage_bps_sell: i32,
pub max_client_ref_drift_bps: i32,
pub __buffa_unknown_fields: UnknownFieldsView<'a>,
}Expand description
PairConfig describes one spot trading pair and its trading constraints.
Fields§
§symbol_id: u32Stable numeric pair id used by low-latency ConnectRPC requests and streams.
Field 1: symbol_id
symbol: &'a strTrading pair symbol, e.g. “BTC-USDT”.
Field 2: symbol
base_asset: &'a strBase asset code. For BTC-USDT, this is “BTC”.
Field 3: base_asset
quote_asset: &'a strQuote asset code. For BTC-USDT, this is “USDT”.
Field 4: quote_asset
tick_size: &'a strMinimum allowed price increment as a decimal string in quote-asset units. Prices use 6 decimal places in scaled integer fields; for example “0.01” means orders must be priced in 0.01 quote-asset increments.
Field 5: tick_size
step_size: &'a strMinimum allowed quantity increment as a decimal string in base-asset units.
Field 6: step_size
min_notional_quote: &'a strMinimum order notional as a decimal string in quote-asset units.
Field 7: min_notional_quote
min_qty_base: &'a strMinimum order quantity as a decimal string in base-asset units.
Field 8: min_qty_base
allow_buy_fee_from_base: boolWhether BUY order fees may be paid from the base asset instead of the spent quote asset when the order request selects the base fee asset.
Field 9: allow_buy_fee_from_base
base_quantity_scale: u32Quantity scale for base-asset amounts in this pair.
Field 10: base_quantity_scale
quote_quantity_scale: u32Quantity scale for quote-asset amounts in this pair.
Field 11: quote_quantity_scale
marketdata: MessageFieldView<PairMarketdataConfigView<'a>>Market-data display settings for this pair.
Field 12: marketdata
listing_at: MessageFieldView<TimestampView<'a>>Scheduled listing timestamp. When unset, the pair has no explicit future listing time.
Field 13: listing_at
delisting_at: MessageFieldView<TimestampView<'a>>Scheduled delisting timestamp. When unset, the pair has no explicit delisting time.
Field 14: delisting_at
status: EnumValue<PairStatus>Current trading status.
Field 15: status
default_market_slippage_bps_buy: i32Default MARKET order slippage cap for BUY orders, in basis points (1 bp = 0.01%). A request-level slippage setting can override this value.
Field 16: default_market_slippage_bps_buy
default_market_slippage_bps_sell: i32Default MARKET order slippage cap for SELL orders, in basis points (1 bp = 0.01%). A request-level slippage setting can override this value.
Field 17: default_market_slippage_bps_sell
max_client_ref_drift_bps: i32Maximum allowed drift between client reference price and server reference price for MARKET orders, in basis points (1 bp = 0.01%), when client reference pricing is used.
Field 18: max_client_ref_drift_bps
__buffa_unknown_fields: UnknownFieldsView<'a>Trait Implementations§
Source§impl<'a> Clone for PairConfigView<'a>
impl<'a> Clone for PairConfigView<'a>
Source§fn clone(&self) -> PairConfigView<'a>
fn clone(&self) -> PairConfigView<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for PairConfigView<'a>
impl<'a> Debug for PairConfigView<'a>
Source§impl<'a> Default for PairConfigView<'a>
impl<'a> Default for PairConfigView<'a>
Source§fn default() -> PairConfigView<'a>
fn default() -> PairConfigView<'a>
Source§impl<'v> DefaultViewInstance for PairConfigView<'v>
impl<'v> DefaultViewInstance for PairConfigView<'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 PairConfigView<'a>
impl<'a> MessageName for PairConfigView<'a>
Source§const PACKAGE: &'static str = "marketdata.v1"
const PACKAGE: &'static str = "marketdata.v1"
Source§const NAME: &'static str = "PairConfig"
const NAME: &'static str = "PairConfig"
. between nesting levels. Read moreSource§impl<'a> MessageView<'a> for PairConfigView<'a>
impl<'a> MessageView<'a> for PairConfigView<'a>
Source§type Owned = PairConfig
type Owned = PairConfig
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<PairConfig, DecodeError>
fn to_owned_message(&self) -> Result<PairConfig, DecodeError>
Source§fn to_owned_from_source(
&self,
__buffa_src: Option<&Bytes>,
) -> Result<PairConfig, DecodeError>
fn to_owned_from_source( &self, __buffa_src: Option<&Bytes>, ) -> Result<PairConfig, 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 PairConfigView<'__a>
Serializes this view as protobuf JSON.
impl<'__a> Serialize for PairConfigView<'__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 PairConfigView<'a>
impl<'a> ViewEncode<'a> for PairConfigView<'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 PairConfigView<'static>
impl ViewReborrow for PairConfigView<'static>
Source§type Reborrowed<'b> = PairConfigView<'b>
type Reborrowed<'b> = PairConfigView<'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