pub struct DeriveInstrument {Show 20 fields
pub amount_step: Decimal,
pub base_asset_address: Ustr,
pub base_asset_sub_id: Ustr,
pub base_currency: Ustr,
pub base_fee: Decimal,
pub instrument_name: Ustr,
pub instrument_type: DeriveInstrumentType,
pub is_active: bool,
pub maker_fee_rate: Decimal,
pub mark_price_fee_rate_cap: Option<Decimal>,
pub maximum_amount: Decimal,
pub minimum_amount: Decimal,
pub option_details: Option<DeriveOptionPublicDetails>,
pub perp_details: Option<DerivePerpPublicDetails>,
pub quote_currency: Ustr,
pub scheduled_activation: i64,
pub scheduled_deactivation: i64,
pub taker_fee_rate: Decimal,
pub tick_size: Decimal,
pub raw: Option<Params>,
}Expand description
Instrument definition returned by public/get_all_instruments.
Fields§
§amount_step: DecimalMinimum increment of the amount field for orders.
base_asset_address: UstrOn-chain address of the base asset.
base_asset_sub_id: UstrSub-id of the base asset within the asset module (decimal string).
base_currency: UstrUnderlying currency (e.g. "ETH").
base_fee: DecimalBase flat fee in USD.
instrument_name: UstrCanonical instrument name (e.g. "ETH-PERP", "ETH-20250627-3500-C").
instrument_type: DeriveInstrumentTypeInstrument category.
is_active: boolWhether the instrument is currently tradable.
maker_fee_rate: DecimalMaker fee rate (fraction).
mark_price_fee_rate_cap: Option<Decimal>Optional cap on the mark-price-derived fee rate.
maximum_amount: DecimalMaximum allowed order amount.
minimum_amount: DecimalVenue-reported minimum contracts or tokens per trade. Taker orders can fill below this value.
option_details: Option<DeriveOptionPublicDetails>Option-specific details (populated when instrument_type == option).
perp_details: Option<DerivePerpPublicDetails>Perp-specific details (populated when instrument_type == perp).
quote_currency: UstrQuote currency (e.g. "USDC").
scheduled_activation: i64Scheduled activation timestamp (UNIX seconds).
scheduled_deactivation: i64Scheduled deactivation timestamp (UNIX seconds; i64::MAX if none).
taker_fee_rate: DecimalTaker fee rate (fraction).
tick_size: DecimalMinimum price increment.
raw: Option<Params>Original instrument response fields, before typed decoding or normalization.
Implementations§
Source§impl DeriveInstrument
impl DeriveInstrument
pub fn serialize<__S>(
__self: &DeriveInstrument,
__serializer: __S,
) -> Result<__S::Ok, __S::Error>where
__S: Serializer,
Source§impl<'de> DeriveInstrument
impl<'de> DeriveInstrument
pub fn deserialize<__D>(
__deserializer: __D,
) -> Result<DeriveInstrument, __D::Error>where
__D: Deserializer<'de>,
Trait Implementations§
Source§impl Clone for DeriveInstrument
impl Clone for DeriveInstrument
Source§impl Debug for DeriveInstrument
impl Debug for DeriveInstrument
Source§impl<'de> Deserialize<'de> for DeriveInstrument
impl<'de> Deserialize<'de> for DeriveInstrument
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Auto Trait Implementations§
impl Freeze for DeriveInstrument
impl RefUnwindSafe for DeriveInstrument
impl Send for DeriveInstrument
impl Sync for DeriveInstrument
impl Unpin for DeriveInstrument
impl UnsafeUnpin for DeriveInstrument
impl UnwindSafe for DeriveInstrument
Blanket Implementations§
impl<T> Allocation for T
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<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
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>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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