pub enum WorkDescription {
OpenPosition {
direction: DirectionToBase,
leverage: LeverageToBase,
collateral: NonZero<Collateral>,
take_profit: TakeProfitTrader,
stop_loss_override: Option<PriceBaseInQuote>,
},
ClosePosition {
pos_id: PositionId,
},
ResetShares,
ClearDeferredExec {
id: DeferredExecId,
},
UpdatePositionAddCollateralImpactSize {
pos_id: PositionId,
amount: NonZero<Collateral>,
},
UpdatePositionRemoveCollateralImpactSize {
pos_id: PositionId,
amount: NonZero<Collateral>,
crank_fee: Collateral,
},
}
Expand description
Work to be performed for a specific market.
Variants§
OpenPosition
Open a new position
Fields
§
direction: DirectionToBase
Direction of the new position
§
leverage: LeverageToBase
Leverage
§
collateral: NonZero<Collateral>
Amount of deposit collateral
§
take_profit: TakeProfitTrader
Take profit value
§
stop_loss_override: Option<PriceBaseInQuote>
Stop loss price of new position
ClosePosition
Close an unnecessary position
Fields
§
pos_id: PositionId
Position to be closed
All collateral exhausted, reset shares to 0
ClearDeferredExec
Deferred execution completed, we can continue our processing
Fields
§
id: DeferredExecId
ID to be cleared
UpdatePositionAddCollateralImpactSize
Add collateral to a position, causing notional size to increase
Fields
§
pos_id: PositionId
ID of position to update
§
amount: NonZero<Collateral>
Amount of funds to add to the position
UpdatePositionRemoveCollateralImpactSize
Remove collateral from a position, causing notional size to decrease
Fields
§
pos_id: PositionId
ID of position to update
§
amount: NonZero<Collateral>
Amount of funds to remove from the position
§
crank_fee: Collateral
Crank fee to be paid
Implementations§
source§impl WorkDescription
impl WorkDescription
sourcepub fn is_close_position(&self) -> bool
pub fn is_close_position(&self) -> bool
Is it closed position ?
sourcepub fn is_collect_closed_position(&self) -> bool
pub fn is_collect_closed_position(&self) -> bool
Is it collect closed position ?
sourcepub fn is_update_position(&self) -> bool
pub fn is_update_position(&self) -> bool
Is it update position ?
sourcepub fn is_open_position(&self) -> bool
pub fn is_open_position(&self) -> bool
Is it open position ?
sourcepub fn is_handle_deferred_exec(&self) -> bool
pub fn is_handle_deferred_exec(&self) -> bool
Is it open position ?
Trait Implementations§
source§impl Clone for WorkDescription
impl Clone for WorkDescription
source§fn clone(&self) -> WorkDescription
fn clone(&self) -> WorkDescription
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for WorkDescription
impl Debug for WorkDescription
source§impl<'de> Deserialize<'de> for WorkDescription
impl<'de> Deserialize<'de> for WorkDescription
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
source§impl Display for WorkDescription
impl Display for WorkDescription
source§impl PartialEq for WorkDescription
impl PartialEq for WorkDescription
source§fn eq(&self, other: &WorkDescription) -> bool
fn eq(&self, other: &WorkDescription) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for WorkDescription
impl Serialize for WorkDescription
impl Eq for WorkDescription
impl StructuralPartialEq for WorkDescription
Auto Trait Implementations§
impl Freeze for WorkDescription
impl RefUnwindSafe for WorkDescription
impl Send for WorkDescription
impl Sync for WorkDescription
impl Unpin for WorkDescription
impl UnwindSafe for WorkDescription
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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
§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
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>
Converts
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>
Converts
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§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> QueryResultExt for Twhere
T: Serialize,
impl<T> QueryResultExt for Twhere
T: Serialize,
source§fn query_result(&self) -> Result<Binary, Error>
fn query_result(&self) -> Result<Binary, Error>
Convert the value to its JSON representation