@nktkas/hyperliquid 0.13.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 (145) hide show
  1. package/CONTRIBUTING.md +59 -0
  2. package/LICENSE +21 -0
  3. package/README.md +363 -0
  4. package/SECURITY.md +7 -0
  5. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +2 -0
  6. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +1 -0
  8. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +95 -0
  9. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +10 -0
  11. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts +23 -0
  12. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.js +43 -0
  14. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts +55 -0
  15. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.js +65 -0
  17. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts +2 -0
  18. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.js +1 -0
  20. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts +52 -0
  21. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.js +283 -0
  23. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts +120 -0
  24. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/utils.js +211 -0
  26. package/esm/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts +19 -0
  27. package/esm/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@std/bytes/1.0.4/concat.js +32 -0
  29. package/esm/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts +2 -0
  30. package/esm/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.js +26 -0
  32. package/esm/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts +37 -0
  33. package/esm/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/encoding/1.0.6/hex.js +109 -0
  35. package/esm/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts +37 -0
  36. package/esm/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/msgpack/1.0.2/encode.js +237 -0
  38. package/esm/mod.d.ts +24 -0
  39. package/esm/mod.d.ts.map +1 -0
  40. package/esm/mod.js +9 -0
  41. package/esm/package.json +3 -0
  42. package/esm/src/clients/event.d.ts +374 -0
  43. package/esm/src/clients/event.d.ts.map +1 -0
  44. package/esm/src/clients/event.js +490 -0
  45. package/esm/src/clients/public.d.ts +695 -0
  46. package/esm/src/clients/public.d.ts.map +1 -0
  47. package/esm/src/clients/public.js +704 -0
  48. package/esm/src/clients/wallet.d.ts +682 -0
  49. package/esm/src/clients/wallet.d.ts.map +1 -0
  50. package/esm/src/clients/wallet.js +984 -0
  51. package/esm/src/transports/base.d.ts +55 -0
  52. package/esm/src/transports/base.d.ts.map +1 -0
  53. package/esm/src/transports/base.js +14 -0
  54. package/esm/src/transports/http/http_transport.d.ts +78 -0
  55. package/esm/src/transports/http/http_transport.d.ts.map +1 -0
  56. package/esm/src/transports/http/http_transport.js +170 -0
  57. package/esm/src/transports/websocket/hyperliquid_event_target.d.ts +66 -0
  58. package/esm/src/transports/websocket/hyperliquid_event_target.d.ts.map +1 -0
  59. package/esm/src/transports/websocket/hyperliquid_event_target.js +33 -0
  60. package/esm/src/transports/websocket/reconnecting_websocket.d.ts +160 -0
  61. package/esm/src/transports/websocket/reconnecting_websocket.d.ts.map +1 -0
  62. package/esm/src/transports/websocket/reconnecting_websocket.js +370 -0
  63. package/esm/src/transports/websocket/websocket_request_dispatcher.d.ts +63 -0
  64. package/esm/src/transports/websocket/websocket_request_dispatcher.d.ts.map +1 -0
  65. package/esm/src/transports/websocket/websocket_request_dispatcher.js +201 -0
  66. package/esm/src/transports/websocket/websocket_transport.d.ts +117 -0
  67. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -0
  68. package/esm/src/transports/websocket/websocket_transport.js +233 -0
  69. package/esm/src/utils/key_sort.d.ts +21 -0
  70. package/esm/src/utils/key_sort.d.ts.map +1 -0
  71. package/esm/src/utils/key_sort.js +124 -0
  72. package/esm/src/utils/signing.d.ts +109 -0
  73. package/esm/src/utils/signing.d.ts.map +1 -0
  74. package/esm/src/utils/signing.js +164 -0
  75. package/package.json +34 -0
  76. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +2 -0
  77. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +1 -0
  78. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +17 -0
  79. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +95 -0
  80. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +1 -0
  81. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +14 -0
  82. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts +23 -0
  83. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts.map +1 -0
  84. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.js +49 -0
  85. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts +55 -0
  86. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts.map +1 -0
  87. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.js +88 -0
  88. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts +2 -0
  89. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.d.ts.map +1 -0
  90. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.js +4 -0
  91. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts +52 -0
  92. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts.map +1 -0
  93. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.js +288 -0
  94. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts +120 -0
  95. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts.map +1 -0
  96. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.js +235 -0
  97. package/script/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts +19 -0
  98. package/script/deps/jsr.io/@std/bytes/1.0.4/concat.d.ts.map +1 -0
  99. package/script/deps/jsr.io/@std/bytes/1.0.4/concat.js +35 -0
  100. package/script/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts +2 -0
  101. package/script/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.d.ts.map +1 -0
  102. package/script/deps/jsr.io/@std/encoding/1.0.6/_validate_binary_like.js +29 -0
  103. package/script/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts +37 -0
  104. package/script/deps/jsr.io/@std/encoding/1.0.6/hex.d.ts.map +1 -0
  105. package/script/deps/jsr.io/@std/encoding/1.0.6/hex.js +113 -0
  106. package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts +37 -0
  107. package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.d.ts.map +1 -0
  108. package/script/deps/jsr.io/@std/msgpack/1.0.2/encode.js +240 -0
  109. package/script/mod.d.ts +24 -0
  110. package/script/mod.d.ts.map +1 -0
  111. package/script/mod.js +27 -0
  112. package/script/package.json +3 -0
  113. package/script/src/clients/event.d.ts +374 -0
  114. package/script/src/clients/event.d.ts.map +1 -0
  115. package/script/src/clients/event.js +494 -0
  116. package/script/src/clients/public.d.ts +695 -0
  117. package/script/src/clients/public.d.ts.map +1 -0
  118. package/script/src/clients/public.js +708 -0
  119. package/script/src/clients/wallet.d.ts +682 -0
  120. package/script/src/clients/wallet.d.ts.map +1 -0
  121. package/script/src/clients/wallet.js +989 -0
  122. package/script/src/transports/base.d.ts +55 -0
  123. package/script/src/transports/base.d.ts.map +1 -0
  124. package/script/src/transports/base.js +18 -0
  125. package/script/src/transports/http/http_transport.d.ts +78 -0
  126. package/script/src/transports/http/http_transport.d.ts.map +1 -0
  127. package/script/src/transports/http/http_transport.js +175 -0
  128. package/script/src/transports/websocket/hyperliquid_event_target.d.ts +66 -0
  129. package/script/src/transports/websocket/hyperliquid_event_target.d.ts.map +1 -0
  130. package/script/src/transports/websocket/hyperliquid_event_target.js +37 -0
  131. package/script/src/transports/websocket/reconnecting_websocket.d.ts +160 -0
  132. package/script/src/transports/websocket/reconnecting_websocket.d.ts.map +1 -0
  133. package/script/src/transports/websocket/reconnecting_websocket.js +374 -0
  134. package/script/src/transports/websocket/websocket_request_dispatcher.d.ts +63 -0
  135. package/script/src/transports/websocket/websocket_request_dispatcher.d.ts.map +1 -0
  136. package/script/src/transports/websocket/websocket_request_dispatcher.js +206 -0
  137. package/script/src/transports/websocket/websocket_transport.d.ts +117 -0
  138. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -0
  139. package/script/src/transports/websocket/websocket_transport.js +237 -0
  140. package/script/src/utils/key_sort.d.ts +21 -0
  141. package/script/src/utils/key_sort.d.ts.map +1 -0
  142. package/script/src/utils/key_sort.js +127 -0
  143. package/script/src/utils/signing.d.ts +109 -0
  144. package/script/src/utils/signing.d.ts.map +1 -0
  145. package/script/src/utils/signing.js +172 -0
@@ -0,0 +1,164 @@
1
+ import { keccak_256 } from "../../deps/jsr.io/@noble/hashes/1.7.1/src/sha3.js";
2
+ import { encode } from "../../deps/jsr.io/@std/msgpack/1.0.2/encode.js";
3
+ import { decodeHex, encodeHex } from "../../deps/jsr.io/@std/encoding/1.0.6/hex.js";
4
+ /**
5
+ * Create a hash of the action.
6
+ * @param action - The action to hash.
7
+ * @param nonce - The nonce of the action.
8
+ * @param vaultAddress - Optional vault address.
9
+ * @returns The hash of the action.
10
+ */
11
+ export function createActionHash(action, nonce, vaultAddress) {
12
+ const normalizedAction = normalizeIntegersForMsgPack(action);
13
+ const msgPackBytes = encode(normalizedAction);
14
+ const additionalBytesLength = vaultAddress ? 29 : 9;
15
+ const data = new Uint8Array(msgPackBytes.length + additionalBytesLength);
16
+ data.set(msgPackBytes);
17
+ const view = new DataView(data.buffer);
18
+ view.setBigUint64(msgPackBytes.length, BigInt(nonce));
19
+ if (vaultAddress) {
20
+ view.setUint8(msgPackBytes.length + 8, 1);
21
+ const normalizedVaultAddress = vaultAddress.startsWith("0x") ? vaultAddress.slice(2) : vaultAddress;
22
+ data.set(decodeHex(normalizedVaultAddress), msgPackBytes.length + 9);
23
+ }
24
+ else {
25
+ view.setUint8(msgPackBytes.length + 8, 0);
26
+ }
27
+ return `0x${encodeHex(keccak_256(data))}`;
28
+ }
29
+ /**
30
+ * Layer to make {@link https://jsr.io/@std/msgpack | @std/msgpack} compatible with {@link https://github.com/msgpack/msgpack-javascript | @msgpack/msgpack}.
31
+ * @returns A new object with integers normalized.
32
+ */
33
+ function normalizeIntegersForMsgPack(obj) {
34
+ const THIRTY_ONE_BITS = 2147483648;
35
+ const THIRTY_TWO_BITS = 4294967296;
36
+ if (typeof obj === "number" && Number.isInteger(obj) &&
37
+ obj <= Number.MAX_SAFE_INTEGER && obj >= Number.MIN_SAFE_INTEGER &&
38
+ (obj >= THIRTY_TWO_BITS || obj < -THIRTY_ONE_BITS)) {
39
+ return BigInt(obj);
40
+ }
41
+ if (Array.isArray(obj)) {
42
+ return obj.map(normalizeIntegersForMsgPack);
43
+ }
44
+ if (obj && typeof obj === "object" && obj !== null) {
45
+ return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, normalizeIntegersForMsgPack(value)]));
46
+ }
47
+ return obj;
48
+ }
49
+ /**
50
+ * Sign an L1 action.
51
+ * @param wallet - The wallet to sign with.
52
+ * @param isTestnet - A boolean indicating if the action is for the testnet.
53
+ * @param action - The action to sign.
54
+ * @param nonce - The nonce of the action.
55
+ * @param vaultAddress - Optional vault address.
56
+ * @returns The signature.
57
+ */
58
+ export async function signL1Action(wallet, isTestnet, action, nonce, vaultAddress) {
59
+ const domain = {
60
+ name: "Exchange",
61
+ version: "1",
62
+ chainId: 1337,
63
+ verifyingContract: "0x0000000000000000000000000000000000000000",
64
+ };
65
+ const types = {
66
+ Agent: [
67
+ { name: "source", type: "string" },
68
+ { name: "connectionId", type: "bytes32" },
69
+ ],
70
+ };
71
+ const actionHash = createActionHash(action, nonce, vaultAddress);
72
+ const message = {
73
+ source: isTestnet ? "b" : "a",
74
+ connectionId: actionHash,
75
+ };
76
+ let signature;
77
+ if (isAbstractViemWalletClient(wallet)) {
78
+ signature = await wallet.signTypedData({ domain, types, primaryType: "Agent", message });
79
+ }
80
+ else if (isAbstractEthersSigner(wallet)) {
81
+ signature = await wallet.signTypedData(domain, types, message);
82
+ }
83
+ else if (isAbstractEthersV5Signer(wallet)) {
84
+ signature = await wallet._signTypedData(domain, types, message);
85
+ }
86
+ else {
87
+ throw new Error("Unsupported wallet for signing typed data", { cause: wallet });
88
+ }
89
+ return parseSignature(signature);
90
+ }
91
+ /**
92
+ * Sign a user-signed action.
93
+ * @param wallet - The wallet to sign with.
94
+ * @param action - The action to sign.
95
+ * @param types - The types of the action.
96
+ * @param chainId - The chain ID of the action.
97
+ * @returns The signature.
98
+ */
99
+ export async function signUserSignedAction(wallet, action, types, chainId) {
100
+ const domain = {
101
+ name: "HyperliquidSignTransaction",
102
+ version: "1",
103
+ chainId,
104
+ verifyingContract: "0x0000000000000000000000000000000000000000",
105
+ };
106
+ let signature;
107
+ if (isAbstractViemWalletClient(wallet)) {
108
+ const primaryType = Object.keys(types)[0];
109
+ signature = await wallet.signTypedData({ domain, types, primaryType, message: action });
110
+ }
111
+ else if (isAbstractEthersSigner(wallet)) {
112
+ signature = await wallet.signTypedData(domain, types, action);
113
+ }
114
+ else if (isAbstractEthersV5Signer(wallet)) {
115
+ signature = await wallet._signTypedData(domain, types, action);
116
+ }
117
+ else {
118
+ throw new Error("Unsupported wallet for signing typed data", { cause: wallet });
119
+ }
120
+ return parseSignature(signature);
121
+ }
122
+ /**
123
+ * Parses a signature hexadecimal string into its components.
124
+ */
125
+ function parseSignature(signature) {
126
+ const normalizedSignature = signature.startsWith("0x") ? signature.slice(2) : signature;
127
+ if (normalizedSignature.length !== 130) {
128
+ throw new Error(`Invalid signature length. Expected 130 characters. Received ${normalizedSignature.length}.`);
129
+ }
130
+ const r = `0x${normalizedSignature.slice(0, 64)}`;
131
+ const s = `0x${normalizedSignature.slice(64, 128)}`;
132
+ const v = parseInt(normalizedSignature.slice(128, 130), 16);
133
+ return { r, s, v };
134
+ }
135
+ /**
136
+ * Checks if the given client is an abstract signer (ethers.js).
137
+ * @param client - The client to check.
138
+ * @returns A boolean indicating if the client is an abstract signer.
139
+ */
140
+ export function isAbstractEthersSigner(client) {
141
+ return typeof client === "object" && client !== null &&
142
+ "signTypedData" in client && typeof client.signTypedData === "function" &&
143
+ client.signTypedData.length === 3;
144
+ }
145
+ /**
146
+ * Checks if the given client is an abstract signer (ethers.js v5).
147
+ * @param client - The client to check.
148
+ * @returns A boolean indicating if the client is an abstract signer.
149
+ */
150
+ export function isAbstractEthersV5Signer(client) {
151
+ return typeof client === "object" && client !== null &&
152
+ "_signTypedData" in client && typeof client._signTypedData === "function" &&
153
+ client._signTypedData.length === 3;
154
+ }
155
+ /**
156
+ * Checks if the given client is an abstract wallet client (viem).
157
+ * @param client - The client to check.
158
+ * @returns A boolean indicating if the client is an abstract wallet client.
159
+ */
160
+ export function isAbstractViemWalletClient(client) {
161
+ return typeof client === "object" && client !== null &&
162
+ "signTypedData" in client && typeof client.signTypedData === "function" &&
163
+ client.signTypedData.length === 1;
164
+ }
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@nktkas/hyperliquid",
3
+ "version": "0.13.0",
4
+ "description": "Unofficial Hyperliquid API SDK for all major JS runtimes",
5
+ "keywords": [
6
+ "api",
7
+ "typescript",
8
+ "sdk",
9
+ "hyperliquid"
10
+ ],
11
+ "author": {
12
+ "name": "nktkas",
13
+ "email": "github.turk9@passmail.net",
14
+ "url": "https://github.com/nktkas"
15
+ },
16
+ "homepage": "https://github.com/nktkas/hyperliquid#readme",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/nktkas/hyperliquid.git"
20
+ },
21
+ "license": "MIT",
22
+ "bugs": {
23
+ "url": "https://github.com/nktkas/hyperliquid/issues"
24
+ },
25
+ "main": "./script/mod.js",
26
+ "module": "./esm/mod.js",
27
+ "exports": {
28
+ ".": {
29
+ "import": "./esm/mod.js",
30
+ "require": "./script/mod.js"
31
+ }
32
+ },
33
+ "_generatedBy": "dnt@dev"
34
+ }
@@ -0,0 +1,2 @@
1
+ export * from './src/TypedEventTarget.js';
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./src/TypedEventTarget.js"), exports);
@@ -0,0 +1,95 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypedEventTarget = void 0;
4
+ class TypedEventTarget extends EventTarget {
5
+ /**
6
+ * Dispatches a synthetic event event to target and returns true if either
7
+ * event's cancelable attribute value is false or its preventDefault() method
8
+ * was not invoked, and false otherwise.
9
+ */
10
+ dispatchTypedEvent(_type, event) {
11
+ return super.dispatchEvent(event);
12
+ }
13
+ }
14
+ exports.TypedEventTarget = TypedEventTarget;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Internal assertion helpers.
3
+ * @module
4
+ */
5
+ /** Asserts something is positive integer. */
6
+ declare function anumber(n: number): void;
7
+ /** Asserts something is Uint8Array. */
8
+ declare function abytes(b: Uint8Array | undefined, ...lengths: number[]): void;
9
+ /** Hash interface. */
10
+ export type Hash = {
11
+ (data: Uint8Array): Uint8Array;
12
+ blockLen: number;
13
+ outputLen: number;
14
+ create: any;
15
+ };
16
+ /** Asserts something is hash */
17
+ declare function ahash(h: Hash): void;
18
+ /** Asserts a hash instance has not been destroyed / finished */
19
+ declare function aexists(instance: any, checkFinished?: boolean): void;
20
+ /** Asserts output is properly-sized byte array */
21
+ declare function aoutput(out: any, instance: any): void;
22
+ export { anumber, abytes, ahash, aexists, aoutput };
23
+ //# sourceMappingURL=_assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_assert.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6CAA6C;AAC7C,iBAAS,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAEhC;AAOD,uCAAuC;AACvC,iBAAS,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAIrE;AAED,sBAAsB;AACtB,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,gCAAgC;AAChC,iBAAS,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAK5B;AAED,gEAAgE;AAChE,iBAAS,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,UAAO,GAAG,IAAI,CAG1D;AAED,kDAAkD;AAClD,iBAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAM9C;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * Internal assertion helpers.
4
+ * @module
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.anumber = anumber;
8
+ exports.abytes = abytes;
9
+ exports.ahash = ahash;
10
+ exports.aexists = aexists;
11
+ exports.aoutput = aoutput;
12
+ /** Asserts something is positive integer. */
13
+ function anumber(n) {
14
+ if (!Number.isSafeInteger(n) || n < 0)
15
+ throw new Error('positive integer expected, got ' + n);
16
+ }
17
+ /** Is number an Uint8Array? Copied from utils for perf. */
18
+ function isBytes(a) {
19
+ return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');
20
+ }
21
+ /** Asserts something is Uint8Array. */
22
+ function abytes(b, ...lengths) {
23
+ if (!isBytes(b))
24
+ throw new Error('Uint8Array expected');
25
+ if (lengths.length > 0 && !lengths.includes(b.length))
26
+ throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length);
27
+ }
28
+ /** Asserts something is hash */
29
+ function ahash(h) {
30
+ if (typeof h !== 'function' || typeof h.create !== 'function')
31
+ throw new Error('Hash should be wrapped by utils.wrapConstructor');
32
+ anumber(h.outputLen);
33
+ anumber(h.blockLen);
34
+ }
35
+ /** Asserts a hash instance has not been destroyed / finished */
36
+ function aexists(instance, checkFinished = true) {
37
+ if (instance.destroyed)
38
+ throw new Error('Hash instance has been destroyed');
39
+ if (checkFinished && instance.finished)
40
+ throw new Error('Hash#digest() has already been called');
41
+ }
42
+ /** Asserts output is properly-sized byte array */
43
+ function aoutput(out, instance) {
44
+ abytes(out);
45
+ const min = instance.outputLen;
46
+ if (out.length < min) {
47
+ throw new Error('digestInto() expects output buffer of length at least ' + min);
48
+ }
49
+ }
@@ -0,0 +1,55 @@
1
+ declare function fromBig(n: bigint, le?: boolean): {
2
+ h: number;
3
+ l: number;
4
+ };
5
+ declare function split(lst: bigint[], le?: boolean): Uint32Array[];
6
+ declare const toBig: (h: number, l: number) => bigint;
7
+ declare const shrSH: (h: number, _l: number, s: number) => number;
8
+ declare const shrSL: (h: number, l: number, s: number) => number;
9
+ declare const rotrSH: (h: number, l: number, s: number) => number;
10
+ declare const rotrSL: (h: number, l: number, s: number) => number;
11
+ declare const rotrBH: (h: number, l: number, s: number) => number;
12
+ declare const rotrBL: (h: number, l: number, s: number) => number;
13
+ declare const rotr32H: (_h: number, l: number) => number;
14
+ declare const rotr32L: (h: number, _l: number) => number;
15
+ declare const rotlSH: (h: number, l: number, s: number) => number;
16
+ declare const rotlSL: (h: number, l: number, s: number) => number;
17
+ declare const rotlBH: (h: number, l: number, s: number) => number;
18
+ declare const rotlBL: (h: number, l: number, s: number) => number;
19
+ declare function add(Ah: number, Al: number, Bh: number, Bl: number): {
20
+ h: number;
21
+ l: number;
22
+ };
23
+ declare const add3L: (Al: number, Bl: number, Cl: number) => number;
24
+ declare const add3H: (low: number, Ah: number, Bh: number, Ch: number) => number;
25
+ declare const add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number;
26
+ declare const add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number;
27
+ declare const add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number;
28
+ declare const add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number;
29
+ export { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };
30
+ declare const u64: {
31
+ fromBig: typeof fromBig;
32
+ split: typeof split;
33
+ toBig: (h: number, l: number) => bigint;
34
+ shrSH: (h: number, _l: number, s: number) => number;
35
+ shrSL: (h: number, l: number, s: number) => number;
36
+ rotrSH: (h: number, l: number, s: number) => number;
37
+ rotrSL: (h: number, l: number, s: number) => number;
38
+ rotrBH: (h: number, l: number, s: number) => number;
39
+ rotrBL: (h: number, l: number, s: number) => number;
40
+ rotr32H: (_h: number, l: number) => number;
41
+ rotr32L: (h: number, _l: number) => number;
42
+ rotlSH: (h: number, l: number, s: number) => number;
43
+ rotlSL: (h: number, l: number, s: number) => number;
44
+ rotlBH: (h: number, l: number, s: number) => number;
45
+ rotlBL: (h: number, l: number, s: number) => number;
46
+ add: typeof add;
47
+ add3L: (Al: number, Bl: number, Cl: number) => number;
48
+ add3H: (low: number, Ah: number, Bh: number, Ch: number) => number;
49
+ add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number;
50
+ add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number;
51
+ add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number;
52
+ add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number;
53
+ };
54
+ export default u64;
55
+ //# sourceMappingURL=_u64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_u64.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.add5L = exports.add5H = exports.add4H = exports.add4L = exports.add3H = exports.add3L = exports.rotlBL = exports.rotlBH = exports.rotlSL = exports.rotlSH = exports.rotr32L = exports.rotr32H = exports.rotrBL = exports.rotrBH = exports.rotrSL = exports.rotrSH = exports.shrSL = exports.shrSH = exports.toBig = void 0;
4
+ exports.fromBig = fromBig;
5
+ exports.split = split;
6
+ exports.add = add;
7
+ /**
8
+ * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.
9
+ * @todo re-check https://issues.chromium.org/issues/42212588
10
+ * @module
11
+ */
12
+ const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
13
+ const _32n = /* @__PURE__ */ BigInt(32);
14
+ function fromBig(n, le = false) {
15
+ if (le)
16
+ return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
17
+ return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
18
+ }
19
+ function split(lst, le = false) {
20
+ let Ah = new Uint32Array(lst.length);
21
+ let Al = new Uint32Array(lst.length);
22
+ for (let i = 0; i < lst.length; i++) {
23
+ const { h, l } = fromBig(lst[i], le);
24
+ [Ah[i], Al[i]] = [h, l];
25
+ }
26
+ return [Ah, Al];
27
+ }
28
+ const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
29
+ exports.toBig = toBig;
30
+ // for Shift in [0, 32)
31
+ const shrSH = (h, _l, s) => h >>> s;
32
+ exports.shrSH = shrSH;
33
+ const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
34
+ exports.shrSL = shrSL;
35
+ // Right rotate for Shift in [1, 32)
36
+ const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
37
+ exports.rotrSH = rotrSH;
38
+ const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
39
+ exports.rotrSL = rotrSL;
40
+ // Right rotate for Shift in (32, 64), NOTE: 32 is special case.
41
+ const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
42
+ exports.rotrBH = rotrBH;
43
+ const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
44
+ exports.rotrBL = rotrBL;
45
+ // Right rotate for shift===32 (just swaps l&h)
46
+ const rotr32H = (_h, l) => l;
47
+ exports.rotr32H = rotr32H;
48
+ const rotr32L = (h, _l) => h;
49
+ exports.rotr32L = rotr32L;
50
+ // Left rotate for Shift in [1, 32)
51
+ const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
52
+ exports.rotlSH = rotlSH;
53
+ const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
54
+ exports.rotlSL = rotlSL;
55
+ // Left rotate for Shift in (32, 64), NOTE: 32 is special case.
56
+ const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
57
+ exports.rotlBH = rotlBH;
58
+ const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
59
+ exports.rotlBL = rotlBL;
60
+ // JS uses 32-bit signed integers for bitwise operations which means we cannot
61
+ // simple take carry out of low bit sum by shift, we need to use division.
62
+ function add(Ah, Al, Bh, Bl) {
63
+ const l = (Al >>> 0) + (Bl >>> 0);
64
+ return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
65
+ }
66
+ // Addition with more than 2 elements
67
+ const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
68
+ exports.add3L = add3L;
69
+ const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
70
+ exports.add3H = add3H;
71
+ const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
72
+ exports.add4L = add4L;
73
+ const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
74
+ exports.add4H = add4H;
75
+ const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
76
+ exports.add5L = add5L;
77
+ const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
78
+ exports.add5H = add5H;
79
+ // prettier-ignore
80
+ const u64 = {
81
+ fromBig, split, toBig,
82
+ shrSH, shrSL,
83
+ rotrSH, rotrSL, rotrBH, rotrBL,
84
+ rotr32H, rotr32L,
85
+ rotlSH, rotlSL, rotlBH, rotlBL,
86
+ add, add3L, add3H, add4L, add4H, add5H, add5L,
87
+ };
88
+ exports.default = u64;
@@ -0,0 +1,2 @@
1
+ export declare const crypto: any;
2
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@noble/hashes/1.7.1/src/crypto.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,EAAE,GACqE,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.crypto = void 0;
4
+ exports.crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;
@@ -0,0 +1,52 @@
1
+ import { Hash, type CHash, type CHashXO, type HashXOF, type Input } from './utils.js';
2
+ /** `keccakf1600` internal function, additionally allows to adjust round count. */
3
+ export declare function keccakP(s: Uint32Array, rounds?: number): void;
4
+ /** Keccak sponge function. */
5
+ export declare class Keccak extends Hash<Keccak> implements HashXOF<Keccak> {
6
+ blockLen: number;
7
+ suffix: number;
8
+ outputLen: number;
9
+ protected enableXOF: boolean;
10
+ protected rounds: number;
11
+ protected state: Uint8Array;
12
+ protected pos: number;
13
+ protected posOut: number;
14
+ protected finished: boolean;
15
+ protected state32: Uint32Array;
16
+ protected destroyed: boolean;
17
+ constructor(blockLen: number, suffix: number, outputLen: number, enableXOF?: boolean, rounds?: number);
18
+ protected keccak(): void;
19
+ update(data: Input): this;
20
+ protected finish(): void;
21
+ protected writeInto(out: Uint8Array): Uint8Array;
22
+ xofInto(out: Uint8Array): Uint8Array;
23
+ xof(bytes: number): Uint8Array;
24
+ digestInto(out: Uint8Array): Uint8Array;
25
+ digest(): Uint8Array;
26
+ destroy(): void;
27
+ _cloneInto(to?: Keccak): Keccak;
28
+ }
29
+ /** SHA3-224 hash function. */
30
+ export declare const sha3_224: CHash;
31
+ /** SHA3-256 hash function. Different from keccak-256. */
32
+ export declare const sha3_256: CHash;
33
+ /** SHA3-384 hash function. */
34
+ export declare const sha3_384: CHash;
35
+ /** SHA3-512 hash function. */
36
+ export declare const sha3_512: CHash;
37
+ /** keccak-224 hash function. */
38
+ export declare const keccak_224: CHash;
39
+ /** keccak-256 hash function. Different from SHA3-256. */
40
+ export declare const keccak_256: CHash;
41
+ /** keccak-384 hash function. */
42
+ export declare const keccak_384: CHash;
43
+ /** keccak-512 hash function. */
44
+ export declare const keccak_512: CHash;
45
+ export type ShakeOpts = {
46
+ dkLen?: number;
47
+ };
48
+ /** SHAKE128 XOF with 128-bit security. */
49
+ export declare const shake128: CHashXO;
50
+ /** SHAKE256 XOF with 256-bit security. */
51
+ export declare const shake256: CHashXO;
52
+ //# sourceMappingURL=sha3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha3.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,IAAI,EAMJ,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAgCpB,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAyCjE;AAED,8BAA8B;AAC9B,qBAAa,MAAO,SAAQ,IAAI,CAAC,MAAM,CAAE,YAAW,OAAO,CAAC,MAAM,CAAC;IASxD,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;IACxB,SAAS,CAAC,SAAS;IACnB,SAAS,CAAC,MAAM,EAAE,MAAM;IAZ1B,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,GAAG,SAAK;IAClB,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,SAAS,UAAS;gBAGnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACd,SAAS,UAAQ,EACjB,MAAM,GAAE,MAAW;IAY/B,SAAS,CAAC,MAAM,IAAI,IAAI;IAOxB,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAYzB,SAAS,CAAC,MAAM,IAAI,IAAI;IAUxB,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAehD,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAKpC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAI9B,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAOvC,MAAM,IAAI,UAAU;IAGpB,OAAO,IAAI,IAAI;IAIf,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;CAehC;AAKD,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAA+C,CAAC;AACvE,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAA+C,CAAC;AACvE,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAA+C,CAAC;AACvE,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAA8C,CAAC;AAEtE,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAA+C,CAAC;AACzE,yDAAyD;AACzD,eAAO,MAAM,UAAU,EAAE,KAA+C,CAAC;AACzE,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAA+C,CAAC;AACzE,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAA8C,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ3C,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,OAAsD,CAAC;AAC9E,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,OAAsD,CAAC"}