pub enum WorkDescription {
OpenPosition {
direction: DirectionToBase,
leverage: LeverageToBase,
collateral: NonZero<Collateral>,
take_profit: TakeProfitTrader,
stop_loss_override: Option<PriceBaseInQuote>,
},
ClosePosition {
pos_id: PositionId,
},
CollectClosedPosition {
pos_id: PositionId,
close_time: Timestamp,
active_collateral: Collateral,
},
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
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
Open a new position
ClosePosition
Fields
pos_id: PositionId
Position to be closed
Close an unnecessary position
CollectClosedPosition
Fields
pos_id: PositionId
Position that has already been closed
active_collateral: Collateral
Active collateral that was sent back to our contract
Update collateral balance based on an already closed position
All collateral exhausted, reset shares to 0
ClearDeferredExec
Fields
id: DeferredExecId
ID to be cleared
Deferred execution completed, we can continue our processing
UpdatePositionAddCollateralImpactSize
Fields
pos_id: PositionId
ID of position to update
amount: NonZero<Collateral>
Amount of funds to add to the position
Add collateral to a position, causing notional size to increase
UpdatePositionRemoveCollateralImpactSize
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
Remove collateral from a position, causing notional size to decrease
Trait Implementations§
source§impl Clone for WorkDescription
impl Clone for WorkDescription
source§fn clone(&self) -> WorkDescription
fn clone(&self) -> WorkDescription
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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>,
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
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 StructuralEq for WorkDescription
impl StructuralPartialEq for WorkDescription
Auto Trait Implementations§
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>,
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 more