pub struct PairConfig {Show 18 fields
pub symbol_id: u32,
pub symbol: String,
pub base_asset: String,
pub quote_asset: String,
pub tick_size: String,
pub step_size: String,
pub min_notional_quote: String,
pub min_qty_base: String,
pub allow_buy_fee_from_base: bool,
pub base_quantity_scale: u32,
pub quote_quantity_scale: u32,
pub marketdata: MessageField<PairMarketdataConfig>,
pub listing_at: MessageField<Timestamp>,
pub delisting_at: MessageField<Timestamp>,
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,
/* private fields */
}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: StringTrading pair symbol, e.g. “BTC-USDT”.
Field 2: symbol
base_asset: StringBase asset code. For BTC-USDT, this is “BTC”.
Field 3: base_asset
quote_asset: StringQuote asset code. For BTC-USDT, this is “USDT”.
Field 4: quote_asset
tick_size: StringMinimum 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: StringMinimum allowed quantity increment as a decimal string in base-asset units.
Field 6: step_size
min_notional_quote: StringMinimum order notional as a decimal string in quote-asset units.
Field 7: min_notional_quote
min_qty_base: StringMinimum 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: MessageField<PairMarketdataConfig>Market-data display settings for this pair.
Field 12: marketdata
listing_at: MessageField<Timestamp>Scheduled listing timestamp. When unset, the pair has no explicit future listing time.
Field 13: listing_at
delisting_at: MessageField<Timestamp>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
Implementations§
Trait Implementations§
Source§impl Clone for PairConfig
impl Clone for PairConfig
Source§fn clone(&self) -> PairConfig
fn clone(&self) -> PairConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PairConfig
impl Debug for PairConfig
Source§impl Default for PairConfig
impl Default for PairConfig
Source§fn default() -> PairConfig
fn default() -> PairConfig
Source§impl DefaultInstance for PairConfig
impl DefaultInstance for PairConfig
Source§fn default_instance() -> &'static Self
fn default_instance() -> &'static Self
Source§impl<'de> Deserialize<'de> for PairConfigwhere
PairConfig: Default,
impl<'de> Deserialize<'de> for PairConfigwhere
PairConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl ExtensionSet for PairConfig
impl ExtensionSet for PairConfig
Source§const PROTO_FQN: &'static str = "marketdata.v1.PairConfig"
const PROTO_FQN: &'static str = "marketdata.v1.PairConfig"
"google.protobuf.FieldOptions". Read moreSource§fn unknown_fields(&self) -> &UnknownFields
fn unknown_fields(&self) -> &UnknownFields
Source§fn unknown_fields_mut(&mut self) -> &mut UnknownFields
fn unknown_fields_mut(&mut self) -> &mut UnknownFields
Source§fn extension<C>(&self, ext: &Extension<C>) -> <C as ExtensionCodec>::Outputwhere
C: ExtensionCodec,
fn extension<C>(&self, ext: &Extension<C>) -> <C as ExtensionCodec>::Outputwhere
C: ExtensionCodec,
Source§fn set_extension<C>(
&mut self,
ext: &Extension<C>,
value: <C as ExtensionCodec>::Value,
)where
C: ExtensionCodec,
fn set_extension<C>(
&mut self,
ext: &Extension<C>,
value: <C as ExtensionCodec>::Value,
)where
C: ExtensionCodec,
Source§fn has_extension<C>(&self, ext: &Extension<C>) -> boolwhere
C: ExtensionCodec,
fn has_extension<C>(&self, ext: &Extension<C>) -> boolwhere
C: ExtensionCodec,
true if any record at the extension’s field number is present. Read moreSource§fn clear_extension<C>(&mut self, ext: &Extension<C>)where
C: ExtensionCodec,
fn clear_extension<C>(&mut self, ext: &Extension<C>)where
C: ExtensionCodec,
Source§fn extension_or_default<C>(
&self,
ext: &Extension<C>,
) -> <C as ExtensionCodec>::Valuewhere
C: ExtensionCodec<Output = Option<<C as ExtensionCodec>::Value>>,
<C as ExtensionCodec>::Value: Default,
fn extension_or_default<C>(
&self,
ext: &Extension<C>,
) -> <C as ExtensionCodec>::Valuewhere
C: ExtensionCodec<Output = Option<<C as ExtensionCodec>::Value>>,
<C as ExtensionCodec>::Value: Default,
[default = ...]
value if absent, or the type’s Default if no proto default was declared. Read moreSource§impl HasMessageView for PairConfig
impl HasMessageView for PairConfig
Source§type View<'a> = PairConfigView<'a>
type View<'a> = PairConfigView<'a>
Self, borrowing from a buffer with lifetime
'a.Source§type ViewHandle = PairConfigOwnedView
type ViewHandle = PairConfigOwnedView
'static owned-view handle for Self
(FooOwnedView).Source§fn decode_view(buf: &[u8]) -> Result<Self::View<'_>, DecodeError>
fn decode_view(buf: &[u8]) -> Result<Self::View<'_>, DecodeError>
Source§fn decode_view_with_options<'a>(
buf: &'a [u8],
opts: &DecodeOptions,
) -> Result<Self::View<'a>, DecodeError>
fn decode_view_with_options<'a>( buf: &'a [u8], opts: &DecodeOptions, ) -> Result<Self::View<'a>, DecodeError>
View under custom
DecodeOptions (recursion limit, max message
size, unknown-field limit). Read moreSource§fn decode_view_handle(bytes: Bytes) -> Result<Self::ViewHandle, DecodeError>
fn decode_view_handle(bytes: Bytes) -> Result<Self::ViewHandle, DecodeError>
Source§fn decode_view_handle_with_options(
bytes: Bytes,
opts: &DecodeOptions,
) -> Result<Self::ViewHandle, DecodeError>
fn decode_view_handle_with_options( bytes: Bytes, opts: &DecodeOptions, ) -> Result<Self::ViewHandle, DecodeError>
Source§impl Message for PairConfig
impl Message for PairConfig
Source§fn compute_size(&self, __cache: &mut SizeCache) -> u32
fn compute_size(&self, __cache: &mut SizeCache) -> u32
Returns the total encoded size in bytes.
The result is a u32; the protobuf specification requires all
messages to fit within 2 GiB (2,147,483,647 bytes), so a
compliant message will never overflow this type.
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 merge_field(
&mut self,
tag: Tag,
buf: &mut impl Buf,
ctx: DecodeContext<'_>,
) -> Result<(), DecodeError>
fn merge_field( &mut self, tag: Tag, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>
buf. 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. Read moreSource§fn decode(buf: &mut impl Buf) -> Result<Self, DecodeError>where
Self: Sized,
fn decode(buf: &mut impl Buf) -> Result<Self, DecodeError>where
Self: Sized,
Source§fn decode_from_slice(data: &[u8]) -> Result<Self, DecodeError>where
Self: Sized,
fn decode_from_slice(data: &[u8]) -> Result<Self, DecodeError>where
Self: Sized,
Source§fn decode_length_delimited(buf: &mut impl Buf) -> Result<Self, DecodeError>where
Self: Sized,
fn decode_length_delimited(buf: &mut impl Buf) -> Result<Self, DecodeError>where
Self: Sized,
Source§fn merge_to_limit(
&mut self,
buf: &mut impl Buf,
ctx: DecodeContext<'_>,
limit: usize,
) -> Result<(), DecodeError>
fn merge_to_limit( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, limit: usize, ) -> Result<(), DecodeError>
Source§fn merge_group(
&mut self,
buf: &mut impl Buf,
ctx: DecodeContext<'_>,
field_number: u32,
) -> Result<(), DecodeError>
fn merge_group( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, field_number: u32, ) -> Result<(), DecodeError>
buf, reading fields until an
EndGroup tag with the given field_number is encountered. Read moreSource§fn merge(
&mut self,
buf: &mut impl Buf,
ctx: DecodeContext<'_>,
) -> Result<(), DecodeError>
fn merge( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>
Source§fn merge_from_slice(&mut self, data: &[u8]) -> Result<(), DecodeError>
fn merge_from_slice(&mut self, data: &[u8]) -> Result<(), DecodeError>
Source§fn merge_length_delimited(
&mut self,
buf: &mut impl Buf,
ctx: DecodeContext<'_>,
) -> Result<(), DecodeError>
fn merge_length_delimited( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>
Source§impl MessageName for PairConfig
impl MessageName for PairConfig
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 PartialEq for PairConfig
impl PartialEq for PairConfig
Source§impl ProtoElemJson for PairConfig
impl ProtoElemJson for PairConfig
Source§fn serialize_proto_json<S: Serializer>(
v: &Self,
s: S,
) -> Result<S::Ok, S::Error>
fn serialize_proto_json<S: Serializer>( v: &Self, s: S, ) -> Result<S::Ok, S::Error>
Source§fn deserialize_proto_json<'de, D: Deserializer<'de>>(
d: D,
) -> Result<Self, D::Error>
fn deserialize_proto_json<'de, D: Deserializer<'de>>( d: D, ) -> Result<Self, D::Error>
Source§impl Serialize for PairConfig
impl Serialize for PairConfig
impl StructuralPartialEq for PairConfig
Auto Trait Implementations§
impl Freeze for PairConfig
impl RefUnwindSafe for PairConfig
impl Send for PairConfig
impl Sync for PairConfig
impl Unpin for PairConfig
impl UnsafeUnpin for PairConfig
impl UnwindSafe for PairConfig
Blanket Implementations§
Source§impl<T> AnyMessage for Twhere
T: Message + JsonSerialize + 'static,
impl<T> AnyMessage for Twhere
T: Message + JsonSerialize + 'static,
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
dyn Any for downcasting.Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Any> for owned downcasting. Read moreSource§fn encode(&self, format: CodecFormat) -> Result<Bytes, ConnectError>
fn encode(&self, format: CodecFormat) -> Result<Bytes, ConnectError>
Source§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
std::any::type_name.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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<M> Encodable<M> for Mwhere
M: Message + JsonSerialize,
impl<M> Encodable<M> for Mwhere
M: Message + JsonSerialize,
Source§fn encode(&self, codec: CodecFormat) -> Result<Bytes, ConnectError>
fn encode(&self, codec: CodecFormat) -> Result<Bytes, ConnectError>
self as wire bytes for M in the requested format.