@nktkas/hyperliquid 0.13.0
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.
- package/CONTRIBUTING.md +59 -0
- package/LICENSE +21 -0
- package/README.md +363 -0
- package/SECURITY.md +7 -0
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +2 -0
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +1 -0
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +95 -0
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +1 -0
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +10 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts +23 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts.map +1 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.js +43 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts +55 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts.map +1 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.js +65 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts +2 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts.map +1 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.js +1 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts +52 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts.map +1 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.js +283 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts +120 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts.map +1 -0
- package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/utils.js +211 -0
- package/esm/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts +19 -0
- package/esm/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/bytes/1.0.4/concat.js +32 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts +2 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.js +26 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts +37 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.6/hex.js +109 -0
- package/esm/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts +37 -0
- package/esm/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/msgpack/1.0.2/encode.js +237 -0
- package/esm/mod.d.ts +24 -0
- package/esm/mod.d.ts.map +1 -0
- package/esm/mod.js +9 -0
- package/esm/package.json +3 -0
- package/esm/src/clients/event.d.ts +374 -0
- package/esm/src/clients/event.d.ts.map +1 -0
- package/esm/src/clients/event.js +490 -0
- package/esm/src/clients/public.d.ts +695 -0
- package/esm/src/clients/public.d.ts.map +1 -0
- package/esm/src/clients/public.js +704 -0
- package/esm/src/clients/wallet.d.ts +682 -0
- package/esm/src/clients/wallet.d.ts.map +1 -0
- package/esm/src/clients/wallet.js +984 -0
- package/esm/src/transports/base.d.ts +55 -0
- package/esm/src/transports/base.d.ts.map +1 -0
- package/esm/src/transports/base.js +14 -0
- package/esm/src/transports/http/http_transport.d.ts +78 -0
- package/esm/src/transports/http/http_transport.d.ts.map +1 -0
- package/esm/src/transports/http/http_transport.js +170 -0
- package/esm/src/transports/websocket/hyperliquid_event_target.d.ts +66 -0
- package/esm/src/transports/websocket/hyperliquid_event_target.d.ts.map +1 -0
- package/esm/src/transports/websocket/hyperliquid_event_target.js +33 -0
- package/esm/src/transports/websocket/reconnecting_websocket.d.ts +160 -0
- package/esm/src/transports/websocket/reconnecting_websocket.d.ts.map +1 -0
- package/esm/src/transports/websocket/reconnecting_websocket.js +370 -0
- package/esm/src/transports/websocket/websocket_request_dispatcher.d.ts +63 -0
- package/esm/src/transports/websocket/websocket_request_dispatcher.d.ts.map +1 -0
- package/esm/src/transports/websocket/websocket_request_dispatcher.js +201 -0
- package/esm/src/transports/websocket/websocket_transport.d.ts +117 -0
- package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -0
- package/esm/src/transports/websocket/websocket_transport.js +233 -0
- package/esm/src/utils/key_sort.d.ts +21 -0
- package/esm/src/utils/key_sort.d.ts.map +1 -0
- package/esm/src/utils/key_sort.js +124 -0
- package/esm/src/utils/signing.d.ts +109 -0
- package/esm/src/utils/signing.d.ts.map +1 -0
- package/esm/src/utils/signing.js +164 -0
- package/package.json +34 -0
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +2 -0
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +17 -0
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +95 -0
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +1 -0
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +14 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts +23 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts.map +1 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.js +49 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts +55 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts.map +1 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.js +88 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts +2 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts.map +1 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.js +4 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts +52 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts.map +1 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.js +288 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts +120 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts.map +1 -0
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.js +235 -0
- package/script/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts +19 -0
- package/script/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/bytes/1.0.4/concat.js +35 -0
- package/script/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts +2 -0
- package/script/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.js +29 -0
- package/script/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts +37 -0
- package/script/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/encoding/1.0.6/hex.js +113 -0
- package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts +37 -0
- package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.js +240 -0
- package/script/mod.d.ts +24 -0
- package/script/mod.d.ts.map +1 -0
- package/script/mod.js +27 -0
- package/script/package.json +3 -0
- package/script/src/clients/event.d.ts +374 -0
- package/script/src/clients/event.d.ts.map +1 -0
- package/script/src/clients/event.js +494 -0
- package/script/src/clients/public.d.ts +695 -0
- package/script/src/clients/public.d.ts.map +1 -0
- package/script/src/clients/public.js +708 -0
- package/script/src/clients/wallet.d.ts +682 -0
- package/script/src/clients/wallet.d.ts.map +1 -0
- package/script/src/clients/wallet.js +989 -0
- package/script/src/transports/base.d.ts +55 -0
- package/script/src/transports/base.d.ts.map +1 -0
- package/script/src/transports/base.js +18 -0
- package/script/src/transports/http/http_transport.d.ts +78 -0
- package/script/src/transports/http/http_transport.d.ts.map +1 -0
- package/script/src/transports/http/http_transport.js +175 -0
- package/script/src/transports/websocket/hyperliquid_event_target.d.ts +66 -0
- package/script/src/transports/websocket/hyperliquid_event_target.d.ts.map +1 -0
- package/script/src/transports/websocket/hyperliquid_event_target.js +37 -0
- package/script/src/transports/websocket/reconnecting_websocket.d.ts +160 -0
- package/script/src/transports/websocket/reconnecting_websocket.d.ts.map +1 -0
- package/script/src/transports/websocket/reconnecting_websocket.js +374 -0
- package/script/src/transports/websocket/websocket_request_dispatcher.d.ts +63 -0
- package/script/src/transports/websocket/websocket_request_dispatcher.d.ts.map +1 -0
- package/script/src/transports/websocket/websocket_request_dispatcher.js +206 -0
- package/script/src/transports/websocket/websocket_transport.d.ts +117 -0
- package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -0
- package/script/src/transports/websocket/websocket_transport.js +237 -0
- package/script/src/utils/key_sort.d.ts +21 -0
- package/script/src/utils/key_sort.d.ts.map +1 -0
- package/script/src/utils/key_sort.js +127 -0
- package/script/src/utils/signing.d.ts +109 -0
- package/script/src/utils/signing.d.ts.map +1 -0
- package/script/src/utils/signing.js +172 -0
|
@@ -0,0 +1,708 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PublicClient = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Public client for interacting with the Hyperliquid API.
|
|
6
|
+
* @typeParam T - The type of transport used to connect to the Hyperliquid API.
|
|
7
|
+
*/
|
|
8
|
+
class PublicClient {
|
|
9
|
+
/**
|
|
10
|
+
* Initialises a new instance.
|
|
11
|
+
* @param args - The arguments for initialisation.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
16
|
+
*
|
|
17
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
18
|
+
* const client = new hl.PublicClient({ transport });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
constructor(args) {
|
|
22
|
+
/** The transport used to connect to the Hyperliquid API. */
|
|
23
|
+
Object.defineProperty(this, "transport", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: void 0
|
|
28
|
+
});
|
|
29
|
+
this.transport = args.transport;
|
|
30
|
+
}
|
|
31
|
+
// ———————————————Info API———————————————
|
|
32
|
+
/**
|
|
33
|
+
* Request mid coin prices.
|
|
34
|
+
* @param signal - An optional abort signal.
|
|
35
|
+
* @returns Mid coin prices.
|
|
36
|
+
*
|
|
37
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins | Hyperliquid GitBook}
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
41
|
+
*
|
|
42
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
43
|
+
* const client = new hl.PublicClient({ transport });
|
|
44
|
+
*
|
|
45
|
+
* const allMids = await client.allMids();
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
allMids(signal) {
|
|
49
|
+
return this.transport.request("info", { type: "allMids" }, signal);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Request candlestick snapshots.
|
|
53
|
+
* @param args - The parameters for the request.
|
|
54
|
+
* @param signal - An optional abort signal.
|
|
55
|
+
* @returns Array of candlestick data points.
|
|
56
|
+
*
|
|
57
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#candle-snapshot | Hyperliquid GitBook}
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
61
|
+
*
|
|
62
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
63
|
+
* const client = new hl.PublicClient({ transport });
|
|
64
|
+
*
|
|
65
|
+
* const candles = await client.candleSnapshot({
|
|
66
|
+
* coin: "ETH",
|
|
67
|
+
* interval: "1h",
|
|
68
|
+
* startTime: Date.now() - 1000 * 60 * 60 * 24
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
candleSnapshot(args, signal) {
|
|
73
|
+
return this.transport.request("info", { type: "candleSnapshot", req: args }, signal);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Request clearinghouse state.
|
|
77
|
+
* @param args - The parameters for the request.
|
|
78
|
+
* @param signal - An optional abort signal.
|
|
79
|
+
* @returns Account summary for perpetual trading.
|
|
80
|
+
*
|
|
81
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-users-perpetuals-account-summary | Hyperliquid GitBook}
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
85
|
+
*
|
|
86
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
87
|
+
* const client = new hl.PublicClient({ transport });
|
|
88
|
+
*
|
|
89
|
+
* const state = await client.clearinghouseState({ user: "0x..." });
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
clearinghouseState(args, signal) {
|
|
93
|
+
return this.transport.request("info", { type: "clearinghouseState", ...args }, signal);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Request user's extra agents.
|
|
97
|
+
* @param args - The parameters for the request.
|
|
98
|
+
* @param signal - An optional abort signal.
|
|
99
|
+
* @returns User's extra agents.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
104
|
+
*
|
|
105
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
106
|
+
* const client = new hl.PublicClient({ transport });
|
|
107
|
+
*
|
|
108
|
+
* const extraAgents = await client.extraAgents({ user: "0x..." });
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
extraAgents(args, signal) {
|
|
112
|
+
return this.transport.request("info", { type: "extraAgents", ...args }, signal);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Request frontend open orders.
|
|
116
|
+
* @param args - The parameters for the request.
|
|
117
|
+
* @param signal - An optional abort signal.
|
|
118
|
+
* @returns Array of open orders with additional frontend information.
|
|
119
|
+
*
|
|
120
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders-with-additional-frontend-info | Hyperliquid GitBook}
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
124
|
+
*
|
|
125
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
126
|
+
* const client = new hl.PublicClient({ transport });
|
|
127
|
+
*
|
|
128
|
+
* const orders = await client.frontendOpenOrders({ user: "0x..." });
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
frontendOpenOrders(args, signal) {
|
|
132
|
+
return this.transport.request("info", { type: "frontendOpenOrders", ...args }, signal);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Request funding history.
|
|
136
|
+
* @param args - The parameters for the request.
|
|
137
|
+
* @param signal - An optional abort signal.
|
|
138
|
+
* @returns Array of historical funding rate data for an asset.
|
|
139
|
+
*
|
|
140
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-historical-funding-rates | Hyperliquid GitBook}
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
144
|
+
*
|
|
145
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
146
|
+
* const client = new hl.PublicClient({ transport });
|
|
147
|
+
*
|
|
148
|
+
* const funding = await client.fundingHistory({
|
|
149
|
+
* coin: "ETH",
|
|
150
|
+
* startTime: Date.now() - 1000 * 60 * 60 * 24
|
|
151
|
+
* });
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
fundingHistory(args, signal) {
|
|
155
|
+
return this.transport.request("info", { type: "fundingHistory", ...args }, signal);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Request user's historical orders.
|
|
159
|
+
* @param args - The parameters for the request.
|
|
160
|
+
* @param signal - An optional abort signal.
|
|
161
|
+
* @returns Array of user's historical orders.
|
|
162
|
+
*
|
|
163
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-historical-orders | Hyperliquid GitBook}
|
|
164
|
+
* @example
|
|
165
|
+
* ```ts
|
|
166
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
167
|
+
*
|
|
168
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
169
|
+
* const client = new hl.PublicClient({ transport });
|
|
170
|
+
*
|
|
171
|
+
* const orders = await client.historicalOrders({ user: "0x..." });
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
historicalOrders(args, signal) {
|
|
175
|
+
return this.transport.request("info", { type: "historicalOrders", ...args }, signal);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Request L2 order book.
|
|
179
|
+
* @param args - The parameters for the request.
|
|
180
|
+
* @param signal - An optional abort signal.
|
|
181
|
+
* @returns L2 order book snapshot.
|
|
182
|
+
*
|
|
183
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot | Hyperliquid GitBook}
|
|
184
|
+
* @example
|
|
185
|
+
* ```ts
|
|
186
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
187
|
+
*
|
|
188
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
189
|
+
* const client = new hl.PublicClient({ transport });
|
|
190
|
+
*
|
|
191
|
+
* const book = await client.l2Book({ coin: "ETH", nSigFigs: 2 });
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
l2Book(args, signal) {
|
|
195
|
+
return this.transport.request("info", { type: "l2Book", ...args }, signal);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Request builder fee approval.
|
|
199
|
+
* @param args - The parameters for the request.
|
|
200
|
+
* @param signal - An optional abort signal.
|
|
201
|
+
* @returns Maximum builder fee approval.
|
|
202
|
+
*
|
|
203
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#check-builder-fee-approval | Hyperliquid GitBook}
|
|
204
|
+
* @example
|
|
205
|
+
* ```ts
|
|
206
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
207
|
+
*
|
|
208
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
209
|
+
* const client = new hl.PublicClient({ transport });
|
|
210
|
+
*
|
|
211
|
+
* const maxBuilderFee = await client.maxBuilderFee({ user: "0x...", builder: "0x..." });
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
maxBuilderFee(args, signal) {
|
|
215
|
+
return this.transport.request("info", { type: "maxBuilderFee", ...args }, signal);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Request trading metadata.
|
|
219
|
+
* @param signal - An optional abort signal.
|
|
220
|
+
* @returns Metadata for perpetual assets.
|
|
221
|
+
*
|
|
222
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-metadata | Hyperliquid GitBook}
|
|
223
|
+
* @example
|
|
224
|
+
* ```ts
|
|
225
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
226
|
+
*
|
|
227
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
228
|
+
* const client = new hl.PublicClient({ transport });
|
|
229
|
+
*
|
|
230
|
+
* const meta = await client.meta();
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
233
|
+
meta(signal) {
|
|
234
|
+
return this.transport.request("info", { type: "meta" }, signal);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Request metadata and asset contexts.
|
|
238
|
+
* @param signal - An optional abort signal.
|
|
239
|
+
* @returns Metadata and context information for each perpetual asset.
|
|
240
|
+
*
|
|
241
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-asset-contexts-includes-mark-price-current-funding-open-interest-etc | Hyperliquid GitBook}
|
|
242
|
+
* @example
|
|
243
|
+
* ```ts
|
|
244
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
245
|
+
*
|
|
246
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
247
|
+
* const client = new hl.PublicClient({ transport });
|
|
248
|
+
*
|
|
249
|
+
* const [meta, assetCtxs] = await client.metaAndAssetCtxs();
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
metaAndAssetCtxs(signal) {
|
|
253
|
+
return this.transport.request("info", { type: "metaAndAssetCtxs" }, signal);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Request open orders.
|
|
257
|
+
* @param args - The parameters for the request.
|
|
258
|
+
* @param signal - An optional abort signal.
|
|
259
|
+
* @returns Array of open order.
|
|
260
|
+
*
|
|
261
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders | Hyperliquid GitBook}
|
|
262
|
+
* @example
|
|
263
|
+
* ```ts
|
|
264
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
265
|
+
*
|
|
266
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
267
|
+
* const client = new hl.PublicClient({ transport });
|
|
268
|
+
*
|
|
269
|
+
* const orders = await client.openOrders({ user: "0x..." });
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
272
|
+
openOrders(args, signal) {
|
|
273
|
+
return this.transport.request("info", { type: "openOrders", ...args }, signal);
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Request order status.
|
|
277
|
+
* @param args - The parameters for the request.
|
|
278
|
+
* @param signal - An optional abort signal.
|
|
279
|
+
* @returns Result of an order status lookup.
|
|
280
|
+
*
|
|
281
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-order-status-by-oid-or-cloid | Hyperliquid GitBook}
|
|
282
|
+
* @example
|
|
283
|
+
* ```ts
|
|
284
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
285
|
+
*
|
|
286
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
287
|
+
* const client = new hl.PublicClient({ transport });
|
|
288
|
+
*
|
|
289
|
+
* const status = await client.orderStatus({ user: "0x...", oid: 12345 });
|
|
290
|
+
* ```
|
|
291
|
+
*/
|
|
292
|
+
orderStatus(args, signal) {
|
|
293
|
+
return this.transport.request("info", { type: "orderStatus", ...args }, signal);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Request predicted funding rates.
|
|
297
|
+
* @param signal - An optional abort signal.
|
|
298
|
+
* @returns Array of predicted funding rates.
|
|
299
|
+
*
|
|
300
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-predicted-funding-rates-for-different-venues | Hyperliquid GitBook}
|
|
301
|
+
* @example
|
|
302
|
+
* ```ts
|
|
303
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
304
|
+
*
|
|
305
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
306
|
+
* const client = new hl.PublicClient({ transport });
|
|
307
|
+
*
|
|
308
|
+
* const predictedFundings = await client.predictedFundings();
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
predictedFundings(signal) {
|
|
312
|
+
return this.transport.request("info", { type: "predictedFundings" }, signal);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Request user referral.
|
|
316
|
+
* @param args - The parameters for the request.
|
|
317
|
+
* @param signal - An optional abort signal.
|
|
318
|
+
* @returns Referral information for a user.
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```ts
|
|
322
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
323
|
+
*
|
|
324
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
325
|
+
* const client = new hl.PublicClient({ transport });
|
|
326
|
+
*
|
|
327
|
+
* const referral = await client.referral({ user: "0x..." });
|
|
328
|
+
* ```
|
|
329
|
+
*/
|
|
330
|
+
referral(args, signal) {
|
|
331
|
+
return this.transport.request("info", { type: "referral", ...args }, signal);
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Request spot clearinghouse state.
|
|
335
|
+
* @param args - The parameters for the request.
|
|
336
|
+
* @param signal - An optional abort signal.
|
|
337
|
+
* @returns Balances for spot tokens.
|
|
338
|
+
*
|
|
339
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-a-users-token-balances | Hyperliquid GitBook}
|
|
340
|
+
* @example
|
|
341
|
+
* ```ts
|
|
342
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
343
|
+
*
|
|
344
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
345
|
+
* const client = new hl.PublicClient({ transport });
|
|
346
|
+
*
|
|
347
|
+
* const state = await client.spotClearinghouseState({ user: "0x..." });
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
350
|
+
spotClearinghouseState(args, signal) {
|
|
351
|
+
return this.transport.request("info", { type: "spotClearinghouseState", ...args }, signal);
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Request spot deploy state.
|
|
355
|
+
* @param args - The parameters for the request.
|
|
356
|
+
* @param signal - An optional abort signal.
|
|
357
|
+
* @returns The deploy state of a user.
|
|
358
|
+
*
|
|
359
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-the-spot-deploy-auction | Hyperliquid GitBook}
|
|
360
|
+
*/
|
|
361
|
+
spotDeployState(args, signal) {
|
|
362
|
+
return this.transport.request("info", { type: "spotDeployState", ...args }, signal);
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Request spot trading metadata.
|
|
366
|
+
* @param signal - An optional abort signal.
|
|
367
|
+
* @returns Metadata for spot assets.
|
|
368
|
+
*
|
|
369
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-metadata | Hyperliquid GitBook}
|
|
370
|
+
* @example
|
|
371
|
+
* ```ts
|
|
372
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
373
|
+
*
|
|
374
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
375
|
+
* const client = new hl.PublicClient({ transport });
|
|
376
|
+
*
|
|
377
|
+
* const meta = await client.spotMeta();
|
|
378
|
+
* ```
|
|
379
|
+
*/
|
|
380
|
+
spotMeta(signal) {
|
|
381
|
+
return this.transport.request("info", { type: "spotMeta" }, signal);
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Request spot metadata and asset contexts.
|
|
385
|
+
* @param signal - An optional abort signal.
|
|
386
|
+
* @returns Metadata and context information for each spot asset.
|
|
387
|
+
*
|
|
388
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-asset-contexts | Hyperliquid GitBook}
|
|
389
|
+
* @example
|
|
390
|
+
* ```ts
|
|
391
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
392
|
+
*
|
|
393
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
394
|
+
* const client = new hl.PublicClient({ transport });
|
|
395
|
+
*
|
|
396
|
+
* const [meta, assetCtxs] = await client.spotMetaAndAssetCtxs();
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
399
|
+
spotMetaAndAssetCtxs(signal) {
|
|
400
|
+
return this.transport.request("info", { type: "spotMetaAndAssetCtxs" }, signal);
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Request user sub-accounts.
|
|
404
|
+
* @param args - The parameters for the request.
|
|
405
|
+
* @param signal - An optional abort signal.
|
|
406
|
+
* @returns Array of user sub-account.
|
|
407
|
+
*
|
|
408
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-subaccounts | Hyperliquid GitBook}
|
|
409
|
+
* @example
|
|
410
|
+
* ```ts
|
|
411
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
412
|
+
*
|
|
413
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
414
|
+
* const client = new hl.PublicClient({ transport });
|
|
415
|
+
*
|
|
416
|
+
* const subAccounts = await client.subAccounts({ user: "0x..." });
|
|
417
|
+
* ```
|
|
418
|
+
*/
|
|
419
|
+
subAccounts(args, signal) {
|
|
420
|
+
return this.transport.request("info", { type: "subAccounts", ...args }, signal);
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Request token details.
|
|
424
|
+
* @param args - The parameters for the request.
|
|
425
|
+
* @param signal - An optional abort signal.
|
|
426
|
+
* @returns The details of a token.
|
|
427
|
+
*
|
|
428
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-a-token | Hyperliquid GitBook}
|
|
429
|
+
* @example
|
|
430
|
+
* ```ts
|
|
431
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
432
|
+
*
|
|
433
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
434
|
+
* const client = new hl.PublicClient({ transport });
|
|
435
|
+
*
|
|
436
|
+
* const details = await client.tokenDetails({ tokenId: "0x..." });
|
|
437
|
+
* ```
|
|
438
|
+
*/
|
|
439
|
+
tokenDetails(args, signal) {
|
|
440
|
+
return this.transport.request("info", { type: "tokenDetails", ...args }, signal);
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Request twap history of a user.
|
|
444
|
+
* @param args - The parameters for the request.
|
|
445
|
+
* @param signal - An optional abort signal.
|
|
446
|
+
* @returns The twap history of a user.
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* ```ts
|
|
450
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
451
|
+
*
|
|
452
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
453
|
+
* const client = new hl.PublicClient({ transport });
|
|
454
|
+
*
|
|
455
|
+
* const twapHistory = await client.twapHistory({ user: "0x..." });
|
|
456
|
+
* ```
|
|
457
|
+
*/
|
|
458
|
+
twapHistory(args, signal) {
|
|
459
|
+
return this.transport.request("info", { type: "twapHistory", ...args }, signal);
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Request user fees.
|
|
463
|
+
* @param args - The parameters for the request.
|
|
464
|
+
* @param signal - An optional abort signal.
|
|
465
|
+
* @returns User fees.
|
|
466
|
+
*
|
|
467
|
+
* @example
|
|
468
|
+
* ```ts
|
|
469
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
470
|
+
*
|
|
471
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
472
|
+
* const client = new hl.PublicClient({ transport });
|
|
473
|
+
*
|
|
474
|
+
* const userFees = await client.userFees({ user: "0x..." });
|
|
475
|
+
* ```
|
|
476
|
+
*/
|
|
477
|
+
userFees(args, signal) {
|
|
478
|
+
return this.transport.request("info", { type: "userFees", ...args }, signal);
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Request user fills.
|
|
482
|
+
* @param args - The parameters for the request.
|
|
483
|
+
* @param signal - An optional abort signal.
|
|
484
|
+
* @returns Array of user's trade fill.
|
|
485
|
+
*
|
|
486
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills | Hyperliquid GitBook}
|
|
487
|
+
* @example
|
|
488
|
+
* ```ts
|
|
489
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
490
|
+
*
|
|
491
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
492
|
+
* const client = new hl.PublicClient({ transport });
|
|
493
|
+
*
|
|
494
|
+
* const fills = await client.userFills({ user: "0x..." });
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
userFills(args, signal) {
|
|
498
|
+
return this.transport.request("info", { type: "userFills", ...args }, signal);
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Request user fills by time.
|
|
502
|
+
* @param args - The parameters for the request.
|
|
503
|
+
* @param signal - An optional abort signal.
|
|
504
|
+
* @returns Array of user's trade fill.
|
|
505
|
+
*
|
|
506
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills-by-time | Hyperliquid GitBook}
|
|
507
|
+
* @example
|
|
508
|
+
* ```ts
|
|
509
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
510
|
+
*
|
|
511
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
512
|
+
* const client = new hl.PublicClient({ transport });
|
|
513
|
+
*
|
|
514
|
+
* const fills = await client.userFillsByTime({
|
|
515
|
+
* user: "0x...",
|
|
516
|
+
* startTime: Date.now() - 1000 * 60 * 60 * 24
|
|
517
|
+
* });
|
|
518
|
+
* ```
|
|
519
|
+
*/
|
|
520
|
+
userFillsByTime(args, signal) {
|
|
521
|
+
return this.transport.request("info", { type: "userFillsByTime", ...args }, signal);
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Request user funding.
|
|
525
|
+
* @param args - The parameters for the request.
|
|
526
|
+
* @param signal - An optional abort signal.
|
|
527
|
+
* @returns Array of user's funding ledger update.
|
|
528
|
+
*
|
|
529
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates | Hyperliquid GitBook}
|
|
530
|
+
* @example
|
|
531
|
+
* ```ts
|
|
532
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
533
|
+
*
|
|
534
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
535
|
+
* const client = new hl.PublicClient({ transport });
|
|
536
|
+
*
|
|
537
|
+
* const funding = await client.userFunding({
|
|
538
|
+
* user: "0x...",
|
|
539
|
+
* startTime: Date.now() - 1000 * 60 * 60 * 24
|
|
540
|
+
* });
|
|
541
|
+
* ```
|
|
542
|
+
*/
|
|
543
|
+
userFunding(args, signal) {
|
|
544
|
+
return this.transport.request("info", { type: "userFunding", ...args }, signal);
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Request user non-funding ledger updates.
|
|
548
|
+
* @param args - The parameters for the request.
|
|
549
|
+
* @param signal - An optional abort signal.
|
|
550
|
+
* @returns Array of user's non-funding ledger update.
|
|
551
|
+
*
|
|
552
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates | Hyperliquid GitBook}
|
|
553
|
+
* @example
|
|
554
|
+
* ```ts
|
|
555
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
556
|
+
*
|
|
557
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
558
|
+
* const client = new hl.PublicClient({ transport });
|
|
559
|
+
*
|
|
560
|
+
* const funding = await client.userNonFundingLedgerUpdates({
|
|
561
|
+
* user: "0x...",
|
|
562
|
+
* startTime: Date.now() - 1000 * 60 * 60 * 24
|
|
563
|
+
* });
|
|
564
|
+
* ```
|
|
565
|
+
*/
|
|
566
|
+
userNonFundingLedgerUpdates(args, signal) {
|
|
567
|
+
return this.transport.request("info", { type: "userNonFundingLedgerUpdates", ...args }, signal);
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Request user rate limits.
|
|
571
|
+
* @param args - The parameters for the request.
|
|
572
|
+
* @param signal - An optional abort signal.
|
|
573
|
+
* @returns User's rate limits.
|
|
574
|
+
*
|
|
575
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-user-rate-limits | Hyperliquid GitBook}
|
|
576
|
+
* @example
|
|
577
|
+
* ```ts
|
|
578
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
579
|
+
*
|
|
580
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
581
|
+
* const client = new hl.PublicClient({ transport });
|
|
582
|
+
*
|
|
583
|
+
* const rateLimit = await client.userRateLimit({ user: "0x..." });
|
|
584
|
+
* ```
|
|
585
|
+
*/
|
|
586
|
+
userRateLimit(args, signal) {
|
|
587
|
+
return this.transport.request("info", { type: "userRateLimit", ...args }, signal);
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Request user twap slice fills.
|
|
591
|
+
* @param args - The parameters for the request.
|
|
592
|
+
* @param signal - An optional abort signal.
|
|
593
|
+
* @returns Array of user's twap slice fill.
|
|
594
|
+
*
|
|
595
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-twap-slice-fills | Hyperliquid GitBook}
|
|
596
|
+
* @example
|
|
597
|
+
* ```ts
|
|
598
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
599
|
+
*
|
|
600
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
601
|
+
* const client = new hl.PublicClient({ transport });
|
|
602
|
+
*
|
|
603
|
+
* const fills = await client.userTwapSliceFills({ user: "0x..." });
|
|
604
|
+
* ```
|
|
605
|
+
*/
|
|
606
|
+
userTwapSliceFills(args, signal) {
|
|
607
|
+
return this.transport.request("info", { type: "userTwapSliceFills", ...args }, signal);
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* Request user vault deposits.
|
|
611
|
+
* @param args - The parameters for the request.
|
|
612
|
+
* @param signal - An optional abort signal.
|
|
613
|
+
* @returns Array of user's vault deposits.
|
|
614
|
+
*
|
|
615
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-vault-deposits | Hyperliquid GitBook}
|
|
616
|
+
* @example
|
|
617
|
+
* ```ts
|
|
618
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
619
|
+
*
|
|
620
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
621
|
+
* const client = new hl.PublicClient({ transport });
|
|
622
|
+
*
|
|
623
|
+
* const deposits = await client.userVaultDeposits({ user: "0x..." });
|
|
624
|
+
* ```
|
|
625
|
+
*/
|
|
626
|
+
userVaultEquities(args, signal) {
|
|
627
|
+
return this.transport.request("info", { type: "userVaultEquities", ...args }, signal);
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Request details of a vault.
|
|
631
|
+
* @param args - The parameters for the request.
|
|
632
|
+
* @param signal - An optional abort signal.
|
|
633
|
+
* @returns Details of a vault.
|
|
634
|
+
*
|
|
635
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-details-for-a-vault | Hyperliquid GitBook}
|
|
636
|
+
* @example
|
|
637
|
+
* ```ts
|
|
638
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
639
|
+
*
|
|
640
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
641
|
+
* const client = new hl.PublicClient({ transport });
|
|
642
|
+
*
|
|
643
|
+
* const vault = await client.vaultDetails({ vaultAddress: "0x..." });
|
|
644
|
+
* ```
|
|
645
|
+
*/
|
|
646
|
+
vaultDetails(args, signal) {
|
|
647
|
+
return this.transport.request("info", { type: "vaultDetails", ...args }, signal);
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* Request a list of vaults less than 2 hours old.
|
|
651
|
+
* @param args - The parameters for the request.
|
|
652
|
+
* @param signal - An optional abort signal.
|
|
653
|
+
* @returns Array of vault summaries.
|
|
654
|
+
*
|
|
655
|
+
* @example
|
|
656
|
+
* ```ts
|
|
657
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
658
|
+
*
|
|
659
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
660
|
+
* const client = new hl.PublicClient({ transport });
|
|
661
|
+
*
|
|
662
|
+
* const vaults = await client.vaultSummaries();
|
|
663
|
+
* ```
|
|
664
|
+
*/
|
|
665
|
+
vaultSummaries(signal) {
|
|
666
|
+
return this.transport.request("info", { type: "vaultSummaries" }, signal);
|
|
667
|
+
}
|
|
668
|
+
// ———————————————Explorer API———————————————
|
|
669
|
+
/**
|
|
670
|
+
* Gets the details of a block.
|
|
671
|
+
* @param args - The parameters for the request.
|
|
672
|
+
* @param signal - An optional abort signal.
|
|
673
|
+
* @returns A promise that resolves with the details of the block.
|
|
674
|
+
*
|
|
675
|
+
* @example
|
|
676
|
+
* ```ts
|
|
677
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
678
|
+
*
|
|
679
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
680
|
+
* const client = new hl.PublicClient({ transport });
|
|
681
|
+
*
|
|
682
|
+
* const { blockDetails } = await client.blockDetails({ height: 123 });
|
|
683
|
+
* ```
|
|
684
|
+
*/
|
|
685
|
+
blockDetails(args, signal) {
|
|
686
|
+
return this.transport.request("explorer", { type: "blockDetails", ...args }, signal);
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Gets the details of a transaction.
|
|
690
|
+
* @param args - The parameters for the request.
|
|
691
|
+
* @param signal - An optional abort signal.
|
|
692
|
+
* @returns A promise that resolves with the details of the transaction.
|
|
693
|
+
*
|
|
694
|
+
* @example
|
|
695
|
+
* ```ts
|
|
696
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
697
|
+
*
|
|
698
|
+
* const transport = new hl.HttpTransport(); // or WebSocketTransport
|
|
699
|
+
* const client = new hl.PublicClient({ transport });
|
|
700
|
+
*
|
|
701
|
+
* const { tx } = await client.txDetails({ hash: "0x..." });
|
|
702
|
+
* ```
|
|
703
|
+
*/
|
|
704
|
+
txDetails(args, signal) {
|
|
705
|
+
return this.transport.request("explorer", { type: "txDetails", ...args }, signal);
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
exports.PublicClient = PublicClient;
|