pub enum HyperliquidExchangeAction {
Show 13 variants
Order {
orders: Vec<HyperliquidExchangePlaceOrderRequest>,
grouping: HyperliquidExchangeGrouping,
builder: Option<HyperliquidExchangeBuilderFee>,
},
Cancel {
cancels: Vec<HyperliquidExchangeCancelOrderRequest>,
fast: Option<bool>,
},
CancelByCloid {
cancels: Vec<HyperliquidExchangeCancelByCloidRequest>,
fast: Option<bool>,
},
Modify {
modify: HyperliquidExchangeModifyOrderRequest,
},
BatchModify {
modifies: Vec<HyperliquidExchangeModifyOrderRequest>,
},
ScheduleCancel {
time: Option<u64>,
},
UpdateLeverage {
asset: AssetId,
is_cross: bool,
leverage: u32,
},
UpdateIsolatedMargin {
asset: AssetId,
delta: Decimal,
},
UsdClassTransfer {
from: String,
to: String,
amount: Decimal,
},
UserOutcome {
op: HyperliquidExchangeUserOutcomeOp,
},
TwapPlace {
twap: HyperliquidExchangeTwapRequest,
},
TwapCancel {
asset: AssetId,
twap_id: u64,
},
Noop,
}Expand description
All possible exchange actions for the Hyperliquid /exchange endpoint.
Each variant corresponds to a specific action type that can be performed through the exchange API. The serialization uses the exact action type names expected by Hyperliquid.
Variants§
Order
Place one or more orders.
Fields
orders: Vec<HyperliquidExchangePlaceOrderRequest>List of orders to place.
grouping: HyperliquidExchangeGroupingGrouping strategy for TP/SL orders.
builder: Option<HyperliquidExchangeBuilderFee>Optional builder code for attribution.
Cancel
Cancel orders by order ID.
Fields
cancels: Vec<HyperliquidExchangeCancelOrderRequest>Orders to cancel.
CancelByCloid
Cancel orders by client order ID.
Fields
cancels: Vec<HyperliquidExchangeCancelByCloidRequest>Orders to cancel by CLOID.
Modify
Modify a single order.
Fields
modify: HyperliquidExchangeModifyOrderRequestOrder modification specification.
BatchModify
Modify multiple orders atomically.
Fields
modifies: Vec<HyperliquidExchangeModifyOrderRequest>Multiple order modifications.
ScheduleCancel
Schedule automatic order cancellation (dead man’s switch).
Fields
UpdateLeverage
Update leverage for a position.
Fields
UpdateIsolatedMargin
Update isolated margin for a position.
UsdClassTransfer
Transfer USD between spot and perp accounts.
Fields
amount: DecimalAmount to transfer.
UserOutcome
HIP-4 outcome-side token management (splitOutcome and related ops).
The active op is carried via HyperliquidExchangeUserOutcomeOp and
flattened into this action envelope, producing wire payloads such as
{ "type": "userOutcome", "splitOutcome": { ... } }.
Fields
op: HyperliquidExchangeUserOutcomeOpOperation to perform on the user’s outcome balances.
TwapPlace
Place a TWAP order.
Fields
twap: HyperliquidExchangeTwapRequestTWAP order specification.
TwapCancel
Cancel a TWAP order.
Noop
No-operation to invalidate pending nonces.
Trait Implementations§
Source§impl Clone for HyperliquidExchangeAction
impl Clone for HyperliquidExchangeAction
Source§fn clone(&self) -> HyperliquidExchangeAction
fn clone(&self) -> HyperliquidExchangeAction
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 HyperliquidExchangeAction
impl Debug for HyperliquidExchangeAction
Source§impl<'de> Deserialize<'de> for HyperliquidExchangeAction
impl<'de> Deserialize<'de> for HyperliquidExchangeAction
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>,
impl StructuralPartialEq for HyperliquidExchangeAction
Auto Trait Implementations§
impl Freeze for HyperliquidExchangeAction
impl RefUnwindSafe for HyperliquidExchangeAction
impl Send for HyperliquidExchangeAction
impl Sync for HyperliquidExchangeAction
impl Unpin for HyperliquidExchangeAction
impl UnsafeUnpin for HyperliquidExchangeAction
impl UnwindSafe for HyperliquidExchangeAction
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