nostr-crypto-utils 0.5.2 → 0.5.3

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.
@@ -194,11 +194,23 @@ function createEvent(event) {
194
194
  kind: event.kind || 1
195
195
  };
196
196
  }
197
+ /**
198
+ * Normalize a private key to hex string (accepts both hex string and Uint8Array)
199
+ */
200
+ function normalizePrivateKey(privateKey) {
201
+ if (privateKey instanceof Uint8Array) {
202
+ return (0, utils_1.bytesToHex)(privateKey);
203
+ }
204
+ return privateKey;
205
+ }
197
206
  /**
198
207
  * Signs an event
208
+ * @param event - Event to sign
209
+ * @param privateKey - Private key as hex string or Uint8Array
199
210
  */
200
211
  async function signEvent(event, privateKey) {
201
212
  try {
213
+ const privateKeyHex = normalizePrivateKey(privateKey);
202
214
  // Serialize event for signing (NIP-01 format)
203
215
  const serialized = JSON.stringify([
204
216
  0,
@@ -211,7 +223,7 @@ async function signEvent(event, privateKey) {
211
223
  // Calculate event hash
212
224
  const eventHash = (0, sha256_1.sha256)(new TextEncoder().encode(serialized));
213
225
  // Convert private key to bytes and sign
214
- const privateKeyBytes = (0, utils_1.hexToBytes)(privateKey);
226
+ const privateKeyBytes = (0, utils_1.hexToBytes)(privateKeyHex);
215
227
  const signatureBytes = secp256k1_1.schnorr.sign(eventHash, privateKeyBytes);
216
228
  // Create signed event
217
229
  return {
@@ -226,19 +238,21 @@ async function signEvent(event, privateKey) {
226
238
  }
227
239
  }
228
240
  /**
229
- * Gets a public key hex string from a private key hex string (synchronous)
230
- * @param privateKey - Hex-encoded private key
241
+ * Gets a public key hex string from a private key (synchronous)
242
+ * @param privateKey - Private key as hex string or Uint8Array
231
243
  * @returns Hex-encoded public key (32-byte x-only schnorr key)
232
244
  */
233
245
  function getPublicKeySync(privateKey) {
234
- const privateKeyBytes = (0, utils_1.hexToBytes)(privateKey);
246
+ const privateKeyBytes = privateKey instanceof Uint8Array
247
+ ? privateKey
248
+ : (0, utils_1.hexToBytes)(privateKey);
235
249
  const publicKeyBytes = secp256k1_1.schnorr.getPublicKey(privateKeyBytes);
236
250
  return (0, utils_1.bytesToHex)(publicKeyBytes);
237
251
  }
238
252
  /**
239
253
  * Creates, hashes, and signs a Nostr event in one step
240
254
  * @param event - Partial event (kind, content, tags required; pubkey derived if missing)
241
- * @param privateKey - Hex-encoded private key
255
+ * @param privateKey - Private key as hex string or Uint8Array
242
256
  * @returns Fully signed event with id, pubkey, and sig
243
257
  */
244
258
  async function finalizeEvent(event, privateKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  /**
3
3
  * Base64 encoding utilities for Nostr
4
4
  * Provides consistent base64 encoding/decoding across all Nostr-related projects
5
+ * Uses browser-compatible APIs (no Node.js Buffer dependency)
5
6
  */
6
7
  Object.defineProperty(exports, "__esModule", { value: true });
7
8
  exports.stringToBase64 = stringToBase64;
@@ -24,7 +25,8 @@ exports.addBase64Padding = addBase64Padding;
24
25
  * @returns Base64 string
25
26
  */
26
27
  function stringToBase64(str) {
27
- return Buffer.from(str, 'utf8').toString('base64');
28
+ const bytes = new TextEncoder().encode(str);
29
+ return bytesToBase64(bytes);
28
30
  }
29
31
  /**
30
32
  * Convert base64 to string
@@ -36,27 +38,28 @@ function base64ToString(base64) {
36
38
  if (!isValidBase64(base64)) {
37
39
  throw new Error('Invalid base64 string');
38
40
  }
39
- return Buffer.from(base64, 'base64').toString('utf8');
41
+ const bytes = base64ToBytes(base64);
42
+ return new TextDecoder().decode(bytes);
40
43
  }
41
44
  /**
42
- * Convert buffer to base64
43
- * @param buffer Buffer to convert
45
+ * Convert Uint8Array to base64
46
+ * @param buffer Uint8Array to convert
44
47
  * @returns Base64 string
45
48
  */
46
49
  function bufferToBase64(buffer) {
47
- return buffer.toString('base64');
50
+ return bytesToBase64(buffer);
48
51
  }
49
52
  /**
50
- * Convert base64 to buffer
53
+ * Convert base64 to Uint8Array
51
54
  * @param base64 Base64 string to convert
52
- * @returns Buffer
55
+ * @returns Uint8Array
53
56
  * @throws Error if base64 string is invalid
54
57
  */
55
58
  function base64ToBuffer(base64) {
56
59
  if (!isValidBase64(base64)) {
57
60
  throw new Error('Invalid base64 string');
58
61
  }
59
- return Buffer.from(base64, 'base64');
62
+ return base64ToBytes(base64);
60
63
  }
61
64
  /**
62
65
  * Check if string is valid base64
@@ -99,7 +102,11 @@ function hexToBase64(hex) {
99
102
  if (!hex.match(/^[0-9a-fA-F]*$/)) {
100
103
  throw new Error('Invalid hex string');
101
104
  }
102
- return Buffer.from(hex, 'hex').toString('base64');
105
+ const bytes = new Uint8Array(hex.length / 2);
106
+ for (let i = 0; i < hex.length; i += 2) {
107
+ bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
108
+ }
109
+ return bytesToBase64(bytes);
103
110
  }
104
111
  /**
105
112
  * Convert base64 to hex string
@@ -111,7 +118,8 @@ function base64ToHex(base64) {
111
118
  if (!isValidBase64(base64)) {
112
119
  throw new Error('Invalid base64 string');
113
120
  }
114
- return Buffer.from(base64, 'base64').toString('hex');
121
+ const bytes = base64ToBytes(base64);
122
+ return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
115
123
  }
116
124
  /**
117
125
  * Create base64 string from byte array
@@ -119,7 +127,11 @@ function base64ToHex(base64) {
119
127
  * @returns Base64 string
120
128
  */
121
129
  function bytesToBase64(bytes) {
122
- return Buffer.from(bytes).toString('base64');
130
+ let binary = '';
131
+ for (let i = 0; i < bytes.length; i++) {
132
+ binary += String.fromCharCode(bytes[i]);
133
+ }
134
+ return btoa(binary);
123
135
  }
124
136
  /**
125
137
  * Convert base64 to byte array
@@ -131,7 +143,12 @@ function base64ToBytes(base64) {
131
143
  if (!isValidBase64(base64)) {
132
144
  throw new Error('Invalid base64 string');
133
145
  }
134
- return new Uint8Array(Buffer.from(base64, 'base64'));
146
+ const binary = atob(base64);
147
+ const bytes = new Uint8Array(binary.length);
148
+ for (let i = 0; i < binary.length; i++) {
149
+ bytes[i] = binary.charCodeAt(i);
150
+ }
151
+ return bytes;
135
152
  }
136
153
  /**
137
154
  * Calculate padded length for base64 string
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../src/encoding/base64.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../src/encoding/base64.ts"],"names":[],"mappings":"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"}
@@ -146,11 +146,23 @@ export function createEvent(event) {
146
146
  kind: event.kind || 1
147
147
  };
148
148
  }
149
+ /**
150
+ * Normalize a private key to hex string (accepts both hex string and Uint8Array)
151
+ */
152
+ function normalizePrivateKey(privateKey) {
153
+ if (privateKey instanceof Uint8Array) {
154
+ return bytesToHex(privateKey);
155
+ }
156
+ return privateKey;
157
+ }
149
158
  /**
150
159
  * Signs an event
160
+ * @param event - Event to sign
161
+ * @param privateKey - Private key as hex string or Uint8Array
151
162
  */
152
163
  export async function signEvent(event, privateKey) {
153
164
  try {
165
+ const privateKeyHex = normalizePrivateKey(privateKey);
154
166
  // Serialize event for signing (NIP-01 format)
155
167
  const serialized = JSON.stringify([
156
168
  0,
@@ -163,7 +175,7 @@ export async function signEvent(event, privateKey) {
163
175
  // Calculate event hash
164
176
  const eventHash = sha256(new TextEncoder().encode(serialized));
165
177
  // Convert private key to bytes and sign
166
- const privateKeyBytes = hexToBytes(privateKey);
178
+ const privateKeyBytes = hexToBytes(privateKeyHex);
167
179
  const signatureBytes = schnorr.sign(eventHash, privateKeyBytes);
168
180
  // Create signed event
169
181
  return {
@@ -178,19 +190,21 @@ export async function signEvent(event, privateKey) {
178
190
  }
179
191
  }
180
192
  /**
181
- * Gets a public key hex string from a private key hex string (synchronous)
182
- * @param privateKey - Hex-encoded private key
193
+ * Gets a public key hex string from a private key (synchronous)
194
+ * @param privateKey - Private key as hex string or Uint8Array
183
195
  * @returns Hex-encoded public key (32-byte x-only schnorr key)
184
196
  */
185
197
  export function getPublicKeySync(privateKey) {
186
- const privateKeyBytes = hexToBytes(privateKey);
198
+ const privateKeyBytes = privateKey instanceof Uint8Array
199
+ ? privateKey
200
+ : hexToBytes(privateKey);
187
201
  const publicKeyBytes = schnorr.getPublicKey(privateKeyBytes);
188
202
  return bytesToHex(publicKeyBytes);
189
203
  }
190
204
  /**
191
205
  * Creates, hashes, and signs a Nostr event in one step
192
206
  * @param event - Partial event (kind, content, tags required; pubkey derived if missing)
193
- * @param privateKey - Hex-encoded private key
207
+ * @param privateKey - Private key as hex string or Uint8Array
194
208
  * @returns Fully signed event with id, pubkey, and sig
195
209
  */
196
210
  export async function finalizeEvent(event, privateKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Base64 encoding utilities for Nostr
3
3
  * Provides consistent base64 encoding/decoding across all Nostr-related projects
4
+ * Uses browser-compatible APIs (no Node.js Buffer dependency)
4
5
  */
5
6
  /**
6
7
  * Convert string to base64
@@ -8,7 +9,8 @@
8
9
  * @returns Base64 string
9
10
  */
10
11
  export function stringToBase64(str) {
11
- return Buffer.from(str, 'utf8').toString('base64');
12
+ const bytes = new TextEncoder().encode(str);
13
+ return bytesToBase64(bytes);
12
14
  }
13
15
  /**
14
16
  * Convert base64 to string
@@ -20,27 +22,28 @@ export function base64ToString(base64) {
20
22
  if (!isValidBase64(base64)) {
21
23
  throw new Error('Invalid base64 string');
22
24
  }
23
- return Buffer.from(base64, 'base64').toString('utf8');
25
+ const bytes = base64ToBytes(base64);
26
+ return new TextDecoder().decode(bytes);
24
27
  }
25
28
  /**
26
- * Convert buffer to base64
27
- * @param buffer Buffer to convert
29
+ * Convert Uint8Array to base64
30
+ * @param buffer Uint8Array to convert
28
31
  * @returns Base64 string
29
32
  */
30
33
  export function bufferToBase64(buffer) {
31
- return buffer.toString('base64');
34
+ return bytesToBase64(buffer);
32
35
  }
33
36
  /**
34
- * Convert base64 to buffer
37
+ * Convert base64 to Uint8Array
35
38
  * @param base64 Base64 string to convert
36
- * @returns Buffer
39
+ * @returns Uint8Array
37
40
  * @throws Error if base64 string is invalid
38
41
  */
39
42
  export function base64ToBuffer(base64) {
40
43
  if (!isValidBase64(base64)) {
41
44
  throw new Error('Invalid base64 string');
42
45
  }
43
- return Buffer.from(base64, 'base64');
46
+ return base64ToBytes(base64);
44
47
  }
45
48
  /**
46
49
  * Check if string is valid base64
@@ -83,7 +86,11 @@ export function hexToBase64(hex) {
83
86
  if (!hex.match(/^[0-9a-fA-F]*$/)) {
84
87
  throw new Error('Invalid hex string');
85
88
  }
86
- return Buffer.from(hex, 'hex').toString('base64');
89
+ const bytes = new Uint8Array(hex.length / 2);
90
+ for (let i = 0; i < hex.length; i += 2) {
91
+ bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
92
+ }
93
+ return bytesToBase64(bytes);
87
94
  }
88
95
  /**
89
96
  * Convert base64 to hex string
@@ -95,7 +102,8 @@ export function base64ToHex(base64) {
95
102
  if (!isValidBase64(base64)) {
96
103
  throw new Error('Invalid base64 string');
97
104
  }
98
- return Buffer.from(base64, 'base64').toString('hex');
105
+ const bytes = base64ToBytes(base64);
106
+ return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
99
107
  }
100
108
  /**
101
109
  * Create base64 string from byte array
@@ -103,7 +111,11 @@ export function base64ToHex(base64) {
103
111
  * @returns Base64 string
104
112
  */
105
113
  export function bytesToBase64(bytes) {
106
- return Buffer.from(bytes).toString('base64');
114
+ let binary = '';
115
+ for (let i = 0; i < bytes.length; i++) {
116
+ binary += String.fromCharCode(bytes[i]);
117
+ }
118
+ return btoa(binary);
107
119
  }
108
120
  /**
109
121
  * Convert base64 to byte array
@@ -115,7 +127,12 @@ export function base64ToBytes(base64) {
115
127
  if (!isValidBase64(base64)) {
116
128
  throw new Error('Invalid base64 string');
117
129
  }
118
- return new Uint8Array(Buffer.from(base64, 'base64'));
130
+ const binary = atob(base64);
131
+ const bytes = new Uint8Array(binary.length);
132
+ for (let i = 0; i < binary.length; i++) {
133
+ bytes[i] = binary.charCodeAt(i);
134
+ }
135
+ return bytes;
119
136
  }
120
137
  /**
121
138
  * Calculate padded length for base64 string
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../src/encoding/base64.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../src/encoding/base64.ts"],"names":[],"mappings":"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"}
@@ -88,21 +88,23 @@ export declare function validateKeyPair(keyPair: KeyPair): Promise<boolean>;
88
88
  export declare function createEvent(event: Partial<NostrEvent>): NostrEvent;
89
89
  /**
90
90
  * Signs an event
91
+ * @param event - Event to sign
92
+ * @param privateKey - Private key as hex string or Uint8Array
91
93
  */
92
- export declare function signEvent(event: NostrEvent, privateKey: string): Promise<SignedNostrEvent>;
94
+ export declare function signEvent(event: NostrEvent, privateKey: string | Uint8Array): Promise<SignedNostrEvent>;
93
95
  /**
94
- * Gets a public key hex string from a private key hex string (synchronous)
95
- * @param privateKey - Hex-encoded private key
96
+ * Gets a public key hex string from a private key (synchronous)
97
+ * @param privateKey - Private key as hex string or Uint8Array
96
98
  * @returns Hex-encoded public key (32-byte x-only schnorr key)
97
99
  */
98
- export declare function getPublicKeySync(privateKey: string): string;
100
+ export declare function getPublicKeySync(privateKey: string | Uint8Array): string;
99
101
  /**
100
102
  * Creates, hashes, and signs a Nostr event in one step
101
103
  * @param event - Partial event (kind, content, tags required; pubkey derived if missing)
102
- * @param privateKey - Hex-encoded private key
104
+ * @param privateKey - Private key as hex string or Uint8Array
103
105
  * @returns Fully signed event with id, pubkey, and sig
104
106
  */
105
- export declare function finalizeEvent(event: Partial<NostrEvent>, privateKey: string): Promise<SignedNostrEvent>;
107
+ export declare function finalizeEvent(event: Partial<NostrEvent>, privateKey: string | Uint8Array): Promise<SignedNostrEvent>;
106
108
  /**
107
109
  * Verifies an event signature
108
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Base64 encoding utilities for Nostr
3
3
  * Provides consistent base64 encoding/decoding across all Nostr-related projects
4
+ * Uses browser-compatible APIs (no Node.js Buffer dependency)
4
5
  */
5
6
  /**
6
7
  * Convert string to base64
@@ -16,18 +17,18 @@ export declare function stringToBase64(str: string): string;
16
17
  */
17
18
  export declare function base64ToString(base64: string): string;
18
19
  /**
19
- * Convert buffer to base64
20
- * @param buffer Buffer to convert
20
+ * Convert Uint8Array to base64
21
+ * @param buffer Uint8Array to convert
21
22
  * @returns Base64 string
22
23
  */
23
- export declare function bufferToBase64(buffer: Buffer): string;
24
+ export declare function bufferToBase64(buffer: Uint8Array): string;
24
25
  /**
25
- * Convert base64 to buffer
26
+ * Convert base64 to Uint8Array
26
27
  * @param base64 Base64 string to convert
27
- * @returns Buffer
28
+ * @returns Uint8Array
28
29
  * @throws Error if base64 string is invalid
29
30
  */
30
- export declare function base64ToBuffer(base64: string): Buffer;
31
+ export declare function base64ToBuffer(base64: string): Uint8Array;
31
32
  /**
32
33
  * Check if string is valid base64
33
34
  * @param base64 String to check
@@ -1 +1 @@
1
- {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../../src/encoding/base64.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAKxD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD"}
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../../src/encoding/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAKzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAUxD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nostr-crypto-utils",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "Core cryptographic utilities for Nostr protocol",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/cjs/index.js",
package/src/crypto.ts CHANGED
@@ -205,11 +205,25 @@ export function createEvent(event: Partial<NostrEvent>): NostrEvent {
205
205
  } as NostrEvent;
206
206
  }
207
207
 
208
+ /**
209
+ * Normalize a private key to hex string (accepts both hex string and Uint8Array)
210
+ */
211
+ function normalizePrivateKey(privateKey: string | Uint8Array): string {
212
+ if (privateKey instanceof Uint8Array) {
213
+ return bytesToHex(privateKey);
214
+ }
215
+ return privateKey;
216
+ }
217
+
208
218
  /**
209
219
  * Signs an event
220
+ * @param event - Event to sign
221
+ * @param privateKey - Private key as hex string or Uint8Array
210
222
  */
211
- export async function signEvent(event: NostrEvent, privateKey: string): Promise<SignedNostrEvent> {
223
+ export async function signEvent(event: NostrEvent, privateKey: string | Uint8Array): Promise<SignedNostrEvent> {
212
224
  try {
225
+ const privateKeyHex = normalizePrivateKey(privateKey);
226
+
213
227
  // Serialize event for signing (NIP-01 format)
214
228
  const serialized = JSON.stringify([
215
229
  0,
@@ -224,7 +238,7 @@ export async function signEvent(event: NostrEvent, privateKey: string): Promise<
224
238
  const eventHash = sha256(new TextEncoder().encode(serialized));
225
239
 
226
240
  // Convert private key to bytes and sign
227
- const privateKeyBytes = hexToBytes(privateKey);
241
+ const privateKeyBytes = hexToBytes(privateKeyHex);
228
242
  const signatureBytes = schnorr.sign(eventHash, privateKeyBytes);
229
243
 
230
244
  // Create signed event
@@ -240,12 +254,14 @@ export async function signEvent(event: NostrEvent, privateKey: string): Promise<
240
254
  }
241
255
 
242
256
  /**
243
- * Gets a public key hex string from a private key hex string (synchronous)
244
- * @param privateKey - Hex-encoded private key
257
+ * Gets a public key hex string from a private key (synchronous)
258
+ * @param privateKey - Private key as hex string or Uint8Array
245
259
  * @returns Hex-encoded public key (32-byte x-only schnorr key)
246
260
  */
247
- export function getPublicKeySync(privateKey: string): string {
248
- const privateKeyBytes = hexToBytes(privateKey);
261
+ export function getPublicKeySync(privateKey: string | Uint8Array): string {
262
+ const privateKeyBytes = privateKey instanceof Uint8Array
263
+ ? privateKey
264
+ : hexToBytes(privateKey);
249
265
  const publicKeyBytes = schnorr.getPublicKey(privateKeyBytes);
250
266
  return bytesToHex(publicKeyBytes);
251
267
  }
@@ -253,12 +269,12 @@ export function getPublicKeySync(privateKey: string): string {
253
269
  /**
254
270
  * Creates, hashes, and signs a Nostr event in one step
255
271
  * @param event - Partial event (kind, content, tags required; pubkey derived if missing)
256
- * @param privateKey - Hex-encoded private key
272
+ * @param privateKey - Private key as hex string or Uint8Array
257
273
  * @returns Fully signed event with id, pubkey, and sig
258
274
  */
259
275
  export async function finalizeEvent(
260
276
  event: Partial<NostrEvent>,
261
- privateKey: string
277
+ privateKey: string | Uint8Array
262
278
  ): Promise<SignedNostrEvent> {
263
279
  const pubkey = event.pubkey || getPublicKeySync(privateKey);
264
280
  const timestamp = event.created_at || Math.floor(Date.now() / 1000);