@rabby-wallet/hyperliquid-sdk 1.1.2-beta.2 → 1.1.2-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExchangeType } from '../types/constants';
|
|
2
|
-
import type { OrderResponse, CancelResponse, ExchangeClientConfig, PlaceOrderParams, MultiOrderParams, CancelOrderParams, ModifyOrderParams, WithdrawParams, ApproveBuilderFeeParams, PrepareApproveBuilderFeeResult, SendApproveParams, MarketOrderParams, UpdateLeverageParams, BindTpslByOrderIdParams, UpdateIsolatedMarginParams, TwapOrderParams, TwapCancelParams, TwapOrderResponse } from '../types';
|
|
2
|
+
import type { OrderResponse, CancelResponse, ExchangeClientConfig, PlaceOrderParams, MultiOrderParams, CancelOrderParams, ModifyOrderParams, WithdrawParams, ApproveBuilderFeeParams, PrepareApproveBuilderFeeResult, SendApproveParams, MarketOrderParams, UpdateLeverageParams, BindTpslByOrderIdParams, UpdateIsolatedMarginParams, TwapOrderParams, TwapCancelParams, TwapOrderResponse, PlaceTPSlMarketOrderParams, PlaceTPSlLimitOrderParams } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Client for executing trades on Hyperliquid (perpetuals only)
|
|
5
5
|
* Only includes essential trading APIs as specified
|
|
@@ -59,6 +59,16 @@ export declare class ExchangeClient {
|
|
|
59
59
|
*/
|
|
60
60
|
marketOrderOpen(params: MarketOrderParams): Promise<OrderResponse>;
|
|
61
61
|
marketOrderClose(params: Omit<MarketOrderParams, 'tpTriggerPx' | 'slTriggerPx'>): Promise<OrderResponse>;
|
|
62
|
+
/**
|
|
63
|
+
* Place a take profit or stop loss market order
|
|
64
|
+
* default slippage is 0.08
|
|
65
|
+
*/
|
|
66
|
+
placeTPSlMarketOrder(params: PlaceTPSlMarketOrderParams): Promise<OrderResponse>;
|
|
67
|
+
/**
|
|
68
|
+
* Place a take profit or stop loss limit order
|
|
69
|
+
* default slippage is 0.08
|
|
70
|
+
*/
|
|
71
|
+
placeTPSlLimitOrder(params: PlaceTPSlLimitOrderParams): Promise<OrderResponse>;
|
|
62
72
|
/**
|
|
63
73
|
* Place multiple orders at once
|
|
64
74
|
*/
|
|
@@ -230,7 +230,7 @@ class ExchangeClient {
|
|
|
230
230
|
isBuy: params.isBuy,
|
|
231
231
|
sz: (0, number_1.removeTrailingZeros)(params.size),
|
|
232
232
|
limitPx: px,
|
|
233
|
-
reduceOnly: false,
|
|
233
|
+
reduceOnly: params.reduceOnly || false,
|
|
234
234
|
orderType: { limit: { tif: 'Ioc' } },
|
|
235
235
|
}];
|
|
236
236
|
if (params.tpTriggerPx) {
|
|
@@ -303,6 +303,73 @@ class ExchangeClient {
|
|
|
303
303
|
}
|
|
304
304
|
});
|
|
305
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Place a take profit or stop loss market order
|
|
308
|
+
* default slippage is 0.08
|
|
309
|
+
*/
|
|
310
|
+
placeTPSlMarketOrder(params) {
|
|
311
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
312
|
+
try {
|
|
313
|
+
const slippage = params.slippage || constants_1.SLIPPAGE;
|
|
314
|
+
const szDecimals = yield this.symbolConversion.getAssetSzDecimals(params.coin);
|
|
315
|
+
const px = this.getSlippagePx((0, number_1.removeTrailingZeros)(params.triggerPx), slippage, params.isBuy, szDecimals);
|
|
316
|
+
const orders = [{
|
|
317
|
+
coin: params.coin,
|
|
318
|
+
isBuy: params.isBuy,
|
|
319
|
+
sz: (0, number_1.removeTrailingZeros)(params.size),
|
|
320
|
+
limitPx: px,
|
|
321
|
+
reduceOnly: params.reduceOnly || false,
|
|
322
|
+
orderType: {
|
|
323
|
+
trigger: {
|
|
324
|
+
isMarket: true,
|
|
325
|
+
triggerPx: (0, number_1.removeTrailingZeros)(params.triggerPx),
|
|
326
|
+
tpsl: params.tpsl,
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
}];
|
|
330
|
+
const res = yield this.multiOrder({
|
|
331
|
+
orders,
|
|
332
|
+
builder: params.builder,
|
|
333
|
+
});
|
|
334
|
+
return res;
|
|
335
|
+
}
|
|
336
|
+
catch (error) {
|
|
337
|
+
throw error;
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Place a take profit or stop loss limit order
|
|
343
|
+
* default slippage is 0.08
|
|
344
|
+
*/
|
|
345
|
+
placeTPSlLimitOrder(params) {
|
|
346
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
347
|
+
try {
|
|
348
|
+
const orders = [{
|
|
349
|
+
coin: params.coin,
|
|
350
|
+
isBuy: params.isBuy,
|
|
351
|
+
sz: (0, number_1.removeTrailingZeros)(params.size),
|
|
352
|
+
limitPx: (0, number_1.removeTrailingZeros)(params.limitPx),
|
|
353
|
+
reduceOnly: params.reduceOnly || false,
|
|
354
|
+
orderType: {
|
|
355
|
+
trigger: {
|
|
356
|
+
isMarket: false,
|
|
357
|
+
triggerPx: (0, number_1.removeTrailingZeros)(params.triggerPx),
|
|
358
|
+
tpsl: params.tpsl,
|
|
359
|
+
},
|
|
360
|
+
},
|
|
361
|
+
}];
|
|
362
|
+
const res = yield this.multiOrder({
|
|
363
|
+
orders,
|
|
364
|
+
builder: params.builder,
|
|
365
|
+
});
|
|
366
|
+
return res;
|
|
367
|
+
}
|
|
368
|
+
catch (error) {
|
|
369
|
+
throw error;
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
}
|
|
306
373
|
/**
|
|
307
374
|
* Place multiple orders at once
|
|
308
375
|
*/
|
package/dist/types/index.d.ts
CHANGED
|
@@ -201,6 +201,7 @@ export interface MarketOrderParams {
|
|
|
201
201
|
isBuy: boolean;
|
|
202
202
|
size: string;
|
|
203
203
|
midPx: string;
|
|
204
|
+
reduceOnly?: boolean;
|
|
204
205
|
tpTriggerPx?: string;
|
|
205
206
|
slTriggerPx?: string;
|
|
206
207
|
slippage?: number;
|
|
@@ -314,6 +315,32 @@ export interface WsActiveAssetData {
|
|
|
314
315
|
maxTradeSzs: [string, string];
|
|
315
316
|
user: string;
|
|
316
317
|
}
|
|
318
|
+
export interface PlaceTPSlMarketOrderParams {
|
|
319
|
+
coin: string;
|
|
320
|
+
isBuy: boolean;
|
|
321
|
+
size: string;
|
|
322
|
+
triggerPx: string;
|
|
323
|
+
tpsl: 'tp' | 'sl';
|
|
324
|
+
slippage?: number;
|
|
325
|
+
reduceOnly?: boolean;
|
|
326
|
+
builder?: {
|
|
327
|
+
address: string;
|
|
328
|
+
fee: number;
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
export interface PlaceTPSlLimitOrderParams {
|
|
332
|
+
coin: string;
|
|
333
|
+
isBuy: boolean;
|
|
334
|
+
size: string;
|
|
335
|
+
triggerPx: string;
|
|
336
|
+
limitPx: string;
|
|
337
|
+
tpsl: 'tp' | 'sl';
|
|
338
|
+
reduceOnly?: boolean;
|
|
339
|
+
builder?: {
|
|
340
|
+
address: string;
|
|
341
|
+
fee: number;
|
|
342
|
+
};
|
|
343
|
+
}
|
|
317
344
|
export interface WsTrade {
|
|
318
345
|
coin: string;
|
|
319
346
|
hash: string;
|
package/package.json
CHANGED