nostr-crypto-utils 0.4.8 → 0.4.9

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 (202) hide show
  1. package/dist/cjs/core/types/index.d.ts +2 -2
  2. package/dist/cjs/core/types/index.d.ts.map +1 -1
  3. package/dist/cjs/core/types/index.js +2 -2
  4. package/dist/cjs/core/types/index.js.map +1 -1
  5. package/dist/cjs/crypto/index.d.ts +1 -6
  6. package/dist/cjs/crypto/index.d.ts.map +1 -1
  7. package/dist/cjs/crypto/index.js +13 -28
  8. package/dist/cjs/crypto/index.js.map +1 -1
  9. package/dist/cjs/crypto/package.json +6 -0
  10. package/dist/cjs/crypto-utils.d.ts +8 -0
  11. package/dist/cjs/crypto-utils.d.ts.map +1 -0
  12. package/dist/cjs/crypto-utils.js +23 -0
  13. package/dist/cjs/crypto-utils.js.map +1 -0
  14. package/dist/cjs/crypto.d.ts +76 -0
  15. package/dist/cjs/crypto.d.ts.map +1 -0
  16. package/dist/cjs/crypto.js +214 -0
  17. package/dist/cjs/crypto.js.map +1 -0
  18. package/dist/cjs/encoding/index.d.ts +15 -0
  19. package/dist/cjs/encoding/index.d.ts.map +1 -1
  20. package/dist/cjs/encoding/index.js +27 -0
  21. package/dist/cjs/encoding/index.js.map +1 -1
  22. package/dist/cjs/event/creation.d.ts +1 -1
  23. package/dist/cjs/event/creation.d.ts.map +1 -1
  24. package/dist/cjs/event/creation.js +6 -6
  25. package/dist/cjs/event/creation.js.map +1 -1
  26. package/dist/cjs/event/signing.d.ts +1 -1
  27. package/dist/cjs/event/signing.d.ts.map +1 -1
  28. package/dist/cjs/event/signing.js +10 -10
  29. package/dist/cjs/event/signing.js.map +1 -1
  30. package/dist/cjs/index.d.ts +6 -8
  31. package/dist/cjs/index.d.ts.map +1 -1
  32. package/dist/cjs/index.js +56 -41
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/integration/index.d.ts +3 -2
  35. package/dist/cjs/integration/index.d.ts.map +1 -1
  36. package/dist/cjs/integration/index.js +13 -14
  37. package/dist/cjs/integration/index.js.map +1 -1
  38. package/dist/cjs/types/base.d.ts +1 -7
  39. package/dist/cjs/types/base.d.ts.map +1 -1
  40. package/dist/cjs/types/base.js.map +1 -1
  41. package/dist/cjs/types/index.d.ts +8 -12
  42. package/dist/cjs/types/index.d.ts.map +1 -1
  43. package/dist/cjs/types/index.js +7 -12
  44. package/dist/cjs/types/index.js.map +1 -1
  45. package/dist/cjs/types/messages.d.ts +1 -6
  46. package/dist/cjs/types/messages.d.ts.map +1 -1
  47. package/dist/cjs/types/protocol.d.ts +2 -66
  48. package/dist/cjs/types/protocol.d.ts.map +1 -1
  49. package/dist/cjs/utils/integration.d.ts +2 -2
  50. package/dist/cjs/utils/integration.d.ts.map +1 -1
  51. package/dist/cjs/utils/integration.js +13 -13
  52. package/dist/cjs/utils/integration.js.map +1 -1
  53. package/dist/cjs/validation/index.d.ts +15 -2
  54. package/dist/cjs/validation/index.d.ts.map +1 -1
  55. package/dist/cjs/validation/index.js +133 -9
  56. package/dist/cjs/validation/index.js.map +1 -1
  57. package/dist/core/types/index.d.ts +2 -2
  58. package/dist/core/types/index.d.ts.map +1 -1
  59. package/dist/core/types/index.js +2 -2
  60. package/dist/core/types/index.js.map +1 -1
  61. package/dist/crypto/index.d.ts +1 -6
  62. package/dist/crypto/index.d.ts.map +1 -1
  63. package/dist/crypto/index.js +10 -24
  64. package/dist/crypto/index.js.map +1 -1
  65. package/dist/crypto-utils.d.ts +8 -0
  66. package/dist/crypto-utils.d.ts.map +1 -0
  67. package/dist/crypto-utils.js +16 -0
  68. package/dist/crypto-utils.js.map +1 -0
  69. package/dist/crypto.d.ts +76 -0
  70. package/dist/crypto.d.ts.map +1 -0
  71. package/dist/crypto.js +201 -0
  72. package/dist/crypto.js.map +1 -0
  73. package/dist/encoding/index.d.ts +15 -0
  74. package/dist/encoding/index.d.ts.map +1 -1
  75. package/dist/encoding/index.js +25 -0
  76. package/dist/encoding/index.js.map +1 -1
  77. package/dist/event/creation.d.ts +1 -1
  78. package/dist/event/creation.d.ts.map +1 -1
  79. package/dist/event/creation.js +3 -3
  80. package/dist/event/creation.js.map +1 -1
  81. package/dist/event/signing.d.ts +1 -1
  82. package/dist/event/signing.d.ts.map +1 -1
  83. package/dist/event/signing.js +4 -4
  84. package/dist/event/signing.js.map +1 -1
  85. package/dist/index.d.ts +6 -8
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +11 -12
  88. package/dist/index.js.map +1 -1
  89. package/dist/integration/index.d.ts +3 -2
  90. package/dist/integration/index.d.ts.map +1 -1
  91. package/dist/integration/index.js +9 -10
  92. package/dist/integration/index.js.map +1 -1
  93. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  94. package/dist/types/base.d.ts +1 -7
  95. package/dist/types/base.d.ts.map +1 -1
  96. package/dist/types/base.js.map +1 -1
  97. package/dist/types/index.d.ts +8 -12
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +7 -11
  100. package/dist/types/index.js.map +1 -1
  101. package/dist/types/messages.d.ts +1 -6
  102. package/dist/types/messages.d.ts.map +1 -1
  103. package/dist/types/protocol.d.ts +2 -66
  104. package/dist/types/protocol.d.ts.map +1 -1
  105. package/dist/utils/integration.d.ts +2 -2
  106. package/dist/utils/integration.d.ts.map +1 -1
  107. package/dist/utils/integration.js +2 -2
  108. package/dist/utils/integration.js.map +1 -1
  109. package/dist/validation/index.d.ts +15 -2
  110. package/dist/validation/index.d.ts.map +1 -1
  111. package/dist/validation/index.js +127 -4
  112. package/dist/validation/index.js.map +1 -1
  113. package/package.json +22 -6
  114. package/dist/__tests__/setup.d.ts +0 -6
  115. package/dist/__tests__/setup.d.ts.map +0 -1
  116. package/dist/__tests__/setup.js +0 -19
  117. package/dist/__tests__/setup.js.map +0 -1
  118. package/dist/constants.d.ts +0 -50
  119. package/dist/constants.d.ts.map +0 -1
  120. package/dist/constants.js +0 -50
  121. package/dist/constants.js.map +0 -1
  122. package/dist/core/constants.d.ts +0 -90
  123. package/dist/core/constants.d.ts.map +0 -1
  124. package/dist/core/constants.js +0 -90
  125. package/dist/core/constants.js.map +0 -1
  126. package/dist/core/errors.d.ts +0 -78
  127. package/dist/core/errors.d.ts.map +0 -1
  128. package/dist/core/errors.js +0 -127
  129. package/dist/core/errors.js.map +0 -1
  130. package/dist/core/index.d.ts +0 -8
  131. package/dist/core/index.js +0 -8
  132. package/dist/core/index.js.map +0 -1
  133. package/dist/core/types/crypto.d.ts +0 -46
  134. package/dist/core/types/crypto.d.ts.map +0 -1
  135. package/dist/core/types/crypto.js +0 -6
  136. package/dist/core/types/crypto.js.map +0 -1
  137. package/dist/core/types/events.d.ts +0 -59
  138. package/dist/core/types/events.d.ts.map +0 -1
  139. package/dist/core/types/events.js +0 -6
  140. package/dist/core/types/events.js.map +0 -1
  141. package/dist/core/types/protocol.d.ts +0 -73
  142. package/dist/core/types/protocol.d.ts.map +0 -1
  143. package/dist/core/types/protocol.js +0 -6
  144. package/dist/core/types/protocol.js.map +0 -1
  145. package/dist/crypto/encryption.d.ts +0 -14
  146. package/dist/crypto/events.d.ts +0 -26
  147. package/dist/crypto/keys.d.ts +0 -35
  148. package/dist/crypto/keys.js +0 -151
  149. package/dist/crypto/keys.js.map +0 -1
  150. package/dist/encoding/base64.d.ts +0 -94
  151. package/dist/encoding/base64.d.ts.map +0 -1
  152. package/dist/encoding/base64.js +0 -145
  153. package/dist/encoding/base64.js.map +0 -1
  154. package/dist/encoding/binary.d.ts +0 -97
  155. package/dist/encoding/binary.d.ts.map +0 -1
  156. package/dist/encoding/binary.js +0 -161
  157. package/dist/encoding/binary.js.map +0 -1
  158. package/dist/encoding/hex.d.ts +0 -93
  159. package/dist/encoding/hex.d.ts.map +0 -1
  160. package/dist/encoding/hex.js +0 -149
  161. package/dist/encoding/hex.js.map +0 -1
  162. package/dist/nips/index.d.ts +0 -15
  163. package/dist/nips/index.js +0 -15
  164. package/dist/nips/index.js.map +0 -1
  165. package/dist/nips/nip-01.d.ts +0 -56
  166. package/dist/nips/nip-01.js +0 -140
  167. package/dist/nips/nip-01.js.map +0 -1
  168. package/dist/nips/nip-04.d.ts +0 -53
  169. package/dist/nips/nip-04.d.ts.map +0 -1
  170. package/dist/nips/nip-04.js +0 -78
  171. package/dist/nips/nip-04.js.map +0 -1
  172. package/dist/nips/nip-19.d.ts +0 -77
  173. package/dist/nips/nip-19.d.ts.map +0 -1
  174. package/dist/nips/nip-19.js +0 -294
  175. package/dist/nips/nip-19.js.map +0 -1
  176. package/dist/nips/nip-26.d.ts +0 -51
  177. package/dist/protocol/constants.d.ts +0 -100
  178. package/dist/protocol/constants.d.ts.map +0 -1
  179. package/dist/protocol/constants.js +0 -94
  180. package/dist/protocol/constants.js.map +0 -1
  181. package/dist/protocol/index.d.ts +0 -124
  182. package/dist/protocol/transport.d.ts +0 -15
  183. package/dist/transport/index.d.ts +0 -31
  184. package/dist/types/guards.d.ts +0 -30
  185. package/dist/utils/encoding.d.ts +0 -16
  186. package/dist/utils/encoding.d.ts.map +0 -1
  187. package/dist/utils/encoding.js +0 -26
  188. package/dist/utils/encoding.js.map +0 -1
  189. package/dist/utils/events.d.ts +0 -36
  190. package/dist/utils/functions.d.ts +0 -40
  191. package/dist/utils/functions.js +0 -106
  192. package/dist/utils/functions.js.map +0 -1
  193. package/dist/utils/index.d.ts +0 -9
  194. package/dist/utils/index.js +0 -13
  195. package/dist/utils/index.js.map +0 -1
  196. package/dist/utils/logger.d.ts +0 -25
  197. package/dist/utils/logger.d.ts.map +0 -1
  198. package/dist/utils/logger.js +0 -76
  199. package/dist/utils/logger.js.map +0 -1
  200. package/dist/utils/validation.d.ts +0 -56
  201. package/dist/utils/validation.js +0 -178
  202. package/dist/utils/validation.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Core type definitions
3
2
  * @module core/types
3
+ * @description Core type definitions for the library
4
4
  */
5
5
  export * from './events';
6
+ export * from './crypto.js';
6
7
  export * from './protocol';
7
- export * from './crypto';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
- * Core type definitions
4
3
  * @module core/types
4
+ * @description Core type definitions for the library
5
5
  */
6
6
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
7
  if (k2 === undefined) k2 = k;
@@ -19,6 +19,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  __exportStar(require("./events"), exports);
22
+ __exportStar(require("./crypto.js"), exports);
22
23
  __exportStar(require("./protocol"), exports);
23
- __exportStar(require("./crypto"), exports);
24
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,8CAA4B;AAC5B,6CAA2B"}
@@ -28,14 +28,9 @@ export declare class CustomCrypto implements CryptoSubtle {
28
28
  constructor();
29
29
  }
30
30
  export declare const customCrypto: CustomCrypto;
31
- import { NostrEvent, SignedNostrEvent, KeyPair, PublicKeyDetails } from '../types';
31
+ import { KeyPair, PublicKeyDetails, NostrEvent, SignedNostrEvent } from '../types';
32
32
  export declare const signSchnorr: (message: import("@noble/curves/abstract/utils").Hex, privateKey: import("@noble/curves/abstract/utils").PrivKey, auxRand?: import("@noble/curves/abstract/utils").Hex) => Uint8Array;
33
33
  export declare const verifySchnorrSignature: (signature: import("@noble/curves/abstract/utils").Hex, message: import("@noble/curves/abstract/utils").Hex, publicKey: import("@noble/curves/abstract/utils").Hex) => boolean;
34
- /**
35
- * Generates a new key pair
36
- * @returns Generated key pair
37
- */
38
- export declare function generateKeyPair(): Promise<KeyPair>;
39
34
  /**
40
35
  * Gets the public key from a private key
41
36
  * @param privateKey - Private key in hex format
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QACN,WAAW,CACT,SAAS,EAAE,qBAAqB,GAAG,cAAc,EACjD,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,SAAS,QAAQ,EAAE,GAC7B,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1B,SAAS,CACP,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,EAChC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,qBAAqB,GAAG,iBAAiB,GAAG,eAAe,EACtE,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,SAAS,QAAQ,EAAE,GAC7B,OAAO,CAAC,SAAS,CAAC,CAAC;QACtB,SAAS,CACP,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,EAChC,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,WAAW,CAAC,CAAC;QACxB,OAAO,CACL,SAAS,EAAE,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,EACrE,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,WAAW,CAAC,CAAC;QACxB,OAAO,CACL,SAAS,EAAE,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,EACrE,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,WAAW,CAAC,CAAC;KACzB,CAAC;IACF,eAAe,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;CACtH;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,YAAY;IAC/C,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;;CAelD;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC;AAK/C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAoB,UAAU,EAAE,gBAAgB,EAAa,MAAM,UAAU,CAAC;AAIhH,eAAO,MAAM,WAAW,uLAAe,CAAC;AACxC,eAAO,MAAM,sBAAsB,gLAAiB,CAAC;AAErD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAehF;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAQlE;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwBhG;AAWD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkC/E;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAkDjB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CA2EjB"}
@@ -5,7 +5,6 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.verifySchnorrSignature = exports.signSchnorr = exports.customCrypto = exports.CustomCrypto = void 0;
8
- exports.generateKeyPair = generateKeyPair;
9
8
  exports.getPublicKey = getPublicKey;
10
9
  exports.validateKeyPair = validateKeyPair;
11
10
  exports.createEvent = createEvent;
@@ -36,28 +35,13 @@ class CustomCrypto {
36
35
  exports.CustomCrypto = CustomCrypto;
37
36
  // Create and export default instance
38
37
  exports.customCrypto = new CustomCrypto();
39
- const secp256k1_1 = require("@noble/curves/secp256k1");
40
- const secp256k1_2 = require("@noble/curves/secp256k1");
41
38
  const sha256_1 = require("@noble/hashes/sha256");
42
- const utils_1 = require("@noble/curves/abstract/utils");
43
- const utils_2 = require("@noble/hashes/utils");
39
+ const utils_1 = require("@noble/hashes/utils");
40
+ const secp256k1_1 = require("@noble/curves/secp256k1");
44
41
  const logger_1 = require("../utils/logger");
45
- // Export schnorr functions
42
+ // Re-export schnorr functions for backward compatibility
46
43
  exports.signSchnorr = secp256k1_1.schnorr.sign;
47
44
  exports.verifySchnorrSignature = secp256k1_1.schnorr.verify;
48
- /**
49
- * Generates a new key pair
50
- * @returns Generated key pair
51
- */
52
- async function generateKeyPair() {
53
- const privateKeyBytes = (0, utils_2.randomBytes)(32);
54
- const privateKey = (0, utils_1.bytesToHex)(privateKeyBytes);
55
- const publicKey = await getPublicKey(privateKey);
56
- return {
57
- privateKey,
58
- publicKey
59
- };
60
- }
61
45
  /**
62
46
  * Gets the public key from a private key
63
47
  * @param privateKey - Private key in hex format
@@ -65,7 +49,7 @@ async function generateKeyPair() {
65
49
  */
66
50
  async function getPublicKey(privateKey) {
67
51
  try {
68
- const publicKeyBytes = secp256k1_1.schnorr.getPublicKey((0, utils_1.hexToBytes)(privateKey));
52
+ const publicKeyBytes = secp256k1_1.secp256k1.getPublicKey((0, utils_1.hexToBytes)(privateKey));
69
53
  const publicKeyHex = (0, utils_1.bytesToHex)(publicKeyBytes);
70
54
  return {
71
55
  hex: publicKeyHex,
@@ -125,11 +109,12 @@ async function signEvent(event, privateKey) {
125
109
  event.content
126
110
  ]);
127
111
  const hash = (0, sha256_1.sha256)(new TextEncoder().encode(serialized));
128
- const sig = secp256k1_1.schnorr.sign(hash, (0, utils_1.hexToBytes)(privateKey));
112
+ const sig = secp256k1_1.secp256k1.sign(hash, (0, utils_1.hexToBytes)(privateKey));
113
+ const sigBytes = new Uint8Array(sig.toCompactRawBytes());
129
114
  return {
130
115
  ...event,
131
- id: (0, utils_1.bytesToHex)(hash),
132
- sig: (0, utils_1.bytesToHex)(sig)
116
+ sig: (0, utils_1.bytesToHex)(sigBytes),
117
+ id: (0, utils_1.bytesToHex)(hash)
133
118
  };
134
119
  }
135
120
  catch (error) {
@@ -169,11 +154,11 @@ async function verifySignature(event) {
169
154
  return false;
170
155
  }
171
156
  // Verify signature
172
- const isValid = secp256k1_1.schnorr.verify((0, utils_1.hexToBytes)(event.sig), (0, utils_1.hexToBytes)(event.id), (0, utils_1.hexToBytes)(pubkeyHex));
157
+ const isValid = secp256k1_1.secp256k1.verify((0, utils_1.hexToBytes)(event.sig), hash, (0, utils_1.hexToBytes)(pubkeyHex));
173
158
  return isValid;
174
159
  }
175
160
  catch (error) {
176
- logger_1.logger.error({ error }, 'Schnorr verification error');
161
+ logger_1.logger.error({ error }, 'Verification error');
177
162
  return false;
178
163
  }
179
164
  }
@@ -198,10 +183,10 @@ async function encryptMessage(message, privateKey, recipientPubKey) {
198
183
  throw new Error('Invalid public key format');
199
184
  }
200
185
  // Generate shared secret using ECDH
201
- const sharedPoint = secp256k1_2.secp256k1.getSharedSecret(privateKey, '02' + recipientPubKey);
186
+ const sharedPoint = secp256k1_1.secp256k1.getSharedSecret(privateKey, '02' + recipientPubKey);
202
187
  const sharedSecret = sharedPoint.slice(1, 33);
203
188
  // Generate random IV
204
- const iv = (0, utils_2.randomBytes)(16);
189
+ const iv = (0, utils_1.randomBytes)(16);
205
190
  // Create encryption key
206
191
  const key = await exports.customCrypto.subtle.importKey('raw', sharedSecret, { name: 'AES-CBC', length: 256 }, true, ['encrypt']);
207
192
  // Encrypt
@@ -247,7 +232,7 @@ async function decryptMessage(encryptedMessage, privateKey, senderPubKey) {
247
232
  const iv = encryptedData.slice(0, 16);
248
233
  const ciphertext = encryptedData.slice(16);
249
234
  // Generate shared secret using ECDH
250
- const sharedPoint = secp256k1_2.secp256k1.getSharedSecret(privateKey, '02' + senderPubKey);
235
+ const sharedPoint = secp256k1_1.secp256k1.getSharedSecret(privateKey, '02' + senderPubKey);
251
236
  const sharedSecret = sharedPoint.slice(1, 33);
252
237
  // Create decryption key
253
238
  const key = await exports.customCrypto.subtle.importKey('raw', sharedSecret, { name: 'AES-CBC', length: 256 }, true, ['decrypt']);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqFH,0CASC;AAOD,oCAeC;AAOD,0CAQC;AAOD,kCAQC;AAQD,8BAuBC;AAgBD,0CAkCC;AASD,wCAsDC;AAUD,wCA+EC;AAzXD,6CAAwC;AA0CxC;;GAEG;AACH,MAAa,YAAY;IAIvB;QACE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,CAAyF,KAAQ,EAAK,EAAE;gBAC7H,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,uBAAS,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,CAAyF,KAAQ,EAAK,EAAE;gBAC7H,OAAO,uBAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAjBD,oCAiBC;AAED,qCAAqC;AACxB,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAE/C,uDAAkD;AAClD,uDAAoD;AACpD,iDAA8C;AAC9C,wDAAsE;AACtE,+CAAkD;AAElD,4CAAyC;AAEzC,2BAA2B;AACd,QAAA,WAAW,GAAG,mBAAO,CAAC,IAAI,CAAC;AAC3B,QAAA,sBAAsB,GAAG,mBAAO,CAAC,MAAM,CAAC;AAErD;;;GAGG;AACI,KAAK,UAAU,eAAe;IACnC,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,EAAE,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAEjD,OAAO;QACL,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,mBAAO,CAAC,YAAY,CAAC,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,cAAc,CAAC,CAAC;QAEhD,OAAO;YACL,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,cAAc;YACrB,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,cAAc;SAC7B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,eAAe,CAAC,OAAgB;IACpD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,OAAO,aAAa,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,6BAA6B,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,KAA0B;IACpD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAC7D,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAAC,KAAiB,EAAE,UAAkB;IACnE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,CAAC;YACD,KAAK,CAAC,MAAM;YACZ,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,mBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC,CAAC;QAEvD,OAAO;YACL,GAAG,KAAK;YACR,EAAE,EAAE,IAAA,kBAAU,EAAC,IAAI,CAAC;YACpB,GAAG,EAAE,IAAA,kBAAU,EAAC,GAAG,CAAC;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAiB;IACxC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,eAAe,CAAC,KAAuB;IAC3D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEhD,kCAAkC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,CAAC;YACD,SAAS;YACT,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC5B,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAChF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,mBAAO,CAAC,MAAM,CAC5B,IAAA,kBAAU,EAAC,KAAK,CAAC,GAAG,CAAC,EACrB,IAAA,kBAAU,EAAC,KAAK,CAAC,EAAE,CAAC,EACpB,IAAA,kBAAU,EAAC,SAAS,CAAC,CACtB,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,UAAkB,EAClB,eAAuB;IAEvB,IAAI,CAAC;QACH,gBAAgB;QAChB,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,qBAAS,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,eAAe,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,qBAAqB;QACrB,MAAM,EAAE,GAAG,IAAA,mBAAW,EAAC,EAAE,CAAC,CAAC;QAE3B,wBAAwB;QACxB,MAAM,GAAG,GAAG,MAAM,oBAAY,CAAC,MAAM,CAAC,SAAS,CAC7C,KAAK,EACL,YAAY,EACZ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAqB,EACnD,IAAI,EACJ,CAAC,SAAS,CAAC,CACZ,CAAC;QAEF,UAAU;QACV,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,oBAAY,CAAC,MAAM,CAAC,OAAO,CACjD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EACvB,GAAG,EACH,IAAI,CACL,CAAC;QAEF,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAEnD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,2BAA2B,CAAC,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAClC,gBAAwB,EACxB,UAAkB,EAClB,YAAoB;IAEpB,gBAAgB;IAChB,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,mDAAmD;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE3C,oCAAoC;QACpC,MAAM,WAAW,GAAG,qBAAS,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,wBAAwB;QACxB,MAAM,GAAG,GAAG,MAAM,oBAAY,CAAC,MAAM,CAAC,SAAS,CAC7C,KAAK,EACL,YAAY,EACZ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAqB,EACnD,IAAI,EACJ,CAAC,SAAS,CAAC,CACZ,CAAC;QAEF,UAAU;QACV,MAAM,SAAS,GAAG,MAAM,oBAAY,CAAC,MAAM,CAAC,OAAO,CACjD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EACvB,GAAG,EACH,UAAU,CACX,CAAC,KAAK,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,4CAA4C;YAC/G,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,iFAAiF;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,kDAAkD;YACnF,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,2BAA2B,CAAC,CAAC;QACrD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "exports": {
4
+ ".": "./index.js"
5
+ }
6
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @module crypto-utils
3
+ * @description Cryptographic utilities for Nostr
4
+ */
5
+ import { encrypt, decrypt } from './nips/nip-04.js';
6
+ import { customCrypto, signSchnorr, verifySchnorrSignature, generateKeyPair, getPublicKey, validateKeyPair, getCompressedPublicKey, getSchnorrPublicKey, createEvent, signEvent, verifySignature } from './crypto.js';
7
+ export { customCrypto, signSchnorr, verifySchnorrSignature, generateKeyPair, getPublicKey, validateKeyPair, getCompressedPublicKey, getSchnorrPublicKey, createEvent, signEvent, verifySignature, encrypt, decrypt };
8
+ //# sourceMappingURL=crypto-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-utils.d.ts","sourceRoot":"","sources":["../../src/crypto-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,YAAY,EACZ,WAAW,EACX,sBAAsB,EAGtB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EAGnB,WAAW,EACX,SAAS,EACT,eAAe,EAGf,OAAO,EACP,OAAO,EACR,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * @module crypto-utils
4
+ * @description Cryptographic utilities for Nostr
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.decrypt = exports.encrypt = exports.verifySignature = exports.signEvent = exports.createEvent = exports.getSchnorrPublicKey = exports.getCompressedPublicKey = exports.validateKeyPair = exports.getPublicKey = exports.generateKeyPair = exports.verifySchnorrSignature = exports.signSchnorr = exports.customCrypto = void 0;
8
+ const nip_04_js_1 = require("./nips/nip-04.js");
9
+ Object.defineProperty(exports, "encrypt", { enumerable: true, get: function () { return nip_04_js_1.encrypt; } });
10
+ Object.defineProperty(exports, "decrypt", { enumerable: true, get: function () { return nip_04_js_1.decrypt; } });
11
+ const crypto_js_1 = require("./crypto.js");
12
+ Object.defineProperty(exports, "customCrypto", { enumerable: true, get: function () { return crypto_js_1.customCrypto; } });
13
+ Object.defineProperty(exports, "signSchnorr", { enumerable: true, get: function () { return crypto_js_1.signSchnorr; } });
14
+ Object.defineProperty(exports, "verifySchnorrSignature", { enumerable: true, get: function () { return crypto_js_1.verifySchnorrSignature; } });
15
+ Object.defineProperty(exports, "generateKeyPair", { enumerable: true, get: function () { return crypto_js_1.generateKeyPair; } });
16
+ Object.defineProperty(exports, "getPublicKey", { enumerable: true, get: function () { return crypto_js_1.getPublicKey; } });
17
+ Object.defineProperty(exports, "validateKeyPair", { enumerable: true, get: function () { return crypto_js_1.validateKeyPair; } });
18
+ Object.defineProperty(exports, "getCompressedPublicKey", { enumerable: true, get: function () { return crypto_js_1.getCompressedPublicKey; } });
19
+ Object.defineProperty(exports, "getSchnorrPublicKey", { enumerable: true, get: function () { return crypto_js_1.getSchnorrPublicKey; } });
20
+ Object.defineProperty(exports, "createEvent", { enumerable: true, get: function () { return crypto_js_1.createEvent; } });
21
+ Object.defineProperty(exports, "signEvent", { enumerable: true, get: function () { return crypto_js_1.signEvent; } });
22
+ Object.defineProperty(exports, "verifySignature", { enumerable: true, get: function () { return crypto_js_1.verifySignature; } });
23
+ //# sourceMappingURL=crypto-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../../src/crypto-utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,gDAAoD;AAkClD,wFAlCO,mBAAO,OAkCP;AACP,wFAnCgB,mBAAO,OAmChB;AAlCT,2CAYqB;AAInB,6FAfA,wBAAY,OAeA;AACZ,4FAfA,uBAAW,OAeA;AACX,uGAfA,kCAAsB,OAeA;AAGtB,gGAjBA,2BAAe,OAiBA;AACf,6FAjBA,wBAAY,OAiBA;AACZ,gGAjBA,2BAAe,OAiBA;AACf,uGAjBA,kCAAsB,OAiBA;AACtB,oGAjBA,+BAAmB,OAiBA;AAGnB,4FAnBA,uBAAW,OAmBA;AACX,0FAnBA,qBAAS,OAmBA;AACT,gGAnBA,2BAAe,OAmBA"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @module crypto
3
+ * @description Cryptographic utilities for Nostr
4
+ */
5
+ import { KeyPair, PublicKeyDetails, ValidationResult, NostrEvent, SignedNostrEvent, PublicKey } from './types/index.js';
6
+ /**
7
+ * Custom crypto interface for cross-platform compatibility
8
+ */
9
+ export interface CryptoSubtle {
10
+ subtle: {
11
+ generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: readonly KeyUsage[]): Promise<CryptoKeyPair>;
12
+ importKey(format: 'raw' | 'pkcs8' | 'spki', keyData: ArrayBuffer, algorithm: RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: readonly KeyUsage[]): Promise<CryptoKey>;
13
+ encrypt(algorithm: {
14
+ name: string;
15
+ iv: Uint8Array;
16
+ }, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
17
+ decrypt(algorithm: {
18
+ name: string;
19
+ iv: Uint8Array;
20
+ }, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
21
+ };
22
+ getRandomValues<T extends Uint8Array | Int8Array | Uint16Array | Int16Array | Uint32Array | Int32Array>(array: T): T;
23
+ }
24
+ /**
25
+ * Crypto implementation that works in both Node.js and browser environments
26
+ */
27
+ declare class CustomCrypto {
28
+ readonly subtle: CryptoSubtle['subtle'];
29
+ readonly getRandomValues: CryptoSubtle['getRandomValues'];
30
+ constructor();
31
+ }
32
+ export declare const customCrypto: CustomCrypto;
33
+ export declare const signSchnorr: (message: import("@noble/curves/abstract/utils.js").Hex, privateKey: import("@noble/curves/abstract/utils.js").PrivKey, auxRand?: import("@noble/curves/abstract/utils.js").Hex) => Uint8Array;
34
+ export declare const verifySchnorrSignature: (signature: import("@noble/curves/abstract/utils.js").Hex, message: import("@noble/curves/abstract/utils.js").Hex, publicKey: import("@noble/curves/abstract/utils.js").Hex) => boolean;
35
+ /**
36
+ * Gets the compressed public key (33 bytes with prefix)
37
+ */
38
+ export declare function getCompressedPublicKey(privateKeyBytes: Uint8Array): Uint8Array;
39
+ /**
40
+ * Gets the schnorr public key (32 bytes x-coordinate) as per BIP340
41
+ */
42
+ export declare function getSchnorrPublicKey(privateKeyBytes: Uint8Array): Uint8Array;
43
+ /**
44
+ * Generates a new key pair
45
+ */
46
+ export declare function generateKeyPair(): Promise<KeyPair>;
47
+ /**
48
+ * Gets the public key from a private key
49
+ */
50
+ export declare function getPublicKey(privateKey: string): Promise<PublicKeyDetails>;
51
+ /**
52
+ * Validates a key pair
53
+ */
54
+ export declare function validateKeyPair(publicKey: PublicKey, privateKey: string): Promise<ValidationResult>;
55
+ /**
56
+ * Creates a new event
57
+ */
58
+ export declare function createEvent(event: Partial<NostrEvent>): NostrEvent;
59
+ /**
60
+ * Signs an event
61
+ */
62
+ export declare function signEvent(event: NostrEvent, privateKey: string): Promise<SignedNostrEvent>;
63
+ /**
64
+ * Verifies an event signature
65
+ */
66
+ export declare function verifySignature(event: SignedNostrEvent): Promise<boolean>;
67
+ /**
68
+ * Encrypts a message using NIP-04
69
+ */
70
+ export declare function encrypt(message: string, recipientPubKey: PublicKey | string, senderPrivKey: string): Promise<string>;
71
+ /**
72
+ * Decrypts a message using NIP-04
73
+ */
74
+ export declare function decrypt(encryptedMessage: string, senderPubKey: PublicKey | string, recipientPrivKey: string): Promise<string>;
75
+ export {};
76
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ /**
3
+ * @module crypto
4
+ * @description Cryptographic utilities for Nostr
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.verifySchnorrSignature = exports.signSchnorr = exports.customCrypto = void 0;
8
+ exports.getCompressedPublicKey = getCompressedPublicKey;
9
+ exports.getSchnorrPublicKey = getSchnorrPublicKey;
10
+ exports.generateKeyPair = generateKeyPair;
11
+ exports.getPublicKey = getPublicKey;
12
+ exports.validateKeyPair = validateKeyPair;
13
+ exports.createEvent = createEvent;
14
+ exports.signEvent = signEvent;
15
+ exports.verifySignature = verifySignature;
16
+ exports.encrypt = encrypt;
17
+ exports.decrypt = decrypt;
18
+ const node_crypto_1 = require("node:crypto");
19
+ const secp256k1_js_1 = require("@noble/curves/secp256k1.js");
20
+ const utils_js_1 = require("@noble/curves/abstract/utils.js");
21
+ const sha256_js_1 = require("@noble/hashes/sha256.js");
22
+ const utils_js_2 = require("@noble/hashes/utils.js");
23
+ const logger_js_1 = require("./utils/logger.js");
24
+ /**
25
+ * Crypto implementation that works in both Node.js and browser environments
26
+ */
27
+ class CustomCrypto {
28
+ constructor() {
29
+ if (typeof window !== 'undefined' && window.crypto) {
30
+ this.subtle = window.crypto.subtle;
31
+ this.getRandomValues = window.crypto.getRandomValues.bind(window.crypto);
32
+ }
33
+ else {
34
+ this.subtle = node_crypto_1.webcrypto.subtle;
35
+ this.getRandomValues = node_crypto_1.webcrypto.getRandomValues.bind(node_crypto_1.webcrypto);
36
+ }
37
+ }
38
+ }
39
+ // Create and export default instance
40
+ exports.customCrypto = new CustomCrypto();
41
+ // Export schnorr functions
42
+ exports.signSchnorr = secp256k1_js_1.schnorr.sign;
43
+ exports.verifySchnorrSignature = secp256k1_js_1.schnorr.verify;
44
+ /**
45
+ * Gets the compressed public key (33 bytes with prefix)
46
+ */
47
+ function getCompressedPublicKey(privateKeyBytes) {
48
+ return secp256k1_js_1.secp256k1.getPublicKey(privateKeyBytes, true);
49
+ }
50
+ /**
51
+ * Gets the schnorr public key (32 bytes x-coordinate) as per BIP340
52
+ */
53
+ function getSchnorrPublicKey(privateKeyBytes) {
54
+ return secp256k1_js_1.schnorr.getPublicKey(privateKeyBytes);
55
+ }
56
+ /**
57
+ * Generates a new key pair
58
+ */
59
+ async function generateKeyPair() {
60
+ const privateKeyBytes = (0, utils_js_2.randomBytes)(32);
61
+ const privateKey = (0, utils_js_1.bytesToHex)(privateKeyBytes);
62
+ const publicKey = await getPublicKey(privateKey);
63
+ return {
64
+ privateKey,
65
+ publicKey
66
+ };
67
+ }
68
+ /**
69
+ * Gets the public key from a private key
70
+ */
71
+ async function getPublicKey(privateKey) {
72
+ try {
73
+ const publicKeyBytes = secp256k1_js_1.secp256k1.getPublicKey((0, utils_js_1.hexToBytes)(privateKey));
74
+ const publicKeyHex = (0, utils_js_1.bytesToHex)(publicKeyBytes);
75
+ return {
76
+ hex: publicKeyHex
77
+ };
78
+ }
79
+ catch (error) {
80
+ logger_js_1.logger.error({ error }, 'Failed to get public key');
81
+ throw error;
82
+ }
83
+ }
84
+ /**
85
+ * Validates a key pair
86
+ */
87
+ async function validateKeyPair(publicKey, privateKey) {
88
+ try {
89
+ const derivedPublicKey = await getPublicKey(privateKey);
90
+ const pubkeyHex = typeof publicKey === 'string' ? publicKey : publicKey.hex;
91
+ return {
92
+ isValid: derivedPublicKey.hex === pubkeyHex,
93
+ error: undefined
94
+ };
95
+ }
96
+ catch (error) {
97
+ return {
98
+ isValid: false,
99
+ error: error instanceof Error ? error.message : 'Unknown error'
100
+ };
101
+ }
102
+ }
103
+ /**
104
+ * Creates a new event
105
+ */
106
+ function createEvent(event) {
107
+ const timestamp = Math.floor(Date.now() / 1000);
108
+ return {
109
+ ...event,
110
+ created_at: event.created_at || timestamp,
111
+ tags: event.tags || [],
112
+ content: event.content || '',
113
+ kind: event.kind || 1
114
+ };
115
+ }
116
+ /**
117
+ * Signs an event
118
+ */
119
+ async function signEvent(event, privateKey) {
120
+ try {
121
+ // Serialize event for signing
122
+ const serialized = JSON.stringify([
123
+ 0,
124
+ event.pubkey,
125
+ event.created_at,
126
+ event.kind,
127
+ event.tags,
128
+ event.content
129
+ ]);
130
+ const hash = (0, sha256_js_1.sha256)(new TextEncoder().encode(serialized));
131
+ const sig = secp256k1_js_1.secp256k1.sign(hash, (0, utils_js_1.hexToBytes)(privateKey));
132
+ const sigBytes = new Uint8Array(sig.toCompactRawBytes());
133
+ return {
134
+ ...event,
135
+ sig: (0, utils_js_1.bytesToHex)(sigBytes),
136
+ id: (0, utils_js_1.bytesToHex)(hash)
137
+ };
138
+ }
139
+ catch (error) {
140
+ logger_js_1.logger.error({ error }, 'Failed to sign event');
141
+ throw error;
142
+ }
143
+ }
144
+ /**
145
+ * Verifies an event signature
146
+ */
147
+ async function verifySignature(event) {
148
+ try {
149
+ // Serialize event for verification
150
+ const serialized = JSON.stringify([
151
+ 0,
152
+ event.pubkey,
153
+ event.created_at,
154
+ event.kind,
155
+ event.tags,
156
+ event.content
157
+ ]);
158
+ const hash = (0, sha256_js_1.sha256)(new TextEncoder().encode(serialized));
159
+ const pubkeyHex = typeof event.pubkey === 'string' ? event.pubkey : event.pubkey;
160
+ // Verify signature
161
+ const isValid = secp256k1_js_1.secp256k1.verify((0, utils_js_1.hexToBytes)(event.sig), hash, (0, utils_js_1.hexToBytes)(pubkeyHex));
162
+ return isValid;
163
+ }
164
+ catch (error) {
165
+ logger_js_1.logger.error({ error }, 'Verification error');
166
+ return false;
167
+ }
168
+ }
169
+ /**
170
+ * Encrypts a message using NIP-04
171
+ */
172
+ async function encrypt(message, recipientPubKey, senderPrivKey) {
173
+ try {
174
+ const recipientPubKeyHex = typeof recipientPubKey === 'string' ? recipientPubKey : recipientPubKey.hex;
175
+ const sharedPoint = secp256k1_js_1.secp256k1.getSharedSecret((0, utils_js_1.hexToBytes)(senderPrivKey), (0, utils_js_1.hexToBytes)(recipientPubKeyHex));
176
+ const sharedX = sharedPoint.subarray(1, 33);
177
+ // Generate random IV
178
+ const iv = (0, utils_js_2.randomBytes)(16);
179
+ const key = await exports.customCrypto.subtle.importKey('raw', sharedX, { name: 'AES-CBC', length: 256 }, false, ['encrypt']);
180
+ // Encrypt the message
181
+ const data = new TextEncoder().encode(message);
182
+ const encrypted = await exports.customCrypto.subtle.encrypt({ name: 'AES-CBC', iv }, key, data);
183
+ // Combine IV and ciphertext
184
+ const combined = new Uint8Array(iv.length + encrypted.byteLength);
185
+ combined.set(iv);
186
+ combined.set(new Uint8Array(encrypted), iv.length);
187
+ return (0, utils_js_1.bytesToHex)(combined);
188
+ }
189
+ catch (error) {
190
+ logger_js_1.logger.error({ error }, 'Failed to encrypt message');
191
+ throw error;
192
+ }
193
+ }
194
+ /**
195
+ * Decrypts a message using NIP-04
196
+ */
197
+ async function decrypt(encryptedMessage, senderPubKey, recipientPrivKey) {
198
+ try {
199
+ const senderPubKeyHex = typeof senderPubKey === 'string' ? senderPubKey : senderPubKey.hex;
200
+ const sharedPoint = secp256k1_js_1.secp256k1.getSharedSecret((0, utils_js_1.hexToBytes)(recipientPrivKey), (0, utils_js_1.hexToBytes)(senderPubKeyHex));
201
+ const sharedX = sharedPoint.subarray(1, 33);
202
+ const encrypted = (0, utils_js_1.hexToBytes)(encryptedMessage);
203
+ const iv = encrypted.slice(0, 16);
204
+ const ciphertext = encrypted.slice(16);
205
+ const key = await exports.customCrypto.subtle.importKey('raw', sharedX, { name: 'AES-CBC', length: 256 }, false, ['decrypt']);
206
+ const decrypted = await exports.customCrypto.subtle.decrypt({ name: 'AES-CBC', iv }, key, ciphertext);
207
+ return new TextDecoder().decode(decrypted);
208
+ }
209
+ catch (error) {
210
+ logger_js_1.logger.error({ error }, 'Failed to decrypt message');
211
+ throw error;
212
+ }
213
+ }
214
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,22 @@
2
2
  * Encoding utilities for Nostr
3
3
  * @module encoding
4
4
  */
5
+ /**
6
+ * Utility functions for encoding and decoding data
7
+ */
5
8
  export * from './hex';
6
9
  export * from './base64';
7
10
  export * from './binary';
11
+ /**
12
+ * Convert a hex string to Uint8Array
13
+ * @param hex Hex string to convert
14
+ * @returns Uint8Array of bytes
15
+ */
16
+ export declare function hexToBytes(hex: string): Uint8Array;
17
+ /**
18
+ * Convert Uint8Array to hex string
19
+ * @param bytes Uint8Array to convert
20
+ * @returns Hex string
21
+ */
22
+ export declare function bytesToHex(bytes: Uint8Array): string;
8
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/encoding/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/encoding/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIpD"}
@@ -18,7 +18,34 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.hexToBytes = hexToBytes;
22
+ exports.bytesToHex = bytesToHex;
23
+ /**
24
+ * Utility functions for encoding and decoding data
25
+ */
21
26
  __exportStar(require("./hex"), exports);
22
27
  __exportStar(require("./base64"), exports);
23
28
  __exportStar(require("./binary"), exports);
29
+ /**
30
+ * Convert a hex string to Uint8Array
31
+ * @param hex Hex string to convert
32
+ * @returns Uint8Array of bytes
33
+ */
34
+ function hexToBytes(hex) {
35
+ const bytes = new Uint8Array(hex.length / 2);
36
+ for (let i = 0; i < hex.length; i += 2) {
37
+ bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
38
+ }
39
+ return bytes;
40
+ }
41
+ /**
42
+ * Convert Uint8Array to hex string
43
+ * @param bytes Uint8Array to convert
44
+ * @returns Hex string
45
+ */
46
+ function bytesToHex(bytes) {
47
+ return Array.from(bytes)
48
+ .map(b => b.toString(16).padStart(2, '0'))
49
+ .join('');
50
+ }
24
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/encoding/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/encoding/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAeH,gCAMC;AAOD,gCAIC;AA9BD;;GAEG;AAEH,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AAEzB;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,KAAiB;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}