@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.
Files changed (230) hide show
  1. package/README.md +125 -70
  2. package/esm/mod.d.ts +1 -1
  3. package/esm/mod.d.ts.map +1 -1
  4. package/esm/src/base.d.ts +4 -1
  5. package/esm/src/base.d.ts.map +1 -1
  6. package/esm/src/base.js +2 -2
  7. package/esm/src/clients/exchange.d.ts +420 -368
  8. package/esm/src/clients/exchange.d.ts.map +1 -1
  9. package/esm/src/clients/exchange.js +721 -551
  10. package/esm/src/clients/info.d.ts +137 -41
  11. package/esm/src/clients/info.d.ts.map +1 -1
  12. package/esm/src/clients/info.js +124 -28
  13. package/esm/src/clients/multiSign.d.ts +406 -484
  14. package/esm/src/clients/multiSign.d.ts.map +1 -1
  15. package/esm/src/clients/multiSign.js +639 -734
  16. package/esm/src/clients/subscription.d.ts +38 -3
  17. package/esm/src/clients/subscription.d.ts.map +1 -1
  18. package/esm/src/clients/subscription.js +36 -3
  19. package/esm/src/signing/_signTypedData/ethers.d.ts +33 -0
  20. package/esm/src/signing/_signTypedData/ethers.d.ts.map +1 -0
  21. package/esm/src/signing/_signTypedData/ethers.js +12 -0
  22. package/esm/src/signing/_signTypedData/mod.d.ts +35 -0
  23. package/esm/src/signing/_signTypedData/mod.d.ts.map +1 -0
  24. package/esm/src/signing/_signTypedData/mod.js +59 -0
  25. package/esm/src/signing/_signTypedData/private_key.d.ts +26 -0
  26. package/esm/src/signing/_signTypedData/private_key.d.ts.map +1 -0
  27. package/esm/src/signing/_signTypedData/private_key.js +144 -0
  28. package/esm/src/signing/_signTypedData/viem.d.ts +23 -0
  29. package/esm/src/signing/_signTypedData/viem.d.ts.map +1 -0
  30. package/esm/src/signing/_signTypedData/viem.js +6 -0
  31. package/esm/src/signing/_signTypedData/window.d.ts +29 -0
  32. package/esm/src/signing/_signTypedData/window.d.ts.map +1 -0
  33. package/esm/src/signing/_signTypedData/window.js +30 -0
  34. package/esm/src/signing/_sorter.d.ts +128 -0
  35. package/esm/src/signing/_sorter.d.ts.map +1 -0
  36. package/esm/src/{signing.js → signing/_sorter.js} +36 -449
  37. package/esm/src/signing/mod.d.ts +272 -0
  38. package/esm/src/signing/mod.d.ts.map +1 -0
  39. package/esm/src/signing/mod.js +306 -0
  40. package/esm/src/transports/base.d.ts +1 -1
  41. package/esm/src/transports/base.d.ts.map +1 -1
  42. package/esm/src/transports/base.js +2 -2
  43. package/esm/src/transports/http/http_transport.d.ts +9 -15
  44. package/esm/src/transports/http/http_transport.d.ts.map +1 -1
  45. package/esm/src/transports/http/http_transport.js +64 -59
  46. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  47. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  48. package/esm/src/transports/websocket/_hyperliquid_event_target.js +1 -1
  49. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  50. package/esm/src/transports/websocket/_reconnecting_websocket.js +17 -4
  51. package/esm/src/transports/websocket/_websocket_async_request.d.ts +0 -9
  52. package/esm/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
  53. package/esm/src/transports/websocket/_websocket_async_request.js +14 -20
  54. package/esm/src/transports/websocket/websocket_transport.d.ts +8 -4
  55. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  56. package/esm/src/transports/websocket/websocket_transport.js +83 -54
  57. package/esm/src/types/exchange/requests.d.ts +27 -51
  58. package/esm/src/types/exchange/requests.d.ts.map +1 -1
  59. package/esm/src/types/explorer/requests.d.ts +5 -8
  60. package/esm/src/types/explorer/requests.d.ts.map +1 -1
  61. package/esm/src/types/info/accounts.d.ts +5 -5
  62. package/esm/src/types/info/accounts.d.ts.map +1 -1
  63. package/esm/src/types/info/delegations.d.ts +1 -1
  64. package/esm/src/types/info/delegations.d.ts.map +1 -1
  65. package/esm/src/types/info/orders.d.ts +1 -1
  66. package/esm/src/types/info/orders.d.ts.map +1 -1
  67. package/esm/src/types/info/requests.d.ts +49 -96
  68. package/esm/src/types/info/requests.d.ts.map +1 -1
  69. package/esm/src/types/subscriptions/requests.d.ts +72 -18
  70. package/esm/src/types/subscriptions/requests.d.ts.map +1 -1
  71. package/esm/src/types/subscriptions/responses.d.ts +2 -0
  72. package/esm/src/types/subscriptions/responses.d.ts.map +1 -1
  73. package/package.json +12 -8
  74. package/script/mod.d.ts +1 -1
  75. package/script/mod.d.ts.map +1 -1
  76. package/script/mod.js +13 -23
  77. package/script/src/base.d.ts +4 -1
  78. package/script/src/base.d.ts.map +1 -1
  79. package/script/src/base.js +10 -20
  80. package/script/src/clients/exchange.d.ts +420 -368
  81. package/script/src/clients/exchange.d.ts.map +1 -1
  82. package/script/src/clients/exchange.js +2000 -1840
  83. package/script/src/clients/info.d.ts +137 -41
  84. package/script/src/clients/info.d.ts.map +1 -1
  85. package/script/src/clients/info.js +1296 -1210
  86. package/script/src/clients/multiSign.d.ts +406 -484
  87. package/script/src/clients/multiSign.d.ts.map +1 -1
  88. package/script/src/clients/multiSign.js +2043 -2148
  89. package/script/src/clients/subscription.d.ts +38 -3
  90. package/script/src/clients/subscription.d.ts.map +1 -1
  91. package/script/src/clients/subscription.js +568 -545
  92. package/script/src/signing/_signTypedData/ethers.d.ts +33 -0
  93. package/script/src/signing/_signTypedData/ethers.d.ts.map +1 -0
  94. package/script/src/signing/_signTypedData/ethers.js +16 -0
  95. package/script/src/signing/_signTypedData/mod.d.ts +35 -0
  96. package/script/src/signing/_signTypedData/mod.d.ts.map +1 -0
  97. package/script/src/signing/_signTypedData/mod.js +67 -0
  98. package/script/src/signing/_signTypedData/private_key.d.ts +26 -0
  99. package/script/src/signing/_signTypedData/private_key.d.ts.map +1 -0
  100. package/script/src/signing/_signTypedData/private_key.js +148 -0
  101. package/script/src/signing/_signTypedData/viem.d.ts +23 -0
  102. package/script/src/signing/_signTypedData/viem.d.ts.map +1 -0
  103. package/script/src/signing/_signTypedData/viem.js +9 -0
  104. package/script/src/signing/_signTypedData/window.d.ts +29 -0
  105. package/script/src/signing/_signTypedData/window.d.ts.map +1 -0
  106. package/script/src/signing/_signTypedData/window.js +34 -0
  107. package/script/src/signing/_sorter.d.ts +128 -0
  108. package/script/src/signing/_sorter.d.ts.map +1 -0
  109. package/script/src/signing/_sorter.js +698 -0
  110. package/script/src/signing/mod.d.ts +272 -0
  111. package/script/src/signing/mod.d.ts.map +1 -0
  112. package/script/src/signing/mod.js +331 -0
  113. package/script/src/transports/base.d.ts +1 -1
  114. package/script/src/transports/base.d.ts.map +1 -1
  115. package/script/src/transports/base.js +11 -21
  116. package/script/src/transports/http/http_transport.d.ts +9 -15
  117. package/script/src/transports/http/http_transport.d.ts.map +1 -1
  118. package/script/src/transports/http/http_transport.js +97 -102
  119. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  120. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  121. package/script/src/transports/websocket/_hyperliquid_event_target.js +51 -61
  122. package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  123. package/script/src/transports/websocket/_reconnecting_websocket.js +271 -268
  124. package/script/src/transports/websocket/_websocket_async_request.d.ts +0 -9
  125. package/script/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
  126. package/script/src/transports/websocket/_websocket_async_request.js +157 -174
  127. package/script/src/transports/websocket/websocket_transport.d.ts +8 -4
  128. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  129. package/script/src/transports/websocket/websocket_transport.js +209 -189
  130. package/script/src/types/exchange/requests.d.ts +27 -51
  131. package/script/src/types/exchange/requests.d.ts.map +1 -1
  132. package/script/src/types/exchange/requests.js +2 -12
  133. package/script/src/types/exchange/responses.js +2 -12
  134. package/script/src/types/explorer/requests.d.ts +5 -8
  135. package/script/src/types/explorer/requests.d.ts.map +1 -1
  136. package/script/src/types/explorer/requests.js +2 -12
  137. package/script/src/types/explorer/responses.js +2 -12
  138. package/script/src/types/info/accounts.d.ts +5 -5
  139. package/script/src/types/info/accounts.d.ts.map +1 -1
  140. package/script/src/types/info/accounts.js +2 -12
  141. package/script/src/types/info/assets.js +2 -12
  142. package/script/src/types/info/delegations.d.ts +1 -1
  143. package/script/src/types/info/delegations.d.ts.map +1 -1
  144. package/script/src/types/info/delegations.js +2 -12
  145. package/script/src/types/info/markets.js +2 -12
  146. package/script/src/types/info/orders.d.ts +1 -1
  147. package/script/src/types/info/orders.d.ts.map +1 -1
  148. package/script/src/types/info/orders.js +2 -12
  149. package/script/src/types/info/requests.d.ts +49 -96
  150. package/script/src/types/info/requests.d.ts.map +1 -1
  151. package/script/src/types/info/requests.js +2 -12
  152. package/script/src/types/info/vaults.js +2 -12
  153. package/script/src/types/mod.js +2 -12
  154. package/script/src/types/subscriptions/requests.d.ts +72 -18
  155. package/script/src/types/subscriptions/requests.d.ts.map +1 -1
  156. package/script/src/types/subscriptions/requests.js +2 -12
  157. package/script/src/types/subscriptions/responses.d.ts +2 -0
  158. package/script/src/types/subscriptions/responses.d.ts.map +1 -1
  159. package/script/src/types/subscriptions/responses.js +2 -12
  160. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +0 -2
  161. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +0 -1
  162. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +0 -1
  163. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +0 -95
  164. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +0 -1
  165. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +0 -10
  166. package/esm/deps/jsr.io/@std/async/1.0.13/delay.d.ts +0 -43
  167. package/esm/deps/jsr.io/@std/async/1.0.13/delay.d.ts.map +0 -1
  168. package/esm/deps/jsr.io/@std/async/1.0.13/delay.js +0 -63
  169. package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts +0 -9
  170. package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts.map +0 -1
  171. package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.js +0 -2
  172. package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts +0 -21
  173. package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts.map +0 -1
  174. package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.js +0 -32
  175. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts +0 -23
  176. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +0 -1
  177. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.js +0 -51
  178. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
  179. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
  180. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -13
  181. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
  182. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
  183. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -2
  184. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts +0 -39
  185. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +0 -1
  186. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.js +0 -87
  187. package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +0 -9
  188. package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +0 -1
  189. package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.js +0 -2
  190. package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts +0 -39
  191. package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +0 -1
  192. package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.js +0 -237
  193. package/esm/src/signing.d.ts +0 -463
  194. package/esm/src/signing.d.ts.map +0 -1
  195. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +0 -2
  196. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +0 -1
  197. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +0 -27
  198. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +0 -95
  199. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +0 -1
  200. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +0 -24
  201. package/script/deps/jsr.io/@std/async/1.0.13/delay.d.ts +0 -43
  202. package/script/deps/jsr.io/@std/async/1.0.13/delay.d.ts.map +0 -1
  203. package/script/deps/jsr.io/@std/async/1.0.13/delay.js +0 -76
  204. package/script/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts +0 -9
  205. package/script/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts.map +0 -1
  206. package/script/deps/jsr.io/@std/bytes/1.0.6/_types.js +0 -13
  207. package/script/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts +0 -21
  208. package/script/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts.map +0 -1
  209. package/script/deps/jsr.io/@std/bytes/1.0.6/concat.js +0 -45
  210. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts +0 -23
  211. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +0 -1
  212. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.js +0 -67
  213. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
  214. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
  215. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -26
  216. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
  217. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
  218. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -13
  219. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts +0 -39
  220. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +0 -1
  221. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.js +0 -101
  222. package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +0 -9
  223. package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +0 -1
  224. package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.js +0 -13
  225. package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts +0 -39
  226. package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +0 -1
  227. package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.js +0 -250
  228. package/script/src/signing.d.ts +0 -463
  229. package/script/src/signing.d.ts.map +0 -1
  230. package/script/src/signing.js +0 -1129
@@ -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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"}
@@ -1,2 +0,0 @@
1
- export * from './src/TypedEventTarget.js';
2
- //# sourceMappingURL=mod.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -1,27 +0,0 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
13
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
14
- };
15
- (function (factory) {
16
- if (typeof module === "object" && typeof module.exports === "object") {
17
- var v = factory(require, exports);
18
- if (v !== undefined) module.exports = v;
19
- }
20
- else if (typeof define === "function" && define.amd) {
21
- define(["require", "exports", "./src/TypedEventTarget.js"], factory);
22
- }
23
- })(function (require, exports) {
24
- "use strict";
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- __exportStar(require("./src/TypedEventTarget.js"), exports);
27
- });
@@ -1,95 +0,0 @@
1
- /**
2
- * A function that can be passed to the `listener` parameter of {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}.
3
- *
4
- * @template M A map of event types to their respective event classes.
5
- * @template T The type of event to listen for (has to be keyof `M`).
6
- */
7
- export type TypedEventListener<M, T extends keyof M> = (evt: M[T]) => void | Promise<void>;
8
- /**
9
- * An object that can be passed to the `listener` parameter of {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}.
10
- *
11
- * @template M A map of event types to their respective event classes.
12
- * @template T The type of event to listen for (has to be keyof `M`).
13
- */
14
- export interface TypedEventListenerObject<M, T extends keyof M> {
15
- handleEvent: (evt: M[T]) => void | Promise<void>;
16
- }
17
- /**
18
- * Type of parameter `listener` in {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}.
19
- *
20
- * The object that receives a notification (an object that implements the Event interface) when an event of the specified type occurs.
21
- *
22
- * Can be either an object with a handleEvent() method, or a JavaScript function.
23
- *
24
- * @template M A map of event types to their respective event classes.
25
- * @template T The type of event to listen for (has to be keyof `M`).
26
- */
27
- export type TypedEventListenerOrEventListenerObject<M, T extends keyof M> = TypedEventListener<M, T> | TypedEventListenerObject<M, T>;
28
- type ValueIsEvent<T> = {
29
- [key in keyof T]: Event;
30
- };
31
- /**
32
- * Typescript friendly version of {@link EventTarget}
33
- *
34
- * @template M A map of event types to their respective event classes.
35
- *
36
- * @example
37
- * ```typescript
38
- * interface MyEventMap {
39
- * hello: Event;
40
- * time: CustomEvent<number>;
41
- * }
42
- *
43
- * const eventTarget = new TypedEventTarget<MyEventMap>();
44
- *
45
- * eventTarget.addEventListener('time', (event) => {
46
- * // event is of type CustomEvent<number>
47
- * });
48
- * ```
49
- */
50
- export interface TypedEventTarget<M extends ValueIsEvent<M>> {
51
- /** Appends an event listener for events whose type attribute value is type.
52
- * The callback argument sets the callback that will be invoked when the event
53
- * is dispatched.
54
- *
55
- * The options argument sets listener-specific options. For compatibility this
56
- * can be a boolean, in which case the method behaves exactly as if the value
57
- * was specified as options's capture.
58
- *
59
- * When set to true, options's capture prevents callback from being invoked
60
- * when the event's eventPhase attribute value is BUBBLING_PHASE. When false
61
- * (or not present), callback will not be invoked when event's eventPhase
62
- * attribute value is CAPTURING_PHASE. Either way, callback will be invoked if
63
- * event's eventPhase attribute value is AT_TARGET.
64
- *
65
- * When set to true, options's passive indicates that the callback will not
66
- * cancel the event by invoking preventDefault(). This is used to enable
67
- * performance optimizations described in § 2.8 Observing event listeners.
68
- *
69
- * When set to true, options's once indicates that the callback will only be
70
- * invoked once after which the event listener will be removed.
71
- *
72
- * The event listener is appended to target's event listener list and is not
73
- * appended if it has the same type, callback, and capture. */
74
- addEventListener: <T extends keyof M & string>(type: T, listener: TypedEventListenerOrEventListenerObject<M, T> | null, options?: boolean | AddEventListenerOptions) => void;
75
- /** Removes the event listener in target's event listener list with the same
76
- * type, callback, and options. */
77
- removeEventListener: <T extends keyof M & string>(type: T, callback: TypedEventListenerOrEventListenerObject<M, T> | null, options?: EventListenerOptions | boolean) => void;
78
- /**
79
- * Dispatches a synthetic event event to target and returns true if either
80
- * event's cancelable attribute value is false or its preventDefault() method
81
- * was not invoked, and false otherwise.
82
- * @deprecated To ensure type safety use `dispatchTypedEvent` instead.
83
- */
84
- dispatchEvent: (event: Event) => boolean;
85
- }
86
- export declare class TypedEventTarget<M extends ValueIsEvent<M>> extends EventTarget {
87
- /**
88
- * Dispatches a synthetic event event to target and returns true if either
89
- * event's cancelable attribute value is false or its preventDefault() method
90
- * was not invoked, and false otherwise.
91
- */
92
- dispatchTypedEvent<T extends keyof M>(_type: T, event: M[T]): boolean;
93
- }
94
- export {};
95
- //# sourceMappingURL=TypedEventTarget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedEventTarget.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CACnD,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KACR,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC;IAC1D,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,uCAAuC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAClE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAErC,KAAK,YAAY,CAAC,CAAC,IAAI;KAClB,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC;IACvD;;;;;;;;;;;;;;;;;;;;;;kEAsB8D;IAC9D,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EACzC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,uCAAuC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,KAC1C,IAAI,CAAC;IAEV;sCACkC;IAClC,mBAAmB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAC5C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,uCAAuC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAC9D,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,KACvC,IAAI,CAAC;IAEV;;;;;OAKG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC5C;AACD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAE,SAAQ,WAAW;IACxE;;;;OAIG;IACI,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,EACvC,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GACZ,OAAO;CAGb"}
@@ -1,24 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TypedEventTarget = void 0;
13
- class TypedEventTarget extends EventTarget {
14
- /**
15
- * Dispatches a synthetic event event to target and returns true if either
16
- * event's cancelable attribute value is false or its preventDefault() method
17
- * was not invoked, and false otherwise.
18
- */
19
- dispatchTypedEvent(_type, event) {
20
- return super.dispatchEvent(event);
21
- }
22
- }
23
- exports.TypedEventTarget = TypedEventTarget;
24
- });