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.
- package/README.md +52 -2
- package/dist/browser/343.nostr-crypto-utils.min.js +1 -0
- package/dist/browser/419.nostr-crypto-utils.min.js +1 -0
- package/dist/browser/crypto.nostr-crypto-utils.min.js +1 -1
- package/dist/browser/main.nostr-crypto-utils.min.js +1 -0
- package/dist/browser/protocol.nostr-crypto-utils.min.js +1 -1
- package/dist/cjs/event/index.d.ts +7 -0
- package/dist/cjs/event/index.d.ts.map +1 -0
- package/dist/cjs/event/index.js +15 -0
- package/dist/cjs/event/index.js.map +1 -0
- package/dist/cjs/event/signing.d.ts +12 -0
- package/dist/cjs/event/signing.d.ts.map +1 -1
- package/dist/cjs/event/signing.js +29 -0
- package/dist/cjs/event/signing.js.map +1 -1
- package/dist/cjs/index.d.ts +11 -8
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +58 -56
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/nips/nip-04.d.ts +1 -1
- package/dist/cjs/nips/nip-04.d.ts.map +1 -1
- package/dist/cjs/nips/nip-04.js +1 -0
- package/dist/cjs/nips/nip-04.js.map +1 -1
- package/dist/cjs/protocol/index.d.ts +9 -9
- package/dist/cjs/protocol/index.d.ts.map +1 -1
- package/dist/cjs/protocol/index.js +8 -9
- package/dist/cjs/protocol/index.js.map +1 -1
- package/dist/cjs/types/base.d.ts +45 -121
- package/dist/cjs/types/base.d.ts.map +1 -1
- package/dist/cjs/types/base.js +10 -28
- package/dist/cjs/types/base.js.map +1 -1
- package/dist/cjs/utils/encoding.d.ts +12 -0
- package/dist/cjs/utils/encoding.d.ts.map +1 -1
- package/dist/cjs/utils/encoding.js +18 -0
- package/dist/cjs/utils/encoding.js.map +1 -1
- package/dist/cjs/utils/integration.d.ts +14 -15
- package/dist/cjs/utils/integration.d.ts.map +1 -1
- package/dist/cjs/utils/integration.js +145 -98
- package/dist/cjs/utils/integration.js.map +1 -1
- package/dist/cjs/utils/logger.d.ts +17 -2
- package/dist/cjs/utils/logger.d.ts.map +1 -1
- package/dist/cjs/utils/logger.js +40 -3
- package/dist/cjs/utils/logger.js.map +1 -1
- package/dist/cjs/utils/validation.d.ts +6 -0
- package/dist/cjs/utils/validation.d.ts.map +1 -1
- package/dist/cjs/utils/validation.js +37 -0
- package/dist/cjs/utils/validation.js.map +1 -1
- package/dist/cjs/validation/keys.d.ts +7 -0
- package/dist/cjs/validation/keys.d.ts.map +1 -0
- package/dist/cjs/validation/keys.js +23 -0
- package/dist/cjs/validation/keys.js.map +1 -0
- package/dist/esm/event/index.d.ts +7 -0
- package/dist/esm/event/index.d.ts.map +1 -0
- package/dist/esm/event/index.js +7 -0
- package/dist/esm/event/index.js.map +1 -0
- package/dist/esm/event/signing.d.ts +12 -0
- package/dist/esm/event/signing.d.ts.map +1 -1
- package/dist/esm/event/signing.js +27 -0
- package/dist/esm/event/signing.js.map +1 -1
- package/dist/esm/index.d.ts +11 -8
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +16 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/nips/nip-04.d.ts +1 -1
- package/dist/esm/nips/nip-04.d.ts.map +1 -1
- package/dist/esm/nips/nip-04.js +1 -0
- package/dist/esm/nips/nip-04.js.map +1 -1
- package/dist/esm/protocol/index.d.ts +9 -9
- package/dist/esm/protocol/index.d.ts.map +1 -1
- package/dist/esm/protocol/index.js +8 -9
- package/dist/esm/protocol/index.js.map +1 -1
- package/dist/esm/types/base.d.ts +45 -121
- package/dist/esm/types/base.d.ts.map +1 -1
- package/dist/esm/types/base.js +10 -28
- package/dist/esm/types/base.js.map +1 -1
- package/dist/esm/utils/encoding.d.ts +12 -0
- package/dist/esm/utils/encoding.d.ts.map +1 -1
- package/dist/esm/utils/encoding.js +16 -0
- package/dist/esm/utils/encoding.js.map +1 -1
- package/dist/esm/utils/integration.d.ts +14 -15
- package/dist/esm/utils/integration.d.ts.map +1 -1
- package/dist/esm/utils/integration.js +136 -89
- package/dist/esm/utils/integration.js.map +1 -1
- package/dist/esm/utils/logger.d.ts +17 -2
- package/dist/esm/utils/logger.d.ts.map +1 -1
- package/dist/esm/utils/logger.js +38 -2
- package/dist/esm/utils/logger.js.map +1 -1
- package/dist/esm/utils/validation.d.ts +6 -0
- package/dist/esm/utils/validation.d.ts.map +1 -1
- package/dist/esm/utils/validation.js +36 -0
- package/dist/esm/utils/validation.js.map +1 -1
- package/dist/esm/validation/keys.d.ts +7 -0
- package/dist/esm/validation/keys.d.ts.map +1 -0
- package/dist/esm/validation/keys.js +20 -0
- package/dist/esm/validation/keys.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/integration.test.ts +1 -1
- package/src/__tests__/types.test.ts +36 -242
- package/src/event/index.ts +7 -0
- package/src/event/signing.ts +29 -0
- package/src/index.ts +39 -47
- package/src/nips/nip-04.ts +2 -0
- package/src/protocol/index.ts +23 -14
- package/src/types/base.ts +58 -122
- package/src/utils/encoding.ts +18 -0
- package/src/utils/integration.ts +159 -107
- package/src/utils/logger.ts +46 -2
- package/src/utils/validation.ts +37 -0
- package/src/validation/keys.ts +19 -0
- package/dist/browser/551.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/565.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/69.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/main-43dd7041.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/main-7bd12dde.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/main-d277ceb9.nostr-crypto-utils.min.js +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { NostrEventKind } from '../types/base
|
|
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
|
-
|
|
31
|
+
let parsed;
|
|
33
32
|
if (Array.isArray(message)) {
|
|
34
|
-
|
|
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
|
-
|
|
47
|
-
if (typeof message === 'string') {
|
|
35
|
+
else if (typeof message === 'string') {
|
|
48
36
|
// Try parsing as JSON first
|
|
49
37
|
try {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
75
|
-
|
|
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
|
-
|
|
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
|
-
|
|
129
|
+
return nostrMessage;
|
|
82
130
|
}
|
|
83
131
|
catch (error) {
|
|
84
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
156
|
-
|
|
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
|
-
|
|
177
|
-
|
|
178
|
-
limit
|
|
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
|
-
|
|
186
|
-
|
|
187
|
-
kinds
|
|
188
|
-
|
|
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
|
-
|
|
196
|
-
'#e': [eventId],
|
|
239
|
+
const filter = {
|
|
197
240
|
kinds: [NostrEventKind.TEXT_NOTE, NostrEventKind.CHANNEL_MESSAGE],
|
|
198
|
-
|
|
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
|
|
208
|
-
tags: [],
|
|
254
|
+
content,
|
|
209
255
|
created_at: Math.floor(Date.now() / 1000),
|
|
210
|
-
|
|
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
|
|
220
|
-
tags: [],
|
|
266
|
+
content: JSON.stringify(metadata),
|
|
221
267
|
created_at: Math.floor(Date.now() / 1000),
|
|
222
|
-
|
|
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
|
|
232
|
-
tags: [['p', '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef']],
|
|
278
|
+
content,
|
|
233
279
|
created_at: Math.floor(Date.now() / 1000),
|
|
234
|
-
|
|
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
|
|
244
|
-
tags: [['e', '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef', '', 'root']],
|
|
290
|
+
content,
|
|
245
291
|
created_at: Math.floor(Date.now() / 1000),
|
|
246
|
-
|
|
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":"AAAA,OAAO,EAGL,cAAc,
|
|
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
|
|
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
|
|
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"}
|
package/dist/esm/utils/logger.js
CHANGED
|
@@ -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
|
|
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
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.
|
|
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",
|