@unknownncat/curve25519-node 1.0.1 → 2.1.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 (65) hide show
  1. package/NOTICE.md +89 -0
  2. package/README.en.md +422 -0
  3. package/README.md +309 -112
  4. package/SECURITY.md +23 -0
  5. package/THIRD_PARTY_NOTICE.md +3 -0
  6. package/THIRD_PARTY_NOTICES.md +5 -0
  7. package/dist/axlsign.d.ts +31 -0
  8. package/dist/axlsign.d.ts.map +1 -0
  9. package/dist/axlsign.js +118 -0
  10. package/dist/axlsign.js.map +1 -0
  11. package/dist/cjs/axlsign.js +127 -0
  12. package/dist/cjs/axlsign.js.map +1 -0
  13. package/dist/cjs/ed25519.js +46 -10
  14. package/dist/cjs/ed25519.js.map +1 -1
  15. package/dist/cjs/index.js +41 -1
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/internal/assert.js.map +1 -1
  18. package/dist/cjs/internal/axlsign-wasm/LICENSE +21 -0
  19. package/dist/cjs/internal/axlsign-wasm/axlsign_wasm.d.ts +12 -0
  20. package/dist/cjs/internal/axlsign-wasm/axlsign_wasm.js +171 -0
  21. package/dist/cjs/internal/axlsign-wasm/axlsign_wasm_bg.wasm +0 -0
  22. package/dist/cjs/internal/axlsign-wasm/axlsign_wasm_bg.wasm.d.ts +13 -0
  23. package/dist/cjs/internal/axlsign-wasm/package.json +17 -0
  24. package/dist/cjs/internal/curve25519-wasm/LICENSE +21 -0
  25. package/dist/cjs/internal/curve25519-wasm/curve25519_wasm.d.ts +12 -0
  26. package/dist/cjs/internal/curve25519-wasm/curve25519_wasm.js +165 -0
  27. package/dist/cjs/internal/curve25519-wasm/curve25519_wasm_bg.wasm +0 -0
  28. package/dist/cjs/internal/curve25519-wasm/curve25519_wasm_bg.wasm.d.ts +13 -0
  29. package/dist/cjs/internal/curve25519-wasm/package.json +17 -0
  30. package/dist/cjs/wasm.js +228 -0
  31. package/dist/cjs/wasm.js.map +1 -0
  32. package/dist/cjs/x25519.js +73 -12
  33. package/dist/cjs/x25519.js.map +1 -1
  34. package/dist/ed25519.d.ts +21 -0
  35. package/dist/ed25519.d.ts.map +1 -1
  36. package/dist/ed25519.js +44 -13
  37. package/dist/ed25519.js.map +1 -1
  38. package/dist/index.d.ts +109 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +40 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/internal/assert.js.map +1 -1
  43. package/dist/internal/axlsign-wasm/LICENSE +21 -0
  44. package/dist/internal/axlsign-wasm/axlsign_wasm.d.ts +12 -0
  45. package/dist/internal/axlsign-wasm/axlsign_wasm.js +171 -0
  46. package/dist/internal/axlsign-wasm/axlsign_wasm_bg.wasm +0 -0
  47. package/dist/internal/axlsign-wasm/axlsign_wasm_bg.wasm.d.ts +13 -0
  48. package/dist/internal/axlsign-wasm/package.json +17 -0
  49. package/dist/internal/curve25519-wasm/LICENSE +21 -0
  50. package/dist/internal/curve25519-wasm/curve25519_wasm.d.ts +12 -0
  51. package/dist/internal/curve25519-wasm/curve25519_wasm.js +165 -0
  52. package/dist/internal/curve25519-wasm/curve25519_wasm_bg.wasm +0 -0
  53. package/dist/internal/curve25519-wasm/curve25519_wasm_bg.wasm.d.ts +13 -0
  54. package/dist/internal/curve25519-wasm/package.json +17 -0
  55. package/dist/types.d.ts +2 -5
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/wasm.d.ts +92 -0
  58. package/dist/wasm.d.ts.map +1 -0
  59. package/dist/wasm.js +204 -0
  60. package/dist/wasm.js.map +1 -0
  61. package/dist/x25519.d.ts +29 -0
  62. package/dist/x25519.d.ts.map +1 -1
  63. package/dist/x25519.js +66 -12
  64. package/dist/x25519.js.map +1 -1
  65. package/package.json +38 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../src/wasm.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAllZero32 = isAllZero32;
4
+ exports.createPrivateKeyObject = createPrivateKeyObject;
5
+ exports.createPublicKeyObject = createPublicKeyObject;
6
+ exports.publicKeyFromPrivateKeyObject = publicKeyFromPrivateKeyObject;
3
7
  exports.publicKey = publicKey;
8
+ exports.sharedKeyFromKeyObjects = sharedKeyFromKeyObjects;
4
9
  exports.sharedKey = sharedKey;
10
+ exports.sharedKeyStrict = sharedKeyStrict;
11
+ exports.sharedKeyStrictFromKeyObjects = sharedKeyStrictFromKeyObjects;
5
12
  exports.generateKeyPair = generateKeyPair;
6
13
  const node_crypto_1 = require("node:crypto");
7
14
  const assert_js_1 = require("./internal/assert.js");
@@ -14,28 +21,82 @@ function clampScalar(seed32) {
14
21
  clamped[31] = (last & 127) | 64;
15
22
  return (0, assert_js_1.asBytes32)(clamped, "clamped scalar");
16
23
  }
24
+ function normalizeSharedSecret(shared) {
25
+ if (shared.byteLength !== 32) {
26
+ throw new Error(`X25519 shared secret must be 32 bytes, received ${shared.byteLength}`);
27
+ }
28
+ return (0, assert_js_1.asBytes32)(new Uint8Array(shared.buffer, shared.byteOffset, shared.byteLength), "sharedKey");
29
+ }
17
30
  /**
18
- * Derives an X25519 public key from a raw 32-byte secret scalar.
31
+ * Constant-time style 32-byte zero check for shared-secret hardening.
19
32
  */
20
- function publicKey(secretKey32) {
33
+ function isAllZero32(bytes32) {
34
+ (0, assert_js_1.assertBytes32)(bytes32, "bytes32");
35
+ let acc = 0;
36
+ for (let i = 0; i < 32; i += 1) {
37
+ acc |= bytes32[i] ?? 0;
38
+ }
39
+ return acc === 0;
40
+ }
41
+ /**
42
+ * Builds a reusable X25519 private KeyObject from a raw 32-byte secret scalar.
43
+ */
44
+ function createPrivateKeyObject(secretKey32) {
21
45
  (0, assert_js_1.assertBytes32)(secretKey32, "secretKey32");
22
- const privateKey = (0, der_js_1.keyFromX25519Private)(secretKey32);
46
+ return (0, der_js_1.keyFromX25519Private)(secretKey32);
47
+ }
48
+ /**
49
+ * Builds a reusable X25519 public KeyObject from a raw 32-byte public key.
50
+ */
51
+ function createPublicKeyObject(publicKey32) {
52
+ (0, assert_js_1.assertBytes32)(publicKey32, "publicKey32");
53
+ return (0, der_js_1.keyFromX25519Public)(publicKey32);
54
+ }
55
+ /**
56
+ * Derives raw 32-byte X25519 public key from a private KeyObject.
57
+ */
58
+ function publicKeyFromPrivateKeyObject(privateKey) {
23
59
  return (0, der_js_1.rawPublicFromX25519Spki)((0, node_crypto_1.createPublicKey)(privateKey));
24
60
  }
61
+ /**
62
+ * Derives an X25519 public key from a raw 32-byte secret scalar.
63
+ */
64
+ function publicKey(secretKey32) {
65
+ return publicKeyFromPrivateKeyObject(createPrivateKeyObject(secretKey32));
66
+ }
67
+ /**
68
+ * Computes X25519 ECDH shared secret (raw 32 bytes) from reusable KeyObjects.
69
+ */
70
+ function sharedKeyFromKeyObjects(privateKey, publicKey) {
71
+ return normalizeSharedSecret((0, node_crypto_1.diffieHellman)({ privateKey, publicKey }));
72
+ }
25
73
  /**
26
74
  * Computes X25519 ECDH shared secret (raw 32 bytes).
27
75
  */
28
76
  function sharedKey(secretKey32, publicKey32) {
29
- (0, assert_js_1.assertBytes32)(secretKey32, "secretKey32");
30
- (0, assert_js_1.assertBytes32)(publicKey32, "publicKey32");
31
- const shared = (0, node_crypto_1.diffieHellman)({
32
- privateKey: (0, der_js_1.keyFromX25519Private)(secretKey32),
33
- publicKey: (0, der_js_1.keyFromX25519Public)(publicKey32),
34
- });
35
- if (shared.byteLength !== 32) {
36
- throw new Error(`X25519 shared secret must be 32 bytes, received ${shared.byteLength}`);
77
+ const privateKey = createPrivateKeyObject(secretKey32);
78
+ const publicKey = createPublicKeyObject(publicKey32);
79
+ return sharedKeyFromKeyObjects(privateKey, publicKey);
80
+ }
81
+ /**
82
+ * Strict X25519 ECDH: rejects all-zero shared secret.
83
+ */
84
+ function sharedKeyStrict(secretKey32, publicKey32) {
85
+ const shared = sharedKey(secretKey32, publicKey32);
86
+ if (isAllZero32(shared)) {
87
+ throw new Error("X25519 shared secret is all-zero; reject low-order/invalid peer public key in protocol flow.");
37
88
  }
38
- return (0, assert_js_1.asBytes32)(new Uint8Array(shared.buffer, shared.byteOffset, shared.byteLength), "sharedKey");
89
+ return shared;
90
+ }
91
+ /**
92
+ * Strict X25519 ECDH from reusable KeyObjects: rejects all-zero shared secret.
93
+ */
94
+ function sharedKeyStrictFromKeyObjects(privateKey, publicKey) {
95
+ const shared = sharedKeyFromKeyObjects(privateKey, publicKey);
96
+ if (isAllZero32(shared)) {
97
+ throw new Error("X25519 shared secret is all-zero; reject low-order/invalid peer public key in protocol flow.");
98
+ }
99
+ return shared;
39
100
  }
40
101
  /**
41
102
  * Deterministically creates an X25519 key pair from a 32-byte seed.
@@ -1 +1 @@
1
- {"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":";;AAqBA,8BAIC;AAKD,8BAaC;AAMD,0CAQC;AAzDD,6CAA6D;AAC7D,oDAAgE;AAChE,8CAI2B;AAG3B,SAAS,WAAW,CAAC,MAAe;IAClC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO,IAAA,qBAAS,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,WAAoB;IAC5C,IAAA,yBAAa,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,6BAAoB,EAAC,WAAW,CAAC,CAAC;IACrD,OAAO,IAAA,gCAAuB,EAAC,IAAA,6BAAe,EAAC,UAAU,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,WAAoB,EAAE,WAAoB;IAClE,IAAA,yBAAa,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1C,IAAA,yBAAa,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC;QAC3B,UAAU,EAAE,IAAA,6BAAoB,EAAC,WAAW,CAAC;QAC7C,SAAS,EAAE,IAAA,4BAAmB,EAAC,WAAW,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAA,qBAAS,EAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAe;IAC7C,IAAA,yBAAa,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,UAAU;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":"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"}
package/dist/ed25519.d.ts CHANGED
@@ -1,4 +1,17 @@
1
+ import { type KeyObject } from "node:crypto";
1
2
  import type { Bytes32, Bytes64, KeyPair32 } from "./types.js";
3
+ /**
4
+ * Builds a reusable Ed25519 private KeyObject from a raw 32-byte seed.
5
+ */
6
+ export declare function createPrivateKeyObject(secretSeed32: Bytes32): KeyObject;
7
+ /**
8
+ * Builds a reusable Ed25519 public KeyObject from a raw 32-byte public key.
9
+ */
10
+ export declare function createPublicKeyObject(publicKey32: Bytes32): KeyObject;
11
+ /**
12
+ * Derives raw 32-byte Ed25519 public key from a private KeyObject.
13
+ */
14
+ export declare function publicKeyFromPrivateKeyObject(privateKey: KeyObject): Bytes32;
2
15
  /**
3
16
  * Derives an Ed25519 public key from a raw 32-byte seed.
4
17
  */
@@ -12,10 +25,18 @@ export declare function generateKeyPair(seed32: Bytes32): KeyPair32;
12
25
  * Signs a message with Ed25519 and returns the 64-byte detached signature.
13
26
  */
14
27
  export declare function sign(secretSeed32: Bytes32, msg: Uint8Array): Bytes64;
28
+ /**
29
+ * Signs a message with Ed25519 using a reusable private KeyObject.
30
+ */
31
+ export declare function signWithPrivateKey(privateKey: KeyObject, msg: Uint8Array): Bytes64;
15
32
  /**
16
33
  * Verifies a detached Ed25519 signature.
17
34
  */
18
35
  export declare function verify(publicKey32: Bytes32, msg: Uint8Array, signature64: Bytes64): boolean;
36
+ /**
37
+ * Verifies a detached Ed25519 signature using a reusable public KeyObject.
38
+ */
39
+ export declare function verifyWithPublicKey(publicKey: KeyObject, msg: Uint8Array, signature64: Bytes64): boolean;
19
40
  /**
20
41
  * Returns signature || message.
21
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAGxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAM1D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CASpE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAW3F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAS9E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAgB1F"}
1
+ {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,aAAa,CAAC;AAarB,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAY9D;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAGvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAGrE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAE5E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAM1D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAGlF;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAE3F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAS9E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAgB1F"}
package/dist/ed25519.js CHANGED
@@ -1,12 +1,37 @@
1
- import { createPublicKey, sign as cryptoSign, verify as cryptoVerify } from "node:crypto";
2
- import { asBytes64, assertBytes32, assertBytes64, assertUint8Array, toBufferView } from "./internal/assert.js";
3
- import { keyFromEd25519Private, keyFromEd25519Public, rawPublicFromEd25519Spki } from "./internal/der.js";
1
+ import { createPublicKey, sign as cryptoSign, verify as cryptoVerify, } from "node:crypto";
2
+ import { asBytes64, assertBytes32, assertBytes64, assertUint8Array, toBufferView, } from "./internal/assert.js";
3
+ import { keyFromEd25519Private, keyFromEd25519Public, rawPublicFromEd25519Spki, } from "./internal/der.js";
4
+ function normalizeSignature(signature) {
5
+ if (signature.byteLength !== 64) {
6
+ throw new Error(`Ed25519 signature must be 64 bytes, received ${signature.byteLength}`);
7
+ }
8
+ return asBytes64(new Uint8Array(signature.buffer, signature.byteOffset, signature.byteLength), "signature");
9
+ }
10
+ /**
11
+ * Builds a reusable Ed25519 private KeyObject from a raw 32-byte seed.
12
+ */
13
+ export function createPrivateKeyObject(secretSeed32) {
14
+ assertBytes32(secretSeed32, "secretSeed32");
15
+ return keyFromEd25519Private(secretSeed32);
16
+ }
17
+ /**
18
+ * Builds a reusable Ed25519 public KeyObject from a raw 32-byte public key.
19
+ */
20
+ export function createPublicKeyObject(publicKey32) {
21
+ assertBytes32(publicKey32, "publicKey32");
22
+ return keyFromEd25519Public(publicKey32);
23
+ }
24
+ /**
25
+ * Derives raw 32-byte Ed25519 public key from a private KeyObject.
26
+ */
27
+ export function publicKeyFromPrivateKeyObject(privateKey) {
28
+ return rawPublicFromEd25519Spki(createPublicKey(privateKey));
29
+ }
4
30
  /**
5
31
  * Derives an Ed25519 public key from a raw 32-byte seed.
6
32
  */
7
33
  export function publicKey(secretSeed32) {
8
- assertBytes32(secretSeed32, "secretSeed32");
9
- return rawPublicFromEd25519Spki(createPublicKey(keyFromEd25519Private(secretSeed32)));
34
+ return publicKeyFromPrivateKeyObject(createPrivateKeyObject(secretSeed32));
10
35
  }
11
36
  /**
12
37
  * Deterministically creates an Ed25519 key pair from a 32-byte seed.
@@ -23,22 +48,28 @@ export function generateKeyPair(seed32) {
23
48
  * Signs a message with Ed25519 and returns the 64-byte detached signature.
24
49
  */
25
50
  export function sign(secretSeed32, msg) {
26
- assertBytes32(secretSeed32, "secretSeed32");
51
+ return signWithPrivateKey(createPrivateKeyObject(secretSeed32), msg);
52
+ }
53
+ /**
54
+ * Signs a message with Ed25519 using a reusable private KeyObject.
55
+ */
56
+ export function signWithPrivateKey(privateKey, msg) {
27
57
  assertUint8Array(msg, "msg");
28
- const signature = cryptoSign(null, toBufferView(msg), keyFromEd25519Private(secretSeed32));
29
- if (signature.byteLength !== 64) {
30
- throw new Error(`Ed25519 signature must be 64 bytes, received ${signature.byteLength}`);
31
- }
32
- return asBytes64(new Uint8Array(signature.buffer, signature.byteOffset, signature.byteLength), "signature");
58
+ return normalizeSignature(cryptoSign(null, toBufferView(msg), privateKey));
33
59
  }
34
60
  /**
35
61
  * Verifies a detached Ed25519 signature.
36
62
  */
37
63
  export function verify(publicKey32, msg, signature64) {
38
- assertBytes32(publicKey32, "publicKey32");
64
+ return verifyWithPublicKey(createPublicKeyObject(publicKey32), msg, signature64);
65
+ }
66
+ /**
67
+ * Verifies a detached Ed25519 signature using a reusable public KeyObject.
68
+ */
69
+ export function verifyWithPublicKey(publicKey, msg, signature64) {
39
70
  assertUint8Array(msg, "msg");
40
71
  assertBytes64(signature64, "signature64");
41
- return cryptoVerify(null, toBufferView(msg), keyFromEd25519Public(publicKey32), toBufferView(signature64));
72
+ return cryptoVerify(null, toBufferView(msg), publicKey, toBufferView(signature64));
42
73
  }
43
74
  /**
44
75
  * Returns signature || message.
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../src/ed25519.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import * as axlsignApi from "./axlsign.js";
2
+ import * as wasmApi from "./wasm.js";
1
3
  import * as ed25519Api from "./ed25519.js";
2
4
  import * as x25519Api from "./x25519.js";
3
5
  import type { Bytes32, Bytes64 } from "./types.js";
@@ -7,25 +9,83 @@ export type { Bytes32, Bytes64, KeyPair32 } from "./types.js";
7
9
  * Standard X25519 namespace.
8
10
  */
9
11
  export declare const x25519: {
12
+ readonly createPrivateKeyObject: typeof x25519Api.createPrivateKeyObject;
13
+ readonly createPublicKeyObject: typeof x25519Api.createPublicKeyObject;
14
+ readonly publicKeyFromPrivateKeyObject: typeof x25519Api.publicKeyFromPrivateKeyObject;
10
15
  readonly publicKey: typeof x25519Api.publicKey;
11
16
  readonly sharedKey: typeof x25519Api.sharedKey;
17
+ readonly sharedKeyFromKeyObjects: typeof x25519Api.sharedKeyFromKeyObjects;
18
+ readonly sharedKeyStrict: typeof x25519Api.sharedKeyStrict;
19
+ readonly sharedKeyStrictFromKeyObjects: typeof x25519Api.sharedKeyStrictFromKeyObjects;
20
+ readonly isAllZero32: typeof x25519Api.isAllZero32;
12
21
  readonly generateKeyPair: typeof x25519Api.generateKeyPair;
13
22
  };
14
23
  /**
15
24
  * Standard Ed25519 namespace.
16
25
  */
17
26
  export declare const ed25519: {
27
+ readonly createPrivateKeyObject: typeof ed25519Api.createPrivateKeyObject;
28
+ readonly createPublicKeyObject: typeof ed25519Api.createPublicKeyObject;
29
+ readonly publicKeyFromPrivateKeyObject: typeof ed25519Api.publicKeyFromPrivateKeyObject;
18
30
  readonly publicKey: typeof ed25519Api.publicKey;
19
31
  readonly generateKeyPair: typeof ed25519Api.generateKeyPair;
20
32
  readonly sign: typeof ed25519Api.sign;
33
+ readonly signWithPrivateKey: typeof ed25519Api.signWithPrivateKey;
21
34
  readonly verify: typeof ed25519Api.verify;
35
+ readonly verifyWithPublicKey: typeof ed25519Api.verifyWithPublicKey;
22
36
  readonly signMessage: typeof ed25519Api.signMessage;
23
37
  readonly openMessage: typeof ed25519Api.openMessage;
24
38
  };
39
+ /**
40
+ * Optional legacy-compatible axlsign namespace implemented with WASM.
41
+ */
42
+ export declare const axlsign: {
43
+ readonly publicKey: typeof axlsignApi.publicKey;
44
+ readonly sharedKey: typeof axlsignApi.sharedKey;
45
+ readonly generateKeyPair: typeof axlsignApi.generateKeyPair;
46
+ readonly sign: typeof axlsignApi.sign;
47
+ readonly verify: typeof axlsignApi.verify;
48
+ readonly signMessage: typeof axlsignApi.signMessage;
49
+ readonly openMessage: typeof axlsignApi.openMessage;
50
+ };
51
+ /**
52
+ * Optional modern WASM namespace with X25519 + Ed25519 parity methods.
53
+ */
54
+ export declare const wasm: {
55
+ readonly x25519: {
56
+ readonly createPrivateKeyObject: typeof wasmApi.x25519CreatePrivateKeyObject;
57
+ readonly createPublicKeyObject: typeof wasmApi.x25519CreatePublicKeyObject;
58
+ readonly publicKeyFromPrivateKeyObject: typeof wasmApi.x25519PublicKeyFromPrivateKeyObject;
59
+ readonly publicKey: typeof wasmApi.x25519PublicKey;
60
+ readonly sharedKey: typeof wasmApi.x25519SharedKey;
61
+ readonly sharedKeyFromKeyObjects: typeof wasmApi.x25519SharedKeyFromKeyObjects;
62
+ readonly sharedKeyStrict: typeof wasmApi.x25519SharedKeyStrict;
63
+ readonly sharedKeyStrictFromKeyObjects: typeof wasmApi.x25519SharedKeyStrictFromKeyObjects;
64
+ readonly isAllZero32: typeof wasmApi.isAllZero32;
65
+ readonly generateKeyPair: typeof wasmApi.x25519GenerateKeyPair;
66
+ };
67
+ readonly ed25519: {
68
+ readonly createPrivateKeyObject: typeof wasmApi.ed25519CreatePrivateKeyObject;
69
+ readonly createPublicKeyObject: typeof wasmApi.ed25519CreatePublicKeyObject;
70
+ readonly publicKeyFromPrivateKeyObject: typeof wasmApi.ed25519PublicKeyFromPrivateKeyObject;
71
+ readonly publicKey: typeof wasmApi.ed25519PublicKey;
72
+ readonly generateKeyPair: typeof wasmApi.ed25519GenerateKeyPair;
73
+ readonly sign: typeof wasmApi.ed25519Sign;
74
+ readonly signWithPrivateKey: typeof wasmApi.ed25519SignWithPrivateKey;
75
+ readonly verify: typeof wasmApi.ed25519Verify;
76
+ readonly verifyWithPublicKey: typeof wasmApi.ed25519VerifyWithPublicKey;
77
+ readonly signMessage: typeof wasmApi.ed25519SignMessage;
78
+ readonly openMessage: typeof wasmApi.ed25519OpenMessage;
79
+ };
80
+ };
25
81
  /**
26
82
  * Top-level compatibility alias for X25519 shared secret.
27
83
  */
28
84
  export declare const sharedKey: typeof x25519Api.sharedKey;
85
+ /**
86
+ * Top-level strict X25519 shared secret helper that rejects all-zero results.
87
+ */
88
+ export declare const sharedKeyStrict: typeof x25519Api.sharedKeyStrict;
29
89
  /**
30
90
  * Top-level compatibility alias for X25519 deterministic key generation.
31
91
  */
@@ -58,19 +118,68 @@ export declare const openMessage: typeof ed25519Api.openMessage;
58
118
  export declare const verify: typeof ed25519Api.verify;
59
119
  declare const api: {
60
120
  readonly x25519: {
121
+ readonly createPrivateKeyObject: typeof x25519Api.createPrivateKeyObject;
122
+ readonly createPublicKeyObject: typeof x25519Api.createPublicKeyObject;
123
+ readonly publicKeyFromPrivateKeyObject: typeof x25519Api.publicKeyFromPrivateKeyObject;
61
124
  readonly publicKey: typeof x25519Api.publicKey;
62
125
  readonly sharedKey: typeof x25519Api.sharedKey;
126
+ readonly sharedKeyFromKeyObjects: typeof x25519Api.sharedKeyFromKeyObjects;
127
+ readonly sharedKeyStrict: typeof x25519Api.sharedKeyStrict;
128
+ readonly sharedKeyStrictFromKeyObjects: typeof x25519Api.sharedKeyStrictFromKeyObjects;
129
+ readonly isAllZero32: typeof x25519Api.isAllZero32;
63
130
  readonly generateKeyPair: typeof x25519Api.generateKeyPair;
64
131
  };
65
132
  readonly ed25519: {
133
+ readonly createPrivateKeyObject: typeof ed25519Api.createPrivateKeyObject;
134
+ readonly createPublicKeyObject: typeof ed25519Api.createPublicKeyObject;
135
+ readonly publicKeyFromPrivateKeyObject: typeof ed25519Api.publicKeyFromPrivateKeyObject;
66
136
  readonly publicKey: typeof ed25519Api.publicKey;
67
137
  readonly generateKeyPair: typeof ed25519Api.generateKeyPair;
68
138
  readonly sign: typeof ed25519Api.sign;
139
+ readonly signWithPrivateKey: typeof ed25519Api.signWithPrivateKey;
69
140
  readonly verify: typeof ed25519Api.verify;
141
+ readonly verifyWithPublicKey: typeof ed25519Api.verifyWithPublicKey;
70
142
  readonly signMessage: typeof ed25519Api.signMessage;
71
143
  readonly openMessage: typeof ed25519Api.openMessage;
72
144
  };
145
+ readonly axlsign: {
146
+ readonly publicKey: typeof axlsignApi.publicKey;
147
+ readonly sharedKey: typeof axlsignApi.sharedKey;
148
+ readonly generateKeyPair: typeof axlsignApi.generateKeyPair;
149
+ readonly sign: typeof axlsignApi.sign;
150
+ readonly verify: typeof axlsignApi.verify;
151
+ readonly signMessage: typeof axlsignApi.signMessage;
152
+ readonly openMessage: typeof axlsignApi.openMessage;
153
+ };
154
+ readonly wasm: {
155
+ readonly x25519: {
156
+ readonly createPrivateKeyObject: typeof wasmApi.x25519CreatePrivateKeyObject;
157
+ readonly createPublicKeyObject: typeof wasmApi.x25519CreatePublicKeyObject;
158
+ readonly publicKeyFromPrivateKeyObject: typeof wasmApi.x25519PublicKeyFromPrivateKeyObject;
159
+ readonly publicKey: typeof wasmApi.x25519PublicKey;
160
+ readonly sharedKey: typeof wasmApi.x25519SharedKey;
161
+ readonly sharedKeyFromKeyObjects: typeof wasmApi.x25519SharedKeyFromKeyObjects;
162
+ readonly sharedKeyStrict: typeof wasmApi.x25519SharedKeyStrict;
163
+ readonly sharedKeyStrictFromKeyObjects: typeof wasmApi.x25519SharedKeyStrictFromKeyObjects;
164
+ readonly isAllZero32: typeof wasmApi.isAllZero32;
165
+ readonly generateKeyPair: typeof wasmApi.x25519GenerateKeyPair;
166
+ };
167
+ readonly ed25519: {
168
+ readonly createPrivateKeyObject: typeof wasmApi.ed25519CreatePrivateKeyObject;
169
+ readonly createPublicKeyObject: typeof wasmApi.ed25519CreatePublicKeyObject;
170
+ readonly publicKeyFromPrivateKeyObject: typeof wasmApi.ed25519PublicKeyFromPrivateKeyObject;
171
+ readonly publicKey: typeof wasmApi.ed25519PublicKey;
172
+ readonly generateKeyPair: typeof wasmApi.ed25519GenerateKeyPair;
173
+ readonly sign: typeof wasmApi.ed25519Sign;
174
+ readonly signWithPrivateKey: typeof wasmApi.ed25519SignWithPrivateKey;
175
+ readonly verify: typeof wasmApi.ed25519Verify;
176
+ readonly verifyWithPublicKey: typeof wasmApi.ed25519VerifyWithPublicKey;
177
+ readonly signMessage: typeof wasmApi.ed25519SignMessage;
178
+ readonly openMessage: typeof wasmApi.ed25519OpenMessage;
179
+ };
180
+ };
73
181
  readonly sharedKey: typeof x25519Api.sharedKey;
182
+ readonly sharedKeyStrict: typeof x25519Api.sharedKeyStrict;
74
183
  readonly generateKeyPair: typeof x25519Api.generateKeyPair;
75
184
  readonly generateKeyPairX25519: typeof x25519Api.generateKeyPair;
76
185
  readonly generateKeyPairEd25519: typeof ed25519Api.generateKeyPair;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAa,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;CAOV,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS,4BAAmB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,eAAe,kCAAyB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,qBAAqB,kCAAyB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,sBAAsB,mCAA0B,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAI7F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAIvG;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,+BAAsB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,MAAM,0BAAiB,CAAC;AAErC,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;CAWC,CAAC;AAEX,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;CAWT,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;CAYV,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;CAQV,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CAGP,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS,4BAAmB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,eAAe,kCAAyB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,eAAe,kCAAyB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,qBAAqB,kCAAyB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,sBAAsB,mCAA0B,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAI7F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,UAAU,EACf,UAAU,CAAC,EAAE,UAAU,GACtB,UAAU,CAIZ;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,+BAAsB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,MAAM,0BAAiB,CAAC;AAErC,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcC,CAAC;AAEX,eAAe,GAAG,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  import { assertNoOptRandom, assertUint8Array } from "./internal/assert.js";
2
+ import * as axlsignApi from "./axlsign.js";
3
+ import * as wasmApi from "./wasm.js";
2
4
  import * as ed25519Api from "./ed25519.js";
3
5
  import * as x25519Api from "./x25519.js";
4
6
  export { asBytes32, asBytes64, assertBytes32, assertBytes64 } from "./internal/assert.js";
@@ -6,25 +8,60 @@ export { asBytes32, asBytes64, assertBytes32, assertBytes64 } from "./internal/a
6
8
  * Standard X25519 namespace.
7
9
  */
8
10
  export const x25519 = {
11
+ createPrivateKeyObject: x25519Api.createPrivateKeyObject,
12
+ createPublicKeyObject: x25519Api.createPublicKeyObject,
13
+ publicKeyFromPrivateKeyObject: x25519Api.publicKeyFromPrivateKeyObject,
9
14
  publicKey: x25519Api.publicKey,
10
15
  sharedKey: x25519Api.sharedKey,
16
+ sharedKeyFromKeyObjects: x25519Api.sharedKeyFromKeyObjects,
17
+ sharedKeyStrict: x25519Api.sharedKeyStrict,
18
+ sharedKeyStrictFromKeyObjects: x25519Api.sharedKeyStrictFromKeyObjects,
19
+ isAllZero32: x25519Api.isAllZero32,
11
20
  generateKeyPair: x25519Api.generateKeyPair,
12
21
  };
13
22
  /**
14
23
  * Standard Ed25519 namespace.
15
24
  */
16
25
  export const ed25519 = {
26
+ createPrivateKeyObject: ed25519Api.createPrivateKeyObject,
27
+ createPublicKeyObject: ed25519Api.createPublicKeyObject,
28
+ publicKeyFromPrivateKeyObject: ed25519Api.publicKeyFromPrivateKeyObject,
17
29
  publicKey: ed25519Api.publicKey,
18
30
  generateKeyPair: ed25519Api.generateKeyPair,
19
31
  sign: ed25519Api.sign,
32
+ signWithPrivateKey: ed25519Api.signWithPrivateKey,
20
33
  verify: ed25519Api.verify,
34
+ verifyWithPublicKey: ed25519Api.verifyWithPublicKey,
21
35
  signMessage: ed25519Api.signMessage,
22
36
  openMessage: ed25519Api.openMessage,
23
37
  };
38
+ /**
39
+ * Optional legacy-compatible axlsign namespace implemented with WASM.
40
+ */
41
+ export const axlsign = {
42
+ publicKey: axlsignApi.publicKey,
43
+ sharedKey: axlsignApi.sharedKey,
44
+ generateKeyPair: axlsignApi.generateKeyPair,
45
+ sign: axlsignApi.sign,
46
+ verify: axlsignApi.verify,
47
+ signMessage: axlsignApi.signMessage,
48
+ openMessage: axlsignApi.openMessage,
49
+ };
50
+ /**
51
+ * Optional modern WASM namespace with X25519 + Ed25519 parity methods.
52
+ */
53
+ export const wasm = {
54
+ x25519: wasmApi.x25519,
55
+ ed25519: wasmApi.ed25519,
56
+ };
24
57
  /**
25
58
  * Top-level compatibility alias for X25519 shared secret.
26
59
  */
27
60
  export const sharedKey = x25519.sharedKey;
61
+ /**
62
+ * Top-level strict X25519 shared secret helper that rejects all-zero results.
63
+ */
64
+ export const sharedKeyStrict = x25519.sharedKeyStrict;
28
65
  /**
29
66
  * Top-level compatibility alias for X25519 deterministic key generation.
30
67
  */
@@ -66,7 +103,10 @@ export const verify = ed25519.verify;
66
103
  const api = {
67
104
  x25519,
68
105
  ed25519,
106
+ axlsign,
107
+ wasm,
69
108
  sharedKey,
109
+ sharedKeyStrict,
70
110
  generateKeyPair,
71
111
  generateKeyPairX25519,
72
112
  generateKeyPairEd25519,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1F;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,SAAS,EAAE,SAAS,CAAC,SAAS;IAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;IAC9B,eAAe,EAAE,SAAS,CAAC,eAAe;CAClC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,SAAS,EAAE,UAAU,CAAC,SAAS;IAC/B,eAAe,EAAE,UAAU,CAAC,eAAe;IAC3C,IAAI,EAAE,UAAU,CAAC,IAAI;IACrB,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,WAAW,EAAE,UAAU,CAAC,WAAW;IACnC,WAAW,EAAE,UAAU,CAAC,WAAW;CAC3B,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;AAE9D;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,YAAqB,EAAE,GAAe,EAAE,UAAuB;IAClF,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,YAAqB,EAAE,GAAe,EAAE,UAAuB;IACzF,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAErC,MAAM,GAAG,GAAG;IACV,MAAM;IACN,OAAO;IACP,SAAS;IACT,eAAe;IACf,qBAAqB;IACrB,sBAAsB;IACtB,IAAI;IACJ,WAAW;IACX,WAAW;IACX,MAAM;CACE,CAAC;AAEX,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/internal/assert.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,IAAY;IAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,mCAAmC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB,EAAE,QAAgB,EAAE,IAAY;IACrE,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,YAAY,QAAQ,oBAAoB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IAC7D,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IAC7D,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IACzD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,KAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IACzD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,KAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAkB,EAAE,MAAc;IAClE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,yDAAyD;YAChE,kEAAkE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/internal/assert.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,IAAY;IAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,mCAAmC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB,EAAE,QAAgB,EAAE,IAAY;IACrE,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,YAAY,QAAQ,oBAAoB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IAC7D,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IAC7D,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IACzD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,IAAI,GAAG,OAAO;IACzD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAkB,EAAE,MAAc;IAClE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,yDAAyD;YAChE,kEAAkE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sem nome bah
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,12 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ export function axlsignPublicKey(secret_key: Uint8Array): Uint8Array;
5
+
6
+ export function axlsignSharedKey(secret_key: Uint8Array, public_key: Uint8Array): Uint8Array;
7
+
8
+ export function axlsignSign(secret_key: Uint8Array, msg: Uint8Array): Uint8Array;
9
+
10
+ export function axlsignSignRnd(secret_key: Uint8Array, msg: Uint8Array, rnd: Uint8Array): Uint8Array;
11
+
12
+ export function axlsignVerify(public_key: Uint8Array, msg: Uint8Array, signature: Uint8Array): boolean;