@rabby-wallet/hyperliquid-sdk 1.1.7-beta.0 → 1.1.7-beta.2
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, SendAssetParams, ApproveBuilderFeeParams, PrepareApproveBuilderFeeResult, SendApproveParams, MarketOrderParams, UpdateLeverageParams, BindTpslByOrderIdParams, UpdateIsolatedMarginParams, TwapOrderParams, TwapCancelParams, TwapOrderResponse, PlaceTPSlMarketOrderParams, PlaceTPSlLimitOrderParams, ClearinghouseState, UpdateTpslByOrderIdParams, LimitOrderParams, Abstraction, Tif } from '../types';
|
|
2
|
+
import type { OrderResponse, CancelResponse, ExchangeClientConfig, PlaceOrderParams, MultiOrderParams, CancelOrderParams, ModifyOrderParams, WithdrawParams, SendAssetParams, ApproveBuilderFeeParams, PrepareApproveBuilderFeeResult, SendApproveParams, MarketOrderParams, UpdateLeverageParams, BindTpslByOrderIdParams, UpdateIsolatedMarginParams, TwapOrderParams, TwapCancelParams, TwapOrderResponse, PlaceTPSlMarketOrderParams, PlaceTPSlLimitOrderParams, ClearinghouseState, UpdateTpslByOrderIdParams, LimitOrderParams, Abstraction, UserSetAbstractionParams, Tif } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Client for executing trades on Hyperliquid (perpetuals only)
|
|
5
5
|
* Only includes essential trading APIs as specified
|
|
@@ -116,6 +116,17 @@ export declare class ExchangeClient {
|
|
|
116
116
|
*/
|
|
117
117
|
setReferrer(code: string): Promise<any>;
|
|
118
118
|
agentEnableDexAbstraction(): Promise<any>;
|
|
119
|
+
/**
|
|
120
|
+
* Prepare userSetAbstraction data for main wallet signing
|
|
121
|
+
* Must be signed by the master wallet (NOT the agent)
|
|
122
|
+
* abstraction values: 'disabled' | 'unifiedAccount' | 'portfolioMargin'
|
|
123
|
+
*/
|
|
124
|
+
prepareUserSetAbstraction(params: UserSetAbstractionParams): PrepareApproveBuilderFeeResult;
|
|
125
|
+
/**
|
|
126
|
+
* Send userSetAbstraction request with main wallet signature
|
|
127
|
+
* nonce must be the same as the nonce in prepareUserSetAbstraction
|
|
128
|
+
*/
|
|
129
|
+
sendUserSetAbstraction(params: SendApproveParams): Promise<any>;
|
|
119
130
|
agentSetAbstraction(abstraction: Abstraction): Promise<any>;
|
|
120
131
|
/**
|
|
121
132
|
* Prepare approve agent data for main wallet signing
|
|
@@ -175,17 +186,17 @@ export declare class ExchangeClient {
|
|
|
175
186
|
* Place a spot order for stablecoin swaps on Hyperliquid.
|
|
176
187
|
* Used to swap between USDC, USDT, USDH, USDE on the spot market.
|
|
177
188
|
*
|
|
178
|
-
* @param params.coin - The spot asset to trade (e.g., 'USDT', 'USDH')
|
|
189
|
+
* @param params.coin - The spot asset to trade (e.g., 'USDT', 'USDH', 'USDE')
|
|
179
190
|
* @param params.isBuy - true = buy the coin (sell USDC), false = sell the coin (buy USDC)
|
|
180
191
|
* @param params.size - Amount to trade
|
|
181
192
|
* @param params.limitPx - Limit price (use '1' for stablecoin 1:1 swaps)
|
|
182
193
|
* @param params.tif - Time in force: 'Ioc' for immediate or cancel
|
|
183
194
|
*/
|
|
184
|
-
|
|
185
|
-
coin:
|
|
195
|
+
stableCoinOrder(params: {
|
|
196
|
+
coin: 'USDT' | 'USDH' | 'USDE';
|
|
186
197
|
isBuy: boolean;
|
|
187
198
|
size: string;
|
|
188
199
|
limitPx: string;
|
|
189
200
|
tif?: Tif;
|
|
190
|
-
}): Promise<
|
|
201
|
+
}): Promise<OrderResponse>;
|
|
191
202
|
}
|
|
@@ -797,6 +797,52 @@ class ExchangeClient {
|
|
|
797
797
|
}
|
|
798
798
|
});
|
|
799
799
|
}
|
|
800
|
+
/**
|
|
801
|
+
* Prepare userSetAbstraction data for main wallet signing
|
|
802
|
+
* Must be signed by the master wallet (NOT the agent)
|
|
803
|
+
* abstraction values: 'disabled' | 'unifiedAccount' | 'portfolioMargin'
|
|
804
|
+
*/
|
|
805
|
+
prepareUserSetAbstraction(params) {
|
|
806
|
+
const nonce = Date.now();
|
|
807
|
+
const action = {
|
|
808
|
+
type: constants_1.ExchangeType.USER_SET_ABSTRACTION,
|
|
809
|
+
hyperliquidChain: this.isTestnet ? 'Testnet' : 'Mainnet',
|
|
810
|
+
signatureChainId: this.isTestnet ? '0x66eee' : '0xa4b1',
|
|
811
|
+
user: params.user,
|
|
812
|
+
abstraction: params.abstraction,
|
|
813
|
+
nonce,
|
|
814
|
+
};
|
|
815
|
+
const { domain, types, primaryType, message } = (0, signer_1.prepareMasterSignData)({
|
|
816
|
+
action,
|
|
817
|
+
payloadTypes: [
|
|
818
|
+
{ name: 'hyperliquidChain', type: 'string' },
|
|
819
|
+
{ name: 'user', type: 'address' },
|
|
820
|
+
{ name: 'abstraction', type: 'string' },
|
|
821
|
+
{ name: 'nonce', type: 'uint64' },
|
|
822
|
+
],
|
|
823
|
+
primaryType: 'HyperliquidTransaction:UserSetAbstraction',
|
|
824
|
+
isMainnet: !this.isTestnet,
|
|
825
|
+
});
|
|
826
|
+
return {
|
|
827
|
+
domain,
|
|
828
|
+
types,
|
|
829
|
+
primaryType,
|
|
830
|
+
message,
|
|
831
|
+
nonce,
|
|
832
|
+
};
|
|
833
|
+
}
|
|
834
|
+
/**
|
|
835
|
+
* Send userSetAbstraction request with main wallet signature
|
|
836
|
+
* nonce must be the same as the nonce in prepareUserSetAbstraction
|
|
837
|
+
*/
|
|
838
|
+
sendUserSetAbstraction(params) {
|
|
839
|
+
const splitSignature = (0, signer_1.splitSig)(params.signature);
|
|
840
|
+
return this.httpClient.exchange({
|
|
841
|
+
action: params.action,
|
|
842
|
+
nonce: params.nonce,
|
|
843
|
+
signature: splitSignature,
|
|
844
|
+
});
|
|
845
|
+
}
|
|
800
846
|
agentSetAbstraction(abstraction) {
|
|
801
847
|
return __awaiter(this, void 0, void 0, function* () {
|
|
802
848
|
const nonce = Date.now();
|
|
@@ -1061,16 +1107,21 @@ class ExchangeClient {
|
|
|
1061
1107
|
* Place a spot order for stablecoin swaps on Hyperliquid.
|
|
1062
1108
|
* Used to swap between USDC, USDT, USDH, USDE on the spot market.
|
|
1063
1109
|
*
|
|
1064
|
-
* @param params.coin - The spot asset to trade (e.g., 'USDT', 'USDH')
|
|
1110
|
+
* @param params.coin - The spot asset to trade (e.g., 'USDT', 'USDH', 'USDE')
|
|
1065
1111
|
* @param params.isBuy - true = buy the coin (sell USDC), false = sell the coin (buy USDC)
|
|
1066
1112
|
* @param params.size - Amount to trade
|
|
1067
1113
|
* @param params.limitPx - Limit price (use '1' for stablecoin 1:1 swaps)
|
|
1068
1114
|
* @param params.tif - Time in force: 'Ioc' for immediate or cancel
|
|
1069
1115
|
*/
|
|
1070
|
-
|
|
1116
|
+
stableCoinOrder(params) {
|
|
1071
1117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1072
|
-
const { coin, isBuy, size, limitPx, tif = '
|
|
1073
|
-
const
|
|
1118
|
+
const { coin, isBuy, size, limitPx, tif = 'FrontendMarket' } = params;
|
|
1119
|
+
const assetIndexMap = {
|
|
1120
|
+
USDT: 10166,
|
|
1121
|
+
USDH: 10230,
|
|
1122
|
+
USDE: 10150,
|
|
1123
|
+
};
|
|
1124
|
+
const assetIndex = assetIndexMap[coin];
|
|
1074
1125
|
const nonce = Date.now();
|
|
1075
1126
|
const orderRequest = {
|
|
1076
1127
|
a: assetIndex,
|
|
@@ -27,6 +27,7 @@ export declare enum ExchangeType {
|
|
|
27
27
|
SET_REFERRER = "setReferrer",
|
|
28
28
|
AGENT_ENABLE_DEX_ABSTRACTION = "agentEnableDexAbstraction",
|
|
29
29
|
AGENT_SET_ABSTRACTION = "agentSetAbstraction",
|
|
30
|
+
USER_SET_ABSTRACTION = "userSetAbstraction",
|
|
30
31
|
TWAP_ORDER = "twapOrder",
|
|
31
32
|
TWAP_CANCEL = "twapCancel"
|
|
32
33
|
}
|
package/dist/types/constants.js
CHANGED
|
@@ -33,6 +33,7 @@ var ExchangeType;
|
|
|
33
33
|
ExchangeType["SET_REFERRER"] = "setReferrer";
|
|
34
34
|
ExchangeType["AGENT_ENABLE_DEX_ABSTRACTION"] = "agentEnableDexAbstraction";
|
|
35
35
|
ExchangeType["AGENT_SET_ABSTRACTION"] = "agentSetAbstraction";
|
|
36
|
+
ExchangeType["USER_SET_ABSTRACTION"] = "userSetAbstraction";
|
|
36
37
|
ExchangeType["TWAP_ORDER"] = "twapOrder";
|
|
37
38
|
ExchangeType["TWAP_CANCEL"] = "twapCancel";
|
|
38
39
|
})(ExchangeType || (exports.ExchangeType = ExchangeType = {}));
|
package/dist/types/index.d.ts
CHANGED
|
@@ -380,6 +380,15 @@ export declare enum Abstraction {
|
|
|
380
380
|
PORTFOLIO_MARGIN = "p",
|
|
381
381
|
DISABLED = "i"
|
|
382
382
|
}
|
|
383
|
+
export declare enum UserAbstraction {
|
|
384
|
+
UNIFIED_ACCOUNT = "unifiedAccount",
|
|
385
|
+
PORTFOLIO_MARGIN = "portfolioMargin",
|
|
386
|
+
DISABLED = "disabled"
|
|
387
|
+
}
|
|
388
|
+
export interface UserSetAbstractionParams {
|
|
389
|
+
user: string;
|
|
390
|
+
abstraction: UserAbstraction;
|
|
391
|
+
}
|
|
383
392
|
export declare enum UserAbstractionResp {
|
|
384
393
|
unifiedAccount = "unifiedAccount",
|
|
385
394
|
portfolioMargin = "portfolioMargin",
|
package/dist/types/index.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.USDC_TOKEN_ID = exports.UserAbstractionResp = exports.Abstraction = void 0;
|
|
3
|
+
exports.USDC_TOKEN_ID = exports.UserAbstractionResp = exports.UserAbstraction = exports.Abstraction = void 0;
|
|
4
4
|
var Abstraction;
|
|
5
5
|
(function (Abstraction) {
|
|
6
6
|
Abstraction["UNIFIED_ACCOUNT"] = "u";
|
|
7
7
|
Abstraction["PORTFOLIO_MARGIN"] = "p";
|
|
8
8
|
Abstraction["DISABLED"] = "i";
|
|
9
9
|
})(Abstraction || (exports.Abstraction = Abstraction = {}));
|
|
10
|
+
var UserAbstraction;
|
|
11
|
+
(function (UserAbstraction) {
|
|
12
|
+
UserAbstraction["UNIFIED_ACCOUNT"] = "unifiedAccount";
|
|
13
|
+
UserAbstraction["PORTFOLIO_MARGIN"] = "portfolioMargin";
|
|
14
|
+
UserAbstraction["DISABLED"] = "disabled";
|
|
15
|
+
})(UserAbstraction || (exports.UserAbstraction = UserAbstraction = {}));
|
|
10
16
|
var UserAbstractionResp;
|
|
11
17
|
(function (UserAbstractionResp) {
|
|
12
18
|
UserAbstractionResp["unifiedAccount"] = "unifiedAccount";
|
package/package.json
CHANGED