@nktkas/hyperliquid 0.22.1 → 0.23.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/README.md +125 -70
- package/esm/mod.d.ts +1 -1
- package/esm/mod.d.ts.map +1 -1
- package/esm/src/base.d.ts +4 -1
- package/esm/src/base.d.ts.map +1 -1
- package/esm/src/base.js +2 -2
- package/esm/src/clients/exchange.d.ts +420 -368
- package/esm/src/clients/exchange.d.ts.map +1 -1
- package/esm/src/clients/exchange.js +721 -551
- package/esm/src/clients/info.d.ts +137 -41
- package/esm/src/clients/info.d.ts.map +1 -1
- package/esm/src/clients/info.js +124 -28
- package/esm/src/clients/multiSign.d.ts +406 -484
- package/esm/src/clients/multiSign.d.ts.map +1 -1
- package/esm/src/clients/multiSign.js +639 -734
- package/esm/src/clients/subscription.d.ts +38 -3
- package/esm/src/clients/subscription.d.ts.map +1 -1
- package/esm/src/clients/subscription.js +36 -3
- package/esm/src/signing/_signTypedData/ethers.d.ts +33 -0
- package/esm/src/signing/_signTypedData/ethers.d.ts.map +1 -0
- package/esm/src/signing/_signTypedData/ethers.js +12 -0
- package/esm/src/signing/_signTypedData/mod.d.ts +35 -0
- package/esm/src/signing/_signTypedData/mod.d.ts.map +1 -0
- package/esm/src/signing/_signTypedData/mod.js +59 -0
- package/esm/src/signing/_signTypedData/private_key.d.ts +26 -0
- package/esm/src/signing/_signTypedData/private_key.d.ts.map +1 -0
- package/esm/src/signing/_signTypedData/private_key.js +144 -0
- package/esm/src/signing/_signTypedData/viem.d.ts +23 -0
- package/esm/src/signing/_signTypedData/viem.d.ts.map +1 -0
- package/esm/src/signing/_signTypedData/viem.js +6 -0
- package/esm/src/signing/_signTypedData/window.d.ts +29 -0
- package/esm/src/signing/_signTypedData/window.d.ts.map +1 -0
- package/esm/src/signing/_signTypedData/window.js +30 -0
- package/esm/src/signing/_sorter.d.ts +128 -0
- package/esm/src/signing/_sorter.d.ts.map +1 -0
- package/esm/src/{signing.js → signing/_sorter.js} +36 -449
- package/esm/src/signing/mod.d.ts +272 -0
- package/esm/src/signing/mod.d.ts.map +1 -0
- package/esm/src/signing/mod.js +306 -0
- package/esm/src/transports/base.d.ts +1 -1
- package/esm/src/transports/base.d.ts.map +1 -1
- package/esm/src/transports/base.js +2 -2
- package/esm/src/transports/http/http_transport.d.ts +9 -15
- package/esm/src/transports/http/http_transport.d.ts.map +1 -1
- package/esm/src/transports/http/http_transport.js +64 -59
- 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 -1
- package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
- package/esm/src/transports/websocket/_reconnecting_websocket.js +17 -4
- package/esm/src/transports/websocket/_websocket_async_request.d.ts +0 -9
- package/esm/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
- package/esm/src/transports/websocket/_websocket_async_request.js +14 -20
- package/esm/src/transports/websocket/websocket_transport.d.ts +8 -4
- package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/esm/src/transports/websocket/websocket_transport.js +83 -54
- package/esm/src/types/exchange/requests.d.ts +27 -51
- package/esm/src/types/exchange/requests.d.ts.map +1 -1
- package/esm/src/types/explorer/requests.d.ts +5 -8
- package/esm/src/types/explorer/requests.d.ts.map +1 -1
- package/esm/src/types/info/accounts.d.ts +5 -5
- package/esm/src/types/info/accounts.d.ts.map +1 -1
- package/esm/src/types/info/delegations.d.ts +1 -1
- package/esm/src/types/info/delegations.d.ts.map +1 -1
- package/esm/src/types/info/orders.d.ts +1 -1
- package/esm/src/types/info/orders.d.ts.map +1 -1
- package/esm/src/types/info/requests.d.ts +49 -96
- package/esm/src/types/info/requests.d.ts.map +1 -1
- package/esm/src/types/subscriptions/requests.d.ts +72 -18
- package/esm/src/types/subscriptions/requests.d.ts.map +1 -1
- package/esm/src/types/subscriptions/responses.d.ts +2 -0
- package/esm/src/types/subscriptions/responses.d.ts.map +1 -1
- package/package.json +12 -8
- package/script/mod.d.ts +1 -1
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +13 -23
- package/script/src/base.d.ts +4 -1
- package/script/src/base.d.ts.map +1 -1
- package/script/src/base.js +10 -20
- package/script/src/clients/exchange.d.ts +420 -368
- package/script/src/clients/exchange.d.ts.map +1 -1
- package/script/src/clients/exchange.js +2000 -1840
- package/script/src/clients/info.d.ts +137 -41
- package/script/src/clients/info.d.ts.map +1 -1
- package/script/src/clients/info.js +1296 -1210
- package/script/src/clients/multiSign.d.ts +406 -484
- package/script/src/clients/multiSign.d.ts.map +1 -1
- package/script/src/clients/multiSign.js +2043 -2148
- package/script/src/clients/subscription.d.ts +38 -3
- package/script/src/clients/subscription.d.ts.map +1 -1
- package/script/src/clients/subscription.js +568 -545
- package/script/src/signing/_signTypedData/ethers.d.ts +33 -0
- package/script/src/signing/_signTypedData/ethers.d.ts.map +1 -0
- package/script/src/signing/_signTypedData/ethers.js +16 -0
- package/script/src/signing/_signTypedData/mod.d.ts +35 -0
- package/script/src/signing/_signTypedData/mod.d.ts.map +1 -0
- package/script/src/signing/_signTypedData/mod.js +67 -0
- package/script/src/signing/_signTypedData/private_key.d.ts +26 -0
- package/script/src/signing/_signTypedData/private_key.d.ts.map +1 -0
- package/script/src/signing/_signTypedData/private_key.js +148 -0
- package/script/src/signing/_signTypedData/viem.d.ts +23 -0
- package/script/src/signing/_signTypedData/viem.d.ts.map +1 -0
- package/script/src/signing/_signTypedData/viem.js +9 -0
- package/script/src/signing/_signTypedData/window.d.ts +29 -0
- package/script/src/signing/_signTypedData/window.d.ts.map +1 -0
- package/script/src/signing/_signTypedData/window.js +34 -0
- package/script/src/signing/_sorter.d.ts +128 -0
- package/script/src/signing/_sorter.d.ts.map +1 -0
- package/script/src/signing/_sorter.js +698 -0
- package/script/src/signing/mod.d.ts +272 -0
- package/script/src/signing/mod.d.ts.map +1 -0
- package/script/src/signing/mod.js +331 -0
- package/script/src/transports/base.d.ts +1 -1
- package/script/src/transports/base.d.ts.map +1 -1
- package/script/src/transports/base.js +11 -21
- package/script/src/transports/http/http_transport.d.ts +9 -15
- package/script/src/transports/http/http_transport.d.ts.map +1 -1
- package/script/src/transports/http/http_transport.js +97 -102
- 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 +51 -61
- package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
- package/script/src/transports/websocket/_reconnecting_websocket.js +271 -268
- package/script/src/transports/websocket/_websocket_async_request.d.ts +0 -9
- package/script/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
- package/script/src/transports/websocket/_websocket_async_request.js +157 -174
- package/script/src/transports/websocket/websocket_transport.d.ts +8 -4
- package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/script/src/transports/websocket/websocket_transport.js +209 -189
- package/script/src/types/exchange/requests.d.ts +27 -51
- package/script/src/types/exchange/requests.d.ts.map +1 -1
- package/script/src/types/exchange/requests.js +2 -12
- package/script/src/types/exchange/responses.js +2 -12
- package/script/src/types/explorer/requests.d.ts +5 -8
- package/script/src/types/explorer/requests.d.ts.map +1 -1
- package/script/src/types/explorer/requests.js +2 -12
- package/script/src/types/explorer/responses.js +2 -12
- package/script/src/types/info/accounts.d.ts +5 -5
- package/script/src/types/info/accounts.d.ts.map +1 -1
- package/script/src/types/info/accounts.js +2 -12
- package/script/src/types/info/assets.js +2 -12
- package/script/src/types/info/delegations.d.ts +1 -1
- package/script/src/types/info/delegations.d.ts.map +1 -1
- package/script/src/types/info/delegations.js +2 -12
- package/script/src/types/info/markets.js +2 -12
- package/script/src/types/info/orders.d.ts +1 -1
- package/script/src/types/info/orders.d.ts.map +1 -1
- package/script/src/types/info/orders.js +2 -12
- package/script/src/types/info/requests.d.ts +49 -96
- package/script/src/types/info/requests.d.ts.map +1 -1
- package/script/src/types/info/requests.js +2 -12
- package/script/src/types/info/vaults.js +2 -12
- package/script/src/types/mod.js +2 -12
- package/script/src/types/subscriptions/requests.d.ts +72 -18
- package/script/src/types/subscriptions/requests.d.ts.map +1 -1
- package/script/src/types/subscriptions/requests.js +2 -12
- package/script/src/types/subscriptions/responses.d.ts +2 -0
- package/script/src/types/subscriptions/responses.d.ts.map +1 -1
- package/script/src/types/subscriptions/responses.js +2 -12
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +0 -2
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +0 -1
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +0 -1
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +0 -95
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +0 -1
- package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +0 -10
- package/esm/deps/jsr.io/@std/async/1.0.13/delay.d.ts +0 -43
- package/esm/deps/jsr.io/@std/async/1.0.13/delay.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/async/1.0.13/delay.js +0 -63
- package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts +0 -9
- package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.js +0 -2
- package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts +0 -21
- package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.js +0 -32
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts +0 -23
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.js +0 -51
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -13
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -2
- package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts +0 -39
- package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.js +0 -87
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +0 -9
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.js +0 -2
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts +0 -39
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.js +0 -237
- package/esm/src/signing.d.ts +0 -463
- package/esm/src/signing.d.ts.map +0 -1
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +0 -2
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +0 -1
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +0 -27
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +0 -95
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +0 -1
- package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +0 -24
- package/script/deps/jsr.io/@std/async/1.0.13/delay.d.ts +0 -43
- package/script/deps/jsr.io/@std/async/1.0.13/delay.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/async/1.0.13/delay.js +0 -76
- package/script/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts +0 -9
- package/script/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/bytes/1.0.6/_types.js +0 -13
- package/script/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts +0 -21
- package/script/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/bytes/1.0.6/concat.js +0 -45
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts +0 -23
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.js +0 -67
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -26
- package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
- package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -13
- package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts +0 -39
- package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/hex.js +0 -101
- package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +0 -9
- package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.js +0 -13
- package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts +0 -39
- package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.js +0 -250
- package/script/src/signing.d.ts +0 -463
- package/script/src/signing.d.ts.map +0 -1
- package/script/src/signing.js +0 -1129
package/script/src/signing.d.ts
DELETED
|
@@ -1,463 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This module contains functions for generating Hyperliquid transaction signatures
|
|
3
|
-
* and interfaces to various wallet implementations.
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* ```ts
|
|
7
|
-
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
8
|
-
*
|
|
9
|
-
* const action = {
|
|
10
|
-
* type: "cancel",
|
|
11
|
-
* cancels: [{ a: 0, o: 12345 }],
|
|
12
|
-
* };
|
|
13
|
-
* const nonce = Date.now();
|
|
14
|
-
*
|
|
15
|
-
* const signature = await signL1Action({
|
|
16
|
-
* wallet,
|
|
17
|
-
* action,
|
|
18
|
-
* nonce,
|
|
19
|
-
* isTestnet: true, // Change to false for mainnet
|
|
20
|
-
* });
|
|
21
|
-
* ```
|
|
22
|
-
* @example
|
|
23
|
-
* ```ts
|
|
24
|
-
* import { signUserSignedAction } from "@nktkas/hyperliquid/signing";
|
|
25
|
-
*
|
|
26
|
-
* const action = {
|
|
27
|
-
* type: "approveAgent",
|
|
28
|
-
* hyperliquidChain: "Testnet", // "Mainnet" or "Testnet"
|
|
29
|
-
* signatureChainId: "0x66eee",
|
|
30
|
-
* nonce: Date.now(),
|
|
31
|
-
* agentAddress: "0x...",
|
|
32
|
-
* agentName: "Agent",
|
|
33
|
-
* };
|
|
34
|
-
*
|
|
35
|
-
* const signature = await signUserSignedAction({
|
|
36
|
-
* wallet,
|
|
37
|
-
* action,
|
|
38
|
-
* types: {
|
|
39
|
-
* "HyperliquidTransaction:ApproveAgent": [
|
|
40
|
-
* { name: "hyperliquidChain", type: "string" },
|
|
41
|
-
* { name: "agentAddress", type: "address" },
|
|
42
|
-
* { name: "agentName", type: "string" },
|
|
43
|
-
* { name: "nonce", type: "uint64" },
|
|
44
|
-
* ],
|
|
45
|
-
* },
|
|
46
|
-
* chainId: parseInt(action.signatureChainId, 16),
|
|
47
|
-
* });
|
|
48
|
-
* ```
|
|
49
|
-
*
|
|
50
|
-
* @module
|
|
51
|
-
*/
|
|
52
|
-
import { type ValueMap, type ValueType } from "../deps/jsr.io/@std/msgpack/1.0.3/encode.js";
|
|
53
|
-
import type { Hex } from "./base.js";
|
|
54
|
-
import type { ApproveAgentRequest, ApproveBuilderFeeRequest, BatchModifyRequest, CancelByCloidRequest, CancelRequest, CDepositRequest, ClaimRewardsRequest, ConvertToMultiSigUserRequest, CreateSubAccountRequest, CreateVaultRequest, CSignerActionRequest_JailSelf, CSignerActionRequest_UnjailSelf, CValidatorActionRequest_ChangeProfile, CValidatorActionRequest_Register, CValidatorActionRequest_Unregister, CWithdrawRequest, EvmUserModifyRequest, ModifyRequest, MultiSigRequest, OrderRequest, PerpDeployRequest_RegisterAsset, PerpDeployRequest_SetOracle, PerpDexClassTransferRequest, RegisterReferrerRequest, ReserveRequestWeightRequest, ScheduleCancelRequest, SetDisplayNameRequest, SetReferrerRequest, SpotDeployRequest_Genesis, SpotDeployRequest_RegisterHyperliquidity, SpotDeployRequest_RegisterSpot, SpotDeployRequest_RegisterToken2, SpotDeployRequest_SetDeployerTradingFeeShare, SpotDeployRequest_UserGenesis, SpotSendRequest, SpotUserRequest, SubAccountSpotTransferRequest, SubAccountTransferRequest, TokenDelegateRequest, TwapCancelRequest, TwapOrderRequest, UpdateIsolatedMarginRequest, UpdateLeverageRequest, UsdClassTransferRequest, UsdSendRequest, VaultDistributeRequest, VaultModifyRequest, VaultTransferRequest, Withdraw3Request } from "./types/exchange/requests.js";
|
|
55
|
-
export type { Hex };
|
|
56
|
-
export type { ValueMap, ValueType };
|
|
57
|
-
/** Abstract interface for a wallet that can sign typed data. */
|
|
58
|
-
export type AbstractWallet = AbstractViemWalletClient | AbstractEthersSigner | AbstractEthersV5Signer | AbstractWindowEthereum;
|
|
59
|
-
/** Abstract interface for a [viem wallet](https://viem.sh/docs/clients/wallet). */
|
|
60
|
-
export interface AbstractViemWalletClient {
|
|
61
|
-
signTypedData(params: {
|
|
62
|
-
domain: {
|
|
63
|
-
name: string;
|
|
64
|
-
version: string;
|
|
65
|
-
chainId: number;
|
|
66
|
-
verifyingContract: Hex;
|
|
67
|
-
};
|
|
68
|
-
types: {
|
|
69
|
-
[key: string]: {
|
|
70
|
-
name: string;
|
|
71
|
-
type: string;
|
|
72
|
-
}[];
|
|
73
|
-
};
|
|
74
|
-
primaryType: string;
|
|
75
|
-
message: Record<string, unknown>;
|
|
76
|
-
}, options?: unknown): Promise<Hex>;
|
|
77
|
-
}
|
|
78
|
-
/** Abstract interface for an [ethers.js signer](https://docs.ethers.org/v6/api/providers/#Signer). */
|
|
79
|
-
export interface AbstractEthersSigner {
|
|
80
|
-
signTypedData(domain: {
|
|
81
|
-
name: string;
|
|
82
|
-
version: string;
|
|
83
|
-
chainId: number;
|
|
84
|
-
verifyingContract: string;
|
|
85
|
-
}, types: {
|
|
86
|
-
[key: string]: {
|
|
87
|
-
name: string;
|
|
88
|
-
type: string;
|
|
89
|
-
}[];
|
|
90
|
-
}, value: Record<string, unknown>): Promise<string>;
|
|
91
|
-
}
|
|
92
|
-
/** Abstract interface for an [ethers.js v5 signer](https://docs.ethers.org/v5/api/signer/). */
|
|
93
|
-
export interface AbstractEthersV5Signer {
|
|
94
|
-
_signTypedData(domain: {
|
|
95
|
-
name: string;
|
|
96
|
-
version: string;
|
|
97
|
-
chainId: number;
|
|
98
|
-
verifyingContract: string;
|
|
99
|
-
}, types: {
|
|
100
|
-
[key: string]: {
|
|
101
|
-
name: string;
|
|
102
|
-
type: string;
|
|
103
|
-
}[];
|
|
104
|
-
}, value: Record<string, unknown>): Promise<string>;
|
|
105
|
-
}
|
|
106
|
-
/** Abstract interface for a [window.ethereum](https://eips.ethereum.org/EIPS/eip-1193) object. */
|
|
107
|
-
export interface AbstractWindowEthereum {
|
|
108
|
-
request(args: {
|
|
109
|
-
method: any;
|
|
110
|
-
params: any;
|
|
111
|
-
}): Promise<any>;
|
|
112
|
-
}
|
|
113
|
-
export interface Signature {
|
|
114
|
-
r: Hex;
|
|
115
|
-
s: Hex;
|
|
116
|
-
v: number;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Create a hash of the L1 action.
|
|
120
|
-
*
|
|
121
|
-
* Note: Hash generation depends on the order of the action keys.
|
|
122
|
-
* @param action - The action to be hashed.
|
|
123
|
-
* @param nonce - Unique request identifier (recommended current timestamp in ms).
|
|
124
|
-
* @param vaultAddress - Optional vault address used in the action.
|
|
125
|
-
* @param expiresAfter - Optional expiration time of the action in milliseconds since the epoch.
|
|
126
|
-
* @returns The hash of the action.
|
|
127
|
-
*/
|
|
128
|
-
export declare function createL1ActionHash(action: ValueType, nonce: number, vaultAddress?: Hex, expiresAfter?: number): Hex;
|
|
129
|
-
/**
|
|
130
|
-
* Sign an L1 action.
|
|
131
|
-
*
|
|
132
|
-
* Note: Signature generation depends on the order of the action keys.
|
|
133
|
-
* @param args - Arguments for signing the action.
|
|
134
|
-
* @returns The signature components r, s, and v.
|
|
135
|
-
* @example
|
|
136
|
-
* ```ts
|
|
137
|
-
* import { signL1Action } from "@nktkas/hyperliquid/signing";
|
|
138
|
-
* import { privateKeyToAccount } from "viem/accounts";
|
|
139
|
-
*
|
|
140
|
-
* const wallet = privateKeyToAccount("0x..."); // Your private key
|
|
141
|
-
*
|
|
142
|
-
* const action = {
|
|
143
|
-
* type: "cancel",
|
|
144
|
-
* cancels: [
|
|
145
|
-
* { a: 0, o: 12345 }, // Asset index and order ID
|
|
146
|
-
* ],
|
|
147
|
-
* };
|
|
148
|
-
* const nonce = Date.now();
|
|
149
|
-
*
|
|
150
|
-
* const signature = await signL1Action({
|
|
151
|
-
* wallet,
|
|
152
|
-
* action,
|
|
153
|
-
* nonce,
|
|
154
|
-
* isTestnet: true, // Change to false for mainnet
|
|
155
|
-
* });
|
|
156
|
-
*
|
|
157
|
-
* const response = await fetch("https://api.hyperliquid-testnet.xyz/exchange", {
|
|
158
|
-
* method: "POST",
|
|
159
|
-
* headers: { "Content-Type": "application/json" },
|
|
160
|
-
* body: JSON.stringify({ action, signature, nonce }),
|
|
161
|
-
* });
|
|
162
|
-
* const body = await response.json();
|
|
163
|
-
* ```
|
|
164
|
-
*/
|
|
165
|
-
export declare function signL1Action(args: {
|
|
166
|
-
/** Wallet to sign the action. */
|
|
167
|
-
wallet: AbstractWallet;
|
|
168
|
-
/** The action to be signed. */
|
|
169
|
-
action: ValueType;
|
|
170
|
-
/** Unique request identifier (recommended current timestamp in ms). */
|
|
171
|
-
nonce: number;
|
|
172
|
-
/** Indicates if the action is for the testnet. Default is `false`. */
|
|
173
|
-
isTestnet?: boolean;
|
|
174
|
-
/** Optional vault address used in the action. */
|
|
175
|
-
vaultAddress?: Hex;
|
|
176
|
-
/** Optional expiration time of the action in milliseconds since the epoch. */
|
|
177
|
-
expiresAfter?: number;
|
|
178
|
-
}): Promise<Signature>;
|
|
179
|
-
/**
|
|
180
|
-
* Sign a user-signed action.
|
|
181
|
-
*
|
|
182
|
-
* Note: Signature generation depends on the order of types.
|
|
183
|
-
*
|
|
184
|
-
* @param args - Arguments for signing the action.
|
|
185
|
-
* @returns The signature components r, s, and v.
|
|
186
|
-
* @example
|
|
187
|
-
* ```ts
|
|
188
|
-
* import { signUserSignedAction } from "@nktkas/hyperliquid/signing";
|
|
189
|
-
* import { privateKeyToAccount } from "viem/accounts";
|
|
190
|
-
*
|
|
191
|
-
* const wallet = privateKeyToAccount("0x..."); // Your private key
|
|
192
|
-
*
|
|
193
|
-
* const action = {
|
|
194
|
-
* type: "approveAgent",
|
|
195
|
-
* hyperliquidChain: "Testnet", // "Mainnet" or "Testnet"
|
|
196
|
-
* signatureChainId: "0x66eee",
|
|
197
|
-
* nonce: Date.now(),
|
|
198
|
-
* agentAddress: "0x...", // Change to your agent address
|
|
199
|
-
* agentName: "Agent",
|
|
200
|
-
* };
|
|
201
|
-
*
|
|
202
|
-
* const signature = await signUserSignedAction({
|
|
203
|
-
* wallet,
|
|
204
|
-
* action,
|
|
205
|
-
* types: {
|
|
206
|
-
* "HyperliquidTransaction:ApproveAgent": [
|
|
207
|
-
* { name: "hyperliquidChain", type: "string" },
|
|
208
|
-
* { name: "agentAddress", type: "address" },
|
|
209
|
-
* { name: "agentName", type: "string" },
|
|
210
|
-
* { name: "nonce", type: "uint64" },
|
|
211
|
-
* ],
|
|
212
|
-
* },
|
|
213
|
-
* chainId: parseInt(action.signatureChainId, 16),
|
|
214
|
-
* });
|
|
215
|
-
*
|
|
216
|
-
* const response = await fetch("https://api.hyperliquid-testnet.xyz/exchange", {
|
|
217
|
-
* method: "POST",
|
|
218
|
-
* headers: { "Content-Type": "application/json" },
|
|
219
|
-
* body: JSON.stringify({ action, signature, nonce: action.nonce }),
|
|
220
|
-
* });
|
|
221
|
-
* const body = await response.json();
|
|
222
|
-
* ```
|
|
223
|
-
*/
|
|
224
|
-
export declare function signUserSignedAction(args: {
|
|
225
|
-
/** Wallet to sign the action. */
|
|
226
|
-
wallet: AbstractWallet;
|
|
227
|
-
/** The action to be signed. */
|
|
228
|
-
action: Record<string, unknown>;
|
|
229
|
-
/** The types of the action. */
|
|
230
|
-
types: {
|
|
231
|
-
[key: string]: {
|
|
232
|
-
name: string;
|
|
233
|
-
type: string;
|
|
234
|
-
}[];
|
|
235
|
-
};
|
|
236
|
-
/** The chain ID. */
|
|
237
|
-
chainId: number;
|
|
238
|
-
}): Promise<Signature>;
|
|
239
|
-
/**
|
|
240
|
-
* Sign a multi-signature action.
|
|
241
|
-
*
|
|
242
|
-
* Note: Signature generation depends on the order of the action keys.
|
|
243
|
-
*
|
|
244
|
-
* @param args - Arguments for signing the action.
|
|
245
|
-
* @returns The signature components r, s, and v.
|
|
246
|
-
* @example
|
|
247
|
-
* ```ts
|
|
248
|
-
* import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
|
|
249
|
-
* import { privateKeyToAccount } from "viem/accounts";
|
|
250
|
-
*
|
|
251
|
-
* const wallet = privateKeyToAccount("0x..."); // Your private key
|
|
252
|
-
* const multiSigUser = "0x..."; // Multi-sig user address
|
|
253
|
-
*
|
|
254
|
-
* const nonce = Date.now();
|
|
255
|
-
* const action = { // Example action
|
|
256
|
-
* type: "scheduleCancel",
|
|
257
|
-
* time: Date.now() + 10000
|
|
258
|
-
* };
|
|
259
|
-
*
|
|
260
|
-
* // First, create signature from one of the authorized signers
|
|
261
|
-
* const signature = await signL1Action({
|
|
262
|
-
* wallet,
|
|
263
|
-
* action: [multiSigUser.toLowerCase(), wallet.address.toLowerCase(), action],
|
|
264
|
-
* nonce,
|
|
265
|
-
* isTestnet: true,
|
|
266
|
-
* });
|
|
267
|
-
*
|
|
268
|
-
* // Then use it in the multi-sig action
|
|
269
|
-
* const multiSigSignature = await signMultiSigAction({
|
|
270
|
-
* wallet,
|
|
271
|
-
* action: {
|
|
272
|
-
* type: "multiSig",
|
|
273
|
-
* signatureChainId: "0x66eee",
|
|
274
|
-
* signatures: [signature],
|
|
275
|
-
* payload: {
|
|
276
|
-
* multiSigUser,
|
|
277
|
-
* outerSigner: wallet.address,
|
|
278
|
-
* action,
|
|
279
|
-
* }
|
|
280
|
-
* },
|
|
281
|
-
* nonce,
|
|
282
|
-
* hyperliquidChain: "Testnet",
|
|
283
|
-
* signatureChainId: "0x66eee",
|
|
284
|
-
* });
|
|
285
|
-
* ```
|
|
286
|
-
*/
|
|
287
|
-
export declare function signMultiSigAction(args: {
|
|
288
|
-
/** Wallet to sign the action. */
|
|
289
|
-
wallet: AbstractWallet;
|
|
290
|
-
/** The action to be signed. */
|
|
291
|
-
action: ValueMap;
|
|
292
|
-
/** Unique request identifier (recommended current timestamp in ms). */
|
|
293
|
-
nonce: number;
|
|
294
|
-
/** Optional vault address used in the action. */
|
|
295
|
-
vaultAddress?: Hex;
|
|
296
|
-
/** Optional expiration time of the action in milliseconds since the epoch. */
|
|
297
|
-
expiresAfter?: number;
|
|
298
|
-
/** HyperLiquid network ("Mainnet" or "Testnet"). */
|
|
299
|
-
hyperliquidChain: "Mainnet" | "Testnet";
|
|
300
|
-
/** Chain ID used for signing. */
|
|
301
|
-
signatureChainId: Hex;
|
|
302
|
-
}): Promise<Signature>;
|
|
303
|
-
/** Checks if the given value is an abstract viem wallet. */
|
|
304
|
-
export declare function isAbstractViemWalletClient(client: unknown): client is AbstractViemWalletClient;
|
|
305
|
-
/** Checks if the given value is an abstract ethers signer. */
|
|
306
|
-
export declare function isAbstractEthersSigner(client: unknown): client is AbstractEthersSigner;
|
|
307
|
-
/** Checks if the given value is an abstract ethers v5 signer. */
|
|
308
|
-
export declare function isAbstractEthersV5Signer(client: unknown): client is AbstractEthersV5Signer;
|
|
309
|
-
/** Checks if the given value is an abstract `window.ethereum` object. */
|
|
310
|
-
export declare function isAbstractWindowEthereum(client: unknown): client is AbstractWindowEthereum;
|
|
311
|
-
/** Action sorter for correct signature generation. */
|
|
312
|
-
export declare const actionSorter: {
|
|
313
|
-
/** Sorts and formats an `approveAgent` action. */
|
|
314
|
-
approveAgent: (action: ApproveAgentRequest["action"]) => ApproveAgentRequest["action"];
|
|
315
|
-
/** Sorts and formats an `approveBuilderFee` action. */
|
|
316
|
-
approveBuilderFee: (action: ApproveBuilderFeeRequest["action"]) => ApproveBuilderFeeRequest["action"];
|
|
317
|
-
/** Sorts and formats a `batchModify` action. */
|
|
318
|
-
batchModify: (action: BatchModifyRequest["action"]) => BatchModifyRequest["action"];
|
|
319
|
-
/** Sorts and formats a `cancel` action. */
|
|
320
|
-
cancel: (action: CancelRequest["action"]) => CancelRequest["action"];
|
|
321
|
-
/** Sorts and formats a `cancelByCloid` action. */
|
|
322
|
-
cancelByCloid: (action: CancelByCloidRequest["action"]) => CancelByCloidRequest["action"];
|
|
323
|
-
/** Sorts and formats a `cDeposit` action. */
|
|
324
|
-
cDeposit: (action: CDepositRequest["action"]) => CDepositRequest["action"];
|
|
325
|
-
/** Sorts and formats a `claimRewards` action. */
|
|
326
|
-
claimRewards: (action: ClaimRewardsRequest["action"]) => ClaimRewardsRequest["action"];
|
|
327
|
-
/** Sorts and formats a `convertToMultiSigUser` action. */
|
|
328
|
-
convertToMultiSigUser: (action: ConvertToMultiSigUserRequest["action"]) => ConvertToMultiSigUserRequest["action"];
|
|
329
|
-
/** Sorts and formats a `createSubAccount` action. */
|
|
330
|
-
createSubAccount: (action: CreateSubAccountRequest["action"]) => CreateSubAccountRequest["action"];
|
|
331
|
-
/** Sorts and formats a `createVault` action. */
|
|
332
|
-
createVault: (action: CreateVaultRequest["action"]) => CreateVaultRequest["action"];
|
|
333
|
-
/** Sorts and formats a `CSignerAction` action (jail/unjail). */
|
|
334
|
-
CSignerAction: (action: CSignerActionRequest_JailSelf["action"] | CSignerActionRequest_UnjailSelf["action"]) => CSignerActionRequest_JailSelf["action"] | CSignerActionRequest_UnjailSelf["action"];
|
|
335
|
-
/** Sorts and formats a `CValidatorAction` action (register/unregister/change profile). */
|
|
336
|
-
CValidatorAction: (action: CValidatorActionRequest_ChangeProfile["action"] | CValidatorActionRequest_Register["action"] | CValidatorActionRequest_Unregister["action"]) => CValidatorActionRequest_ChangeProfile["action"] | CValidatorActionRequest_Register["action"] | CValidatorActionRequest_Unregister["action"];
|
|
337
|
-
/** Sorts and formats a `cWithdraw` action. */
|
|
338
|
-
cWithdraw: (action: CWithdrawRequest["action"]) => CWithdrawRequest["action"];
|
|
339
|
-
/** Sorts and formats an `evmUserModify` action. */
|
|
340
|
-
evmUserModify: (action: EvmUserModifyRequest["action"]) => EvmUserModifyRequest["action"];
|
|
341
|
-
/** Sorts and formats a `modify` action. */
|
|
342
|
-
modify: (action: ModifyRequest["action"]) => ModifyRequest["action"];
|
|
343
|
-
/** Sorts and formats a `multiSig` action. */
|
|
344
|
-
multiSig: (action: MultiSigRequest["action"]) => MultiSigRequest["action"];
|
|
345
|
-
/** Sorts and formats an `order` action. */
|
|
346
|
-
order: (action: OrderRequest["action"]) => OrderRequest["action"];
|
|
347
|
-
/** Sorts and formats a `perpDeploy` action. */
|
|
348
|
-
perpDeploy: (action: PerpDeployRequest_RegisterAsset["action"] | PerpDeployRequest_SetOracle["action"]) => PerpDeployRequest_RegisterAsset["action"] | PerpDeployRequest_SetOracle["action"];
|
|
349
|
-
/** Sorts and formats a `PerpDexClassTransfer` action. */
|
|
350
|
-
PerpDexClassTransfer: (action: PerpDexClassTransferRequest["action"]) => PerpDexClassTransferRequest["action"];
|
|
351
|
-
/** Sorts and formats a `registerReferrer` action. */
|
|
352
|
-
registerReferrer: (action: RegisterReferrerRequest["action"]) => RegisterReferrerRequest["action"];
|
|
353
|
-
/** Sorts and formats a `reserveRequestWeight` action. */
|
|
354
|
-
reserveRequestWeight: (action: ReserveRequestWeightRequest["action"]) => ReserveRequestWeightRequest["action"];
|
|
355
|
-
/** Sorts and formats a `scheduleCancel` action. */
|
|
356
|
-
scheduleCancel: (action: ScheduleCancelRequest["action"]) => ScheduleCancelRequest["action"];
|
|
357
|
-
/** Sorts and formats a `setDisplayName` action. */
|
|
358
|
-
setDisplayName: (action: SetDisplayNameRequest["action"]) => SetDisplayNameRequest["action"];
|
|
359
|
-
/** Sorts and formats a `setReferrer` action. */
|
|
360
|
-
setReferrer: (action: SetReferrerRequest["action"]) => SetReferrerRequest["action"];
|
|
361
|
-
/** Sorts and formats a `spotDeploy` action. */
|
|
362
|
-
spotDeploy: (action: SpotDeployRequest_Genesis["action"] | SpotDeployRequest_RegisterHyperliquidity["action"] | SpotDeployRequest_RegisterSpot["action"] | SpotDeployRequest_RegisterToken2["action"] | SpotDeployRequest_SetDeployerTradingFeeShare["action"] | SpotDeployRequest_UserGenesis["action"]) => SpotDeployRequest_Genesis["action"] | SpotDeployRequest_RegisterHyperliquidity["action"] | SpotDeployRequest_RegisterSpot["action"] | SpotDeployRequest_RegisterToken2["action"] | SpotDeployRequest_SetDeployerTradingFeeShare["action"] | SpotDeployRequest_UserGenesis["action"];
|
|
363
|
-
/** Sorts and formats a `spotSend` action. */
|
|
364
|
-
spotSend: (action: SpotSendRequest["action"]) => SpotSendRequest["action"];
|
|
365
|
-
/** Sorts and formats a `spotUser` action. */
|
|
366
|
-
spotUser: (action: SpotUserRequest["action"]) => SpotUserRequest["action"];
|
|
367
|
-
/** Sorts and formats a `subAccountSpotTransfer` action. */
|
|
368
|
-
subAccountSpotTransfer: (action: SubAccountSpotTransferRequest["action"]) => SubAccountSpotTransferRequest["action"];
|
|
369
|
-
/** Sorts and formats a `subAccountTransfer` action. */
|
|
370
|
-
subAccountTransfer: (action: SubAccountTransferRequest["action"]) => SubAccountTransferRequest["action"];
|
|
371
|
-
/** Sorts and formats a `tokenDelegate` action. */
|
|
372
|
-
tokenDelegate: (action: TokenDelegateRequest["action"]) => TokenDelegateRequest["action"];
|
|
373
|
-
/** Sorts and formats a `twapCancel` action. */
|
|
374
|
-
twapCancel: (action: TwapCancelRequest["action"]) => TwapCancelRequest["action"];
|
|
375
|
-
/** Sorts and formats a `twapOrder` action. */
|
|
376
|
-
twapOrder: (action: TwapOrderRequest["action"]) => TwapOrderRequest["action"];
|
|
377
|
-
/** Sorts and formats an `updateIsolatedMargin` action. */
|
|
378
|
-
updateIsolatedMargin: (action: UpdateIsolatedMarginRequest["action"]) => UpdateIsolatedMarginRequest["action"];
|
|
379
|
-
/** Sorts and formats an `updateLeverage` action. */
|
|
380
|
-
updateLeverage: (action: UpdateLeverageRequest["action"]) => UpdateLeverageRequest["action"];
|
|
381
|
-
/** Sorts and formats an `usdClassTransfer` action. */
|
|
382
|
-
usdClassTransfer: (action: UsdClassTransferRequest["action"]) => UsdClassTransferRequest["action"];
|
|
383
|
-
/** Sorts and formats an `usdSend` action. */
|
|
384
|
-
usdSend: (action: UsdSendRequest["action"]) => UsdSendRequest["action"];
|
|
385
|
-
/** Sorts and formats a `vaultDistribute` action. */
|
|
386
|
-
vaultDistribute: (action: VaultDistributeRequest["action"]) => VaultDistributeRequest["action"];
|
|
387
|
-
/** Sorts and formats a `vaultModify` action. */
|
|
388
|
-
vaultModify: (action: VaultModifyRequest["action"]) => VaultModifyRequest["action"];
|
|
389
|
-
/** Sorts and formats a `vaultTransfer` action. */
|
|
390
|
-
vaultTransfer: (action: VaultTransferRequest["action"]) => VaultTransferRequest["action"];
|
|
391
|
-
/** Sorts and formats a `withdraw3` action. */
|
|
392
|
-
withdraw3: (action: Withdraw3Request["action"]) => Withdraw3Request["action"];
|
|
393
|
-
};
|
|
394
|
-
/** EIP-712 type definitions for user-signed actions. */
|
|
395
|
-
export declare const userSignedActionEip712Types: {
|
|
396
|
-
approveAgent: {
|
|
397
|
-
"HyperliquidTransaction:ApproveAgent": {
|
|
398
|
-
name: string;
|
|
399
|
-
type: string;
|
|
400
|
-
}[];
|
|
401
|
-
};
|
|
402
|
-
approveBuilderFee: {
|
|
403
|
-
"HyperliquidTransaction:ApproveBuilderFee": {
|
|
404
|
-
name: string;
|
|
405
|
-
type: string;
|
|
406
|
-
}[];
|
|
407
|
-
};
|
|
408
|
-
cDeposit: {
|
|
409
|
-
"HyperliquidTransaction:CDeposit": {
|
|
410
|
-
name: string;
|
|
411
|
-
type: string;
|
|
412
|
-
}[];
|
|
413
|
-
};
|
|
414
|
-
convertToMultiSigUser: {
|
|
415
|
-
"HyperliquidTransaction:ConvertToMultiSigUser": {
|
|
416
|
-
name: string;
|
|
417
|
-
type: string;
|
|
418
|
-
}[];
|
|
419
|
-
};
|
|
420
|
-
cWithdraw: {
|
|
421
|
-
"HyperliquidTransaction:CWithdraw": {
|
|
422
|
-
name: string;
|
|
423
|
-
type: string;
|
|
424
|
-
}[];
|
|
425
|
-
};
|
|
426
|
-
PerpDexClassTransfer: {
|
|
427
|
-
"HyperliquidTransaction:PerpDexClassTransfer": {
|
|
428
|
-
name: string;
|
|
429
|
-
type: string;
|
|
430
|
-
}[];
|
|
431
|
-
};
|
|
432
|
-
spotSend: {
|
|
433
|
-
"HyperliquidTransaction:SpotSend": {
|
|
434
|
-
name: string;
|
|
435
|
-
type: string;
|
|
436
|
-
}[];
|
|
437
|
-
};
|
|
438
|
-
tokenDelegate: {
|
|
439
|
-
"HyperliquidTransaction:TokenDelegate": {
|
|
440
|
-
name: string;
|
|
441
|
-
type: string;
|
|
442
|
-
}[];
|
|
443
|
-
};
|
|
444
|
-
usdClassTransfer: {
|
|
445
|
-
"HyperliquidTransaction:UsdClassTransfer": {
|
|
446
|
-
name: string;
|
|
447
|
-
type: string;
|
|
448
|
-
}[];
|
|
449
|
-
};
|
|
450
|
-
usdSend: {
|
|
451
|
-
"HyperliquidTransaction:UsdSend": {
|
|
452
|
-
name: string;
|
|
453
|
-
type: string;
|
|
454
|
-
}[];
|
|
455
|
-
};
|
|
456
|
-
withdraw3: {
|
|
457
|
-
"HyperliquidTransaction:Withdraw": {
|
|
458
|
-
name: string;
|
|
459
|
-
type: string;
|
|
460
|
-
}[];
|
|
461
|
-
};
|
|
462
|
-
};
|
|
463
|
-
//# sourceMappingURL=signing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../src/src/signing.ts"],"names":[],"mappings":"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"}
|