pub struct MakerTakerFeeSchedule {
pub default: MakerTakerFeeRates,
pub overrides: AHashMap<InstrumentId, MakerTakerFeeRates>,
}Expand description
Account-owned maker/taker fee schedule with exact instrument overrides.
Resolution is deterministic: an exact InstrumentId override wins, otherwise
the default applies. Absent configuration is represented by the absence of a
schedule (None at the owner), which is distinct from an explicit zero rate.
Fields§
§default: MakerTakerFeeRatesThe default rates applied when no override matches.
overrides: AHashMap<InstrumentId, MakerTakerFeeRates>Exact per-instrument rate overrides.
Implementations§
Source§impl MakerTakerFeeSchedule
impl MakerTakerFeeSchedule
Sourcepub fn new(maker: Decimal, taker: Decimal) -> Self
pub fn new(maker: Decimal, taker: Decimal) -> Self
Creates a new schedule with explicit default rates and no overrides.
Sourcepub fn set_override(
&mut self,
instrument_id: InstrumentId,
rates: MakerTakerFeeRates,
)
pub fn set_override( &mut self, instrument_id: InstrumentId, rates: MakerTakerFeeRates, )
Adds or replaces an exact instrument override.
Sourcepub fn rates_for(&self, instrument_id: InstrumentId) -> MakerTakerFeeRates
pub fn rates_for(&self, instrument_id: InstrumentId) -> MakerTakerFeeRates
Returns the resolved rates for the given instrument.
Sourcepub fn rate_for(
&self,
instrument_id: InstrumentId,
liquidity_side: LiquiditySide,
) -> Result<Decimal>
pub fn rate_for( &self, instrument_id: InstrumentId, liquidity_side: LiquiditySide, ) -> Result<Decimal>
Returns the resolved rate for the given instrument and liquidity side.
§Errors
Returns an error if liquidity_side is LiquiditySide::NoLiquiditySide.
Trait Implementations§
Source§impl Clone for MakerTakerFeeSchedule
impl Clone for MakerTakerFeeSchedule
Source§impl Debug for MakerTakerFeeSchedule
impl Debug for MakerTakerFeeSchedule
Source§impl<'de> Deserialize<'de> for MakerTakerFeeSchedule
impl<'de> Deserialize<'de> for MakerTakerFeeSchedule
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for MakerTakerFeeSchedule
Source§impl PartialEq for MakerTakerFeeSchedule
impl PartialEq for MakerTakerFeeSchedule
Source§impl Serialize for MakerTakerFeeSchedule
impl Serialize for MakerTakerFeeSchedule
impl StructuralPartialEq for MakerTakerFeeSchedule
Auto Trait Implementations§
impl Freeze for MakerTakerFeeSchedule
impl RefUnwindSafe for MakerTakerFeeSchedule
impl Send for MakerTakerFeeSchedule
impl Sync for MakerTakerFeeSchedule
impl Unpin for MakerTakerFeeSchedule
impl UnsafeUnpin for MakerTakerFeeSchedule
impl UnwindSafe for MakerTakerFeeSchedule
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
Mutably borrows from an owned value. Read more
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more