@nktkas/hyperliquid 0.24.3 → 0.25.0-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.
- package/README.md +141 -32
- package/esm/mod.d.ts +11 -11
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +2 -1
- package/esm/mod.js.map +1 -0
- package/esm/src/clients/exchange.d.ts +29 -25
- package/esm/src/clients/exchange.d.ts.map +1 -1
- package/esm/src/clients/exchange.js +54 -53
- package/esm/src/clients/exchange.js.map +1 -0
- package/esm/src/clients/info.d.ts +80 -20
- package/esm/src/clients/info.d.ts.map +1 -1
- package/esm/src/clients/info.js +312 -73
- package/esm/src/clients/info.js.map +1 -0
- package/esm/src/clients/multiSign.d.ts +11 -7
- package/esm/src/clients/multiSign.d.ts.map +1 -1
- package/esm/src/clients/multiSign.js +2 -1
- package/esm/src/clients/multiSign.js.map +1 -0
- package/esm/src/clients/subscription.d.ts +9 -9
- package/esm/src/clients/subscription.d.ts.map +1 -1
- package/esm/src/clients/subscription.js +29 -27
- package/esm/src/clients/subscription.js.map +1 -0
- package/esm/src/{base.d.ts → errors.d.ts} +1 -1
- package/esm/src/errors.d.ts.map +1 -0
- package/esm/src/{base.js → errors.js} +1 -0
- package/esm/src/errors.js.map +1 -0
- package/esm/src/schemas/_base.d.ts +14 -0
- package/esm/src/schemas/_base.d.ts.map +1 -0
- package/esm/src/schemas/_base.js +15 -0
- package/esm/src/schemas/_base.js.map +1 -0
- package/esm/src/schemas/exchange/requests.d.ts +8953 -0
- package/esm/src/schemas/exchange/requests.d.ts.map +1 -0
- package/esm/src/schemas/exchange/requests.js +1414 -0
- package/esm/src/schemas/exchange/requests.js.map +1 -0
- package/esm/src/schemas/exchange/responses.d.ts +567 -0
- package/esm/src/schemas/exchange/responses.d.ts.map +1 -0
- package/esm/src/schemas/exchange/responses.js +244 -0
- package/esm/src/schemas/exchange/responses.js.map +1 -0
- package/esm/src/schemas/explorer/requests.d.ts +44 -0
- package/esm/src/schemas/explorer/requests.d.ts.map +1 -0
- package/esm/src/schemas/explorer/requests.js +33 -0
- package/esm/src/schemas/explorer/requests.js.map +1 -0
- package/esm/src/schemas/explorer/responses.d.ts +360 -0
- package/esm/src/schemas/explorer/responses.d.ts.map +1 -0
- package/esm/src/schemas/explorer/responses.js +57 -0
- package/esm/src/schemas/explorer/responses.js.map +1 -0
- package/esm/src/schemas/info/accounts.d.ts +2159 -0
- package/esm/src/schemas/info/accounts.d.ts.map +1 -0
- package/esm/src/schemas/info/accounts.js +623 -0
- package/esm/src/schemas/info/accounts.js.map +1 -0
- package/esm/src/schemas/info/assets.d.ts +974 -0
- package/esm/src/schemas/info/assets.d.ts.map +1 -0
- package/esm/src/schemas/info/assets.js +285 -0
- package/esm/src/schemas/info/assets.js.map +1 -0
- package/esm/src/schemas/info/markets.d.ts +155 -0
- package/esm/src/schemas/info/markets.d.ts.map +1 -0
- package/esm/src/schemas/info/markets.js +70 -0
- package/esm/src/schemas/info/markets.js.map +1 -0
- package/esm/src/schemas/info/orders.d.ts +957 -0
- package/esm/src/schemas/info/orders.d.ts.map +1 -0
- package/esm/src/schemas/info/orders.js +298 -0
- package/esm/src/schemas/info/orders.js.map +1 -0
- package/esm/src/schemas/info/requests.d.ts +924 -0
- package/esm/src/schemas/info/requests.d.ts.map +1 -0
- package/esm/src/schemas/info/requests.js +687 -0
- package/esm/src/schemas/info/requests.js.map +1 -0
- package/esm/src/schemas/info/validators.d.ts +326 -0
- package/esm/src/schemas/info/validators.d.ts.map +1 -0
- package/esm/src/schemas/info/validators.js +126 -0
- package/esm/src/schemas/info/validators.js.map +1 -0
- package/esm/src/schemas/info/vaults.d.ts +447 -0
- package/esm/src/schemas/info/vaults.d.ts.map +1 -0
- package/esm/src/schemas/info/vaults.js +111 -0
- package/esm/src/schemas/info/vaults.js.map +1 -0
- package/esm/src/schemas/mod.d.ts +101 -0
- package/esm/src/schemas/mod.d.ts.map +1 -0
- package/esm/src/schemas/mod.js +115 -0
- package/esm/src/schemas/mod.js.map +1 -0
- package/esm/src/schemas/subscriptions/requests.d.ts +332 -0
- package/esm/src/schemas/subscriptions/requests.d.ts.map +1 -0
- package/esm/src/schemas/subscriptions/requests.js +259 -0
- package/esm/src/schemas/subscriptions/requests.js.map +1 -0
- package/esm/src/schemas/subscriptions/responses.d.ts +3643 -0
- package/esm/src/schemas/subscriptions/responses.d.ts.map +1 -0
- package/esm/src/schemas/subscriptions/responses.js +234 -0
- package/esm/src/schemas/subscriptions/responses.js.map +1 -0
- package/esm/src/signing/_signTypedData/ethers.js +1 -0
- package/esm/src/signing/_signTypedData/ethers.js.map +1 -0
- package/esm/src/signing/_signTypedData/mod.js +1 -0
- package/esm/src/signing/_signTypedData/mod.js.map +1 -0
- package/esm/src/signing/_signTypedData/private_key.js +1 -0
- package/esm/src/signing/_signTypedData/private_key.js.map +1 -0
- package/esm/src/signing/_signTypedData/viem.js +1 -0
- package/esm/src/signing/_signTypedData/viem.js.map +1 -0
- package/esm/src/signing/mod.d.ts +109 -29
- package/esm/src/signing/mod.d.ts.map +1 -1
- package/esm/src/signing/mod.js +136 -29
- package/esm/src/signing/mod.js.map +1 -0
- package/esm/src/transports/base.d.ts +4 -4
- package/esm/src/transports/base.d.ts.map +1 -1
- package/esm/src/transports/base.js +3 -2
- package/esm/src/transports/base.js.map +1 -0
- package/esm/src/transports/http/http_transport.d.ts +3 -2
- package/esm/src/transports/http/http_transport.d.ts.map +1 -1
- package/esm/src/transports/http/http_transport.js +1 -0
- package/esm/src/transports/http/http_transport.js.map +1 -0
- package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
- package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
- package/esm/src/transports/websocket/_hyperliquid_event_target.js +1 -0
- package/esm/src/transports/websocket/_hyperliquid_event_target.js.map +1 -0
- package/esm/src/transports/websocket/_reconnecting_websocket.js +1 -0
- package/esm/src/transports/websocket/_reconnecting_websocket.js.map +1 -0
- package/esm/src/transports/websocket/_websocket_async_request.js +1 -0
- package/esm/src/transports/websocket/_websocket_async_request.js.map +1 -0
- package/esm/src/transports/websocket/websocket_transport.d.ts +9 -1
- package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/esm/src/transports/websocket/websocket_transport.js +4 -0
- package/esm/src/transports/websocket/websocket_transport.js.map +1 -0
- package/package.json +6 -5
- package/script/mod.d.ts +11 -11
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +2 -1
- package/script/mod.js.map +1 -0
- package/script/src/clients/exchange.d.ts +29 -25
- package/script/src/clients/exchange.d.ts.map +1 -1
- package/script/src/clients/exchange.js +60 -59
- package/script/src/clients/exchange.js.map +1 -0
- package/script/src/clients/info.d.ts +80 -20
- package/script/src/clients/info.d.ts.map +1 -1
- package/script/src/clients/info.js +312 -73
- package/script/src/clients/info.js.map +1 -0
- package/script/src/clients/multiSign.d.ts +11 -7
- package/script/src/clients/multiSign.d.ts.map +1 -1
- package/script/src/clients/multiSign.js +2 -1
- package/script/src/clients/multiSign.js.map +1 -0
- package/script/src/clients/subscription.d.ts +9 -9
- package/script/src/clients/subscription.d.ts.map +1 -1
- package/script/src/clients/subscription.js +29 -27
- package/script/src/clients/subscription.js.map +1 -0
- package/script/src/{base.d.ts → errors.d.ts} +1 -1
- package/script/src/errors.d.ts.map +1 -0
- package/script/src/{base.js → errors.js} +1 -0
- package/script/src/errors.js.map +1 -0
- package/script/src/schemas/_base.d.ts +14 -0
- package/script/src/schemas/_base.d.ts.map +1 -0
- package/script/src/schemas/_base.js +51 -0
- package/script/src/schemas/_base.js.map +1 -0
- package/script/src/schemas/exchange/requests.d.ts +8953 -0
- package/script/src/schemas/exchange/requests.d.ts.map +1 -0
- package/script/src/schemas/exchange/requests.js +1450 -0
- package/script/src/schemas/exchange/requests.js.map +1 -0
- package/script/src/schemas/exchange/responses.d.ts +567 -0
- package/script/src/schemas/exchange/responses.d.ts.map +1 -0
- package/script/src/schemas/exchange/responses.js +280 -0
- package/script/src/schemas/exchange/responses.js.map +1 -0
- package/script/src/schemas/explorer/requests.d.ts +44 -0
- package/script/src/schemas/explorer/requests.d.ts.map +1 -0
- package/script/src/schemas/explorer/requests.js +69 -0
- package/script/src/schemas/explorer/requests.js.map +1 -0
- package/script/src/schemas/explorer/responses.d.ts +360 -0
- package/script/src/schemas/explorer/responses.d.ts.map +1 -0
- package/script/src/schemas/explorer/responses.js +93 -0
- package/script/src/schemas/explorer/responses.js.map +1 -0
- package/script/src/schemas/info/accounts.d.ts +2159 -0
- package/script/src/schemas/info/accounts.d.ts.map +1 -0
- package/script/src/schemas/info/accounts.js +659 -0
- package/script/src/schemas/info/accounts.js.map +1 -0
- package/script/src/schemas/info/assets.d.ts +974 -0
- package/script/src/schemas/info/assets.d.ts.map +1 -0
- package/script/src/schemas/info/assets.js +321 -0
- package/script/src/schemas/info/assets.js.map +1 -0
- package/script/src/schemas/info/markets.d.ts +155 -0
- package/script/src/schemas/info/markets.d.ts.map +1 -0
- package/script/src/schemas/info/markets.js +106 -0
- package/script/src/schemas/info/markets.js.map +1 -0
- package/script/src/schemas/info/orders.d.ts +957 -0
- package/script/src/schemas/info/orders.d.ts.map +1 -0
- package/script/src/schemas/info/orders.js +334 -0
- package/script/src/schemas/info/orders.js.map +1 -0
- package/script/src/schemas/info/requests.d.ts +924 -0
- package/script/src/schemas/info/requests.d.ts.map +1 -0
- package/script/src/schemas/info/requests.js +724 -0
- package/script/src/schemas/info/requests.js.map +1 -0
- package/script/src/schemas/info/validators.d.ts +326 -0
- package/script/src/schemas/info/validators.d.ts.map +1 -0
- package/script/src/schemas/info/validators.js +162 -0
- package/script/src/schemas/info/validators.js.map +1 -0
- package/script/src/schemas/info/vaults.d.ts +447 -0
- package/script/src/schemas/info/vaults.d.ts.map +1 -0
- package/script/src/schemas/info/vaults.js +147 -0
- package/script/src/schemas/info/vaults.js.map +1 -0
- package/script/src/schemas/mod.d.ts +101 -0
- package/script/src/schemas/mod.d.ts.map +1 -0
- package/script/src/schemas/mod.js +157 -0
- package/script/src/schemas/mod.js.map +1 -0
- package/script/src/schemas/subscriptions/requests.d.ts +332 -0
- package/script/src/schemas/subscriptions/requests.d.ts.map +1 -0
- package/script/src/schemas/subscriptions/requests.js +295 -0
- package/script/src/schemas/subscriptions/requests.js.map +1 -0
- package/script/src/schemas/subscriptions/responses.d.ts +3643 -0
- package/script/src/schemas/subscriptions/responses.d.ts.map +1 -0
- package/script/src/schemas/subscriptions/responses.js +270 -0
- package/script/src/schemas/subscriptions/responses.js.map +1 -0
- package/script/src/signing/_signTypedData/ethers.js +1 -0
- package/script/src/signing/_signTypedData/ethers.js.map +1 -0
- package/script/src/signing/_signTypedData/mod.js +1 -0
- package/script/src/signing/_signTypedData/mod.js.map +1 -0
- package/script/src/signing/_signTypedData/private_key.js +1 -0
- package/script/src/signing/_signTypedData/private_key.js.map +1 -0
- package/script/src/signing/_signTypedData/viem.js +1 -0
- package/script/src/signing/_signTypedData/viem.js.map +1 -0
- package/script/src/signing/mod.d.ts +109 -29
- package/script/src/signing/mod.d.ts.map +1 -1
- package/script/src/signing/mod.js +138 -33
- package/script/src/signing/mod.js.map +1 -0
- package/script/src/transports/base.d.ts +4 -4
- package/script/src/transports/base.d.ts.map +1 -1
- package/script/src/transports/base.js +4 -3
- package/script/src/transports/base.js.map +1 -0
- package/script/src/transports/http/http_transport.d.ts +3 -2
- package/script/src/transports/http/http_transport.d.ts.map +1 -1
- package/script/src/transports/http/http_transport.js +1 -0
- package/script/src/transports/http/http_transport.js.map +1 -0
- package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
- package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
- package/script/src/transports/websocket/_hyperliquid_event_target.js +1 -0
- package/script/src/transports/websocket/_hyperliquid_event_target.js.map +1 -0
- package/script/src/transports/websocket/_reconnecting_websocket.js +1 -0
- package/script/src/transports/websocket/_reconnecting_websocket.js.map +1 -0
- package/script/src/transports/websocket/_websocket_async_request.js +1 -0
- package/script/src/transports/websocket/_websocket_async_request.js.map +1 -0
- package/script/src/transports/websocket/websocket_transport.d.ts +9 -1
- package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/script/src/transports/websocket/websocket_transport.js +4 -0
- package/script/src/transports/websocket/websocket_transport.js.map +1 -0
- package/src/mod.ts +28 -0
- package/src/src/clients/exchange.ts +2246 -0
- package/src/src/clients/info.ts +2076 -0
- package/src/src/clients/multiSign.ts +183 -0
- package/src/src/clients/subscription.ts +841 -0
- package/src/src/errors.ts +7 -0
- package/src/src/schemas/_base.ts +43 -0
- package/src/src/schemas/exchange/requests.ts +3057 -0
- package/src/src/schemas/exchange/responses.ts +540 -0
- package/src/src/schemas/explorer/requests.ts +65 -0
- package/src/src/schemas/explorer/responses.ts +138 -0
- package/src/src/schemas/info/accounts.ts +1490 -0
- package/src/src/schemas/info/assets.ts +693 -0
- package/src/src/schemas/info/markets.ts +171 -0
- package/src/src/schemas/info/orders.ts +597 -0
- package/src/src/schemas/info/requests.ts +1369 -0
- package/src/src/schemas/info/validators.ts +299 -0
- package/src/src/schemas/info/vaults.ts +262 -0
- package/src/src/schemas/mod.ts +121 -0
- package/src/src/schemas/subscriptions/requests.ts +504 -0
- package/src/src/schemas/subscriptions/responses.ts +576 -0
- package/src/src/signing/_signTypedData/ethers.ts +59 -0
- package/src/src/signing/_signTypedData/mod.ts +121 -0
- package/src/src/signing/_signTypedData/private_key.ts +229 -0
- package/src/src/signing/_signTypedData/viem.ts +55 -0
- package/src/src/signing/mod.ts +572 -0
- package/src/src/transports/base.ts +54 -0
- package/src/src/transports/http/http_transport.ts +208 -0
- package/src/src/transports/websocket/_hyperliquid_event_target.ts +118 -0
- package/src/src/transports/websocket/_reconnecting_websocket.ts +404 -0
- package/src/src/transports/websocket/_websocket_async_request.ts +229 -0
- package/src/src/transports/websocket/websocket_transport.ts +394 -0
- package/esm/src/base.d.ts.map +0 -1
- package/esm/src/signing/_sorter.d.ts +0 -127
- package/esm/src/signing/_sorter.d.ts.map +0 -1
- package/esm/src/signing/_sorter.js +0 -693
- package/esm/src/types/exchange/requests.d.ts +0 -1345
- package/esm/src/types/exchange/requests.d.ts.map +0 -1
- package/esm/src/types/exchange/requests.js +0 -1
- package/esm/src/types/exchange/responses.d.ts +0 -233
- package/esm/src/types/exchange/responses.d.ts.map +0 -1
- package/esm/src/types/exchange/responses.js +0 -1
- package/esm/src/types/explorer/requests.d.ts +0 -32
- package/esm/src/types/explorer/requests.d.ts.map +0 -1
- package/esm/src/types/explorer/requests.js +0 -1
- package/esm/src/types/explorer/responses.d.ts +0 -58
- package/esm/src/types/explorer/responses.d.ts.map +0 -1
- package/esm/src/types/explorer/responses.js +0 -1
- package/esm/src/types/info/accounts.d.ts +0 -864
- package/esm/src/types/info/accounts.d.ts.map +0 -1
- package/esm/src/types/info/accounts.js +0 -1
- package/esm/src/types/info/assets.d.ts +0 -354
- package/esm/src/types/info/assets.d.ts.map +0 -1
- package/esm/src/types/info/assets.js +0 -1
- package/esm/src/types/info/markets.d.ts +0 -79
- package/esm/src/types/info/markets.d.ts.map +0 -1
- package/esm/src/types/info/markets.js +0 -1
- package/esm/src/types/info/orders.d.ts +0 -266
- package/esm/src/types/info/orders.d.ts.map +0 -1
- package/esm/src/types/info/orders.js +0 -1
- package/esm/src/types/info/requests.d.ts +0 -640
- package/esm/src/types/info/requests.d.ts.map +0 -1
- package/esm/src/types/info/requests.js +0 -1
- package/esm/src/types/info/validators.d.ts +0 -147
- package/esm/src/types/info/validators.d.ts.map +0 -1
- package/esm/src/types/info/validators.js +0 -1
- package/esm/src/types/info/vaults.d.ts +0 -119
- package/esm/src/types/info/vaults.d.ts.map +0 -1
- package/esm/src/types/info/vaults.js +0 -1
- package/esm/src/types/mod.d.ts +0 -38
- package/esm/src/types/mod.d.ts.map +0 -1
- package/esm/src/types/mod.js +0 -24
- package/esm/src/types/subscriptions/requests.d.ts +0 -154
- package/esm/src/types/subscriptions/requests.d.ts.map +0 -1
- package/esm/src/types/subscriptions/requests.js +0 -1
- package/esm/src/types/subscriptions/responses.d.ts +0 -238
- package/esm/src/types/subscriptions/responses.d.ts.map +0 -1
- package/esm/src/types/subscriptions/responses.js +0 -1
- package/script/src/base.d.ts.map +0 -1
- package/script/src/signing/_sorter.d.ts +0 -127
- package/script/src/signing/_sorter.d.ts.map +0 -1
- package/script/src/signing/_sorter.js +0 -696
- package/script/src/types/exchange/requests.d.ts +0 -1345
- package/script/src/types/exchange/requests.d.ts.map +0 -1
- package/script/src/types/exchange/requests.js +0 -2
- package/script/src/types/exchange/responses.d.ts +0 -233
- package/script/src/types/exchange/responses.d.ts.map +0 -1
- package/script/src/types/exchange/responses.js +0 -2
- package/script/src/types/explorer/requests.d.ts +0 -32
- package/script/src/types/explorer/requests.d.ts.map +0 -1
- package/script/src/types/explorer/requests.js +0 -2
- package/script/src/types/explorer/responses.d.ts +0 -58
- package/script/src/types/explorer/responses.d.ts.map +0 -1
- package/script/src/types/explorer/responses.js +0 -2
- package/script/src/types/info/accounts.d.ts +0 -864
- package/script/src/types/info/accounts.d.ts.map +0 -1
- package/script/src/types/info/accounts.js +0 -2
- package/script/src/types/info/assets.d.ts +0 -354
- package/script/src/types/info/assets.d.ts.map +0 -1
- package/script/src/types/info/assets.js +0 -2
- package/script/src/types/info/markets.d.ts +0 -79
- package/script/src/types/info/markets.d.ts.map +0 -1
- package/script/src/types/info/markets.js +0 -2
- package/script/src/types/info/orders.d.ts +0 -266
- package/script/src/types/info/orders.d.ts.map +0 -1
- package/script/src/types/info/orders.js +0 -2
- package/script/src/types/info/requests.d.ts +0 -640
- package/script/src/types/info/requests.d.ts.map +0 -1
- package/script/src/types/info/requests.js +0 -2
- package/script/src/types/info/validators.d.ts +0 -147
- package/script/src/types/info/validators.d.ts.map +0 -1
- package/script/src/types/info/validators.js +0 -2
- package/script/src/types/info/vaults.d.ts +0 -119
- package/script/src/types/info/vaults.d.ts.map +0 -1
- package/script/src/types/info/vaults.js +0 -2
- package/script/src/types/mod.d.ts +0 -38
- package/script/src/types/mod.d.ts.map +0 -1
- package/script/src/types/mod.js +0 -25
- package/script/src/types/subscriptions/requests.d.ts +0 -154
- package/script/src/types/subscriptions/requests.d.ts.map +0 -1
- package/script/src/types/subscriptions/requests.js +0 -2
- package/script/src/types/subscriptions/responses.d.ts +0 -238
- package/script/src/types/subscriptions/responses.d.ts.map +0 -1
- package/script/src/types/subscriptions/responses.js +0 -2
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { Hex } from "../_base.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Subscription to context events for a specific perpetual asset.
|
|
6
|
+
* @returns {WsActiveAssetCtx | WsActiveSpotAssetCtx}
|
|
7
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
8
|
+
*/
|
|
9
|
+
export const WsActiveAssetCtxRequest = v.pipe(
|
|
10
|
+
v.object({
|
|
11
|
+
/** Type of subscription. */
|
|
12
|
+
type: v.pipe(
|
|
13
|
+
v.literal("activeAssetCtx"),
|
|
14
|
+
v.description("Type of subscription."),
|
|
15
|
+
),
|
|
16
|
+
/** Asset symbol (e.g., BTC). */
|
|
17
|
+
coin: v.pipe(
|
|
18
|
+
v.string(),
|
|
19
|
+
v.description("Asset symbol (e.g., BTC)."),
|
|
20
|
+
),
|
|
21
|
+
}),
|
|
22
|
+
v.description("Subscription to context events for a specific perpetual asset."),
|
|
23
|
+
);
|
|
24
|
+
export type WsActiveAssetCtxRequest = v.InferOutput<typeof WsActiveAssetCtxRequest>;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Subscription to active asset data events for a specific user and coin.
|
|
28
|
+
* @returns {ActiveAssetData}
|
|
29
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-users-active-asset-data
|
|
30
|
+
*/
|
|
31
|
+
export const WsActiveAssetDataRequest = v.pipe(
|
|
32
|
+
v.object({
|
|
33
|
+
/** Type of subscription. */
|
|
34
|
+
type: v.pipe(
|
|
35
|
+
v.literal("activeAssetData"),
|
|
36
|
+
v.description("Type of subscription."),
|
|
37
|
+
),
|
|
38
|
+
/** Asset symbol (e.g., BTC). */
|
|
39
|
+
coin: v.pipe(
|
|
40
|
+
v.string(),
|
|
41
|
+
v.description("Asset symbol (e.g., BTC)."),
|
|
42
|
+
),
|
|
43
|
+
/** User address. */
|
|
44
|
+
user: v.pipe(
|
|
45
|
+
v.pipe(Hex, v.length(42)),
|
|
46
|
+
v.description("User address."),
|
|
47
|
+
),
|
|
48
|
+
}),
|
|
49
|
+
v.description("Subscription to active asset data events for a specific user and coin."),
|
|
50
|
+
);
|
|
51
|
+
export type WsActiveAssetDataRequest = v.InferOutput<typeof WsActiveAssetDataRequest>;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Subscription to mid price events for all coins.
|
|
55
|
+
* @returns {AllMids}
|
|
56
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins
|
|
57
|
+
*/
|
|
58
|
+
export const WsAllMidsRequest = v.pipe(
|
|
59
|
+
v.object({
|
|
60
|
+
/** Type of subscription. */
|
|
61
|
+
type: v.pipe(
|
|
62
|
+
v.literal("allMids"),
|
|
63
|
+
v.description("Type of subscription."),
|
|
64
|
+
),
|
|
65
|
+
/** DEX name (empty string for main dex). */
|
|
66
|
+
dex: v.pipe(
|
|
67
|
+
v.optional(v.string()),
|
|
68
|
+
v.description("DEX name (empty string for main dex)."),
|
|
69
|
+
),
|
|
70
|
+
}),
|
|
71
|
+
v.description("Subscription to mid price events for all coins."),
|
|
72
|
+
);
|
|
73
|
+
export type WsAllMidsRequest = v.InferOutput<typeof WsAllMidsRequest>;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Subscription to context events for all perpetual assets.
|
|
77
|
+
* @returns {WsAssetCtx[]}
|
|
78
|
+
* @see null
|
|
79
|
+
*/
|
|
80
|
+
export const WsAssetCtxsRequest = v.pipe(
|
|
81
|
+
v.object({
|
|
82
|
+
/** Type of subscription. */
|
|
83
|
+
type: v.pipe(
|
|
84
|
+
v.literal("assetCtxs"),
|
|
85
|
+
v.description("Type of subscription."),
|
|
86
|
+
),
|
|
87
|
+
/** DEX name (empty string for main dex). */
|
|
88
|
+
dex: v.pipe(
|
|
89
|
+
v.optional(v.string()),
|
|
90
|
+
v.description("DEX name (empty string for main dex)."),
|
|
91
|
+
),
|
|
92
|
+
}),
|
|
93
|
+
v.description("Subscription to context events for all perpetual assets."),
|
|
94
|
+
);
|
|
95
|
+
export type WsAssetCtxsRequest = v.InferOutput<typeof WsAssetCtxsRequest>;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Subscription to best bid and offer events for a specific asset.
|
|
99
|
+
* @returns {WsBbo}
|
|
100
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
101
|
+
*/
|
|
102
|
+
export const WsBboRequest = v.pipe(
|
|
103
|
+
v.object({
|
|
104
|
+
/** Type of subscription. */
|
|
105
|
+
type: v.pipe(
|
|
106
|
+
v.literal("bbo"),
|
|
107
|
+
v.description("Type of subscription."),
|
|
108
|
+
),
|
|
109
|
+
/** Asset symbol (e.g., BTC). */
|
|
110
|
+
coin: v.pipe(
|
|
111
|
+
v.string(),
|
|
112
|
+
v.description("Asset symbol (e.g., BTC)."),
|
|
113
|
+
),
|
|
114
|
+
}),
|
|
115
|
+
v.description("Subscription to best bid and offer events for a specific asset."),
|
|
116
|
+
);
|
|
117
|
+
export type WsBboRequest = v.InferOutput<typeof WsBboRequest>;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Subscription to candlestick events for a specific asset and time interval.
|
|
121
|
+
* @returns {Candle}
|
|
122
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
123
|
+
*/
|
|
124
|
+
export const WsCandleRequest = v.pipe(
|
|
125
|
+
v.object({
|
|
126
|
+
/** Type of subscription. */
|
|
127
|
+
type: v.pipe(
|
|
128
|
+
v.literal("candle"),
|
|
129
|
+
v.description("Type of subscription."),
|
|
130
|
+
),
|
|
131
|
+
/** Asset symbol (e.g., BTC). */
|
|
132
|
+
coin: v.pipe(
|
|
133
|
+
v.string(),
|
|
134
|
+
v.description("Asset symbol (e.g., BTC)."),
|
|
135
|
+
),
|
|
136
|
+
/** Time interval. */
|
|
137
|
+
interval: v.pipe(
|
|
138
|
+
v.union([
|
|
139
|
+
v.literal("1m"),
|
|
140
|
+
v.literal("3m"),
|
|
141
|
+
v.literal("5m"),
|
|
142
|
+
v.literal("15m"),
|
|
143
|
+
v.literal("30m"),
|
|
144
|
+
v.literal("1h"),
|
|
145
|
+
v.literal("2h"),
|
|
146
|
+
v.literal("4h"),
|
|
147
|
+
v.literal("8h"),
|
|
148
|
+
v.literal("12h"),
|
|
149
|
+
v.literal("1d"),
|
|
150
|
+
v.literal("3d"),
|
|
151
|
+
v.literal("1w"),
|
|
152
|
+
v.literal("1M"),
|
|
153
|
+
]),
|
|
154
|
+
v.description("Time interval."),
|
|
155
|
+
),
|
|
156
|
+
}),
|
|
157
|
+
v.description("Subscription to candlestick events for a specific asset and time interval."),
|
|
158
|
+
);
|
|
159
|
+
export type WsCandleRequest = v.InferOutput<typeof WsCandleRequest>;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Subscription to clearinghouse state events for a specific user.
|
|
163
|
+
* @returns {PerpsClearinghouseState}
|
|
164
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-users-perpetuals-account-summary
|
|
165
|
+
*/
|
|
166
|
+
export const WsClearinghouseStateRequest = v.pipe(
|
|
167
|
+
v.object({
|
|
168
|
+
/** Type of subscription. */
|
|
169
|
+
type: v.pipe(
|
|
170
|
+
v.literal("clearinghouseState"),
|
|
171
|
+
v.description("Type of subscription."),
|
|
172
|
+
),
|
|
173
|
+
/** User address. */
|
|
174
|
+
user: v.pipe(
|
|
175
|
+
v.pipe(Hex, v.length(42)),
|
|
176
|
+
v.description("User address."),
|
|
177
|
+
),
|
|
178
|
+
/** DEX name (empty string for main dex). */
|
|
179
|
+
dex: v.pipe(
|
|
180
|
+
v.optional(v.string()),
|
|
181
|
+
v.description("DEX name (empty string for main dex)."),
|
|
182
|
+
),
|
|
183
|
+
}),
|
|
184
|
+
v.description("Subscription to clearinghouse state events for a specific user."),
|
|
185
|
+
);
|
|
186
|
+
export type WsClearinghouseStateRequest = v.InferOutput<typeof WsClearinghouseStateRequest>;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Subscription to L2 order book events for a specific asset.
|
|
190
|
+
* @returns {Book}
|
|
191
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot
|
|
192
|
+
*/
|
|
193
|
+
export const WsL2BookRequest = v.pipe(
|
|
194
|
+
v.object({
|
|
195
|
+
/** Type of subscription. */
|
|
196
|
+
type: v.pipe(
|
|
197
|
+
v.literal("l2Book"),
|
|
198
|
+
v.description("Type of subscription."),
|
|
199
|
+
),
|
|
200
|
+
/** Asset symbol (e.g., BTC). */
|
|
201
|
+
coin: v.pipe(
|
|
202
|
+
v.string(),
|
|
203
|
+
v.description("Asset symbol (e.g., BTC)."),
|
|
204
|
+
),
|
|
205
|
+
/** Number of significant figures. */
|
|
206
|
+
nSigFigs: v.pipe(
|
|
207
|
+
v.nullish(v.union([v.literal(2), v.literal(3), v.literal(4), v.literal(5)])),
|
|
208
|
+
v.description("Number of significant figures."),
|
|
209
|
+
),
|
|
210
|
+
/** Mantissa for aggregation (if `nSigFigs` is 5). */
|
|
211
|
+
mantissa: v.pipe(
|
|
212
|
+
v.nullish(v.union([v.literal(2), v.literal(5)])),
|
|
213
|
+
v.description("Mantissa for aggregation (if `nSigFigs` is 5)."),
|
|
214
|
+
),
|
|
215
|
+
}),
|
|
216
|
+
v.description("Subscription to L2 order book events for a specific asset."),
|
|
217
|
+
);
|
|
218
|
+
export type WsL2BookRequest = v.InferOutput<typeof WsL2BookRequest>;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Subscription to explorer block events.
|
|
222
|
+
* @returns {WsBlockDetails[]}
|
|
223
|
+
* @see null
|
|
224
|
+
*/
|
|
225
|
+
export const WsExplorerBlockRequest = v.pipe(
|
|
226
|
+
v.object({
|
|
227
|
+
/** Type of subscription. */
|
|
228
|
+
type: v.pipe(
|
|
229
|
+
v.literal("explorerBlock"),
|
|
230
|
+
v.description("Type of subscription."),
|
|
231
|
+
),
|
|
232
|
+
}),
|
|
233
|
+
v.description("Subscription to explorer block events."),
|
|
234
|
+
);
|
|
235
|
+
export type WsExplorerBlockRequest = v.InferOutput<typeof WsExplorerBlockRequest>;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Subscription to explorer transaction events.
|
|
239
|
+
* @returns {TxDetails[]}
|
|
240
|
+
* @see null
|
|
241
|
+
*/
|
|
242
|
+
export const WsExplorerTxsRequest = v.pipe(
|
|
243
|
+
v.object({
|
|
244
|
+
/** Type of subscription. */
|
|
245
|
+
type: v.pipe(
|
|
246
|
+
v.literal("explorerTxs"),
|
|
247
|
+
v.description("Type of subscription."),
|
|
248
|
+
),
|
|
249
|
+
}),
|
|
250
|
+
v.description("Subscription to explorer transaction events."),
|
|
251
|
+
);
|
|
252
|
+
export type WsExplorerTxsRequest = v.InferOutput<typeof WsExplorerTxsRequest>;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Subscription to notification events for a specific user.
|
|
256
|
+
* @returns {WsNotification}
|
|
257
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
258
|
+
*/
|
|
259
|
+
export const WsNotificationRequest = v.pipe(
|
|
260
|
+
v.object({
|
|
261
|
+
/** Type of subscription. */
|
|
262
|
+
type: v.pipe(
|
|
263
|
+
v.literal("notification"),
|
|
264
|
+
v.description("Type of subscription."),
|
|
265
|
+
),
|
|
266
|
+
/** User address. */
|
|
267
|
+
user: v.pipe(
|
|
268
|
+
v.pipe(Hex, v.length(42)),
|
|
269
|
+
v.description("User address."),
|
|
270
|
+
),
|
|
271
|
+
}),
|
|
272
|
+
v.description("Subscription to notification events for a specific user."),
|
|
273
|
+
);
|
|
274
|
+
export type WsNotificationRequest = v.InferOutput<typeof WsNotificationRequest>;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Subscription to open order events for a specific user.
|
|
278
|
+
* @returns {Order[]}
|
|
279
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders
|
|
280
|
+
*/
|
|
281
|
+
export const WsOpenOrdersRequest = v.pipe(
|
|
282
|
+
v.object({
|
|
283
|
+
/** Type of subscription. */
|
|
284
|
+
type: v.pipe(
|
|
285
|
+
v.literal("openOrders"),
|
|
286
|
+
v.description("Type of subscription."),
|
|
287
|
+
),
|
|
288
|
+
/** User address. */
|
|
289
|
+
user: v.pipe(
|
|
290
|
+
v.pipe(Hex, v.length(42)),
|
|
291
|
+
v.description("User address."),
|
|
292
|
+
),
|
|
293
|
+
/** DEX name (empty string for main dex). */
|
|
294
|
+
dex: v.pipe(
|
|
295
|
+
v.optional(v.string()),
|
|
296
|
+
v.description("DEX name (empty string for main dex)."),
|
|
297
|
+
),
|
|
298
|
+
}),
|
|
299
|
+
v.description("Subscription to open order events for a specific user."),
|
|
300
|
+
);
|
|
301
|
+
export type WsOpenOrdersRequest = v.InferOutput<typeof WsOpenOrdersRequest>;
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Subscription to order updates for a specific user.
|
|
305
|
+
* @returns {OrderStatus>[]}
|
|
306
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
307
|
+
*/
|
|
308
|
+
export const WsOrderUpdatesRequest = v.pipe(
|
|
309
|
+
v.object({
|
|
310
|
+
/** Type of subscription. */
|
|
311
|
+
type: v.pipe(
|
|
312
|
+
v.literal("orderUpdates"),
|
|
313
|
+
v.description("Type of subscription."),
|
|
314
|
+
),
|
|
315
|
+
/** User address. */
|
|
316
|
+
user: v.pipe(
|
|
317
|
+
v.pipe(Hex, v.length(42)),
|
|
318
|
+
v.description("User address."),
|
|
319
|
+
),
|
|
320
|
+
}),
|
|
321
|
+
v.description("Subscription to order updates for a specific user."),
|
|
322
|
+
);
|
|
323
|
+
export type WsOrderUpdatesRequest = v.InferOutput<typeof WsOrderUpdatesRequest>;
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Subscription to trade events for a specific asset.
|
|
327
|
+
* @returns {WsTrade[]}
|
|
328
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
329
|
+
*/
|
|
330
|
+
export const WsTradesRequest = v.pipe(
|
|
331
|
+
v.object({
|
|
332
|
+
/** Type of subscription. */
|
|
333
|
+
type: v.pipe(
|
|
334
|
+
v.literal("trades"),
|
|
335
|
+
v.description("Type of subscription."),
|
|
336
|
+
),
|
|
337
|
+
/** Asset symbol (e.g., BTC). */
|
|
338
|
+
coin: v.pipe(
|
|
339
|
+
v.string(),
|
|
340
|
+
v.description("Asset symbol (e.g., BTC)."),
|
|
341
|
+
),
|
|
342
|
+
}),
|
|
343
|
+
v.description("Subscription to trade events for a specific asset."),
|
|
344
|
+
);
|
|
345
|
+
export type WsTradesRequest = v.InferOutput<typeof WsTradesRequest>;
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Subscription to user events for a specific user.
|
|
349
|
+
* @returns {WsUserEvent}
|
|
350
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
351
|
+
*/
|
|
352
|
+
export const WsUserEventsRequest = v.pipe(
|
|
353
|
+
v.object({
|
|
354
|
+
/** Type of subscription. */
|
|
355
|
+
type: v.pipe(
|
|
356
|
+
v.literal("userEvents"),
|
|
357
|
+
v.description("Type of subscription."),
|
|
358
|
+
),
|
|
359
|
+
/** User address. */
|
|
360
|
+
user: v.pipe(
|
|
361
|
+
v.pipe(Hex, v.length(42)),
|
|
362
|
+
v.description("User address."),
|
|
363
|
+
),
|
|
364
|
+
}),
|
|
365
|
+
v.description("Subscription to user events for a specific user."),
|
|
366
|
+
);
|
|
367
|
+
export type WsUserEventsRequest = v.InferOutput<typeof WsUserEventsRequest>;
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Subscription to user fill events for a specific user.
|
|
371
|
+
* @returns {Fill[]}
|
|
372
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills
|
|
373
|
+
*/
|
|
374
|
+
export const WsUserFillsRequest = v.pipe(
|
|
375
|
+
v.object({
|
|
376
|
+
/** Type of subscription. */
|
|
377
|
+
type: v.pipe(
|
|
378
|
+
v.literal("userFills"),
|
|
379
|
+
v.description("Type of subscription."),
|
|
380
|
+
),
|
|
381
|
+
/** User address. */
|
|
382
|
+
user: v.pipe(
|
|
383
|
+
v.pipe(Hex, v.length(42)),
|
|
384
|
+
v.description("User address."),
|
|
385
|
+
),
|
|
386
|
+
/** If true, partial fills are aggregated when a crossing order fills multiple resting orders. */
|
|
387
|
+
aggregateByTime: v.pipe(
|
|
388
|
+
v.optional(v.boolean()),
|
|
389
|
+
v.description("If true, partial fills are aggregated when a crossing order fills multiple resting orders."),
|
|
390
|
+
),
|
|
391
|
+
}),
|
|
392
|
+
v.description("Subscription to user fill events for a specific user."),
|
|
393
|
+
);
|
|
394
|
+
export type WsUserFillsRequest = v.InferOutput<typeof WsUserFillsRequest>;
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Subscription to user funding events for a specific user.
|
|
398
|
+
* @returns {WsUserFundings}
|
|
399
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
400
|
+
*/
|
|
401
|
+
export const WsUserFundingsRequest = v.pipe(
|
|
402
|
+
v.object({
|
|
403
|
+
/** Type of subscription. */
|
|
404
|
+
type: v.pipe(
|
|
405
|
+
v.literal("userFundings"),
|
|
406
|
+
v.description("Type of subscription."),
|
|
407
|
+
),
|
|
408
|
+
/** User address. */
|
|
409
|
+
user: v.pipe(
|
|
410
|
+
v.pipe(Hex, v.length(42)),
|
|
411
|
+
v.description("User address."),
|
|
412
|
+
),
|
|
413
|
+
}),
|
|
414
|
+
v.description("Subscription to user funding events for a specific user."),
|
|
415
|
+
);
|
|
416
|
+
export type WsUserFundingsRequest = v.InferOutput<typeof WsUserFundingsRequest>;
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Subscription to user non-funding ledger updates for a specific user.
|
|
420
|
+
* @returns {WsUserNonFundingLedgerUpdates}
|
|
421
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
422
|
+
*/
|
|
423
|
+
export const WsUserNonFundingLedgerUpdatesRequest = v.pipe(
|
|
424
|
+
v.object({
|
|
425
|
+
/** Type of subscription. */
|
|
426
|
+
type: v.pipe(
|
|
427
|
+
v.literal("userNonFundingLedgerUpdates"),
|
|
428
|
+
v.description("Type of subscription."),
|
|
429
|
+
),
|
|
430
|
+
/** User address. */
|
|
431
|
+
user: v.pipe(
|
|
432
|
+
v.pipe(Hex, v.length(42)),
|
|
433
|
+
v.description("User address."),
|
|
434
|
+
),
|
|
435
|
+
}),
|
|
436
|
+
v.description("Subscription to user non-funding ledger updates for a specific user."),
|
|
437
|
+
);
|
|
438
|
+
export type WsUserNonFundingLedgerUpdatesRequest = v.InferOutput<typeof WsUserNonFundingLedgerUpdatesRequest>;
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Subscription to user TWAP history events for a specific user.
|
|
442
|
+
* @returns {WsUserTwapHistory}
|
|
443
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
444
|
+
*/
|
|
445
|
+
export const WsUserTwapHistoryRequest = v.pipe(
|
|
446
|
+
v.object({
|
|
447
|
+
/** Type of subscription. */
|
|
448
|
+
type: v.pipe(
|
|
449
|
+
v.literal("userTwapHistory"),
|
|
450
|
+
v.description("Type of subscription."),
|
|
451
|
+
),
|
|
452
|
+
/** User address. */
|
|
453
|
+
user: v.pipe(
|
|
454
|
+
v.pipe(Hex, v.length(42)),
|
|
455
|
+
v.description("User address."),
|
|
456
|
+
),
|
|
457
|
+
}),
|
|
458
|
+
v.description("Subscription to user TWAP history events for a specific user."),
|
|
459
|
+
);
|
|
460
|
+
export type WsUserTwapHistoryRequest = v.InferOutput<typeof WsUserTwapHistoryRequest>;
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Subscription to user TWAP slice fill events for a specific user.
|
|
464
|
+
* @returns {TwapSliceFill[]}
|
|
465
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-twap-slice-fills
|
|
466
|
+
*/
|
|
467
|
+
export const WsUserTwapSliceFillsRequest = v.pipe(
|
|
468
|
+
v.object({
|
|
469
|
+
/** Type of subscription. */
|
|
470
|
+
type: v.pipe(
|
|
471
|
+
v.literal("userTwapSliceFills"),
|
|
472
|
+
v.description("Type of subscription."),
|
|
473
|
+
),
|
|
474
|
+
/** User address. */
|
|
475
|
+
user: v.pipe(
|
|
476
|
+
v.pipe(Hex, v.length(42)),
|
|
477
|
+
v.description("User address."),
|
|
478
|
+
),
|
|
479
|
+
}),
|
|
480
|
+
v.description("Subscription to user TWAP slice fill events for a specific user."),
|
|
481
|
+
);
|
|
482
|
+
export type WsUserTwapSliceFillsRequest = v.InferOutput<typeof WsUserTwapSliceFillsRequest>;
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* Subscription to comprehensive user and market data events.
|
|
486
|
+
* @returns {WsWebData2}
|
|
487
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
488
|
+
*/
|
|
489
|
+
export const WsWebData2Request = v.pipe(
|
|
490
|
+
v.object({
|
|
491
|
+
/** Type of subscription. */
|
|
492
|
+
type: v.pipe(
|
|
493
|
+
v.literal("webData2"),
|
|
494
|
+
v.description("Type of subscription."),
|
|
495
|
+
),
|
|
496
|
+
/** User address. */
|
|
497
|
+
user: v.pipe(
|
|
498
|
+
v.pipe(Hex, v.length(42)),
|
|
499
|
+
v.description("User address."),
|
|
500
|
+
),
|
|
501
|
+
}),
|
|
502
|
+
v.description("Subscription to comprehensive user and market data events."),
|
|
503
|
+
);
|
|
504
|
+
export type WsWebData2Request = v.InferOutput<typeof WsWebData2Request>;
|