@nktkas/hyperliquid 0.13.1 → 0.14.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/LICENSE +20 -20
- package/README.md +334 -107
- package/esm/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts +9 -0
- package/esm/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/bytes/1.0.5/_types.js +2 -0
- package/esm/deps/jsr.io/@std/bytes/{1.0.4 → 1.0.5}/concat.d.ts +3 -1
- package/esm/deps/jsr.io/@std/bytes/1.0.5/concat.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/bytes/{1.0.4 → 1.0.5}/concat.js +1 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.7/_types.d.ts +9 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.7/_types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/encoding/1.0.7/_types.js +2 -0
- package/esm/deps/jsr.io/@std/encoding/{1.0.6 → 1.0.7}/_validate_binary_like.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/encoding/{1.0.6 → 1.0.7}/_validate_binary_like.js +1 -1
- package/{script/deps/jsr.io/@std/encoding/1.0.6 → esm/deps/jsr.io/@std/encoding/1.0.7}/hex.d.ts +3 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.7/hex.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/encoding/{1.0.6 → 1.0.7}/hex.js +1 -1
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +9 -0
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.js +2 -0
- package/esm/deps/jsr.io/@std/msgpack/{1.0.2 → 1.0.3}/encode.d.ts +3 -1
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/msgpack/{1.0.2 → 1.0.3}/encode.js +2 -2
- package/esm/mod.d.ts +4 -12
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +2 -2
- package/{script/src/transports → esm/src}/base.d.ts +10 -13
- package/esm/src/base.d.ts.map +1 -0
- package/esm/src/base.js +14 -0
- package/esm/src/clients/event.d.ts +59 -18
- package/esm/src/clients/event.d.ts.map +1 -1
- package/esm/src/clients/event.js +74 -18
- package/esm/src/clients/public.d.ts +348 -53
- package/esm/src/clients/public.d.ts.map +1 -1
- package/esm/src/clients/public.js +349 -50
- package/esm/src/clients/wallet.d.ts +345 -73
- package/esm/src/clients/wallet.d.ts.map +1 -1
- package/esm/src/clients/wallet.js +979 -229
- package/esm/src/signing.d.ts +135 -0
- package/esm/src/signing.d.ts.map +1 -0
- package/esm/src/signing.js +188 -0
- package/esm/src/transports/http/http_transport.d.ts +1 -1
- package/esm/src/transports/http/http_transport.d.ts.map +1 -1
- package/esm/src/transports/http/http_transport.js +1 -1
- package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +64 -0
- package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -0
- package/esm/src/transports/websocket/_hyperliquid_event_target.js +52 -0
- package/esm/src/transports/websocket/{reconnecting_websocket.d.ts → _reconnecting_websocket.d.ts} +26 -26
- package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -0
- package/esm/src/transports/websocket/{reconnecting_websocket.js → _reconnecting_websocket.js} +91 -76
- package/{script/src/transports/websocket/websocket_request_dispatcher.d.ts → esm/src/transports/websocket/_websocket_request_dispatcher.d.ts} +3 -7
- package/esm/src/transports/websocket/_websocket_request_dispatcher.d.ts.map +1 -0
- package/esm/src/transports/websocket/{websocket_request_dispatcher.js → _websocket_request_dispatcher.js} +6 -10
- package/esm/src/transports/websocket/websocket_transport.d.ts +15 -21
- package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/esm/src/transports/websocket/websocket_transport.js +55 -52
- package/esm/src/types/exchange/requests.d.ts +298 -79
- package/esm/src/types/exchange/requests.d.ts.map +1 -1
- package/esm/src/types/exchange/responses.d.ts +38 -38
- package/esm/src/types/exchange/responses.d.ts.map +1 -1
- package/esm/src/types/explorer/requests.d.ts +23 -10
- package/esm/src/types/explorer/requests.d.ts.map +1 -1
- package/esm/src/types/explorer/responses.d.ts +45 -3
- package/esm/src/types/explorer/responses.d.ts.map +1 -1
- package/esm/src/types/info/accounts.d.ts +279 -189
- package/esm/src/types/info/accounts.d.ts.map +1 -1
- package/esm/src/types/info/assets.d.ts +191 -185
- package/esm/src/types/info/assets.d.ts.map +1 -1
- package/esm/src/types/info/delegations.d.ts +117 -0
- package/esm/src/types/info/delegations.d.ts.map +1 -0
- package/esm/src/types/info/orders.d.ts +94 -94
- package/esm/src/types/info/orders.d.ts.map +1 -1
- package/esm/src/types/info/requests.d.ts +192 -64
- package/esm/src/types/info/requests.d.ts.map +1 -1
- package/esm/src/types/info/vaults.d.ts +42 -85
- package/esm/src/types/info/vaults.d.ts.map +1 -1
- package/esm/src/types/mod.d.ts +14 -0
- package/esm/src/types/mod.d.ts.map +1 -0
- package/esm/src/types/subscriptions/requests.d.ts +11 -1
- package/esm/src/types/subscriptions/requests.d.ts.map +1 -1
- package/{script/src/types/subscriptions/common.d.ts → esm/src/types/subscriptions/responses.d.ts} +18 -3
- package/esm/src/types/subscriptions/responses.d.ts.map +1 -0
- package/package.json +20 -4
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +13 -3
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +23 -13
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.js +55 -45
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.js +97 -87
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.js +14 -4
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.js +288 -278
- package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.js +238 -228
- package/script/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts +9 -0
- package/script/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/bytes/1.0.5/_types.js +13 -0
- package/script/deps/jsr.io/@std/bytes/{1.0.4 → 1.0.5}/concat.d.ts +3 -1
- package/script/deps/jsr.io/@std/bytes/1.0.5/concat.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/bytes/1.0.5/concat.js +45 -0
- package/script/deps/jsr.io/@std/encoding/1.0.7/_types.d.ts +9 -0
- package/script/deps/jsr.io/@std/encoding/1.0.7/_types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/encoding/1.0.7/_types.js +13 -0
- package/script/deps/jsr.io/@std/encoding/{1.0.6 → 1.0.7}/_validate_binary_like.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/encoding/1.0.7/_validate_binary_like.js +39 -0
- package/{esm/deps/jsr.io/@std/encoding/1.0.6 → script/deps/jsr.io/@std/encoding/1.0.7}/hex.d.ts +3 -1
- package/script/deps/jsr.io/@std/encoding/1.0.7/hex.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/encoding/1.0.7/hex.js +123 -0
- package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +9 -0
- package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.js +13 -0
- package/script/deps/jsr.io/@std/msgpack/{1.0.2 → 1.0.3}/encode.d.ts +3 -1
- package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.js +250 -0
- package/script/mod.d.ts +4 -12
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +21 -13
- package/{esm/src/transports → script/src}/base.d.ts +10 -13
- package/script/src/base.d.ts.map +1 -0
- package/script/src/base.js +29 -0
- package/script/src/clients/event.d.ts +59 -18
- package/script/src/clients/event.d.ts.map +1 -1
- package/script/src/clients/event.js +551 -485
- package/script/src/clients/public.d.ts +348 -53
- package/script/src/clients/public.d.ts.map +1 -1
- package/script/src/clients/public.js +1017 -708
- package/script/src/clients/wallet.d.ts +345 -73
- package/script/src/clients/wallet.d.ts.map +1 -1
- package/script/src/clients/wallet.js +1737 -977
- package/script/src/signing.d.ts +135 -0
- package/script/src/signing.d.ts.map +1 -0
- package/script/src/signing.js +203 -0
- package/script/src/transports/http/http_transport.d.ts +1 -1
- package/script/src/transports/http/http_transport.d.ts.map +1 -1
- package/script/src/transports/http/http_transport.js +174 -164
- package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +64 -0
- package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -0
- package/script/src/transports/websocket/_hyperliquid_event_target.js +66 -0
- package/script/src/transports/websocket/{reconnecting_websocket.d.ts → _reconnecting_websocket.d.ts} +26 -26
- package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -0
- package/script/src/transports/websocket/_reconnecting_websocket.js +400 -0
- package/{esm/src/transports/websocket/websocket_request_dispatcher.d.ts → script/src/transports/websocket/_websocket_request_dispatcher.d.ts} +3 -7
- package/script/src/transports/websocket/_websocket_request_dispatcher.d.ts.map +1 -0
- package/script/src/transports/websocket/_websocket_request_dispatcher.js +212 -0
- package/script/src/transports/websocket/websocket_transport.d.ts +15 -21
- package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/script/src/transports/websocket/websocket_transport.js +235 -222
- package/script/src/types/exchange/requests.d.ts +298 -79
- package/script/src/types/exchange/requests.d.ts.map +1 -1
- package/script/src/types/exchange/requests.js +12 -2
- package/script/src/types/exchange/responses.d.ts +38 -38
- package/script/src/types/exchange/responses.d.ts.map +1 -1
- package/script/src/types/exchange/responses.js +12 -2
- package/script/src/types/explorer/requests.d.ts +23 -10
- package/script/src/types/explorer/requests.d.ts.map +1 -1
- package/script/src/types/explorer/requests.js +12 -2
- package/script/src/types/explorer/responses.d.ts +45 -3
- package/script/src/types/explorer/responses.d.ts.map +1 -1
- package/script/src/types/explorer/responses.js +12 -2
- package/script/src/types/info/accounts.d.ts +279 -189
- package/script/src/types/info/accounts.d.ts.map +1 -1
- package/script/src/types/info/accounts.js +12 -2
- package/script/src/types/info/assets.d.ts +191 -185
- package/script/src/types/info/assets.d.ts.map +1 -1
- package/script/src/types/info/assets.js +12 -2
- package/script/src/types/info/delegations.d.ts +117 -0
- package/script/src/types/info/delegations.d.ts.map +1 -0
- package/script/src/types/info/delegations.js +12 -0
- package/script/src/types/info/orders.d.ts +94 -94
- package/script/src/types/info/orders.d.ts.map +1 -1
- package/script/src/types/info/orders.js +12 -2
- package/script/src/types/info/requests.d.ts +192 -64
- package/script/src/types/info/requests.d.ts.map +1 -1
- package/script/src/types/info/requests.js +12 -2
- package/script/src/types/info/vaults.d.ts +42 -85
- package/script/src/types/info/vaults.d.ts.map +1 -1
- package/script/src/types/info/vaults.js +12 -2
- package/script/src/types/mod.d.ts +14 -0
- package/script/src/types/mod.d.ts.map +1 -0
- package/script/src/types/mod.js +12 -0
- package/script/src/types/subscriptions/requests.d.ts +11 -1
- package/script/src/types/subscriptions/requests.d.ts.map +1 -1
- package/script/src/types/subscriptions/requests.js +12 -2
- package/{esm/src/types/subscriptions/common.d.ts → script/src/types/subscriptions/responses.d.ts} +18 -3
- package/script/src/types/subscriptions/responses.d.ts.map +1 -0
- package/script/src/types/subscriptions/responses.js +12 -0
- package/esm/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts.map +0 -1
- package/esm/src/transports/base.d.ts.map +0 -1
- package/esm/src/transports/base.js +0 -14
- package/esm/src/transports/websocket/hyperliquid_event_target.d.ts +0 -66
- package/esm/src/transports/websocket/hyperliquid_event_target.d.ts.map +0 -1
- package/esm/src/transports/websocket/hyperliquid_event_target.js +0 -33
- package/esm/src/transports/websocket/reconnecting_websocket.d.ts.map +0 -1
- package/esm/src/transports/websocket/websocket_request_dispatcher.d.ts.map +0 -1
- package/esm/src/types/common.d.ts +0 -3
- package/esm/src/types/common.d.ts.map +0 -1
- package/esm/src/types/exchange/common.d.ts +0 -36
- package/esm/src/types/exchange/common.d.ts.map +0 -1
- package/esm/src/types/explorer/common.d.ts +0 -37
- package/esm/src/types/explorer/common.d.ts.map +0 -1
- package/esm/src/types/subscriptions/common.d.ts.map +0 -1
- package/esm/src/types/subscriptions/common.js +0 -1
- package/esm/src/utils/key_sort.d.ts +0 -21
- package/esm/src/utils/key_sort.d.ts.map +0 -1
- package/esm/src/utils/key_sort.js +0 -124
- package/esm/src/utils/signing.d.ts +0 -109
- package/esm/src/utils/signing.d.ts.map +0 -1
- package/esm/src/utils/signing.js +0 -164
- package/script/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/bytes/1.0.4/concat.js +0 -35
- package/script/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.js +0 -29
- package/script/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.6/hex.js +0 -113
- package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.js +0 -240
- package/script/src/transports/base.d.ts.map +0 -1
- package/script/src/transports/base.js +0 -18
- package/script/src/transports/websocket/hyperliquid_event_target.d.ts +0 -66
- package/script/src/transports/websocket/hyperliquid_event_target.d.ts.map +0 -1
- package/script/src/transports/websocket/hyperliquid_event_target.js +0 -37
- package/script/src/transports/websocket/reconnecting_websocket.d.ts.map +0 -1
- package/script/src/transports/websocket/reconnecting_websocket.js +0 -374
- package/script/src/transports/websocket/websocket_request_dispatcher.d.ts.map +0 -1
- package/script/src/transports/websocket/websocket_request_dispatcher.js +0 -206
- package/script/src/types/common.d.ts +0 -3
- package/script/src/types/common.d.ts.map +0 -1
- package/script/src/types/common.js +0 -2
- package/script/src/types/exchange/common.d.ts +0 -36
- package/script/src/types/exchange/common.d.ts.map +0 -1
- package/script/src/types/exchange/common.js +0 -2
- package/script/src/types/explorer/common.d.ts +0 -37
- package/script/src/types/explorer/common.d.ts.map +0 -1
- package/script/src/types/explorer/common.js +0 -2
- package/script/src/types/subscriptions/common.d.ts.map +0 -1
- package/script/src/types/subscriptions/common.js +0 -2
- package/script/src/utils/key_sort.d.ts +0 -21
- package/script/src/utils/key_sort.d.ts.map +0 -1
- package/script/src/utils/key_sort.js +0 -127
- package/script/src/utils/signing.d.ts +0 -109
- package/script/src/utils/signing.d.ts.map +0 -1
- package/script/src/utils/signing.js +0 -172
- /package/esm/deps/jsr.io/@std/encoding/{1.0.6 → 1.0.7}/_validate_binary_like.d.ts +0 -0
- /package/esm/src/types/{common.js → info/delegations.js} +0 -0
- /package/esm/src/types/{exchange/common.js → mod.js} +0 -0
- /package/esm/src/types/{explorer/common.js → subscriptions/responses.js} +0 -0
- /package/script/deps/jsr.io/@std/encoding/{1.0.6 → 1.0.7}/_validate_binary_like.d.ts +0 -0
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
3
|
-
// This module is browser compatible.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.encode = encode;
|
|
6
|
-
const concat_js_1 = require("../../bytes/1.0.4/concat.js");
|
|
7
|
-
const FOUR_BITS = 16;
|
|
8
|
-
const FIVE_BITS = 32;
|
|
9
|
-
const SEVEN_BITS = 128;
|
|
10
|
-
const EIGHT_BITS = 256;
|
|
11
|
-
const FIFTEEN_BITS = 32768;
|
|
12
|
-
const SIXTEEN_BITS = 65536;
|
|
13
|
-
const THIRTY_ONE_BITS = 2147483648;
|
|
14
|
-
const THIRTY_TWO_BITS = 4294967296;
|
|
15
|
-
const SIXTY_THREE_BITS = 9223372036854775808n;
|
|
16
|
-
const SIXTY_FOUR_BITS = 18446744073709551616n;
|
|
17
|
-
const encoder = new TextEncoder();
|
|
18
|
-
/**
|
|
19
|
-
* Encode a value to {@link https://msgpack.org/ | MessagePack} binary format.
|
|
20
|
-
*
|
|
21
|
-
* @example Usage
|
|
22
|
-
* ```ts
|
|
23
|
-
* import { encode } from "@std/msgpack/encode";
|
|
24
|
-
* import { assertEquals } from "@std/assert";
|
|
25
|
-
*
|
|
26
|
-
* const obj = {
|
|
27
|
-
* str: "deno",
|
|
28
|
-
* arr: [1, 2, 3],
|
|
29
|
-
* map: {
|
|
30
|
-
* foo: "bar"
|
|
31
|
-
* }
|
|
32
|
-
* }
|
|
33
|
-
*
|
|
34
|
-
* const encoded = encode(obj);
|
|
35
|
-
*
|
|
36
|
-
* assertEquals(encoded.length, 31);
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* @param object Value to encode to MessagePack binary format.
|
|
40
|
-
* @returns Encoded MessagePack binary data.
|
|
41
|
-
*/
|
|
42
|
-
function encode(object) {
|
|
43
|
-
const byteParts = [];
|
|
44
|
-
encodeSlice(object, byteParts);
|
|
45
|
-
return (0, concat_js_1.concat)(byteParts);
|
|
46
|
-
}
|
|
47
|
-
function encodeFloat64(num) {
|
|
48
|
-
const dataView = new DataView(new ArrayBuffer(9));
|
|
49
|
-
dataView.setFloat64(1, num);
|
|
50
|
-
dataView.setUint8(0, 0xcb);
|
|
51
|
-
return new Uint8Array(dataView.buffer);
|
|
52
|
-
}
|
|
53
|
-
function encodeNumber(num) {
|
|
54
|
-
if (!Number.isInteger(num)) { // float 64
|
|
55
|
-
return encodeFloat64(num);
|
|
56
|
-
}
|
|
57
|
-
if (num < 0) {
|
|
58
|
-
if (num >= -FIVE_BITS) { // negative fixint
|
|
59
|
-
return new Uint8Array([num]);
|
|
60
|
-
}
|
|
61
|
-
if (num >= -SEVEN_BITS) { // int 8
|
|
62
|
-
return new Uint8Array([0xd0, num]);
|
|
63
|
-
}
|
|
64
|
-
if (num >= -FIFTEEN_BITS) { // int 16
|
|
65
|
-
const dataView = new DataView(new ArrayBuffer(3));
|
|
66
|
-
dataView.setInt16(1, num);
|
|
67
|
-
dataView.setUint8(0, 0xd1);
|
|
68
|
-
return new Uint8Array(dataView.buffer);
|
|
69
|
-
}
|
|
70
|
-
if (num >= -THIRTY_ONE_BITS) { // int 32
|
|
71
|
-
const dataView = new DataView(new ArrayBuffer(5));
|
|
72
|
-
dataView.setInt32(1, num);
|
|
73
|
-
dataView.setUint8(0, 0xd2);
|
|
74
|
-
return new Uint8Array(dataView.buffer);
|
|
75
|
-
}
|
|
76
|
-
// float 64
|
|
77
|
-
return encodeFloat64(num);
|
|
78
|
-
}
|
|
79
|
-
// if the number fits within a positive fixint, use it
|
|
80
|
-
if (num <= 0x7f) {
|
|
81
|
-
return new Uint8Array([num]);
|
|
82
|
-
}
|
|
83
|
-
if (num < EIGHT_BITS) { // uint8
|
|
84
|
-
return new Uint8Array([0xcc, num]);
|
|
85
|
-
}
|
|
86
|
-
if (num < SIXTEEN_BITS) { // uint16
|
|
87
|
-
const dataView = new DataView(new ArrayBuffer(3));
|
|
88
|
-
dataView.setUint16(1, num);
|
|
89
|
-
dataView.setUint8(0, 0xcd);
|
|
90
|
-
return new Uint8Array(dataView.buffer);
|
|
91
|
-
}
|
|
92
|
-
if (num < THIRTY_TWO_BITS) { // uint32
|
|
93
|
-
const dataView = new DataView(new ArrayBuffer(5));
|
|
94
|
-
dataView.setUint32(1, num);
|
|
95
|
-
dataView.setUint8(0, 0xce);
|
|
96
|
-
return new Uint8Array(dataView.buffer);
|
|
97
|
-
}
|
|
98
|
-
// float 64
|
|
99
|
-
return encodeFloat64(num);
|
|
100
|
-
}
|
|
101
|
-
function encodeSlice(object, byteParts) {
|
|
102
|
-
if (object === null) {
|
|
103
|
-
byteParts.push(new Uint8Array([0xc0]));
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
if (object === false) {
|
|
107
|
-
byteParts.push(new Uint8Array([0xc2]));
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
if (object === true) {
|
|
111
|
-
byteParts.push(new Uint8Array([0xc3]));
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
if (typeof object === "number") {
|
|
115
|
-
byteParts.push(encodeNumber(object));
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (typeof object === "bigint") {
|
|
119
|
-
if (object < 0) {
|
|
120
|
-
if (object < -SIXTY_THREE_BITS) {
|
|
121
|
-
throw new Error("Cannot safely encode bigint larger than 64 bits");
|
|
122
|
-
}
|
|
123
|
-
const dataView = new DataView(new ArrayBuffer(9));
|
|
124
|
-
dataView.setBigInt64(1, object);
|
|
125
|
-
dataView.setUint8(0, 0xd3);
|
|
126
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
if (object >= SIXTY_FOUR_BITS) {
|
|
130
|
-
throw new Error("Cannot safely encode bigint larger than 64 bits");
|
|
131
|
-
}
|
|
132
|
-
const dataView = new DataView(new ArrayBuffer(9));
|
|
133
|
-
dataView.setBigUint64(1, object);
|
|
134
|
-
dataView.setUint8(0, 0xcf);
|
|
135
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
if (typeof object === "string") {
|
|
139
|
-
const encoded = encoder.encode(object);
|
|
140
|
-
const len = encoded.length;
|
|
141
|
-
if (len < FIVE_BITS) { // fixstr
|
|
142
|
-
byteParts.push(new Uint8Array([0xa0 | len]));
|
|
143
|
-
}
|
|
144
|
-
else if (len < EIGHT_BITS) { // str 8
|
|
145
|
-
byteParts.push(new Uint8Array([0xd9, len]));
|
|
146
|
-
}
|
|
147
|
-
else if (len < SIXTEEN_BITS) { // str 16
|
|
148
|
-
const dataView = new DataView(new ArrayBuffer(3));
|
|
149
|
-
dataView.setUint16(1, len);
|
|
150
|
-
dataView.setUint8(0, 0xda);
|
|
151
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
152
|
-
}
|
|
153
|
-
else if (len < THIRTY_TWO_BITS) { // str 32
|
|
154
|
-
const dataView = new DataView(new ArrayBuffer(5));
|
|
155
|
-
dataView.setUint32(1, len);
|
|
156
|
-
dataView.setUint8(0, 0xdb);
|
|
157
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
throw new Error("Cannot safely encode string with size larger than 32 bits");
|
|
161
|
-
}
|
|
162
|
-
byteParts.push(encoded);
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
if (object instanceof Uint8Array) {
|
|
166
|
-
if (object.length < EIGHT_BITS) { // bin 8
|
|
167
|
-
byteParts.push(new Uint8Array([0xc4, object.length]));
|
|
168
|
-
}
|
|
169
|
-
else if (object.length < SIXTEEN_BITS) { // bin 16
|
|
170
|
-
const dataView = new DataView(new ArrayBuffer(3));
|
|
171
|
-
dataView.setUint16(1, object.length);
|
|
172
|
-
dataView.setUint8(0, 0xc5);
|
|
173
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
174
|
-
}
|
|
175
|
-
else if (object.length < THIRTY_TWO_BITS) { // bin 32
|
|
176
|
-
const dataView = new DataView(new ArrayBuffer(5));
|
|
177
|
-
dataView.setUint32(1, object.length);
|
|
178
|
-
dataView.setUint8(0, 0xc6);
|
|
179
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
throw new Error("Cannot safely encode Uint8Array with size larger than 32 bits");
|
|
183
|
-
}
|
|
184
|
-
byteParts.push(object);
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
if (Array.isArray(object)) {
|
|
188
|
-
if (object.length < FOUR_BITS) { // fixarray
|
|
189
|
-
byteParts.push(new Uint8Array([0x90 | object.length]));
|
|
190
|
-
}
|
|
191
|
-
else if (object.length < SIXTEEN_BITS) { // array 16
|
|
192
|
-
const dataView = new DataView(new ArrayBuffer(3));
|
|
193
|
-
dataView.setUint16(1, object.length);
|
|
194
|
-
dataView.setUint8(0, 0xdc);
|
|
195
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
196
|
-
}
|
|
197
|
-
else if (object.length < THIRTY_TWO_BITS) { // array 32
|
|
198
|
-
const dataView = new DataView(new ArrayBuffer(5));
|
|
199
|
-
dataView.setUint32(1, object.length);
|
|
200
|
-
dataView.setUint8(0, 0xdd);
|
|
201
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
throw new Error("Cannot safely encode array with size larger than 32 bits");
|
|
205
|
-
}
|
|
206
|
-
for (const obj of object) {
|
|
207
|
-
encodeSlice(obj, byteParts);
|
|
208
|
-
}
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
// If object is a plain object
|
|
212
|
-
const prototype = Object.getPrototypeOf(object);
|
|
213
|
-
if (prototype === null || prototype === Object.prototype) {
|
|
214
|
-
const numKeys = Object.keys(object).length;
|
|
215
|
-
if (numKeys < FOUR_BITS) { // fixarray
|
|
216
|
-
byteParts.push(new Uint8Array([0x80 | numKeys]));
|
|
217
|
-
}
|
|
218
|
-
else if (numKeys < SIXTEEN_BITS) { // map 16
|
|
219
|
-
const dataView = new DataView(new ArrayBuffer(3));
|
|
220
|
-
dataView.setUint16(1, numKeys);
|
|
221
|
-
dataView.setUint8(0, 0xde);
|
|
222
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
223
|
-
}
|
|
224
|
-
else if (numKeys < THIRTY_TWO_BITS) { // map 32
|
|
225
|
-
const dataView = new DataView(new ArrayBuffer(5));
|
|
226
|
-
dataView.setUint32(1, numKeys);
|
|
227
|
-
dataView.setUint8(0, 0xdf);
|
|
228
|
-
byteParts.push(new Uint8Array(dataView.buffer));
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
throw new Error("Cannot safely encode map with size larger than 32 bits");
|
|
232
|
-
}
|
|
233
|
-
for (const [key, value] of Object.entries(object)) {
|
|
234
|
-
encodeSlice(key, byteParts);
|
|
235
|
-
encodeSlice(value, byteParts);
|
|
236
|
-
}
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
throw new Error("Cannot safely encode value into messagepack");
|
|
240
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/src/transports/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/G;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;;;OAOG;IACH,SAAS,CACL,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,EACrC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACrC;;;;OAIG;gBACS,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvD"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TransportError = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Base class for all transport-related errors.
|
|
6
|
-
*/
|
|
7
|
-
class TransportError extends Error {
|
|
8
|
-
/**
|
|
9
|
-
* Creates a new transport error.
|
|
10
|
-
* @param message - The error message.
|
|
11
|
-
* @param options - Additional error options.
|
|
12
|
-
*/
|
|
13
|
-
constructor(message, options) {
|
|
14
|
-
super(message, options);
|
|
15
|
-
this.name = "TransportError";
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.TransportError = TransportError;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { TypedEventTarget } from "../../../deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js";
|
|
2
|
-
/**
|
|
3
|
-
* Base system events and dynamic channel events for Hyperliquid WebSocket API.
|
|
4
|
-
*/
|
|
5
|
-
export interface HyperliquidEventMap {
|
|
6
|
-
/** Subscription created/removed event */
|
|
7
|
-
subscriptionResponse: CustomEvent<{
|
|
8
|
-
/** Type of subscription operation */
|
|
9
|
-
method: "subscribe" | "unsubscribe";
|
|
10
|
-
/** Original subscription request */
|
|
11
|
-
subscription: unknown;
|
|
12
|
-
}>;
|
|
13
|
-
/** Response to post request event */
|
|
14
|
-
post: CustomEvent<{
|
|
15
|
-
/** Unique request identifier */
|
|
16
|
-
id: number;
|
|
17
|
-
/** Server response */
|
|
18
|
-
response:
|
|
19
|
-
/** Response containing requested information */
|
|
20
|
-
{
|
|
21
|
-
/** Indicates that this is an informational response */
|
|
22
|
-
type: "info";
|
|
23
|
-
/** Contains the information data */
|
|
24
|
-
payload: {
|
|
25
|
-
/** Type of information being returned */
|
|
26
|
-
type: string;
|
|
27
|
-
/** Information specific data */
|
|
28
|
-
data: unknown;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/** Response containing action result */
|
|
32
|
-
| {
|
|
33
|
-
/** Indicates that this is an action response */
|
|
34
|
-
type: "action";
|
|
35
|
-
/** Contains the action result data */
|
|
36
|
-
payload: {
|
|
37
|
-
/** Response status indicating success or failure of the action */
|
|
38
|
-
status: "ok" | "err";
|
|
39
|
-
/** Success data or error message */
|
|
40
|
-
response: {
|
|
41
|
-
/** Type of operation */
|
|
42
|
-
type: string;
|
|
43
|
-
/** Specific data for the operation */
|
|
44
|
-
data?: unknown;
|
|
45
|
-
} | string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
}>;
|
|
49
|
-
/** Error response for message event */
|
|
50
|
-
error: CustomEvent<string>;
|
|
51
|
-
/** Pong response event */
|
|
52
|
-
pong: CustomEvent<undefined>;
|
|
53
|
-
/** Subscribed channel events */
|
|
54
|
-
[key: string]: CustomEvent<unknown>;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* A class that listens to WebSocket messages and dispatches them as Hyperliquid typed events.
|
|
58
|
-
*/
|
|
59
|
-
export declare class HyperliquidEventTarget extends TypedEventTarget<HyperliquidEventMap> {
|
|
60
|
-
/**
|
|
61
|
-
* Creates a new Hyperliquid event target.
|
|
62
|
-
* @param socket - The WebSocket to listen to.
|
|
63
|
-
*/
|
|
64
|
-
constructor(socket: WebSocket);
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=hyperliquid_event_target.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hyperliquid_event_target.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/hyperliquid_event_target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AAYtG;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,yCAAyC;IACzC,oBAAoB,EAAE,WAAW,CAAC;QAC9B,qCAAqC;QACrC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;QACpC,oCAAoC;QACpC,YAAY,EAAE,OAAO,CAAC;KACzB,CAAC,CAAC;IAEH,qCAAqC;IACrC,IAAI,EAAE,WAAW,CAAC;QACd,gCAAgC;QAChC,EAAE,EAAE,MAAM,CAAC;QACX,sBAAsB;QACtB,QAAQ;QACJ,gDAAgD;QAC9C;YACE,uDAAuD;YACvD,IAAI,EAAE,MAAM,CAAC;YACb,oCAAoC;YACpC,OAAO,EAAE;gBACL,yCAAyC;gBACzC,IAAI,EAAE,MAAM,CAAC;gBACb,gCAAgC;gBAChC,IAAI,EAAE,OAAO,CAAC;aACjB,CAAC;SACL;QACD,wCAAwC;WACtC;YACE,gDAAgD;YAChD,IAAI,EAAE,QAAQ,CAAC;YACf,sCAAsC;YACtC,OAAO,EAAE;gBACL,kEAAkE;gBAClE,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;gBACrB,oCAAoC;gBACpC,QAAQ,EACF;oBACE,wBAAwB;oBACxB,IAAI,EAAE,MAAM,CAAC;oBACb,sCAAsC;oBACtC,IAAI,CAAC,EAAE,OAAO,CAAC;iBAClB,GACC,MAAM,CAAC;aAChB,CAAC;SACL,CAAC;KACT,CAAC,CAAC;IAEH,uCAAuC;IACvC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3B,0BAA0B;IAC1B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAE7B,gCAAgC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,mBAAmB,CAAC;IAC7E;;;OAGG;gBACS,MAAM,EAAE,SAAS;CAahC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HyperliquidEventTarget = void 0;
|
|
4
|
-
const mod_js_1 = require("../../../deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js");
|
|
5
|
-
/**
|
|
6
|
-
* A class that listens to WebSocket messages and dispatches them as Hyperliquid typed events.
|
|
7
|
-
*/
|
|
8
|
-
class HyperliquidEventTarget extends mod_js_1.TypedEventTarget {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new Hyperliquid event target.
|
|
11
|
-
* @param socket - The WebSocket to listen to.
|
|
12
|
-
*/
|
|
13
|
-
constructor(socket) {
|
|
14
|
-
super();
|
|
15
|
-
socket.addEventListener("message", (event) => {
|
|
16
|
-
try {
|
|
17
|
-
const msg = JSON.parse(event.data);
|
|
18
|
-
if (isHyperliquidMsg(msg)) {
|
|
19
|
-
this.dispatchEvent(new CustomEvent(msg.channel, { detail: msg.data }));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
// Ignore JSON parsing errors
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.HyperliquidEventTarget = HyperliquidEventTarget;
|
|
29
|
-
/**
|
|
30
|
-
* Type guard for Hyperliquid messages.
|
|
31
|
-
* @param value - The value to check.
|
|
32
|
-
* @returns True if the value is a Hyperliquid message.
|
|
33
|
-
*/
|
|
34
|
-
function isHyperliquidMsg(value) {
|
|
35
|
-
return typeof value === "object" && value !== null &&
|
|
36
|
-
"channel" in value && typeof value.channel === "string";
|
|
37
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reconnecting_websocket.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/reconnecting_websocket.ts"],"names":[],"mappings":"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"}
|