@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
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This module contains functions for generating Hyperliquid transaction signatures
|
|
3
|
-
* and interfaces to various wallet implementations.
|
|
2
|
+
* This module contains functions for generating Hyperliquid transaction signatures.
|
|
4
3
|
*
|
|
5
4
|
* @example Signing an L1 action
|
|
6
5
|
* ```ts
|
|
7
|
-
* import {
|
|
6
|
+
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
7
|
+
* import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
8
8
|
*
|
|
9
9
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
10
10
|
*
|
|
11
|
-
* const action =
|
|
11
|
+
* const action = parser(CancelRequest.entries.action)({ // for correct signature generation
|
|
12
12
|
* type: "cancel",
|
|
13
13
|
* cancels: [
|
|
14
14
|
* { a: 0, o: 12345 },
|
|
@@ -22,18 +22,19 @@
|
|
|
22
22
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
23
23
|
* method: "POST",
|
|
24
24
|
* headers: { "Content-Type": "application/json" },
|
|
25
|
-
* body: JSON.stringify({ action, signature, nonce }),
|
|
25
|
+
* body: JSON.stringify({ action, signature, nonce }),
|
|
26
26
|
* });
|
|
27
27
|
* const body = await response.json();
|
|
28
28
|
* ```
|
|
29
29
|
*
|
|
30
30
|
* @example Signing a user-signed action
|
|
31
31
|
* ```ts
|
|
32
|
-
* import {
|
|
32
|
+
* import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
|
|
33
|
+
* import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
33
34
|
*
|
|
34
35
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
35
36
|
*
|
|
36
|
-
* const action =
|
|
37
|
+
* const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
|
|
37
38
|
* type: "approveAgent",
|
|
38
39
|
* signatureChainId: "0x66eee",
|
|
39
40
|
* hyperliquidChain: "Mainnet",
|
|
@@ -52,20 +53,21 @@
|
|
|
52
53
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
53
54
|
* method: "POST",
|
|
54
55
|
* headers: { "Content-Type": "application/json" },
|
|
55
|
-
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
56
|
+
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
56
57
|
* });
|
|
57
58
|
* const body = await response.json();
|
|
58
59
|
* ```
|
|
59
60
|
*
|
|
60
61
|
* @example Signing a multi-signature action
|
|
61
62
|
* ```ts
|
|
62
|
-
* import {
|
|
63
|
+
* import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
|
|
64
|
+
* import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
|
|
63
65
|
* import { privateKeyToAccount } from "npm:viem/accounts";
|
|
64
66
|
*
|
|
65
67
|
* const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
|
|
66
68
|
* const multiSigUser = "0x...";
|
|
67
69
|
*
|
|
68
|
-
* const action =
|
|
70
|
+
* const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
|
|
69
71
|
* type: "scheduleCancel",
|
|
70
72
|
* time: Date.now() + 10000,
|
|
71
73
|
* });
|
|
@@ -80,7 +82,7 @@
|
|
|
80
82
|
* });
|
|
81
83
|
* }));
|
|
82
84
|
*
|
|
83
|
-
* // or user-signed action
|
|
85
|
+
* // // or user-signed action
|
|
84
86
|
* // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
|
|
85
87
|
* // return await signUserSignedAction({
|
|
86
88
|
* // wallet: signerPrivKey as `0x${string}`,
|
|
@@ -94,7 +96,7 @@
|
|
|
94
96
|
* // }));
|
|
95
97
|
*
|
|
96
98
|
* // Then use signatures in the multi-sig action
|
|
97
|
-
* const multiSigAction =
|
|
99
|
+
* const multiSigAction = parser(MultiSigRequest.entries.action)({
|
|
98
100
|
* type: "multiSig",
|
|
99
101
|
* signatureChainId: "0x66eee",
|
|
100
102
|
* signatures,
|
|
@@ -110,7 +112,7 @@
|
|
|
110
112
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
111
113
|
* method: "POST",
|
|
112
114
|
* headers: { "Content-Type": "application/json" },
|
|
113
|
-
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
115
|
+
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
114
116
|
* });
|
|
115
117
|
* const body = await response.json();
|
|
116
118
|
* ```
|
|
@@ -118,15 +120,90 @@
|
|
|
118
120
|
* @module
|
|
119
121
|
*/
|
|
120
122
|
import { type AbstractWallet, getWalletAddress, getWalletChainId, type Signature } from "./_signTypedData/mod.js";
|
|
121
|
-
|
|
122
|
-
|
|
123
|
+
export { type AbstractWallet, getWalletAddress, getWalletChainId, type Signature };
|
|
124
|
+
/** EIP-712 type definitions for user-signed actions. */
|
|
125
|
+
export declare const userSignedActionEip712Types: {
|
|
126
|
+
approveAgent: {
|
|
127
|
+
"HyperliquidTransaction:ApproveAgent": {
|
|
128
|
+
name: string;
|
|
129
|
+
type: string;
|
|
130
|
+
}[];
|
|
131
|
+
};
|
|
132
|
+
approveBuilderFee: {
|
|
133
|
+
"HyperliquidTransaction:ApproveBuilderFee": {
|
|
134
|
+
name: string;
|
|
135
|
+
type: string;
|
|
136
|
+
}[];
|
|
137
|
+
};
|
|
138
|
+
cDeposit: {
|
|
139
|
+
"HyperliquidTransaction:CDeposit": {
|
|
140
|
+
name: string;
|
|
141
|
+
type: string;
|
|
142
|
+
}[];
|
|
143
|
+
};
|
|
144
|
+
convertToMultiSigUser: {
|
|
145
|
+
"HyperliquidTransaction:ConvertToMultiSigUser": {
|
|
146
|
+
name: string;
|
|
147
|
+
type: string;
|
|
148
|
+
}[];
|
|
149
|
+
};
|
|
150
|
+
cWithdraw: {
|
|
151
|
+
"HyperliquidTransaction:CWithdraw": {
|
|
152
|
+
name: string;
|
|
153
|
+
type: string;
|
|
154
|
+
}[];
|
|
155
|
+
};
|
|
156
|
+
multiSig: {
|
|
157
|
+
"HyperliquidTransaction:SendMultiSig": {
|
|
158
|
+
name: string;
|
|
159
|
+
type: string;
|
|
160
|
+
}[];
|
|
161
|
+
};
|
|
162
|
+
sendAsset: {
|
|
163
|
+
"HyperliquidTransaction:SendAsset": {
|
|
164
|
+
name: string;
|
|
165
|
+
type: string;
|
|
166
|
+
}[];
|
|
167
|
+
};
|
|
168
|
+
spotSend: {
|
|
169
|
+
"HyperliquidTransaction:SpotSend": {
|
|
170
|
+
name: string;
|
|
171
|
+
type: string;
|
|
172
|
+
}[];
|
|
173
|
+
};
|
|
174
|
+
tokenDelegate: {
|
|
175
|
+
"HyperliquidTransaction:TokenDelegate": {
|
|
176
|
+
name: string;
|
|
177
|
+
type: string;
|
|
178
|
+
}[];
|
|
179
|
+
};
|
|
180
|
+
usdClassTransfer: {
|
|
181
|
+
"HyperliquidTransaction:UsdClassTransfer": {
|
|
182
|
+
name: string;
|
|
183
|
+
type: string;
|
|
184
|
+
}[];
|
|
185
|
+
};
|
|
186
|
+
usdSend: {
|
|
187
|
+
"HyperliquidTransaction:UsdSend": {
|
|
188
|
+
name: string;
|
|
189
|
+
type: string;
|
|
190
|
+
}[];
|
|
191
|
+
};
|
|
192
|
+
withdraw3: {
|
|
193
|
+
"HyperliquidTransaction:Withdraw": {
|
|
194
|
+
name: string;
|
|
195
|
+
type: string;
|
|
196
|
+
}[];
|
|
197
|
+
};
|
|
198
|
+
};
|
|
123
199
|
/**
|
|
124
200
|
* Create a hash of the L1 action.
|
|
125
201
|
* @example
|
|
126
202
|
* ```ts
|
|
127
|
-
* import {
|
|
203
|
+
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
204
|
+
* import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
128
205
|
*
|
|
129
|
-
* const action =
|
|
206
|
+
* const action = parser(CancelRequest.entries.action)({ // for correct signature generation
|
|
130
207
|
* type: "cancel",
|
|
131
208
|
* cancels: [
|
|
132
209
|
* { a: 0, o: 12345 },
|
|
@@ -151,11 +228,12 @@ export declare function createL1ActionHash(args: {
|
|
|
151
228
|
* Sign an L1 action.
|
|
152
229
|
* @example
|
|
153
230
|
* ```ts
|
|
154
|
-
* import {
|
|
231
|
+
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
232
|
+
* import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
155
233
|
*
|
|
156
234
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
157
235
|
*
|
|
158
|
-
* const action =
|
|
236
|
+
* const action = parser(CancelRequest.entries.action)({ // for correct signature generation
|
|
159
237
|
* type: "cancel",
|
|
160
238
|
* cancels: [
|
|
161
239
|
* { a: 0, o: 12345 },
|
|
@@ -169,7 +247,7 @@ export declare function createL1ActionHash(args: {
|
|
|
169
247
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
170
248
|
* method: "POST",
|
|
171
249
|
* headers: { "Content-Type": "application/json" },
|
|
172
|
-
* body: JSON.stringify({ action, signature, nonce }),
|
|
250
|
+
* body: JSON.stringify({ action, signature, nonce }),
|
|
173
251
|
* });
|
|
174
252
|
* const body = await response.json();
|
|
175
253
|
* ```
|
|
@@ -192,11 +270,12 @@ export declare function signL1Action(args: {
|
|
|
192
270
|
* Sign a user-signed action.
|
|
193
271
|
* @example
|
|
194
272
|
* ```ts
|
|
195
|
-
* import {
|
|
273
|
+
* import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
|
|
274
|
+
* import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
196
275
|
*
|
|
197
276
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
198
277
|
*
|
|
199
|
-
* const action =
|
|
278
|
+
* const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
|
|
200
279
|
* type: "approveAgent",
|
|
201
280
|
* signatureChainId: "0x66eee",
|
|
202
281
|
* hyperliquidChain: "Mainnet",
|
|
@@ -215,7 +294,7 @@ export declare function signL1Action(args: {
|
|
|
215
294
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
216
295
|
* method: "POST",
|
|
217
296
|
* headers: { "Content-Type": "application/json" },
|
|
218
|
-
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
297
|
+
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
219
298
|
* });
|
|
220
299
|
* const body = await response.json();
|
|
221
300
|
* ```
|
|
@@ -246,13 +325,14 @@ export declare function signUserSignedAction(args: {
|
|
|
246
325
|
* Sign a multi-signature action.
|
|
247
326
|
* @example
|
|
248
327
|
* ```ts
|
|
249
|
-
* import {
|
|
328
|
+
* import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
|
|
329
|
+
* import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
|
|
250
330
|
* import { privateKeyToAccount } from "npm:viem/accounts";
|
|
251
331
|
*
|
|
252
|
-
* const wallet = privateKeyToAccount("0x..."); // or ethers
|
|
332
|
+
* const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
|
|
253
333
|
* const multiSigUser = "0x...";
|
|
254
334
|
*
|
|
255
|
-
* const action =
|
|
335
|
+
* const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
|
|
256
336
|
* type: "scheduleCancel",
|
|
257
337
|
* time: Date.now() + 10000,
|
|
258
338
|
* });
|
|
@@ -267,7 +347,7 @@ export declare function signUserSignedAction(args: {
|
|
|
267
347
|
* });
|
|
268
348
|
* }));
|
|
269
349
|
*
|
|
270
|
-
* // or user-signed action
|
|
350
|
+
* // // or user-signed action
|
|
271
351
|
* // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
|
|
272
352
|
* // return await signUserSignedAction({
|
|
273
353
|
* // wallet: signerPrivKey as `0x${string}`,
|
|
@@ -281,7 +361,7 @@ export declare function signUserSignedAction(args: {
|
|
|
281
361
|
* // }));
|
|
282
362
|
*
|
|
283
363
|
* // Then use signatures in the multi-sig action
|
|
284
|
-
* const multiSigAction =
|
|
364
|
+
* const multiSigAction = parser(MultiSigRequest.entries.action)({
|
|
285
365
|
* type: "multiSig",
|
|
286
366
|
* signatureChainId: "0x66eee",
|
|
287
367
|
* signatures,
|
|
@@ -297,7 +377,7 @@ export declare function signUserSignedAction(args: {
|
|
|
297
377
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
298
378
|
* method: "POST",
|
|
299
379
|
* headers: { "Content-Type": "application/json" },
|
|
300
|
-
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
380
|
+
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
301
381
|
* });
|
|
302
382
|
* const body = await response.json();
|
|
303
383
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/signing/mod.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/signing/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* This module contains functions for generating Hyperliquid transaction signatures
|
|
4
|
-
* and interfaces to various wallet implementations.
|
|
3
|
+
* This module contains functions for generating Hyperliquid transaction signatures.
|
|
5
4
|
*
|
|
6
5
|
* @example Signing an L1 action
|
|
7
6
|
* ```ts
|
|
8
|
-
* import {
|
|
7
|
+
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
8
|
+
* import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
9
9
|
*
|
|
10
10
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
11
11
|
*
|
|
12
|
-
* const action =
|
|
12
|
+
* const action = parser(CancelRequest.entries.action)({ // for correct signature generation
|
|
13
13
|
* type: "cancel",
|
|
14
14
|
* cancels: [
|
|
15
15
|
* { a: 0, o: 12345 },
|
|
@@ -23,18 +23,19 @@
|
|
|
23
23
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
24
24
|
* method: "POST",
|
|
25
25
|
* headers: { "Content-Type": "application/json" },
|
|
26
|
-
* body: JSON.stringify({ action, signature, nonce }),
|
|
26
|
+
* body: JSON.stringify({ action, signature, nonce }),
|
|
27
27
|
* });
|
|
28
28
|
* const body = await response.json();
|
|
29
29
|
* ```
|
|
30
30
|
*
|
|
31
31
|
* @example Signing a user-signed action
|
|
32
32
|
* ```ts
|
|
33
|
-
* import {
|
|
33
|
+
* import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
|
|
34
|
+
* import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
34
35
|
*
|
|
35
36
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
36
37
|
*
|
|
37
|
-
* const action =
|
|
38
|
+
* const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
|
|
38
39
|
* type: "approveAgent",
|
|
39
40
|
* signatureChainId: "0x66eee",
|
|
40
41
|
* hyperliquidChain: "Mainnet",
|
|
@@ -53,20 +54,21 @@
|
|
|
53
54
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
54
55
|
* method: "POST",
|
|
55
56
|
* headers: { "Content-Type": "application/json" },
|
|
56
|
-
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
57
|
+
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
57
58
|
* });
|
|
58
59
|
* const body = await response.json();
|
|
59
60
|
* ```
|
|
60
61
|
*
|
|
61
62
|
* @example Signing a multi-signature action
|
|
62
63
|
* ```ts
|
|
63
|
-
* import {
|
|
64
|
+
* import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
|
|
65
|
+
* import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
|
|
64
66
|
* import { privateKeyToAccount } from "npm:viem/accounts";
|
|
65
67
|
*
|
|
66
68
|
* const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
|
|
67
69
|
* const multiSigUser = "0x...";
|
|
68
70
|
*
|
|
69
|
-
* const action =
|
|
71
|
+
* const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
|
|
70
72
|
* type: "scheduleCancel",
|
|
71
73
|
* time: Date.now() + 10000,
|
|
72
74
|
* });
|
|
@@ -81,7 +83,7 @@
|
|
|
81
83
|
* });
|
|
82
84
|
* }));
|
|
83
85
|
*
|
|
84
|
-
* // or user-signed action
|
|
86
|
+
* // // or user-signed action
|
|
85
87
|
* // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
|
|
86
88
|
* // return await signUserSignedAction({
|
|
87
89
|
* // wallet: signerPrivKey as `0x${string}`,
|
|
@@ -95,7 +97,7 @@
|
|
|
95
97
|
* // }));
|
|
96
98
|
*
|
|
97
99
|
* // Then use signatures in the multi-sig action
|
|
98
|
-
* const multiSigAction =
|
|
100
|
+
* const multiSigAction = parser(MultiSigRequest.entries.action)({
|
|
99
101
|
* type: "multiSig",
|
|
100
102
|
* signatureChainId: "0x66eee",
|
|
101
103
|
* signatures,
|
|
@@ -111,7 +113,7 @@
|
|
|
111
113
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
112
114
|
* method: "POST",
|
|
113
115
|
* headers: { "Content-Type": "application/json" },
|
|
114
|
-
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
116
|
+
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
115
117
|
* });
|
|
116
118
|
* const body = await response.json();
|
|
117
119
|
* ```
|
|
@@ -119,7 +121,7 @@
|
|
|
119
121
|
* @module
|
|
120
122
|
*/
|
|
121
123
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
122
|
-
exports.userSignedActionEip712Types = exports.getWalletChainId = exports.getWalletAddress =
|
|
124
|
+
exports.userSignedActionEip712Types = exports.getWalletChainId = exports.getWalletAddress = void 0;
|
|
123
125
|
exports.createL1ActionHash = createL1ActionHash;
|
|
124
126
|
exports.signL1Action = signL1Action;
|
|
125
127
|
exports.signUserSignedAction = signUserSignedAction;
|
|
@@ -130,16 +132,115 @@ const msgpack_1 = require("@msgpack/msgpack");
|
|
|
130
132
|
const mod_js_1 = require("./_signTypedData/mod.js");
|
|
131
133
|
Object.defineProperty(exports, "getWalletAddress", { enumerable: true, get: function () { return mod_js_1.getWalletAddress; } });
|
|
132
134
|
Object.defineProperty(exports, "getWalletChainId", { enumerable: true, get: function () { return mod_js_1.getWalletChainId; } });
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
135
|
+
/** EIP-712 type definitions for user-signed actions. */
|
|
136
|
+
exports.userSignedActionEip712Types = {
|
|
137
|
+
approveAgent: {
|
|
138
|
+
"HyperliquidTransaction:ApproveAgent": [
|
|
139
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
140
|
+
{ name: "agentAddress", type: "address" },
|
|
141
|
+
{ name: "agentName", type: "string" },
|
|
142
|
+
{ name: "nonce", type: "uint64" },
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
approveBuilderFee: {
|
|
146
|
+
"HyperliquidTransaction:ApproveBuilderFee": [
|
|
147
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
148
|
+
{ name: "maxFeeRate", type: "string" },
|
|
149
|
+
{ name: "builder", type: "address" },
|
|
150
|
+
{ name: "nonce", type: "uint64" },
|
|
151
|
+
],
|
|
152
|
+
},
|
|
153
|
+
cDeposit: {
|
|
154
|
+
"HyperliquidTransaction:CDeposit": [
|
|
155
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
156
|
+
{ name: "wei", type: "uint64" },
|
|
157
|
+
{ name: "nonce", type: "uint64" },
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
convertToMultiSigUser: {
|
|
161
|
+
"HyperliquidTransaction:ConvertToMultiSigUser": [
|
|
162
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
163
|
+
{ name: "signers", type: "string" },
|
|
164
|
+
{ name: "nonce", type: "uint64" },
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
cWithdraw: {
|
|
168
|
+
"HyperliquidTransaction:CWithdraw": [
|
|
169
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
170
|
+
{ name: "wei", type: "uint64" },
|
|
171
|
+
{ name: "nonce", type: "uint64" },
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
multiSig: {
|
|
175
|
+
"HyperliquidTransaction:SendMultiSig": [
|
|
176
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
177
|
+
{ name: "multiSigActionHash", type: "bytes32" },
|
|
178
|
+
{ name: "nonce", type: "uint64" },
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
sendAsset: {
|
|
182
|
+
"HyperliquidTransaction:SendAsset": [
|
|
183
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
184
|
+
{ name: "destination", type: "string" },
|
|
185
|
+
{ name: "sourceDex", type: "string" },
|
|
186
|
+
{ name: "destinationDex", type: "string" },
|
|
187
|
+
{ name: "token", type: "string" },
|
|
188
|
+
{ name: "amount", type: "string" },
|
|
189
|
+
{ name: "fromSubAccount", type: "string" },
|
|
190
|
+
{ name: "nonce", type: "uint64" },
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
spotSend: {
|
|
194
|
+
"HyperliquidTransaction:SpotSend": [
|
|
195
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
196
|
+
{ name: "destination", type: "string" },
|
|
197
|
+
{ name: "token", type: "string" },
|
|
198
|
+
{ name: "amount", type: "string" },
|
|
199
|
+
{ name: "time", type: "uint64" },
|
|
200
|
+
],
|
|
201
|
+
},
|
|
202
|
+
tokenDelegate: {
|
|
203
|
+
"HyperliquidTransaction:TokenDelegate": [
|
|
204
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
205
|
+
{ name: "validator", type: "address" },
|
|
206
|
+
{ name: "wei", type: "uint64" },
|
|
207
|
+
{ name: "isUndelegate", type: "bool" },
|
|
208
|
+
{ name: "nonce", type: "uint64" },
|
|
209
|
+
],
|
|
210
|
+
},
|
|
211
|
+
usdClassTransfer: {
|
|
212
|
+
"HyperliquidTransaction:UsdClassTransfer": [
|
|
213
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
214
|
+
{ name: "amount", type: "string" },
|
|
215
|
+
{ name: "toPerp", type: "bool" },
|
|
216
|
+
{ name: "nonce", type: "uint64" },
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
usdSend: {
|
|
220
|
+
"HyperliquidTransaction:UsdSend": [
|
|
221
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
222
|
+
{ name: "destination", type: "string" },
|
|
223
|
+
{ name: "amount", type: "string" },
|
|
224
|
+
{ name: "time", type: "uint64" },
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
withdraw3: {
|
|
228
|
+
"HyperliquidTransaction:Withdraw": [
|
|
229
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
230
|
+
{ name: "destination", type: "string" },
|
|
231
|
+
{ name: "amount", type: "string" },
|
|
232
|
+
{ name: "time", type: "uint64" },
|
|
233
|
+
],
|
|
234
|
+
},
|
|
235
|
+
};
|
|
136
236
|
/**
|
|
137
237
|
* Create a hash of the L1 action.
|
|
138
238
|
* @example
|
|
139
239
|
* ```ts
|
|
140
|
-
* import {
|
|
240
|
+
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
241
|
+
* import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
141
242
|
*
|
|
142
|
-
* const action =
|
|
243
|
+
* const action = parser(CancelRequest.entries.action)({ // for correct signature generation
|
|
143
244
|
* type: "cancel",
|
|
144
245
|
* cancels: [
|
|
145
246
|
* { a: 0, o: 12345 },
|
|
@@ -176,11 +277,12 @@ function toUint64Bytes(n) {
|
|
|
176
277
|
* Sign an L1 action.
|
|
177
278
|
* @example
|
|
178
279
|
* ```ts
|
|
179
|
-
* import {
|
|
280
|
+
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
281
|
+
* import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
180
282
|
*
|
|
181
283
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
182
284
|
*
|
|
183
|
-
* const action =
|
|
285
|
+
* const action = parser(CancelRequest.entries.action)({ // for correct signature generation
|
|
184
286
|
* type: "cancel",
|
|
185
287
|
* cancels: [
|
|
186
288
|
* { a: 0, o: 12345 },
|
|
@@ -194,7 +296,7 @@ function toUint64Bytes(n) {
|
|
|
194
296
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
195
297
|
* method: "POST",
|
|
196
298
|
* headers: { "Content-Type": "application/json" },
|
|
197
|
-
* body: JSON.stringify({ action, signature, nonce }),
|
|
299
|
+
* body: JSON.stringify({ action, signature, nonce }),
|
|
198
300
|
* });
|
|
199
301
|
* const body = await response.json();
|
|
200
302
|
* ```
|
|
@@ -228,11 +330,12 @@ async function signL1Action(args) {
|
|
|
228
330
|
* Sign a user-signed action.
|
|
229
331
|
* @example
|
|
230
332
|
* ```ts
|
|
231
|
-
* import {
|
|
333
|
+
* import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
|
|
334
|
+
* import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
|
|
232
335
|
*
|
|
233
336
|
* const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
|
|
234
337
|
*
|
|
235
|
-
* const action =
|
|
338
|
+
* const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
|
|
236
339
|
* type: "approveAgent",
|
|
237
340
|
* signatureChainId: "0x66eee",
|
|
238
341
|
* hyperliquidChain: "Mainnet",
|
|
@@ -251,7 +354,7 @@ async function signL1Action(args) {
|
|
|
251
354
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
252
355
|
* method: "POST",
|
|
253
356
|
* headers: { "Content-Type": "application/json" },
|
|
254
|
-
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
357
|
+
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
255
358
|
* });
|
|
256
359
|
* const body = await response.json();
|
|
257
360
|
* ```
|
|
@@ -285,13 +388,14 @@ async function signUserSignedAction(args) {
|
|
|
285
388
|
* Sign a multi-signature action.
|
|
286
389
|
* @example
|
|
287
390
|
* ```ts
|
|
288
|
-
* import {
|
|
391
|
+
* import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
|
|
392
|
+
* import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
|
|
289
393
|
* import { privateKeyToAccount } from "npm:viem/accounts";
|
|
290
394
|
*
|
|
291
|
-
* const wallet = privateKeyToAccount("0x..."); // or ethers
|
|
395
|
+
* const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
|
|
292
396
|
* const multiSigUser = "0x...";
|
|
293
397
|
*
|
|
294
|
-
* const action =
|
|
398
|
+
* const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
|
|
295
399
|
* type: "scheduleCancel",
|
|
296
400
|
* time: Date.now() + 10000,
|
|
297
401
|
* });
|
|
@@ -306,7 +410,7 @@ async function signUserSignedAction(args) {
|
|
|
306
410
|
* });
|
|
307
411
|
* }));
|
|
308
412
|
*
|
|
309
|
-
* // or user-signed action
|
|
413
|
+
* // // or user-signed action
|
|
310
414
|
* // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
|
|
311
415
|
* // return await signUserSignedAction({
|
|
312
416
|
* // wallet: signerPrivKey as `0x${string}`,
|
|
@@ -320,7 +424,7 @@ async function signUserSignedAction(args) {
|
|
|
320
424
|
* // }));
|
|
321
425
|
*
|
|
322
426
|
* // Then use signatures in the multi-sig action
|
|
323
|
-
* const multiSigAction =
|
|
427
|
+
* const multiSigAction = parser(MultiSigRequest.entries.action)({
|
|
324
428
|
* type: "multiSig",
|
|
325
429
|
* signatureChainId: "0x66eee",
|
|
326
430
|
* signatures,
|
|
@@ -336,7 +440,7 @@ async function signUserSignedAction(args) {
|
|
|
336
440
|
* const response = await fetch("https://api.hyperliquid.xyz/exchange", {
|
|
337
441
|
* method: "POST",
|
|
338
442
|
* headers: { "Content-Type": "application/json" },
|
|
339
|
-
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
443
|
+
* body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
|
|
340
444
|
* });
|
|
341
445
|
* const body = await response.json();
|
|
342
446
|
* ```
|
|
@@ -361,8 +465,9 @@ async function signMultiSigAction(args) {
|
|
|
361
465
|
chainId: parseInt(action.signatureChainId),
|
|
362
466
|
verifyingContract: "0x0000000000000000000000000000000000000000",
|
|
363
467
|
},
|
|
364
|
-
types:
|
|
365
|
-
primaryType: Object.keys(
|
|
468
|
+
types: exports.userSignedActionEip712Types.multiSig,
|
|
469
|
+
primaryType: Object.keys(exports.userSignedActionEip712Types.multiSig)[0],
|
|
366
470
|
message,
|
|
367
471
|
});
|
|
368
472
|
}
|
|
473
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/src/signing/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { HyperliquidError } from "../
|
|
1
|
+
import { HyperliquidError } from "../errors.js";
|
|
2
2
|
/**
|
|
3
3
|
* Interface representing a REST transport.
|
|
4
|
-
*
|
|
5
4
|
* Handles communication with Hyperliquid API endpoints.
|
|
6
|
-
*
|
|
7
5
|
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint | Info endpoint}
|
|
8
6
|
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint | Exchange endpoint}
|
|
9
7
|
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/post-requests | Websocket post requests}
|
|
10
8
|
*/
|
|
11
9
|
export interface IRequestTransport extends Partial<AsyncDisposable> {
|
|
10
|
+
/** Indicates this transport uses testnet endpoint(s). */
|
|
11
|
+
isTestnet: boolean;
|
|
12
12
|
/**
|
|
13
13
|
* Sends a request to the Hyperliquid API.
|
|
14
14
|
* @param endpoint - The API endpoint to send the request to.
|
|
@@ -41,7 +41,7 @@ export interface Subscription {
|
|
|
41
41
|
/** Signal that aborts when resubscription fails during reconnection. */
|
|
42
42
|
resubscribeSignal?: AbortSignal;
|
|
43
43
|
}
|
|
44
|
-
/**
|
|
44
|
+
/** Thrown when a transport error occurs. */
|
|
45
45
|
export declare class TransportError extends HyperliquidError {
|
|
46
46
|
constructor(message?: string, options?: ErrorOptions);
|
|
47
47
|
}
|