@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.
@@ -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.getPubkey = async () => this.pubkey;
9
- this.sign = async (event) => (0, util_1.sign)((0, util_1.hash)((0, util_1.own)(event, this.pubkey)), this.secret);
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.pubkey = (0, util_1.getPubkey)(this.secret);
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":";;;AACA,sCAAqF;AAErF,MAAa,WAAW;IAGtB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAQlC,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAA;QAEnC,SAAI,GAAG,KAAK,EAAE,KAAmB,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,IAAA,WAAI,EAAC,IAAA,UAAG,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEtF,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,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtC,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
+ {"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.getPubkey = async () => this.pubkey;
6
- this.sign = async (event) => sign(hash(own(event, this.pubkey)), this.secret);
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.pubkey = getPubkey(this.secret);
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;QAQlC,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAA;QAEnC,SAAI,GAAG,KAAK,EAAE,KAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEtF,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,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtC,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"}
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 _Nip46Broker_sub, _Nip46Broker_signer, _Nip46Broker_ready, _Nip46Broker_closed, _Nip46Broker_connectResult;
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(pubkey, secret, handler, algorithm = "nip04") {
26
- if ((singleton === null || singleton === void 0 ? void 0 : singleton.pubkey) !== pubkey ||
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(pubkey, secret, handler, algorithm);
26
+ singleton = new Nip46Broker(params);
32
27
  }
33
28
  return singleton;
34
29
  }
35
- constructor(pubkey, secret, handler, algorithm) {
30
+ constructor(params) {
36
31
  super();
37
- this.pubkey = pubkey;
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
- _Nip46Broker_ready.set(this, (0, lib_1.sleep)(500));
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.subscribe = () => {
47
- const sub = (0, net_1.subscribe)({
48
- relays: this.handler.relays,
49
- filters: [
50
- {
51
- since: (0, lib_1.now)() - 30,
52
- kinds: [util_1.NOSTR_CONNECT],
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
- sub.emitter.on("complete", () => {
71
- if (!__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
72
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
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
- return sub;
76
- };
77
- this.request = async (method, params, admin = false) => {
78
- // nsecbunker has a race condition
79
- await __classPrivateFieldGet(this, _Nip46Broker_ready, "f");
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 pubkey = admin ? this.handler.pubkey : this.pubkey;
100
+ const recipient = __classPrivateFieldGet(this, _Nip46Broker_handler, "f").pubkey;
82
101
  const payload = JSON.stringify({ id, method, params });
83
- const crypt = this.algorithm === "nip04" ? util_2.nip04 : util_2.nip44;
84
- const content = await crypt.encrypt(pubkey, this.secret, payload);
85
- const template = (0, util_1.createEvent)(util_1.NOSTR_CONNECT, { content, tags: [["p", pubkey]] });
86
- const event = (0, nostr_tools_1.finalizeEvent)(template, this.secret);
87
- (0, net_1.publish)({ event, relays: this.handler.relays });
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.handler.domain) {
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.request("create_account", [username, this.handler.domain, "", perms], true);
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 = [this.pubkey, token, perms];
111
- __classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.request("connect", params), "f");
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.request("sign_event", [JSON.stringify(event)]));
141
+ return JSON.parse(await this.enqueue("sign_event", [JSON.stringify(event)]));
117
142
  };
118
143
  this.nip04Encrypt = (pk, message) => {
119
- return this.request("nip04_encrypt", [pk, message]);
144
+ return this.enqueue("nip04_encrypt", [pk, message]);
120
145
  };
121
146
  this.nip04Decrypt = (pk, message) => {
122
- return this.request("nip04_decrypt", [pk, message]);
147
+ return this.enqueue("nip04_decrypt", [pk, message]);
123
148
  };
124
149
  this.nip44Encrypt = (pk, message) => {
125
- return this.request("nip44_encrypt", [pk, message]);
150
+ return this.enqueue("nip44_encrypt", [pk, message]);
126
151
  };
127
152
  this.nip44Decrypt = (pk, message) => {
128
- return this.request("nip44_decrypt", [pk, message]);
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, _Nip46Broker_signer, new nip01_1.Nip01Signer(secret), "f");
136
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
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
- _Nip46Broker_sub = new WeakMap(), _Nip46Broker_signer = new WeakMap(), _Nip46Broker_ready = new WeakMap(), _Nip46Broker_closed = new WeakMap(), _Nip46Broker_connectResult = new WeakMap();
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.getPubkey = async () => this.broker.pubkey;
145
- this.sign = (template) => this.broker.signEvent((0, util_2.hash)((0, util_2.own)(template, this.broker.pubkey)));
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":"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"}
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 Algorithm = "nip04" | "nip44";
4
+ export type Nip46Algorithm = "nip04" | "nip44";
6
5
  export type Nip46Handler = {
7
6
  relays: string[];
8
- pubkey?: string;
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
- readonly pubkey: string;
19
- readonly secret: string;
20
- readonly handler: Nip46Handler;
21
- readonly algorithm: Algorithm;
22
- static get(pubkey: string, secret: string, handler: Nip46Handler, algorithm?: Algorithm): Nip46Broker;
23
- constructor(pubkey: string, secret: string, handler: Nip46Handler, algorithm: Algorithm);
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 _Nip46Broker_sub, _Nip46Broker_signer, _Nip46Broker_ready, _Nip46Broker_closed, _Nip46Broker_connectResult;
13
- import { finalizeEvent, getPublicKey } from "nostr-tools";
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 { nip04, nip44, decrypt, hash, own } from "../util.mjs";
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(pubkey, secret, handler, algorithm = "nip04") {
23
- if ((singleton === null || singleton === void 0 ? void 0 : singleton.pubkey) !== pubkey ||
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(pubkey, secret, handler, algorithm);
23
+ singleton = new Nip46Broker(params);
29
24
  }
30
25
  return singleton;
31
26
  }
32
- constructor(pubkey, secret, handler, algorithm) {
27
+ constructor(params) {
33
28
  super();
34
- this.pubkey = pubkey;
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
- _Nip46Broker_ready.set(this, sleep(500));
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.subscribe = () => {
44
- const sub = subscribe({
45
- relays: this.handler.relays,
46
- filters: [
47
- {
48
- since: now() - 30,
49
- kinds: [NOSTR_CONNECT],
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
- sub.emitter.on("complete", () => {
68
- if (!__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
69
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
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
- return sub;
73
- };
74
- this.request = async (method, params, admin = false) => {
75
- // nsecbunker has a race condition
76
- await __classPrivateFieldGet(this, _Nip46Broker_ready, "f");
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 pubkey = admin ? this.handler.pubkey : this.pubkey;
97
+ const recipient = __classPrivateFieldGet(this, _Nip46Broker_handler, "f").pubkey;
79
98
  const payload = JSON.stringify({ id, method, params });
80
- const crypt = this.algorithm === "nip04" ? nip04 : nip44;
81
- const content = await crypt.encrypt(pubkey, this.secret, payload);
82
- const template = createEvent(NOSTR_CONNECT, { content, tags: [["p", pubkey]] });
83
- const event = finalizeEvent(template, this.secret);
84
- publish({ event, relays: this.handler.relays });
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.handler.domain) {
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.request("create_account", [username, this.handler.domain, "", perms], true);
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 = [this.pubkey, token, perms];
108
- __classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.request("connect", params), "f");
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.request("sign_event", [JSON.stringify(event)]));
138
+ return JSON.parse(await this.enqueue("sign_event", [JSON.stringify(event)]));
114
139
  };
115
140
  this.nip04Encrypt = (pk, message) => {
116
- return this.request("nip04_encrypt", [pk, message]);
141
+ return this.enqueue("nip04_encrypt", [pk, message]);
117
142
  };
118
143
  this.nip04Decrypt = (pk, message) => {
119
- return this.request("nip04_decrypt", [pk, message]);
144
+ return this.enqueue("nip04_decrypt", [pk, message]);
120
145
  };
121
146
  this.nip44Encrypt = (pk, message) => {
122
- return this.request("nip44_encrypt", [pk, message]);
147
+ return this.enqueue("nip44_encrypt", [pk, message]);
123
148
  };
124
149
  this.nip44Decrypt = (pk, message) => {
125
- return this.request("nip44_decrypt", [pk, message]);
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, _Nip46Broker_signer, new Nip01Signer(secret), "f");
133
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
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
- _Nip46Broker_sub = new WeakMap(), _Nip46Broker_signer = new WeakMap(), _Nip46Broker_ready = new WeakMap(), _Nip46Broker_closed = new WeakMap(), _Nip46Broker_connectResult = new WeakMap();
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.getPubkey = async () => this.broker.pubkey;
141
- this.sign = (template) => this.broker.signEvent(hash(own(template, this.broker.pubkey)));
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":"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"}
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.8",
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.21",
35
- "@welshman/net": "~0.0.25",
36
- "@welshman/util": "~0.0.37",
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": "github:chebizarro/nostr-signer-capacitor-plugin"
40
+ "nostr-signer-capacitor-plugin": "^0.0.3"
41
41
  }
42
42
  }