nostr-core 0.3.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +88 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -3
- package/dist/index.js.map +1 -1
- package/dist/lnurl.d.ts +161 -0
- package/dist/lnurl.d.ts.map +1 -0
- package/dist/lnurl.js +343 -0
- package/dist/lnurl.js.map +1 -0
- package/dist/nip02.d.ts +27 -0
- package/dist/nip02.d.ts.map +1 -0
- package/dist/nip02.js +55 -0
- package/dist/nip02.js.map +1 -0
- package/dist/nip05.d.ts +24 -0
- package/dist/nip05.d.ts.map +1 -0
- package/dist/nip05.js +57 -0
- package/dist/nip05.js.map +1 -0
- package/dist/nip06.d.ts +26 -0
- package/dist/nip06.d.ts.map +1 -0
- package/dist/nip06.js +49 -0
- package/dist/nip06.js.map +1 -0
- package/dist/nip07.d.ts +8 -0
- package/dist/nip07.d.ts.map +1 -1
- package/dist/nip07.js +24 -0
- package/dist/nip07.js.map +1 -1
- package/dist/nip09.d.ts +34 -0
- package/dist/nip09.d.ts.map +1 -0
- package/dist/nip09.js +66 -0
- package/dist/nip09.js.map +1 -0
- package/dist/nip10.d.ts +40 -0
- package/dist/nip10.d.ts.map +1 -0
- package/dist/nip10.js +69 -0
- package/dist/nip10.js.map +1 -0
- package/dist/nip11.d.ts +41 -0
- package/dist/nip11.d.ts.map +1 -0
- package/dist/nip11.js +38 -0
- package/dist/nip11.js.map +1 -0
- package/dist/nip13.d.ts +26 -0
- package/dist/nip13.d.ts.map +1 -0
- package/dist/nip13.js +75 -0
- package/dist/nip13.js.map +1 -0
- package/dist/nip18.d.ts +28 -0
- package/dist/nip18.d.ts.map +1 -0
- package/dist/nip18.js +66 -0
- package/dist/nip18.js.map +1 -0
- package/dist/nip21.d.ts +14 -0
- package/dist/nip21.d.ts.map +1 -0
- package/dist/nip21.js +24 -0
- package/dist/nip21.js.map +1 -0
- package/dist/nip22.d.ts +26 -0
- package/dist/nip22.d.ts.map +1 -0
- package/dist/nip22.js +109 -0
- package/dist/nip22.js.map +1 -0
- package/dist/nip23.d.ts +24 -0
- package/dist/nip23.d.ts.map +1 -0
- package/dist/nip23.js +70 -0
- package/dist/nip23.js.map +1 -0
- package/dist/nip24.d.ts +31 -0
- package/dist/nip24.d.ts.map +1 -0
- package/dist/nip24.js +75 -0
- package/dist/nip24.js.map +1 -0
- package/dist/nip25.d.ts +32 -0
- package/dist/nip25.d.ts.map +1 -0
- package/dist/nip25.js +54 -0
- package/dist/nip25.js.map +1 -0
- package/dist/nip27.d.ts +16 -0
- package/dist/nip27.d.ts.map +1 -0
- package/dist/nip27.js +44 -0
- package/dist/nip27.js.map +1 -0
- package/dist/nip28.d.ts +52 -0
- package/dist/nip28.d.ts.map +1 -0
- package/dist/nip28.js +118 -0
- package/dist/nip28.js.map +1 -0
- package/dist/nip29.d.ts +60 -0
- package/dist/nip29.d.ts.map +1 -0
- package/dist/nip29.js +122 -0
- package/dist/nip29.js.map +1 -0
- package/dist/nip30.d.ts +18 -0
- package/dist/nip30.d.ts.map +1 -0
- package/dist/nip30.js +24 -0
- package/dist/nip30.js.map +1 -0
- package/dist/nip31.d.ts +11 -0
- package/dist/nip31.d.ts.map +1 -0
- package/dist/nip31.js +15 -0
- package/dist/nip31.js.map +1 -0
- package/dist/nip36.d.ts +14 -0
- package/dist/nip36.d.ts.map +1 -0
- package/dist/nip36.js +24 -0
- package/dist/nip36.js.map +1 -0
- package/dist/nip40.d.ts +14 -0
- package/dist/nip40.d.ts.map +1 -0
- package/dist/nip40.js +26 -0
- package/dist/nip40.js.map +1 -0
- package/dist/nip42.d.ts +20 -0
- package/dist/nip42.d.ts.map +1 -0
- package/dist/nip42.js +38 -0
- package/dist/nip42.js.map +1 -0
- package/dist/nip46.d.ts +17 -4
- package/dist/nip46.d.ts.map +1 -1
- package/dist/nip46.js +78 -38
- package/dist/nip46.js.map +1 -1
- package/dist/nip48.d.ts +23 -0
- package/dist/nip48.d.ts.map +1 -0
- package/dist/nip48.js +30 -0
- package/dist/nip48.js.map +1 -0
- package/dist/nip50.d.ts +23 -0
- package/dist/nip50.d.ts.map +1 -0
- package/dist/nip50.js +47 -0
- package/dist/nip50.js.map +1 -0
- package/dist/nip51.d.ts +57 -0
- package/dist/nip51.d.ts.map +1 -0
- package/dist/nip51.js +118 -0
- package/dist/nip51.js.map +1 -0
- package/dist/nip56.d.ts +28 -0
- package/dist/nip56.d.ts.map +1 -0
- package/dist/nip56.js +60 -0
- package/dist/nip56.js.map +1 -0
- package/dist/nip57.d.ts +48 -0
- package/dist/nip57.d.ts.map +1 -0
- package/dist/nip57.js +140 -0
- package/dist/nip57.js.map +1 -0
- package/dist/nip58.d.ts +82 -0
- package/dist/nip58.d.ts.map +1 -0
- package/dist/nip58.js +195 -0
- package/dist/nip58.js.map +1 -0
- package/dist/nip59.js +1 -1
- package/dist/nip65.d.ts +28 -0
- package/dist/nip65.d.ts.map +1 -0
- package/dist/nip65.js +83 -0
- package/dist/nip65.js.map +1 -0
- package/dist/nip98.d.ts +24 -0
- package/dist/nip98.d.ts.map +1 -0
- package/dist/nip98.js +68 -0
- package/dist/nip98.js.map +1 -0
- package/dist/relay.d.ts +2 -0
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +20 -0
- package/dist/relay.js.map +1 -1
- package/dist/signer.d.ts +4 -0
- package/dist/signer.d.ts.map +1 -1
- package/dist/signer.js +11 -0
- package/dist/signer.js.map +1 -1
- package/package.json +33 -4
package/dist/nip98.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { sha256 } from '@noble/hashes/sha2';
|
|
2
|
+
import { bytesToHex } from '@noble/hashes/utils';
|
|
3
|
+
import { base64 } from '@scure/base';
|
|
4
|
+
import { finalizeEvent, verifyEvent } from './event.js';
|
|
5
|
+
import { utf8Encoder } from './utils.js';
|
|
6
|
+
/**
|
|
7
|
+
* Create a kind 27235 HTTP auth event template (unsigned).
|
|
8
|
+
*/
|
|
9
|
+
export function createHttpAuthEventTemplate(opts) {
|
|
10
|
+
const tags = [
|
|
11
|
+
['u', opts.url],
|
|
12
|
+
['method', opts.method.toUpperCase()],
|
|
13
|
+
];
|
|
14
|
+
if (opts.body) {
|
|
15
|
+
const bodyBytes = typeof opts.body === 'string' ? utf8Encoder.encode(opts.body) : opts.body;
|
|
16
|
+
const hash = bytesToHex(sha256(bodyBytes));
|
|
17
|
+
tags.push(['payload', hash]);
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
kind: 27235,
|
|
21
|
+
tags,
|
|
22
|
+
content: '',
|
|
23
|
+
created_at: Math.floor(Date.now() / 1000),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create and sign a kind 27235 HTTP auth event.
|
|
28
|
+
*/
|
|
29
|
+
export function createHttpAuthEvent(opts, secretKey) {
|
|
30
|
+
return finalizeEvent(createHttpAuthEventTemplate(opts), secretKey);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the Authorization header value from a signed HTTP auth event.
|
|
34
|
+
* Returns "Nostr <base64>" format.
|
|
35
|
+
*/
|
|
36
|
+
export function getAuthorizationHeader(event) {
|
|
37
|
+
const json = JSON.stringify(event);
|
|
38
|
+
const encoded = base64.encode(utf8Encoder.encode(json));
|
|
39
|
+
return `Nostr ${encoded}`;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Verify an HTTP auth event against expected request parameters.
|
|
43
|
+
*/
|
|
44
|
+
export function verifyHttpAuthEvent(event, opts) {
|
|
45
|
+
if (event.kind !== 27235)
|
|
46
|
+
return false;
|
|
47
|
+
if (!verifyEvent(event))
|
|
48
|
+
return false;
|
|
49
|
+
// Check timestamp is within 60 seconds
|
|
50
|
+
const now = Math.floor(Date.now() / 1000);
|
|
51
|
+
if (Math.abs(event.created_at - now) > 60)
|
|
52
|
+
return false;
|
|
53
|
+
const urlTag = event.tags.find(t => t[0] === 'u');
|
|
54
|
+
const methodTag = event.tags.find(t => t[0] === 'method');
|
|
55
|
+
if (!urlTag || urlTag[1] !== opts.url)
|
|
56
|
+
return false;
|
|
57
|
+
if (!methodTag || methodTag[1] !== opts.method.toUpperCase())
|
|
58
|
+
return false;
|
|
59
|
+
if (opts.body) {
|
|
60
|
+
const bodyBytes = typeof opts.body === 'string' ? utf8Encoder.encode(opts.body) : opts.body;
|
|
61
|
+
const expectedHash = bytesToHex(sha256(bodyBytes));
|
|
62
|
+
const payloadTag = event.tags.find(t => t[0] === 'payload');
|
|
63
|
+
if (!payloadTag || payloadTag[1] !== expectedHash)
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=nip98.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nip98.js","sourceRoot":"","sources":["../src/nip98.ts"],"names":[],"mappings":"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"}
|
package/dist/relay.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class Relay {
|
|
|
27
27
|
eoseTimeout: number;
|
|
28
28
|
publishTimeout: number;
|
|
29
29
|
openSubs: Map<string, Subscription>;
|
|
30
|
+
onauth: ((challenge: string) => void) | undefined;
|
|
30
31
|
private connectionPromise;
|
|
31
32
|
private openEventPublishes;
|
|
32
33
|
private ws;
|
|
@@ -44,6 +45,7 @@ export declare class Relay {
|
|
|
44
45
|
subscribe(filters: Filter[], params: SubscriptionParams & {
|
|
45
46
|
id?: string;
|
|
46
47
|
}): Subscription;
|
|
48
|
+
auth(event: NostrEvent): Promise<string>;
|
|
47
49
|
close(): void;
|
|
48
50
|
private closeAllSubscriptions;
|
|
49
51
|
_onmessage(ev: MessageEvent): void;
|
package/dist/relay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,qBAAa,YAAY;IACvB,SAAgB,KAAK,EAAE,KAAK,CAAA;IAC5B,SAAgB,EAAE,EAAE,MAAM,CAAA;IACnB,MAAM,UAAQ;IACd,KAAK,UAAQ;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEtD,OAAO,CAAC,iBAAiB,CAA2C;gBAExD,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB;IASnF,IAAI;IAKJ,YAAY;IAOZ,KAAK,CAAC,MAAM,SAAqB;CAYlC;AAED,qBAAa,KAAK;IAChB,SAAgB,GAAG,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,UAAU,CAAQ;IACnB,WAAW,SAAO;IAClB,cAAc,SAAO;IACrB,QAAQ,4BAAkC;
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,qBAAa,YAAY;IACvB,SAAgB,KAAK,EAAE,KAAK,CAAA;IAC5B,SAAgB,EAAE,EAAE,MAAM,CAAA;IACnB,MAAM,UAAQ;IACd,KAAK,UAAQ;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEtD,OAAO,CAAC,iBAAiB,CAA2C;gBAExD,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB;IASnF,IAAI;IAKJ,YAAY;IAOZ,KAAK,CAAC,MAAM,SAAqB;CAYlC;AAED,qBAAa,KAAK;IAChB,SAAgB,GAAG,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,UAAU,CAAQ;IACnB,WAAW,SAAO;IAClB,cAAc,SAAO;IACrB,QAAQ,4BAAkC;IAC1C,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAExD,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,kBAAkB,CAItB;IACJ,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,UAAU,CAAkB;gBAExB,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,uBAAuB,CAAC,EAAE,OAAO,SAAS,CAAA;KAAE;IAK9E,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,OAAO,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CzD,IAAI,CAAC,OAAO,EAAE,MAAM;IAKd,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAejD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY;IASlF,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAe9C,KAAK;IASL,OAAO,CAAC,qBAAqB;IAY7B,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;CAsDnC"}
|
package/dist/relay.js
CHANGED
|
@@ -50,6 +50,7 @@ export class Relay {
|
|
|
50
50
|
eoseTimeout = 4400;
|
|
51
51
|
publishTimeout = 4400;
|
|
52
52
|
openSubs = new Map();
|
|
53
|
+
onauth;
|
|
53
54
|
connectionPromise;
|
|
54
55
|
openEventPublishes = new Map();
|
|
55
56
|
ws;
|
|
@@ -128,6 +129,20 @@ export class Relay {
|
|
|
128
129
|
sub.fire();
|
|
129
130
|
return sub;
|
|
130
131
|
}
|
|
132
|
+
async auth(event) {
|
|
133
|
+
const ret = new Promise((resolve, reject) => {
|
|
134
|
+
const timeout = setTimeout(() => {
|
|
135
|
+
const ep = this.openEventPublishes.get(event.id);
|
|
136
|
+
if (ep) {
|
|
137
|
+
ep.reject(new Error('auth timed out'));
|
|
138
|
+
this.openEventPublishes.delete(event.id);
|
|
139
|
+
}
|
|
140
|
+
}, this.publishTimeout);
|
|
141
|
+
this.openEventPublishes.set(event.id, { resolve, reject, timeout });
|
|
142
|
+
});
|
|
143
|
+
this.send('["AUTH",' + JSON.stringify(event) + ']');
|
|
144
|
+
return ret;
|
|
145
|
+
}
|
|
131
146
|
close() {
|
|
132
147
|
this.closeAllSubscriptions('relay connection closed by us');
|
|
133
148
|
this._connected = false;
|
|
@@ -195,6 +210,11 @@ export class Relay {
|
|
|
195
210
|
so.close(data[2]);
|
|
196
211
|
return;
|
|
197
212
|
}
|
|
213
|
+
case 'AUTH': {
|
|
214
|
+
const challenge = data[1];
|
|
215
|
+
this.onauth?.(challenge);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
198
218
|
case 'NOTICE': {
|
|
199
219
|
return;
|
|
200
220
|
}
|
package/dist/relay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AASzC,MAAM,OAAO,YAAY;IACP,KAAK,CAAO;IACZ,EAAE,CAAQ;IACnB,MAAM,GAAG,KAAK,CAAA;IACd,KAAK,GAAG,KAAK,CAAA;IACb,OAAO,CAAU;IAEjB,OAAO,CAA2B;IAClC,MAAM,CAA0B;IAChC,OAAO,CAAwC;IAE9C,iBAAiB,CAA2C;IAEpE,YAAY,KAAY,EAAE,EAAU,EAAE,OAAiB,EAAE,MAA0B;QACjF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACxF,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACxF,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,KAAK;YAAE,OAAM;QACtB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,GAAG,kBAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QACpB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,KAAK;IACA,GAAG,CAAQ;IACnB,UAAU,GAAG,KAAK,CAAA;IACnB,WAAW,GAAG,IAAI,CAAA;IAClB,cAAc,GAAG,IAAI,CAAA;IACrB,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}
|
package/dist/signer.d.ts
CHANGED
|
@@ -10,6 +10,10 @@ export interface Signer {
|
|
|
10
10
|
encrypt(pubkey: string, plaintext: string): Promise<string>;
|
|
11
11
|
decrypt(pubkey: string, ciphertext: string): Promise<string>;
|
|
12
12
|
};
|
|
13
|
+
nip44?: {
|
|
14
|
+
encrypt(pubkey: string, plaintext: string): Promise<string>;
|
|
15
|
+
decrypt(pubkey: string, ciphertext: string): Promise<string>;
|
|
16
|
+
};
|
|
13
17
|
getRelays?(): Promise<RelayMap>;
|
|
14
18
|
}
|
|
15
19
|
export declare function createSecretKeySigner(secretKey: Uint8Array): Signer;
|
package/dist/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAIlF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAExE,MAAM,WAAW,MAAM;IACrB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC3D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAC7D,CAAA;IACD,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC3D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAC7D,CAAA;IACD,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;CAChC;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAgCnE"}
|
package/dist/signer.js
CHANGED
|
@@ -2,6 +2,7 @@ import { bytesToHex } from '@noble/hashes/utils';
|
|
|
2
2
|
import { schnorr } from '@noble/curves/secp256k1';
|
|
3
3
|
import { finalizeEvent } from './event.js';
|
|
4
4
|
import * as nip04 from './nip04.js';
|
|
5
|
+
import * as nip44 from './nip44.js';
|
|
5
6
|
export function createSecretKeySigner(secretKey) {
|
|
6
7
|
const pubkey = bytesToHex(schnorr.getPublicKey(secretKey));
|
|
7
8
|
return {
|
|
@@ -19,6 +20,16 @@ export function createSecretKeySigner(secretKey) {
|
|
|
19
20
|
return nip04.decrypt(secretKey, pubkey, ciphertext);
|
|
20
21
|
},
|
|
21
22
|
},
|
|
23
|
+
nip44: {
|
|
24
|
+
async encrypt(pubkey, plaintext) {
|
|
25
|
+
const conversationKey = nip44.getConversationKey(secretKey, pubkey);
|
|
26
|
+
return nip44.encrypt(plaintext, conversationKey);
|
|
27
|
+
},
|
|
28
|
+
async decrypt(pubkey, ciphertext) {
|
|
29
|
+
const conversationKey = nip44.getConversationKey(secretKey, pubkey);
|
|
30
|
+
return nip44.decrypt(ciphertext, conversationKey);
|
|
31
|
+
},
|
|
32
|
+
},
|
|
22
33
|
};
|
|
23
34
|
}
|
|
24
35
|
//# sourceMappingURL=signer.js.map
|
package/dist/signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAA0C,MAAM,YAAY,CAAA;AAClF,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAA0C,MAAM,YAAY,CAAA;AAClF,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAkBnC,MAAM,UAAU,qBAAqB,CAAC,SAAqB;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;IAE1D,OAAO;QACL,KAAK,CAAC,YAAY;YAChB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAoB;YAClC,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACxC,CAAC;QAED,KAAK,EAAE;YACL,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,SAAiB;gBAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YACpD,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,UAAkB;gBAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;YACrD,CAAC;SACF;QAED,KAAK,EAAE;YACL,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,SAAiB;gBAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBACnE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;YAClD,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,UAAkB;gBAC9C,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBACnE,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YACnD,CAAC;SACF;KACF,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nostr-core",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Comprehensive Nostr protocol toolkit and NWC (Nostr Wallet Connect) client",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -31,7 +31,9 @@
|
|
|
31
31
|
"@noble/ciphers": "^1.2.0",
|
|
32
32
|
"@noble/curves": "^1.8.0",
|
|
33
33
|
"@noble/hashes": "^1.7.0",
|
|
34
|
-
"@scure/base": "^1.2.0"
|
|
34
|
+
"@scure/base": "^1.2.0",
|
|
35
|
+
"@scure/bip32": "^2.0.1",
|
|
36
|
+
"@scure/bip39": "^2.0.1"
|
|
35
37
|
},
|
|
36
38
|
"devDependencies": {
|
|
37
39
|
"typescript": "^5.7.0",
|
|
@@ -44,6 +46,33 @@
|
|
|
44
46
|
"wallet-connect",
|
|
45
47
|
"lightning",
|
|
46
48
|
"bitcoin",
|
|
47
|
-
"nip-
|
|
49
|
+
"nip-04",
|
|
50
|
+
"nip-05",
|
|
51
|
+
"nip-06",
|
|
52
|
+
"nip-07",
|
|
53
|
+
"nip-09",
|
|
54
|
+
"nip-10",
|
|
55
|
+
"nip-11",
|
|
56
|
+
"nip-17",
|
|
57
|
+
"nip-19",
|
|
58
|
+
"nip-21",
|
|
59
|
+
"nip-22",
|
|
60
|
+
"nip-23",
|
|
61
|
+
"nip-24",
|
|
62
|
+
"nip-25",
|
|
63
|
+
"nip-27",
|
|
64
|
+
"nip-29",
|
|
65
|
+
"nip-30",
|
|
66
|
+
"nip-31",
|
|
67
|
+
"nip-42",
|
|
68
|
+
"nip-44",
|
|
69
|
+
"nip-46",
|
|
70
|
+
"nip-47",
|
|
71
|
+
"nip-51",
|
|
72
|
+
"nip-57",
|
|
73
|
+
"nip-58",
|
|
74
|
+
"nip-59",
|
|
75
|
+
"nip-65",
|
|
76
|
+
"nip-98"
|
|
48
77
|
]
|
|
49
78
|
}
|