@welshman/signer 0.0.8 → 0.0.10
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/build/src/signers/nip01.cjs +17 -3
- package/build/src/signers/nip01.cjs.map +1 -1
- package/build/src/signers/nip01.d.ts +1 -1
- package/build/src/signers/nip01.mjs +17 -3
- package/build/src/signers/nip01.mjs.map +1 -1
- package/build/src/signers/nip46.cjs +103 -67
- package/build/src/signers/nip46.cjs.map +1 -1
- package/build/src/signers/nip46.d.ts +15 -11
- package/build/src/signers/nip46.mjs +105 -69
- package/build/src/signers/nip46.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _Nip01Signer_pubkey;
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
15
|
exports.Nip01Signer = void 0;
|
|
4
16
|
const util_1 = require("../util.cjs");
|
|
5
17
|
class Nip01Signer {
|
|
6
18
|
constructor(secret) {
|
|
7
19
|
this.secret = secret;
|
|
8
|
-
this
|
|
9
|
-
this.
|
|
20
|
+
_Nip01Signer_pubkey.set(this, void 0);
|
|
21
|
+
this.getPubkey = async () => __classPrivateFieldGet(this, _Nip01Signer_pubkey, "f");
|
|
22
|
+
this.sign = async (event) => (0, util_1.sign)((0, util_1.hash)((0, util_1.own)(event, __classPrivateFieldGet(this, _Nip01Signer_pubkey, "f"))), this.secret);
|
|
10
23
|
this.nip04 = {
|
|
11
24
|
encrypt: async (pubkey, message) => util_1.nip04.encrypt(pubkey, this.secret, message),
|
|
12
25
|
decrypt: async (pubkey, message) => util_1.nip04.decrypt(pubkey, this.secret, message),
|
|
@@ -15,10 +28,11 @@ class Nip01Signer {
|
|
|
15
28
|
encrypt: async (pubkey, message) => util_1.nip44.encrypt(pubkey, this.secret, message),
|
|
16
29
|
decrypt: async (pubkey, message) => util_1.nip44.decrypt(pubkey, this.secret, message),
|
|
17
30
|
};
|
|
18
|
-
this
|
|
31
|
+
__classPrivateFieldSet(this, _Nip01Signer_pubkey, (0, util_1.getPubkey)(this.secret), "f");
|
|
19
32
|
}
|
|
20
33
|
}
|
|
21
34
|
exports.Nip01Signer = Nip01Signer;
|
|
35
|
+
_Nip01Signer_pubkey = new WeakMap();
|
|
22
36
|
Nip01Signer.fromSecret = (secret) => new Nip01Signer(secret);
|
|
23
37
|
Nip01Signer.ephemeral = () => new Nip01Signer((0, util_1.makeSecret)());
|
|
24
38
|
//# sourceMappingURL=nip01.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nip01.cjs","sourceRoot":"","sources":["../../../src/signers/nip01.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nip01.cjs","sourceRoot":"","sources":["../../../src/signers/nip01.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,sCAAqF;AAErF,MAAa,WAAW;IAGtB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAFlC,sCAAe;QAUf,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,uBAAA,IAAI,2BAAQ,CAAA;QAEpC,SAAI,GAAG,KAAK,EAAE,KAAmB,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,IAAA,WAAI,EAAC,IAAA,UAAG,EAAC,KAAK,EAAE,uBAAA,IAAI,2BAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvF,UAAK,GAAG;YACN,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,YAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,YAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;SAC9C,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,YAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,YAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;SAC9C,CAAA;QAvBC,uBAAA,IAAI,uBAAW,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,MAAA,CAAA;IACvC,CAAC;;AALH,kCA4BC;;AArBQ,sBAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,AAA9C,CAA8C;AAExD,qBAAS,GAAG,GAAG,EAAE,CAAC,IAAI,WAAW,CAAC,IAAA,iBAAU,GAAE,CAAC,AAAtC,CAAsC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { StampedEvent } from '@welshman/util';
|
|
2
2
|
import { ISigner } from "../util";
|
|
3
3
|
export declare class Nip01Signer implements ISigner {
|
|
4
|
+
#private;
|
|
4
5
|
private secret;
|
|
5
|
-
private pubkey;
|
|
6
6
|
constructor(secret: string);
|
|
7
7
|
static fromSecret: (secret: string) => Nip01Signer;
|
|
8
8
|
static ephemeral: () => Nip01Signer;
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _Nip01Signer_pubkey;
|
|
1
13
|
import { nip04, nip44, own, hash, sign, getPubkey, makeSecret } from "../util.mjs";
|
|
2
14
|
export class Nip01Signer {
|
|
3
15
|
constructor(secret) {
|
|
4
16
|
this.secret = secret;
|
|
5
|
-
this
|
|
6
|
-
this.
|
|
17
|
+
_Nip01Signer_pubkey.set(this, void 0);
|
|
18
|
+
this.getPubkey = async () => __classPrivateFieldGet(this, _Nip01Signer_pubkey, "f");
|
|
19
|
+
this.sign = async (event) => sign(hash(own(event, __classPrivateFieldGet(this, _Nip01Signer_pubkey, "f"))), this.secret);
|
|
7
20
|
this.nip04 = {
|
|
8
21
|
encrypt: async (pubkey, message) => nip04.encrypt(pubkey, this.secret, message),
|
|
9
22
|
decrypt: async (pubkey, message) => nip04.decrypt(pubkey, this.secret, message),
|
|
@@ -12,9 +25,10 @@ export class Nip01Signer {
|
|
|
12
25
|
encrypt: async (pubkey, message) => nip44.encrypt(pubkey, this.secret, message),
|
|
13
26
|
decrypt: async (pubkey, message) => nip44.decrypt(pubkey, this.secret, message),
|
|
14
27
|
};
|
|
15
|
-
this
|
|
28
|
+
__classPrivateFieldSet(this, _Nip01Signer_pubkey, getPubkey(this.secret), "f");
|
|
16
29
|
}
|
|
17
30
|
}
|
|
31
|
+
_Nip01Signer_pubkey = new WeakMap();
|
|
18
32
|
Nip01Signer.fromSecret = (secret) => new Nip01Signer(secret);
|
|
19
33
|
Nip01Signer.ephemeral = () => new Nip01Signer(makeSecret());
|
|
20
34
|
//# sourceMappingURL=nip01.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nip01.mjs","sourceRoot":"","sources":["../../../src/signers/nip01.ts"],"names":[],"mappings":"OACO,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAW,UAAU,EAAC;AAEtE,MAAM,OAAO,WAAW;IAGtB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;
|
|
1
|
+
{"version":3,"file":"nip01.mjs","sourceRoot":"","sources":["../../../src/signers/nip01.ts"],"names":[],"mappings":";;;;;;;;;;;;OACO,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAW,UAAU,EAAC;AAEtE,MAAM,OAAO,WAAW;IAGtB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAFlC,sCAAe;QAUf,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,uBAAA,IAAI,2BAAQ,CAAA;QAEpC,SAAI,GAAG,KAAK,EAAE,KAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,uBAAA,IAAI,2BAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvF,UAAK,GAAG;YACN,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;SAC9C,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CACjD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;SAC9C,CAAA;QAvBC,uBAAA,IAAI,uBAAW,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAA,CAAA;IACvC,CAAC;;;AAEM,sBAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,AAA9C,CAA8C;AAExD,qBAAS,GAAG,GAAG,EAAE,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,AAAtC,CAAsC"}
|
|
@@ -10,11 +10,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
13
|
+
var _Nip46Broker_signer, _Nip46Broker_handler, _Nip46Broker_algorithm, _Nip46Broker_closed, _Nip46Broker_processing, _Nip46Broker_connectResult, _Nip46Broker_queue, _Nip46Broker_sub, _Nip46Broker_subscribe, _Nip46Broker_processQueue, _Nip46Signer_pubkey;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.Nip46Signer = exports.Nip46Broker = void 0;
|
|
16
|
-
const nostr_tools_1 = require("nostr-tools");
|
|
17
|
-
const utils_1 = require("@noble/hashes/utils");
|
|
18
16
|
const lib_1 = require("@welshman/lib");
|
|
19
17
|
const util_1 = require("@welshman/util");
|
|
20
18
|
const net_1 = require("@welshman/net");
|
|
@@ -22,69 +20,91 @@ const util_2 = require("../util.cjs");
|
|
|
22
20
|
const nip01_1 = require("./nip01.cjs");
|
|
23
21
|
let singleton;
|
|
24
22
|
class Nip46Broker extends lib_1.Emitter {
|
|
25
|
-
static get(
|
|
26
|
-
if ((singleton === null || singleton === void 0 ? void 0 : singleton.
|
|
27
|
-
(singleton === null || singleton === void 0 ? void 0 : singleton.secret) !== secret ||
|
|
28
|
-
!(0, lib_1.equals)(singleton === null || singleton === void 0 ? void 0 : singleton.handler, handler) ||
|
|
29
|
-
(singleton === null || singleton === void 0 ? void 0 : singleton.algorithm) !== algorithm) {
|
|
23
|
+
static get(params) {
|
|
24
|
+
if (!(singleton === null || singleton === void 0 ? void 0 : singleton.hasParams(params))) {
|
|
30
25
|
singleton === null || singleton === void 0 ? void 0 : singleton.teardown();
|
|
31
|
-
singleton = new Nip46Broker(
|
|
26
|
+
singleton = new Nip46Broker(params);
|
|
32
27
|
}
|
|
33
28
|
return singleton;
|
|
34
29
|
}
|
|
35
|
-
constructor(
|
|
30
|
+
constructor(params) {
|
|
36
31
|
super();
|
|
37
|
-
this.
|
|
38
|
-
this.secret = secret;
|
|
39
|
-
this.handler = handler;
|
|
40
|
-
this.algorithm = algorithm;
|
|
41
|
-
_Nip46Broker_sub.set(this, void 0);
|
|
32
|
+
this.params = params;
|
|
42
33
|
_Nip46Broker_signer.set(this, void 0);
|
|
43
|
-
|
|
34
|
+
_Nip46Broker_handler.set(this, void 0);
|
|
35
|
+
_Nip46Broker_algorithm.set(this, void 0);
|
|
44
36
|
_Nip46Broker_closed.set(this, false);
|
|
37
|
+
_Nip46Broker_processing.set(this, false);
|
|
45
38
|
_Nip46Broker_connectResult.set(this, void 0);
|
|
46
|
-
this
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"#p": [(0, nostr_tools_1.getPublicKey)((0, utils_1.hexToBytes)(this.secret))],
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
});
|
|
57
|
-
sub.emitter.on("event", async (url, e) => {
|
|
58
|
-
const json = await (0, util_2.decrypt)(__classPrivateFieldGet(this, _Nip46Broker_signer, "f"), e.pubkey, e.content);
|
|
59
|
-
const res = await (0, lib_1.tryCatch)(() => JSON.parse(json));
|
|
60
|
-
if (!res.id) {
|
|
61
|
-
console.error(`Invalid nostr-connect response: ${json}`);
|
|
62
|
-
}
|
|
63
|
-
if (res.result === "auth_url") {
|
|
64
|
-
this.emit(`auth-${res.id}`, res);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
this.emit(`res-${res.id}`, res);
|
|
39
|
+
_Nip46Broker_queue.set(this, []);
|
|
40
|
+
_Nip46Broker_sub.set(this, void 0);
|
|
41
|
+
_Nip46Broker_subscribe.set(this, async () => {
|
|
42
|
+
const pubkey = await __classPrivateFieldGet(this, _Nip46Broker_signer, "f").getPubkey();
|
|
43
|
+
return new Promise(resolve => {
|
|
44
|
+
if (__classPrivateFieldGet(this, _Nip46Broker_sub, "f")) {
|
|
45
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").close();
|
|
68
46
|
}
|
|
47
|
+
__classPrivateFieldSet(this, _Nip46Broker_sub, (0, net_1.subscribe)({
|
|
48
|
+
relays: __classPrivateFieldGet(this, _Nip46Broker_handler, "f").relays,
|
|
49
|
+
filters: [{ since: (0, lib_1.now)() - 30, kinds: [util_1.NOSTR_CONNECT], "#p": [pubkey] }],
|
|
50
|
+
}), "f");
|
|
51
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").emitter.on('send', resolve);
|
|
52
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").emitter.on("event", async (url, e) => {
|
|
53
|
+
const json = await (0, util_2.decrypt)(__classPrivateFieldGet(this, _Nip46Broker_signer, "f"), e.pubkey, e.content);
|
|
54
|
+
const res = await (0, lib_1.tryCatch)(() => JSON.parse(json));
|
|
55
|
+
if (!res.id) {
|
|
56
|
+
console.error(`Invalid nostr-connect response: ${json}`);
|
|
57
|
+
}
|
|
58
|
+
if (res.result === "auth_url") {
|
|
59
|
+
this.emit(`auth-${res.id}`, res);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this.emit(`res-${res.id}`, res);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").emitter.on("complete", () => {
|
|
66
|
+
__classPrivateFieldSet(this, _Nip46Broker_sub, undefined, "f");
|
|
67
|
+
});
|
|
69
68
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
});
|
|
70
|
+
_Nip46Broker_processQueue.set(this, async () => {
|
|
71
|
+
if (__classPrivateFieldGet(this, _Nip46Broker_processing, "f")) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
__classPrivateFieldSet(this, _Nip46Broker_processing, true, "f");
|
|
75
|
+
try {
|
|
76
|
+
while (__classPrivateFieldGet(this, _Nip46Broker_queue, "f").length > 0) {
|
|
77
|
+
const [{ method, params, resolve }] = __classPrivateFieldGet(this, _Nip46Broker_queue, "f").splice(0, 1);
|
|
78
|
+
// Throttle requests to the signer so the user isn't overwhelmed by dialogs, but time
|
|
79
|
+
// out and move on to other requests if they're ignored
|
|
80
|
+
// Note: currenlty throttle is too low to help with dialogs, but blocking prevents
|
|
81
|
+
// important user actions
|
|
82
|
+
await Promise.race([
|
|
83
|
+
this.request(method, params).then(resolve),
|
|
84
|
+
(0, lib_1.sleep)(100),
|
|
85
|
+
]);
|
|
73
86
|
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
__classPrivateFieldSet(this, _Nip46Broker_processing, false, "f");
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
this.request = async (method, params) => {
|
|
93
|
+
if (__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
|
|
94
|
+
throw new Error("Attempted to make a nip46 request with a closed broker");
|
|
95
|
+
}
|
|
96
|
+
if (!__classPrivateFieldGet(this, _Nip46Broker_sub, "f")) {
|
|
97
|
+
await __classPrivateFieldGet(this, _Nip46Broker_subscribe, "f").call(this);
|
|
98
|
+
}
|
|
80
99
|
const id = (0, lib_1.randomId)();
|
|
81
|
-
const
|
|
100
|
+
const recipient = __classPrivateFieldGet(this, _Nip46Broker_handler, "f").pubkey;
|
|
82
101
|
const payload = JSON.stringify({ id, method, params });
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
102
|
+
const content = await __classPrivateFieldGet(this, _Nip46Broker_signer, "f")[__classPrivateFieldGet(this, _Nip46Broker_algorithm, "f")].encrypt(recipient, payload);
|
|
103
|
+
const template = (0, util_1.createEvent)(util_1.NOSTR_CONNECT, { content, tags: [["p", recipient]] });
|
|
104
|
+
(0, net_1.publish)({
|
|
105
|
+
relays: __classPrivateFieldGet(this, _Nip46Broker_handler, "f").relays,
|
|
106
|
+
event: await __classPrivateFieldGet(this, _Nip46Broker_signer, "f").sign(template),
|
|
107
|
+
});
|
|
88
108
|
this.once(`auth-${id}`, res => {
|
|
89
109
|
window.open(res.error, "Coracle", "width=600,height=800,popup=yes");
|
|
90
110
|
});
|
|
@@ -99,50 +119,65 @@ class Nip46Broker extends lib_1.Emitter {
|
|
|
99
119
|
});
|
|
100
120
|
});
|
|
101
121
|
};
|
|
122
|
+
this.enqueue = (method, params) => new Promise(resolve => {
|
|
123
|
+
__classPrivateFieldGet(this, _Nip46Broker_queue, "f").push({ method, params, resolve });
|
|
124
|
+
__classPrivateFieldGet(this, _Nip46Broker_processQueue, "f").call(this);
|
|
125
|
+
});
|
|
102
126
|
this.createAccount = (username, perms = "") => {
|
|
103
|
-
if (!this.
|
|
127
|
+
if (!__classPrivateFieldGet(this, _Nip46Broker_handler, "f").domain) {
|
|
104
128
|
throw new Error("Unable to create an account without a handler domain");
|
|
105
129
|
}
|
|
106
|
-
return this.
|
|
130
|
+
return this.enqueue("create_account", [username, __classPrivateFieldGet(this, _Nip46Broker_handler, "f").domain, "", perms]);
|
|
107
131
|
};
|
|
108
132
|
this.connect = async (token = "", perms = "") => {
|
|
109
133
|
if (!__classPrivateFieldGet(this, _Nip46Broker_connectResult, "f")) {
|
|
110
|
-
const params = [
|
|
111
|
-
__classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.
|
|
134
|
+
const params = ["", token, perms];
|
|
135
|
+
__classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.enqueue("connect", params), "f");
|
|
112
136
|
}
|
|
113
137
|
return __classPrivateFieldGet(this, _Nip46Broker_connectResult, "f") === "ack";
|
|
114
138
|
};
|
|
139
|
+
this.getPublicKey = () => this.enqueue("get_public_key", []);
|
|
115
140
|
this.signEvent = async (event) => {
|
|
116
|
-
return JSON.parse(await this.
|
|
141
|
+
return JSON.parse(await this.enqueue("sign_event", [JSON.stringify(event)]));
|
|
117
142
|
};
|
|
118
143
|
this.nip04Encrypt = (pk, message) => {
|
|
119
|
-
return this.
|
|
144
|
+
return this.enqueue("nip04_encrypt", [pk, message]);
|
|
120
145
|
};
|
|
121
146
|
this.nip04Decrypt = (pk, message) => {
|
|
122
|
-
return this.
|
|
147
|
+
return this.enqueue("nip04_decrypt", [pk, message]);
|
|
123
148
|
};
|
|
124
149
|
this.nip44Encrypt = (pk, message) => {
|
|
125
|
-
return this.
|
|
150
|
+
return this.enqueue("nip44_encrypt", [pk, message]);
|
|
126
151
|
};
|
|
127
152
|
this.nip44Decrypt = (pk, message) => {
|
|
128
|
-
return this.
|
|
153
|
+
return this.enqueue("nip44_decrypt", [pk, message]);
|
|
129
154
|
};
|
|
130
155
|
this.teardown = () => {
|
|
131
156
|
var _a;
|
|
132
157
|
__classPrivateFieldSet(this, _Nip46Broker_closed, true, "f");
|
|
133
158
|
(_a = __classPrivateFieldGet(this, _Nip46Broker_sub, "f")) === null || _a === void 0 ? void 0 : _a.close();
|
|
134
159
|
};
|
|
135
|
-
__classPrivateFieldSet(this,
|
|
136
|
-
__classPrivateFieldSet(this,
|
|
160
|
+
__classPrivateFieldSet(this, _Nip46Broker_handler, params.handler, "f");
|
|
161
|
+
__classPrivateFieldSet(this, _Nip46Broker_algorithm, params.algorithm || 'nip04', "f");
|
|
162
|
+
__classPrivateFieldSet(this, _Nip46Broker_signer, new nip01_1.Nip01Signer(params.secret), "f");
|
|
163
|
+
}
|
|
164
|
+
hasParams(params) {
|
|
165
|
+
return (0, lib_1.equals)(this.params, params);
|
|
137
166
|
}
|
|
138
167
|
}
|
|
139
168
|
exports.Nip46Broker = Nip46Broker;
|
|
140
|
-
|
|
169
|
+
_Nip46Broker_signer = new WeakMap(), _Nip46Broker_handler = new WeakMap(), _Nip46Broker_algorithm = new WeakMap(), _Nip46Broker_closed = new WeakMap(), _Nip46Broker_processing = new WeakMap(), _Nip46Broker_connectResult = new WeakMap(), _Nip46Broker_queue = new WeakMap(), _Nip46Broker_sub = new WeakMap(), _Nip46Broker_subscribe = new WeakMap(), _Nip46Broker_processQueue = new WeakMap();
|
|
141
170
|
class Nip46Signer {
|
|
142
171
|
constructor(broker) {
|
|
143
172
|
this.broker = broker;
|
|
144
|
-
this
|
|
145
|
-
this.
|
|
173
|
+
_Nip46Signer_pubkey.set(this, void 0);
|
|
174
|
+
this.getPubkey = async () => {
|
|
175
|
+
if (!__classPrivateFieldGet(this, _Nip46Signer_pubkey, "f")) {
|
|
176
|
+
__classPrivateFieldSet(this, _Nip46Signer_pubkey, await this.broker.getPublicKey(), "f");
|
|
177
|
+
}
|
|
178
|
+
return __classPrivateFieldGet(this, _Nip46Signer_pubkey, "f");
|
|
179
|
+
};
|
|
180
|
+
this.sign = async (template) => this.broker.signEvent((0, util_2.hash)((0, util_2.own)(template, await this.getPubkey())));
|
|
146
181
|
this.nip04 = {
|
|
147
182
|
encrypt: this.broker.nip04Encrypt,
|
|
148
183
|
decrypt: this.broker.nip04Decrypt,
|
|
@@ -154,4 +189,5 @@ class Nip46Signer {
|
|
|
154
189
|
}
|
|
155
190
|
}
|
|
156
191
|
exports.Nip46Signer = Nip46Signer;
|
|
192
|
+
_Nip46Signer_pubkey = new WeakMap();
|
|
157
193
|
//# sourceMappingURL=nip46.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nip46.cjs","sourceRoot":"","sources":["../../../src/signers/nip46.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"nip46.cjs","sourceRoot":"","sources":["../../../src/signers/nip46.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { Emitter } from "@welshman/lib";
|
|
2
2
|
import { StampedEvent } from "@welshman/util";
|
|
3
|
-
import { Subscription } from "@welshman/net";
|
|
4
3
|
import { ISigner } from '../util';
|
|
5
|
-
export type
|
|
4
|
+
export type Nip46Algorithm = "nip04" | "nip44";
|
|
6
5
|
export type Nip46Handler = {
|
|
7
6
|
relays: string[];
|
|
8
|
-
pubkey
|
|
7
|
+
pubkey: string;
|
|
9
8
|
domain?: string;
|
|
10
9
|
};
|
|
10
|
+
export type Nip46BrokerParams = {
|
|
11
|
+
secret: string;
|
|
12
|
+
handler: Nip46Handler;
|
|
13
|
+
algorithm?: Nip46Algorithm;
|
|
14
|
+
};
|
|
11
15
|
export type Nip46Response = {
|
|
12
16
|
id: string;
|
|
13
17
|
error?: string;
|
|
@@ -15,16 +19,15 @@ export type Nip46Response = {
|
|
|
15
19
|
};
|
|
16
20
|
export declare class Nip46Broker extends Emitter {
|
|
17
21
|
#private;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
subscribe: () => Subscription;
|
|
25
|
-
request: (method: string, params: string[], admin?: boolean) => Promise<string>;
|
|
22
|
+
private params;
|
|
23
|
+
static get(params: Nip46BrokerParams): Nip46Broker;
|
|
24
|
+
constructor(params: Nip46BrokerParams);
|
|
25
|
+
hasParams(params: Nip46BrokerParams): boolean;
|
|
26
|
+
request: (method: string, params: string[]) => Promise<string>;
|
|
27
|
+
enqueue: (method: string, params: string[]) => Promise<string>;
|
|
26
28
|
createAccount: (username: string, perms?: string) => Promise<string>;
|
|
27
29
|
connect: (token?: string, perms?: string) => Promise<boolean>;
|
|
30
|
+
getPublicKey: () => Promise<string>;
|
|
28
31
|
signEvent: (event: StampedEvent) => Promise<any>;
|
|
29
32
|
nip04Encrypt: (pk: string, message: string) => Promise<string>;
|
|
30
33
|
nip04Decrypt: (pk: string, message: string) => Promise<string>;
|
|
@@ -33,6 +36,7 @@ export declare class Nip46Broker extends Emitter {
|
|
|
33
36
|
teardown: () => void;
|
|
34
37
|
}
|
|
35
38
|
export declare class Nip46Signer implements ISigner {
|
|
39
|
+
#private;
|
|
36
40
|
private broker;
|
|
37
41
|
constructor(broker: Nip46Broker);
|
|
38
42
|
getPubkey: () => Promise<string>;
|
|
@@ -9,79 +9,99 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var
|
|
13
|
-
import {
|
|
14
|
-
import { hexToBytes } from '@noble/hashes/utils';
|
|
15
|
-
import { Emitter, tryCatch, randomId, sleep, equals, now } from "@welshman/lib";
|
|
12
|
+
var _Nip46Broker_signer, _Nip46Broker_handler, _Nip46Broker_algorithm, _Nip46Broker_closed, _Nip46Broker_processing, _Nip46Broker_connectResult, _Nip46Broker_queue, _Nip46Broker_sub, _Nip46Broker_subscribe, _Nip46Broker_processQueue, _Nip46Signer_pubkey;
|
|
13
|
+
import { Emitter, sleep, tryCatch, randomId, equals, now } from "@welshman/lib";
|
|
16
14
|
import { createEvent, NOSTR_CONNECT } from "@welshman/util";
|
|
17
15
|
import { subscribe, publish } from "@welshman/net";
|
|
18
|
-
import {
|
|
16
|
+
import { decrypt, hash, own } from "../util.mjs";
|
|
19
17
|
import { Nip01Signer } from "./nip01.mjs";
|
|
20
18
|
let singleton;
|
|
21
19
|
export class Nip46Broker extends Emitter {
|
|
22
|
-
static get(
|
|
23
|
-
if ((singleton === null || singleton === void 0 ? void 0 : singleton.
|
|
24
|
-
(singleton === null || singleton === void 0 ? void 0 : singleton.secret) !== secret ||
|
|
25
|
-
!equals(singleton === null || singleton === void 0 ? void 0 : singleton.handler, handler) ||
|
|
26
|
-
(singleton === null || singleton === void 0 ? void 0 : singleton.algorithm) !== algorithm) {
|
|
20
|
+
static get(params) {
|
|
21
|
+
if (!(singleton === null || singleton === void 0 ? void 0 : singleton.hasParams(params))) {
|
|
27
22
|
singleton === null || singleton === void 0 ? void 0 : singleton.teardown();
|
|
28
|
-
singleton = new Nip46Broker(
|
|
23
|
+
singleton = new Nip46Broker(params);
|
|
29
24
|
}
|
|
30
25
|
return singleton;
|
|
31
26
|
}
|
|
32
|
-
constructor(
|
|
27
|
+
constructor(params) {
|
|
33
28
|
super();
|
|
34
|
-
this.
|
|
35
|
-
this.secret = secret;
|
|
36
|
-
this.handler = handler;
|
|
37
|
-
this.algorithm = algorithm;
|
|
38
|
-
_Nip46Broker_sub.set(this, void 0);
|
|
29
|
+
this.params = params;
|
|
39
30
|
_Nip46Broker_signer.set(this, void 0);
|
|
40
|
-
|
|
31
|
+
_Nip46Broker_handler.set(this, void 0);
|
|
32
|
+
_Nip46Broker_algorithm.set(this, void 0);
|
|
41
33
|
_Nip46Broker_closed.set(this, false);
|
|
34
|
+
_Nip46Broker_processing.set(this, false);
|
|
42
35
|
_Nip46Broker_connectResult.set(this, void 0);
|
|
43
|
-
this
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"#p": [getPublicKey(hexToBytes(this.secret))],
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
});
|
|
54
|
-
sub.emitter.on("event", async (url, e) => {
|
|
55
|
-
const json = await decrypt(__classPrivateFieldGet(this, _Nip46Broker_signer, "f"), e.pubkey, e.content);
|
|
56
|
-
const res = await tryCatch(() => JSON.parse(json));
|
|
57
|
-
if (!res.id) {
|
|
58
|
-
console.error(`Invalid nostr-connect response: ${json}`);
|
|
59
|
-
}
|
|
60
|
-
if (res.result === "auth_url") {
|
|
61
|
-
this.emit(`auth-${res.id}`, res);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.emit(`res-${res.id}`, res);
|
|
36
|
+
_Nip46Broker_queue.set(this, []);
|
|
37
|
+
_Nip46Broker_sub.set(this, void 0);
|
|
38
|
+
_Nip46Broker_subscribe.set(this, async () => {
|
|
39
|
+
const pubkey = await __classPrivateFieldGet(this, _Nip46Broker_signer, "f").getPubkey();
|
|
40
|
+
return new Promise(resolve => {
|
|
41
|
+
if (__classPrivateFieldGet(this, _Nip46Broker_sub, "f")) {
|
|
42
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").close();
|
|
65
43
|
}
|
|
44
|
+
__classPrivateFieldSet(this, _Nip46Broker_sub, subscribe({
|
|
45
|
+
relays: __classPrivateFieldGet(this, _Nip46Broker_handler, "f").relays,
|
|
46
|
+
filters: [{ since: now() - 30, kinds: [NOSTR_CONNECT], "#p": [pubkey] }],
|
|
47
|
+
}), "f");
|
|
48
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").emitter.on('send', resolve);
|
|
49
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").emitter.on("event", async (url, e) => {
|
|
50
|
+
const json = await decrypt(__classPrivateFieldGet(this, _Nip46Broker_signer, "f"), e.pubkey, e.content);
|
|
51
|
+
const res = await tryCatch(() => JSON.parse(json));
|
|
52
|
+
if (!res.id) {
|
|
53
|
+
console.error(`Invalid nostr-connect response: ${json}`);
|
|
54
|
+
}
|
|
55
|
+
if (res.result === "auth_url") {
|
|
56
|
+
this.emit(`auth-${res.id}`, res);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.emit(`res-${res.id}`, res);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
__classPrivateFieldGet(this, _Nip46Broker_sub, "f").emitter.on("complete", () => {
|
|
63
|
+
__classPrivateFieldSet(this, _Nip46Broker_sub, undefined, "f");
|
|
64
|
+
});
|
|
66
65
|
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
});
|
|
67
|
+
_Nip46Broker_processQueue.set(this, async () => {
|
|
68
|
+
if (__classPrivateFieldGet(this, _Nip46Broker_processing, "f")) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
__classPrivateFieldSet(this, _Nip46Broker_processing, true, "f");
|
|
72
|
+
try {
|
|
73
|
+
while (__classPrivateFieldGet(this, _Nip46Broker_queue, "f").length > 0) {
|
|
74
|
+
const [{ method, params, resolve }] = __classPrivateFieldGet(this, _Nip46Broker_queue, "f").splice(0, 1);
|
|
75
|
+
// Throttle requests to the signer so the user isn't overwhelmed by dialogs, but time
|
|
76
|
+
// out and move on to other requests if they're ignored
|
|
77
|
+
// Note: currenlty throttle is too low to help with dialogs, but blocking prevents
|
|
78
|
+
// important user actions
|
|
79
|
+
await Promise.race([
|
|
80
|
+
this.request(method, params).then(resolve),
|
|
81
|
+
sleep(100),
|
|
82
|
+
]);
|
|
70
83
|
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
__classPrivateFieldSet(this, _Nip46Broker_processing, false, "f");
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
this.request = async (method, params) => {
|
|
90
|
+
if (__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
|
|
91
|
+
throw new Error("Attempted to make a nip46 request with a closed broker");
|
|
92
|
+
}
|
|
93
|
+
if (!__classPrivateFieldGet(this, _Nip46Broker_sub, "f")) {
|
|
94
|
+
await __classPrivateFieldGet(this, _Nip46Broker_subscribe, "f").call(this);
|
|
95
|
+
}
|
|
77
96
|
const id = randomId();
|
|
78
|
-
const
|
|
97
|
+
const recipient = __classPrivateFieldGet(this, _Nip46Broker_handler, "f").pubkey;
|
|
79
98
|
const payload = JSON.stringify({ id, method, params });
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
99
|
+
const content = await __classPrivateFieldGet(this, _Nip46Broker_signer, "f")[__classPrivateFieldGet(this, _Nip46Broker_algorithm, "f")].encrypt(recipient, payload);
|
|
100
|
+
const template = createEvent(NOSTR_CONNECT, { content, tags: [["p", recipient]] });
|
|
101
|
+
publish({
|
|
102
|
+
relays: __classPrivateFieldGet(this, _Nip46Broker_handler, "f").relays,
|
|
103
|
+
event: await __classPrivateFieldGet(this, _Nip46Broker_signer, "f").sign(template),
|
|
104
|
+
});
|
|
85
105
|
this.once(`auth-${id}`, res => {
|
|
86
106
|
window.open(res.error, "Coracle", "width=600,height=800,popup=yes");
|
|
87
107
|
});
|
|
@@ -96,49 +116,64 @@ export class Nip46Broker extends Emitter {
|
|
|
96
116
|
});
|
|
97
117
|
});
|
|
98
118
|
};
|
|
119
|
+
this.enqueue = (method, params) => new Promise(resolve => {
|
|
120
|
+
__classPrivateFieldGet(this, _Nip46Broker_queue, "f").push({ method, params, resolve });
|
|
121
|
+
__classPrivateFieldGet(this, _Nip46Broker_processQueue, "f").call(this);
|
|
122
|
+
});
|
|
99
123
|
this.createAccount = (username, perms = "") => {
|
|
100
|
-
if (!this.
|
|
124
|
+
if (!__classPrivateFieldGet(this, _Nip46Broker_handler, "f").domain) {
|
|
101
125
|
throw new Error("Unable to create an account without a handler domain");
|
|
102
126
|
}
|
|
103
|
-
return this.
|
|
127
|
+
return this.enqueue("create_account", [username, __classPrivateFieldGet(this, _Nip46Broker_handler, "f").domain, "", perms]);
|
|
104
128
|
};
|
|
105
129
|
this.connect = async (token = "", perms = "") => {
|
|
106
130
|
if (!__classPrivateFieldGet(this, _Nip46Broker_connectResult, "f")) {
|
|
107
|
-
const params = [
|
|
108
|
-
__classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.
|
|
131
|
+
const params = ["", token, perms];
|
|
132
|
+
__classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.enqueue("connect", params), "f");
|
|
109
133
|
}
|
|
110
134
|
return __classPrivateFieldGet(this, _Nip46Broker_connectResult, "f") === "ack";
|
|
111
135
|
};
|
|
136
|
+
this.getPublicKey = () => this.enqueue("get_public_key", []);
|
|
112
137
|
this.signEvent = async (event) => {
|
|
113
|
-
return JSON.parse(await this.
|
|
138
|
+
return JSON.parse(await this.enqueue("sign_event", [JSON.stringify(event)]));
|
|
114
139
|
};
|
|
115
140
|
this.nip04Encrypt = (pk, message) => {
|
|
116
|
-
return this.
|
|
141
|
+
return this.enqueue("nip04_encrypt", [pk, message]);
|
|
117
142
|
};
|
|
118
143
|
this.nip04Decrypt = (pk, message) => {
|
|
119
|
-
return this.
|
|
144
|
+
return this.enqueue("nip04_decrypt", [pk, message]);
|
|
120
145
|
};
|
|
121
146
|
this.nip44Encrypt = (pk, message) => {
|
|
122
|
-
return this.
|
|
147
|
+
return this.enqueue("nip44_encrypt", [pk, message]);
|
|
123
148
|
};
|
|
124
149
|
this.nip44Decrypt = (pk, message) => {
|
|
125
|
-
return this.
|
|
150
|
+
return this.enqueue("nip44_decrypt", [pk, message]);
|
|
126
151
|
};
|
|
127
152
|
this.teardown = () => {
|
|
128
153
|
var _a;
|
|
129
154
|
__classPrivateFieldSet(this, _Nip46Broker_closed, true, "f");
|
|
130
155
|
(_a = __classPrivateFieldGet(this, _Nip46Broker_sub, "f")) === null || _a === void 0 ? void 0 : _a.close();
|
|
131
156
|
};
|
|
132
|
-
__classPrivateFieldSet(this,
|
|
133
|
-
__classPrivateFieldSet(this,
|
|
157
|
+
__classPrivateFieldSet(this, _Nip46Broker_handler, params.handler, "f");
|
|
158
|
+
__classPrivateFieldSet(this, _Nip46Broker_algorithm, params.algorithm || 'nip04', "f");
|
|
159
|
+
__classPrivateFieldSet(this, _Nip46Broker_signer, new Nip01Signer(params.secret), "f");
|
|
160
|
+
}
|
|
161
|
+
hasParams(params) {
|
|
162
|
+
return equals(this.params, params);
|
|
134
163
|
}
|
|
135
164
|
}
|
|
136
|
-
|
|
165
|
+
_Nip46Broker_signer = new WeakMap(), _Nip46Broker_handler = new WeakMap(), _Nip46Broker_algorithm = new WeakMap(), _Nip46Broker_closed = new WeakMap(), _Nip46Broker_processing = new WeakMap(), _Nip46Broker_connectResult = new WeakMap(), _Nip46Broker_queue = new WeakMap(), _Nip46Broker_sub = new WeakMap(), _Nip46Broker_subscribe = new WeakMap(), _Nip46Broker_processQueue = new WeakMap();
|
|
137
166
|
export class Nip46Signer {
|
|
138
167
|
constructor(broker) {
|
|
139
168
|
this.broker = broker;
|
|
140
|
-
this
|
|
141
|
-
this.
|
|
169
|
+
_Nip46Signer_pubkey.set(this, void 0);
|
|
170
|
+
this.getPubkey = async () => {
|
|
171
|
+
if (!__classPrivateFieldGet(this, _Nip46Signer_pubkey, "f")) {
|
|
172
|
+
__classPrivateFieldSet(this, _Nip46Signer_pubkey, await this.broker.getPublicKey(), "f");
|
|
173
|
+
}
|
|
174
|
+
return __classPrivateFieldGet(this, _Nip46Signer_pubkey, "f");
|
|
175
|
+
};
|
|
176
|
+
this.sign = async (template) => this.broker.signEvent(hash(own(template, await this.getPubkey())));
|
|
142
177
|
this.nip04 = {
|
|
143
178
|
encrypt: this.broker.nip04Encrypt,
|
|
144
179
|
decrypt: this.broker.nip04Decrypt,
|
|
@@ -149,4 +184,5 @@ export class Nip46Signer {
|
|
|
149
184
|
};
|
|
150
185
|
}
|
|
151
186
|
}
|
|
187
|
+
_Nip46Signer_pubkey = new WeakMap();
|
|
152
188
|
//# sourceMappingURL=nip46.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nip46.mjs","sourceRoot":"","sources":["../../../src/signers/nip46.ts"],"names":[],"mappings":";;;;;;;;;;;;OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"nip46.mjs","sourceRoot":"","sources":["../../../src/signers/nip46.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@welshman/signer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"author": "hodlbod",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A nostr signer implemenation supporting several login methods.",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"typescript": "~5.1.6"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@welshman/lib": "~0.0.
|
|
35
|
-
"@welshman/net": "~0.0.
|
|
36
|
-
"@welshman/util": "~0.0.
|
|
34
|
+
"@welshman/lib": "~0.0.23",
|
|
35
|
+
"@welshman/net": "~0.0.30",
|
|
36
|
+
"@welshman/util": "~0.0.42",
|
|
37
37
|
"nostr-tools": "^2.7.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"nostr-signer-capacitor-plugin": "
|
|
40
|
+
"nostr-signer-capacitor-plugin": "^0.0.3"
|
|
41
41
|
}
|
|
42
42
|
}
|