nostr-crypto-utils 0.4.12 → 0.4.13

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 (114) hide show
  1. package/README.md +52 -2
  2. package/dist/browser/343.nostr-crypto-utils.min.js +1 -0
  3. package/dist/browser/419.nostr-crypto-utils.min.js +1 -0
  4. package/dist/browser/crypto.nostr-crypto-utils.min.js +1 -1
  5. package/dist/browser/main.nostr-crypto-utils.min.js +1 -0
  6. package/dist/browser/protocol.nostr-crypto-utils.min.js +1 -1
  7. package/dist/cjs/event/index.d.ts +7 -0
  8. package/dist/cjs/event/index.d.ts.map +1 -0
  9. package/dist/cjs/event/index.js +15 -0
  10. package/dist/cjs/event/index.js.map +1 -0
  11. package/dist/cjs/event/signing.d.ts +12 -0
  12. package/dist/cjs/event/signing.d.ts.map +1 -1
  13. package/dist/cjs/event/signing.js +29 -0
  14. package/dist/cjs/event/signing.js.map +1 -1
  15. package/dist/cjs/index.d.ts +11 -8
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +58 -56
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/nips/nip-04.d.ts +1 -1
  20. package/dist/cjs/nips/nip-04.d.ts.map +1 -1
  21. package/dist/cjs/nips/nip-04.js +1 -0
  22. package/dist/cjs/nips/nip-04.js.map +1 -1
  23. package/dist/cjs/protocol/index.d.ts +9 -9
  24. package/dist/cjs/protocol/index.d.ts.map +1 -1
  25. package/dist/cjs/protocol/index.js +8 -9
  26. package/dist/cjs/protocol/index.js.map +1 -1
  27. package/dist/cjs/types/base.d.ts +45 -121
  28. package/dist/cjs/types/base.d.ts.map +1 -1
  29. package/dist/cjs/types/base.js +10 -28
  30. package/dist/cjs/types/base.js.map +1 -1
  31. package/dist/cjs/utils/encoding.d.ts +12 -0
  32. package/dist/cjs/utils/encoding.d.ts.map +1 -1
  33. package/dist/cjs/utils/encoding.js +18 -0
  34. package/dist/cjs/utils/encoding.js.map +1 -1
  35. package/dist/cjs/utils/integration.d.ts +14 -15
  36. package/dist/cjs/utils/integration.d.ts.map +1 -1
  37. package/dist/cjs/utils/integration.js +145 -98
  38. package/dist/cjs/utils/integration.js.map +1 -1
  39. package/dist/cjs/utils/logger.d.ts +17 -2
  40. package/dist/cjs/utils/logger.d.ts.map +1 -1
  41. package/dist/cjs/utils/logger.js +40 -3
  42. package/dist/cjs/utils/logger.js.map +1 -1
  43. package/dist/cjs/utils/validation.d.ts +6 -0
  44. package/dist/cjs/utils/validation.d.ts.map +1 -1
  45. package/dist/cjs/utils/validation.js +37 -0
  46. package/dist/cjs/utils/validation.js.map +1 -1
  47. package/dist/cjs/validation/keys.d.ts +7 -0
  48. package/dist/cjs/validation/keys.d.ts.map +1 -0
  49. package/dist/cjs/validation/keys.js +23 -0
  50. package/dist/cjs/validation/keys.js.map +1 -0
  51. package/dist/esm/event/index.d.ts +7 -0
  52. package/dist/esm/event/index.d.ts.map +1 -0
  53. package/dist/esm/event/index.js +7 -0
  54. package/dist/esm/event/index.js.map +1 -0
  55. package/dist/esm/event/signing.d.ts +12 -0
  56. package/dist/esm/event/signing.d.ts.map +1 -1
  57. package/dist/esm/event/signing.js +27 -0
  58. package/dist/esm/event/signing.js.map +1 -1
  59. package/dist/esm/index.d.ts +11 -8
  60. package/dist/esm/index.d.ts.map +1 -1
  61. package/dist/esm/index.js +16 -14
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/nips/nip-04.d.ts +1 -1
  64. package/dist/esm/nips/nip-04.d.ts.map +1 -1
  65. package/dist/esm/nips/nip-04.js +1 -0
  66. package/dist/esm/nips/nip-04.js.map +1 -1
  67. package/dist/esm/protocol/index.d.ts +9 -9
  68. package/dist/esm/protocol/index.d.ts.map +1 -1
  69. package/dist/esm/protocol/index.js +8 -9
  70. package/dist/esm/protocol/index.js.map +1 -1
  71. package/dist/esm/types/base.d.ts +45 -121
  72. package/dist/esm/types/base.d.ts.map +1 -1
  73. package/dist/esm/types/base.js +10 -28
  74. package/dist/esm/types/base.js.map +1 -1
  75. package/dist/esm/utils/encoding.d.ts +12 -0
  76. package/dist/esm/utils/encoding.d.ts.map +1 -1
  77. package/dist/esm/utils/encoding.js +16 -0
  78. package/dist/esm/utils/encoding.js.map +1 -1
  79. package/dist/esm/utils/integration.d.ts +14 -15
  80. package/dist/esm/utils/integration.d.ts.map +1 -1
  81. package/dist/esm/utils/integration.js +136 -89
  82. package/dist/esm/utils/integration.js.map +1 -1
  83. package/dist/esm/utils/logger.d.ts +17 -2
  84. package/dist/esm/utils/logger.d.ts.map +1 -1
  85. package/dist/esm/utils/logger.js +38 -2
  86. package/dist/esm/utils/logger.js.map +1 -1
  87. package/dist/esm/utils/validation.d.ts +6 -0
  88. package/dist/esm/utils/validation.d.ts.map +1 -1
  89. package/dist/esm/utils/validation.js +36 -0
  90. package/dist/esm/utils/validation.js.map +1 -1
  91. package/dist/esm/validation/keys.d.ts +7 -0
  92. package/dist/esm/validation/keys.d.ts.map +1 -0
  93. package/dist/esm/validation/keys.js +20 -0
  94. package/dist/esm/validation/keys.js.map +1 -0
  95. package/package.json +1 -1
  96. package/src/__tests__/integration.test.ts +1 -1
  97. package/src/__tests__/types.test.ts +36 -242
  98. package/src/event/index.ts +7 -0
  99. package/src/event/signing.ts +29 -0
  100. package/src/index.ts +39 -47
  101. package/src/nips/nip-04.ts +2 -0
  102. package/src/protocol/index.ts +23 -14
  103. package/src/types/base.ts +58 -122
  104. package/src/utils/encoding.ts +18 -0
  105. package/src/utils/integration.ts +159 -107
  106. package/src/utils/logger.ts +46 -2
  107. package/src/utils/validation.ts +37 -0
  108. package/src/validation/keys.ts +19 -0
  109. package/dist/browser/551.nostr-crypto-utils.min.js +0 -1
  110. package/dist/browser/565.nostr-crypto-utils.min.js +0 -1
  111. package/dist/browser/69.nostr-crypto-utils.min.js +0 -1
  112. package/dist/browser/main-43dd7041.nostr-crypto-utils.min.js +0 -1
  113. package/dist/browser/main-7bd12dde.nostr-crypto-utils.min.js +0 -1
  114. package/dist/browser/main-d277ceb9.nostr-crypto-utils.min.js +0 -1
@@ -1,5 +1,4 @@
1
- import { NostrEventKind } from '../types/base.js';
2
- import { logger } from './logger.js';
1
+ import { NostrEventKind, NostrMessageType } from '../types/base';
3
2
  /**
4
3
  * Format event for relay transmission
5
4
  */
@@ -29,60 +28,108 @@ export function formatAuthForRelay(event) {
29
28
  */
30
29
  export function parseNostrMessage(message) {
31
30
  try {
32
- // Handle array input
31
+ let parsed;
33
32
  if (Array.isArray(message)) {
34
- if (!message.length || typeof message[0] !== 'string') {
35
- throw new Error('Invalid relay message: first element not a string');
36
- }
37
- const [type, ...payload] = message;
38
- if (!['EVENT', 'NOTICE', 'OK', 'EOSE', 'REQ', 'CLOSE', 'AUTH'].includes(type)) {
39
- throw new Error(`Unknown message type: ${type}`);
40
- }
41
- return {
42
- type: type,
43
- payload: payload.length === 1 ? payload[0] : payload
44
- };
33
+ parsed = message;
45
34
  }
46
- // Handle string input
47
- if (typeof message === 'string') {
35
+ else if (typeof message === 'string') {
48
36
  // Try parsing as JSON first
49
37
  try {
50
- const parsed = JSON.parse(message);
51
- if (!Array.isArray(parsed) || !parsed.length || typeof parsed[0] !== 'string') {
52
- throw new Error('Invalid relay message: first element not a string');
38
+ parsed = JSON.parse(message);
39
+ }
40
+ catch {
41
+ // If message is a single word, it's invalid
42
+ if (!message.includes(',')) {
43
+ throw new Error('Invalid relay message: not an array');
53
44
  }
54
- const [type, ...payload] = parsed;
55
- if (!['EVENT', 'NOTICE', 'OK', 'EOSE', 'REQ', 'CLOSE', 'AUTH'].includes(type)) {
56
- throw new Error(`Unknown message type: ${type}`);
45
+ // If JSON parsing fails, try comma-separated format
46
+ parsed = message.split(',');
47
+ }
48
+ }
49
+ else {
50
+ throw new Error('Invalid relay message: input must be string or array');
51
+ }
52
+ if (!Array.isArray(parsed)) {
53
+ throw new Error('Invalid relay message: not an array');
54
+ }
55
+ const [type, ...payload] = parsed;
56
+ if (typeof type !== 'string') {
57
+ throw new Error('Invalid relay message: first element not a string');
58
+ }
59
+ if (!Object.values(NostrMessageType).includes(type)) {
60
+ throw new Error(`Unknown message type: ${type}. Supported types are: ${Object.values(NostrMessageType).join(', ')}`);
61
+ }
62
+ const nostrMessage = {
63
+ type: type,
64
+ payload: [] // Initialize with empty array
65
+ };
66
+ switch (type) {
67
+ case NostrMessageType.EVENT: {
68
+ if (payload.length < 1) {
69
+ throw new Error('EVENT message missing event data');
57
70
  }
58
- return {
59
- type: type,
60
- payload: payload.length === 1 ? payload[0] : payload
61
- };
71
+ const eventData = typeof payload[0] === 'string' && payload[0].startsWith('{')
72
+ ? JSON.parse(payload[0])
73
+ : payload[0];
74
+ nostrMessage.event = eventData;
75
+ nostrMessage.payload = eventData;
76
+ break;
62
77
  }
63
- catch (jsonError) {
64
- // If JSON parsing fails, try comma-separated format
65
- if (message.includes(',')) {
66
- const [type, ...payload] = message.split(',');
67
- if (!type) {
68
- throw new Error('Invalid relay message: empty command');
69
- }
70
- if (!['EVENT', 'NOTICE', 'OK', 'EOSE', 'REQ', 'CLOSE', 'AUTH'].includes(type)) {
71
- throw new Error(`Unknown message type: ${type}`);
78
+ case NostrMessageType.NOTICE:
79
+ if (payload.length < 1) {
80
+ throw new Error('NOTICE message missing message text');
81
+ }
82
+ nostrMessage.payload = String(payload[0]);
83
+ break;
84
+ case NostrMessageType.OK:
85
+ if (payload.length < 1) {
86
+ throw new Error('OK message missing event ID');
87
+ }
88
+ // Convert "true" and "false" strings to actual booleans
89
+ nostrMessage.payload = payload.map(item => {
90
+ if (typeof item === 'string') {
91
+ if (item === 'true')
92
+ return true;
93
+ if (item === 'false')
94
+ return false;
95
+ return item;
72
96
  }
73
- return {
74
- type: type,
75
- payload: payload.length === 1 ? payload[0] : payload
76
- };
97
+ return String(item);
98
+ });
99
+ break;
100
+ case NostrMessageType.REQ: {
101
+ if (payload.length < 2) {
102
+ throw new Error('REQ message missing subscription ID or filters');
77
103
  }
78
- throw new Error('Invalid relay message: not an array');
104
+ nostrMessage.subscriptionId = String(payload[0]);
105
+ const filters = payload.slice(1).map(filter => typeof filter === 'string' && filter.startsWith('{')
106
+ ? JSON.parse(filter)
107
+ : filter);
108
+ nostrMessage.filters = filters;
109
+ nostrMessage.payload = [String(payload[0]), ...filters.map(f => JSON.stringify(f))];
110
+ break;
79
111
  }
112
+ case NostrMessageType.CLOSE:
113
+ if (payload.length < 1) {
114
+ throw new Error('CLOSE message missing subscription ID');
115
+ }
116
+ nostrMessage.subscriptionId = String(payload[0]);
117
+ nostrMessage.payload = String(payload[0]);
118
+ break;
119
+ case NostrMessageType.AUTH:
120
+ if (payload.length < 1) {
121
+ throw new Error('AUTH message missing challenge');
122
+ }
123
+ nostrMessage.message = String(payload[0]);
124
+ nostrMessage.payload = String(payload[0]);
125
+ break;
126
+ default:
127
+ throw new Error(`Unknown message type: ${type}`);
80
128
  }
81
- throw new Error('Invalid relay message: not a string or array');
129
+ return nostrMessage;
82
130
  }
83
131
  catch (error) {
84
- logger.error('Failed to parse message:', error);
85
- throw error;
132
+ throw new Error(`Failed to parse Nostr message: ${error instanceof Error ? error.message : String(error)}`);
86
133
  }
87
134
  }
88
135
  /**
@@ -92,9 +139,9 @@ export function createMetadataEvent(metadata) {
92
139
  return {
93
140
  kind: NostrEventKind.SET_METADATA,
94
141
  content: JSON.stringify(metadata),
95
- tags: [],
96
142
  created_at: Math.floor(Date.now() / 1000),
97
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef' // Placeholder hex pubkey
143
+ tags: [],
144
+ pubkey: '' // Required by UnsignedEvent interface
98
145
  };
99
146
  }
100
147
  /**
@@ -102,12 +149,10 @@ export function createMetadataEvent(metadata) {
102
149
  */
103
150
  export function createTextNoteEvent(content, replyTo, mentions) {
104
151
  const tags = [];
105
- // Add reply tag if specified
106
152
  if (replyTo) {
107
153
  tags.push(['e', replyTo]);
108
154
  }
109
- // Add mention tags if specified
110
- if (mentions) {
155
+ if (mentions?.length) {
111
156
  mentions.forEach(pubkey => {
112
157
  tags.push(['p', pubkey]);
113
158
  });
@@ -115,9 +160,9 @@ export function createTextNoteEvent(content, replyTo, mentions) {
115
160
  return {
116
161
  kind: NostrEventKind.TEXT_NOTE,
117
162
  content,
118
- tags,
119
163
  created_at: Math.floor(Date.now() / 1000),
120
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef' // Placeholder hex pubkey
164
+ tags,
165
+ pubkey: '' // Required by UnsignedEvent interface
121
166
  };
122
167
  }
123
168
  /**
@@ -127,9 +172,9 @@ export function createDirectMessageEvent(recipientPubkey, content) {
127
172
  return {
128
173
  kind: NostrEventKind.ENCRYPTED_DIRECT_MESSAGE,
129
174
  content,
130
- tags: [['p', recipientPubkey]],
131
175
  created_at: Math.floor(Date.now() / 1000),
132
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef' // Placeholder hex pubkey
176
+ tags: [['p', recipientPubkey]],
177
+ pubkey: '' // Required by UnsignedEvent interface
133
178
  };
134
179
  }
135
180
  /**
@@ -143,22 +188,17 @@ export function createChannelMessageEvent(channelId, content, replyTo) {
143
188
  return {
144
189
  kind: NostrEventKind.CHANNEL_MESSAGE,
145
190
  content,
146
- tags,
147
191
  created_at: Math.floor(Date.now() / 1000),
148
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef' // Placeholder hex pubkey
192
+ tags,
193
+ pubkey: '' // Required by UnsignedEvent interface
149
194
  };
150
195
  }
151
196
  /**
152
197
  * Extract referenced events from tags
153
198
  */
154
199
  export function extractReferencedEvents(event) {
155
- if (typeof event !== 'object' || event === null || !Array.isArray(event.tags)) {
156
- return [];
157
- }
158
- const validEvent = event;
159
- const tags = validEvent.tags;
160
- return tags
161
- .filter(tag => Array.isArray(tag) && tag[0] === 'e' && typeof tag[1] === 'string')
200
+ return event.tags
201
+ .filter(tag => tag[0] === 'e')
162
202
  .map(tag => tag[1]);
163
203
  }
164
204
  /**
@@ -173,77 +213,84 @@ export function extractMentionedPubkeys(event) {
173
213
  * Create a filter for events of a specific kind
174
214
  */
175
215
  export function createKindFilter(kind, limit) {
176
- return {
177
- kinds: [kind],
178
- limit: limit || 10
179
- };
216
+ const filter = { kinds: [kind] };
217
+ if (limit) {
218
+ filter.limit = limit;
219
+ }
220
+ return filter;
180
221
  }
181
222
  /**
182
223
  * Create a filter for events by a specific author
183
224
  */
184
225
  export function createAuthorFilter(pubkey, kinds, limit) {
185
- return {
186
- authors: [pubkey],
187
- kinds: kinds || [NostrEventKind.TEXT_NOTE],
188
- limit: limit || 10
189
- };
226
+ const filter = { authors: [pubkey] };
227
+ if (kinds?.length) {
228
+ filter.kinds = kinds;
229
+ }
230
+ if (limit) {
231
+ filter.limit = limit;
232
+ }
233
+ return filter;
190
234
  }
191
235
  /**
192
236
  * Create a filter for replies to a specific event
193
237
  */
194
238
  export function createReplyFilter(eventId, limit) {
195
- return {
196
- '#e': [eventId],
239
+ const filter = {
197
240
  kinds: [NostrEventKind.TEXT_NOTE, NostrEventKind.CHANNEL_MESSAGE],
198
- limit: limit || 10
241
+ '#e': [eventId]
199
242
  };
243
+ if (limit) {
244
+ filter.limit = limit;
245
+ }
246
+ return filter;
200
247
  }
201
248
  /**
202
249
  * Creates a mock text note event for testing
203
250
  */
204
- export function createMockTextNote(content) {
251
+ export function createMockTextNote(content = 'Hello, Nostr!') {
205
252
  return {
206
253
  kind: NostrEventKind.TEXT_NOTE,
207
- content: content || 'Mock text note',
208
- tags: [],
254
+ content,
209
255
  created_at: Math.floor(Date.now() / 1000),
210
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
256
+ tags: [],
257
+ pubkey: '' // Required by UnsignedEvent interface
211
258
  };
212
259
  }
213
260
  /**
214
261
  * Creates a mock metadata event for testing
215
262
  */
216
- export function createMockMetadataEvent(metadata) {
263
+ export function createMockMetadataEvent(metadata = {}) {
217
264
  return {
218
265
  kind: NostrEventKind.SET_METADATA,
219
- content: JSON.stringify(metadata || { name: 'Mock User' }),
220
- tags: [],
266
+ content: JSON.stringify(metadata),
221
267
  created_at: Math.floor(Date.now() / 1000),
222
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
268
+ tags: [],
269
+ pubkey: '' // Required by UnsignedEvent interface
223
270
  };
224
271
  }
225
272
  /**
226
273
  * Creates a mock direct message event for testing
227
274
  */
228
- export function createMockDirectMessage(content) {
275
+ export function createMockDirectMessage(content = 'Hello!') {
229
276
  return {
230
277
  kind: NostrEventKind.ENCRYPTED_DIRECT_MESSAGE,
231
- content: content || 'Mock DM',
232
- tags: [['p', '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef']],
278
+ content,
233
279
  created_at: Math.floor(Date.now() / 1000),
234
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
280
+ tags: [],
281
+ pubkey: '' // Required by UnsignedEvent interface
235
282
  };
236
283
  }
237
284
  /**
238
285
  * Creates a mock channel message event for testing
239
286
  */
240
- export function createMockChannelMessage(content) {
287
+ export function createMockChannelMessage(content = 'Hello, channel!') {
241
288
  return {
242
289
  kind: NostrEventKind.CHANNEL_MESSAGE,
243
- content: content || 'Mock channel message',
244
- tags: [['e', '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef', '', 'root']],
290
+ content,
245
291
  created_at: Math.floor(Date.now() / 1000),
246
- pubkey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
292
+ tags: [],
293
+ pubkey: '' // Required by UnsignedEvent interface
247
294
  };
248
295
  }
249
296
  //# sourceMappingURL=integration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../src/utils/integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../src/utils/integration.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,19 @@
2
2
  * @module logger
3
3
  * @description Logger utility for the application
4
4
  */
5
+ declare enum LogLevel {
6
+ DEBUG = 0,
7
+ INFO = 1,
8
+ WARN = 2,
9
+ ERROR = 3
10
+ }
5
11
  import pino from 'pino';
6
12
  /**
7
13
  * Create a logger instance with consistent configuration
8
14
  * @param name - Component or module name for the logger
9
- * @param _options - Optional additional configuration
10
15
  * @returns Configured pino logger instance
11
16
  */
12
- export declare function createLogger(name: string, _options?: unknown): pino.Logger;
17
+ export declare function createLogger(name: string): pino.Logger;
13
18
  /**
14
19
  * Simple log function for basic logging needs
15
20
  * @param message - Message to log
@@ -21,5 +26,15 @@ export declare function log(message: string, data?: unknown): void;
21
26
  * Includes enhanced error handling and formatting
22
27
  */
23
28
  export declare const logger: pino.Logger;
29
+ export declare class CustomLogger {
30
+ private _level;
31
+ constructor(level?: LogLevel);
32
+ setLevel(level: LogLevel): void;
33
+ private _log;
34
+ debug(message: string, context?: Record<string, unknown>): void;
35
+ info(message: string, context?: Record<string, unknown>): void;
36
+ warn(message: string, context?: Record<string, unknown>): void;
37
+ error(message: string | Error | unknown, context?: Record<string, unknown>): void;
38
+ }
24
39
  export type { Logger } from 'pino';
25
40
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAkB1E;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,IAAI,CAAC,MAgCxB,CAAC;AAGH,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAK,QAAQ;IACX,KAAK,IAAA;IACL,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAkBtD;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,IAAI,CAAC,MAgCxB,CAAC;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAW;gBAEb,KAAK,GAAE,QAAwB;IAI3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B,OAAO,CAAC,IAAI;IASZ,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAIlF;AAGD,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC"}
@@ -2,14 +2,20 @@
2
2
  * @module logger
3
3
  * @description Logger utility for the application
4
4
  */
5
+ var LogLevel;
6
+ (function (LogLevel) {
7
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
8
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
9
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
10
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
11
+ })(LogLevel || (LogLevel = {}));
5
12
  import pino from 'pino';
6
13
  /**
7
14
  * Create a logger instance with consistent configuration
8
15
  * @param name - Component or module name for the logger
9
- * @param _options - Optional additional configuration
10
16
  * @returns Configured pino logger instance
11
17
  */
12
- export function createLogger(name, _options) {
18
+ export function createLogger(name) {
13
19
  return pino({
14
20
  name,
15
21
  level: process.env.LOG_LEVEL || 'info',
@@ -73,4 +79,34 @@ export const logger = pino({
73
79
  }
74
80
  }
75
81
  });
82
+ export class CustomLogger {
83
+ _level;
84
+ constructor(level = LogLevel.INFO) {
85
+ this._level = level;
86
+ }
87
+ setLevel(level) {
88
+ this._level = level;
89
+ }
90
+ _log(level, message, context) {
91
+ if (level >= this._level) {
92
+ const timestamp = new Date().toISOString();
93
+ const levelName = LogLevel[level];
94
+ const contextStr = context ? ` ${JSON.stringify(context)}` : '';
95
+ console.log(`[${timestamp}] ${levelName}: ${message}${contextStr}`);
96
+ }
97
+ }
98
+ debug(message, context) {
99
+ this._log(LogLevel.DEBUG, message, context);
100
+ }
101
+ info(message, context) {
102
+ this._log(LogLevel.INFO, message, context);
103
+ }
104
+ warn(message, context) {
105
+ this._log(LogLevel.WARN, message, context);
106
+ }
107
+ error(message, context) {
108
+ const errorMessage = message instanceof Error ? message.message : String(message);
109
+ this._log(LogLevel.ERROR, errorMessage, context);
110
+ }
111
+ }
76
112
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAkB;IAC3D,OAAO,IAAI,CAAC;QACV,IAAI;QACJ,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACtC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;aACvB;SACF,CAAC,CAAC,CAAC,SAAS;QACb,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxC,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,IAAc;IACjD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAgB,IAAI,CAAC;IACtC,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IACtC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,UAAU;YACzB,MAAM,EAAE,cAAc;SACvB;KACF,CAAC,CAAC,CAAC,SAAS;IACb,UAAU,EAAE;QACV,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,CAAC;QACD,GAAG,EAAE,CAAC,GAA4B,EAAE,EAAE;YACpC,sDAAsD;YACtD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;gBACnD,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,GAAG,YAAY,KAAK,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAY,CAAC;oBAChC,MAAM,CAAC,GAAG,GAAG;wBACX,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;qBACf,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,12 @@ export declare function getPublicKeyHex(pubkey: string): string;
41
41
  * ```
42
42
  */
43
43
  export declare function validateSignedEvent(event: SignedNostrEvent): ValidationResult;
44
+ /**
45
+ * Validates a public key hex string
46
+ * @param {string} pubkey - Public key to validate
47
+ * @returns {ValidationResult} Validation result
48
+ */
49
+ export declare function validatePublicKey(pubkey: string): ValidationResult;
44
50
  /**
45
51
  * Validates a filter object
46
52
  * @param filter - Filter to validate
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAMxF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAwCjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CA+D7E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAapE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,GAAG,gBAAgB,CA0BtF"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAMxF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAwCjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CA+D7E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CA8BlE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAapE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,GAAG,gBAAgB,CA0BtF"}
@@ -128,6 +128,42 @@ export function validateSignedEvent(event) {
128
128
  error: errors.length > 0 ? errors[0] : undefined
129
129
  };
130
130
  }
131
+ /**
132
+ * Validates a public key hex string
133
+ * @param {string} pubkey - Public key to validate
134
+ * @returns {ValidationResult} Validation result
135
+ */
136
+ export function validatePublicKey(pubkey) {
137
+ try {
138
+ // Check if it's a valid hex string
139
+ if (!/^[0-9a-f]{64}$/i.test(pubkey)) {
140
+ return {
141
+ isValid: false,
142
+ error: 'Public key must be a 32-byte hex string'
143
+ };
144
+ }
145
+ // Try to convert to bytes
146
+ try {
147
+ hexToBytes(pubkey);
148
+ }
149
+ catch (error) {
150
+ return {
151
+ isValid: false,
152
+ error: 'Invalid hex encoding'
153
+ };
154
+ }
155
+ return {
156
+ isValid: true,
157
+ error: undefined
158
+ };
159
+ }
160
+ catch (error) {
161
+ return {
162
+ isValid: false,
163
+ error: error instanceof Error ? error.message : 'Unknown error validating public key'
164
+ };
165
+ }
166
+ }
131
167
  /**
132
168
  * Validates a filter object
133
169
  * @param filter - Filter to validate
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,2DAA2D;IAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,aAAa;IACb,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;IAClB,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KACjD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,iEAAiE;IACjE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,kBAAkB;QAClB,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;YACrC,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,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EACrB,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EACpB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CACzB,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KACjD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,6DAA6D;IAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4CAA4C;SACpD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAA+B;IAClE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,8BAA8B;SACtC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvG,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4CAA4C;SACpD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Validates a Nostr public key
3
+ * @param pubkey - Public key in hex format
4
+ * @returns True if public key is valid
5
+ */
6
+ export declare function isValidPublicKey(pubkey: string): boolean;
7
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/validation/keys.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUxD"}
@@ -0,0 +1,20 @@
1
+ import { validatePublicKey } from '../utils/validation';
2
+ import { logger } from '../utils/logger';
3
+ /**
4
+ * Validates a Nostr public key
5
+ * @param pubkey - Public key in hex format
6
+ * @returns True if public key is valid
7
+ */
8
+ export function isValidPublicKey(pubkey) {
9
+ try {
10
+ if (typeof pubkey !== 'string')
11
+ return false;
12
+ const result = validatePublicKey(pubkey);
13
+ return result.isValid;
14
+ }
15
+ catch (error) {
16
+ logger.error({ error }, 'Failed to validate public key');
17
+ return false;
18
+ }
19
+ }
20
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/validation/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nostr-crypto-utils",
3
- "version": "0.4.12",
3
+ "version": "0.4.13",
4
4
  "description": "Cryptographic utilities for Nostr protocol, including key management, event signing, NIP-19 bech32 encoding (npub, nsec, note), and encrypted messaging",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",