@welshman/signer 0.0.2 → 0.0.4

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.
@@ -7,7 +7,7 @@ const nip01_1 = require("./signers/nip01.cjs");
7
7
  exports.seen = new Map();
8
8
  const now = (drift = 0) => Math.round(Date.now() / 1000 - Math.random() * Math.pow(10, drift));
9
9
  exports.now = now;
10
- const getRumor = async (signer, template) => (0, util_2.hash)((0, util_2.own)(await signer.getPubkey(), template));
10
+ const getRumor = async (signer, template) => (0, util_2.hash)((0, util_2.own)(template, await signer.getPubkey()));
11
11
  exports.getRumor = getRumor;
12
12
  const getSeal = async (signer, pubkey, rumor) => signer.sign((0, util_2.hash)({
13
13
  kind: util_1.SEAL,
@@ -1 +1 @@
1
- {"version":3,"file":"nip59.cjs","sourceRoot":"","sources":["../../src/nip59.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip59.cjs","sourceRoot":"","sources":["../../src/nip59.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
- import { UnwrappedEvent, SignedEvent, HashedEvent, EventTemplate } from '@welshman/util';
1
+ import { UnwrappedEvent, SignedEvent, HashedEvent, StampedEvent } from '@welshman/util';
2
2
  import { ISigner } from './util';
3
3
  export declare const seen: Map<string, UnwrappedEvent | Error>;
4
4
  export declare const now: (drift?: number) => number;
5
- export declare const getRumor: (signer: ISigner, template: EventTemplate) => Promise<HashedEvent>;
5
+ export declare const getRumor: (signer: ISigner, template: StampedEvent) => Promise<{
6
+ id: string;
7
+ tags: string[][];
8
+ content: string;
9
+ kind: number;
10
+ created_at: number;
11
+ pubkey: string;
12
+ }>;
6
13
  export declare const getSeal: (signer: ISigner, pubkey: string, rumor: HashedEvent) => Promise<SignedEvent>;
7
14
  export declare const getWrap: (wrapper: ISigner, pubkey: string, seal: SignedEvent, tags: string[][]) => Promise<SignedEvent>;
8
- export declare const wrap: (signer: ISigner, wrapper: ISigner, pubkey: string, template: EventTemplate, tags?: string[][]) => Promise<UnwrappedEvent>;
15
+ export declare const wrap: (signer: ISigner, wrapper: ISigner, pubkey: string, template: StampedEvent, tags?: string[][]) => Promise<UnwrappedEvent>;
9
16
  export declare const unwrap: (signer: ISigner, wrap: SignedEvent) => Promise<UnwrappedEvent | undefined>;
10
17
  export declare class Nip59 {
11
18
  private signer;
@@ -14,6 +21,6 @@ export declare class Nip59 {
14
21
  static fromSigner: (signer: ISigner) => Nip59;
15
22
  static fromSecret: (secret: string) => Nip59;
16
23
  withWrapper: (wrapper: ISigner) => Nip59;
17
- wrap: (pubkey: string, template: EventTemplate, tags?: string[][]) => Promise<UnwrappedEvent>;
24
+ wrap: (pubkey: string, template: StampedEvent, tags?: string[][]) => Promise<UnwrappedEvent>;
18
25
  unwrap: (event: SignedEvent) => Promise<UnwrappedEvent | undefined>;
19
26
  }
@@ -3,7 +3,7 @@ import { own, hash, decrypt } from "./util.mjs";
3
3
  import { Nip01Signer } from "./signers/nip01.mjs";
4
4
  export const seen = new Map();
5
5
  export const now = (drift = 0) => Math.round(Date.now() / 1000 - Math.random() * Math.pow(10, drift));
6
- export const getRumor = async (signer, template) => hash(own(await signer.getPubkey(), template));
6
+ export const getRumor = async (signer, template) => hash(own(template, await signer.getPubkey()));
7
7
  export const getSeal = async (signer, pubkey, rumor) => signer.sign(hash({
8
8
  kind: SEAL,
9
9
  pubkey: await signer.getPubkey(),
@@ -1 +1 @@
1
- {"version":3,"file":"nip59.mjs","sourceRoot":"","sources":["../../src/nip59.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip59.mjs","sourceRoot":"","sources":["../../src/nip59.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ class Nip01Signer {
6
6
  constructor(secret) {
7
7
  this.secret = secret;
8
8
  this.getPubkey = async () => this.pubkey;
9
- this.sign = async (event) => (0, util_1.sign)((0, util_1.hash)((0, util_1.own)(this.pubkey, event)), this.secret);
9
+ this.sign = async (event) => (0, util_1.sign)((0, util_1.hash)((0, util_1.own)(event, this.pubkey)), this.secret);
10
10
  this.nip04 = {
11
11
  encrypt: async (pubkey, message) => util_1.nip04.encrypt(pubkey, this.secret, message),
12
12
  decrypt: async (pubkey, message) => util_1.nip04.decrypt(pubkey, this.secret, message),
@@ -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,KAAoB,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,IAAA,WAAI,EAAC,IAAA,UAAG,EAAC,IAAI,CAAC,MAAM,EAAE,KAAK,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,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;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,4 +1,4 @@
1
- import { EventTemplate } from '@welshman/util';
1
+ import { StampedEvent } from '@welshman/util';
2
2
  import { ISigner } from "../util";
3
3
  export declare class Nip01Signer implements ISigner {
4
4
  private secret;
@@ -7,11 +7,11 @@ export declare class Nip01Signer implements ISigner {
7
7
  static fromSecret: (secret: string) => Nip01Signer;
8
8
  static ephemeral: () => Nip01Signer;
9
9
  getPubkey: () => Promise<string>;
10
- sign: (event: EventTemplate) => Promise<{
10
+ sign: (event: StampedEvent) => Promise<{
11
11
  sig: string;
12
- kind: number;
13
12
  tags: string[][];
14
13
  content: string;
14
+ kind: number;
15
15
  created_at: number;
16
16
  pubkey: string;
17
17
  id: string;
@@ -3,7 +3,7 @@ export class Nip01Signer {
3
3
  constructor(secret) {
4
4
  this.secret = secret;
5
5
  this.getPubkey = async () => this.pubkey;
6
- this.sign = async (event) => sign(hash(own(this.pubkey, event)), this.secret);
6
+ this.sign = async (event) => sign(hash(own(event, this.pubkey)), this.secret);
7
7
  this.nip04 = {
8
8
  encrypt: async (pubkey, message) => nip04.encrypt(pubkey, this.secret, message),
9
9
  decrypt: async (pubkey, message) => nip04.decrypt(pubkey, this.secret, message),
@@ -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,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,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,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;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"}
@@ -32,7 +32,7 @@ class Nip07Signer {
32
32
  });
33
33
  this.getPubkey = async () => (0, exports.getNip07)().getPublicKey();
34
34
  this.sign = async (template) => {
35
- const event = (0, util_1.hash)((0, util_1.own)(await this.getPubkey(), template));
35
+ const event = (0, util_1.hash)((0, util_1.own)(template, await this.getPubkey()));
36
36
  return __classPrivateFieldGet(this, _Nip07Signer_then, "f").call(this, ext => ext.signEvent(event));
37
37
  };
38
38
  this.nip04 = {
@@ -1 +1 @@
1
- {"version":3,"file":"nip07.cjs","sourceRoot":"","sources":["../../../src/signers/nip07.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,sCAA0E;AASnE,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAE,MAA0B,CAAC,KAAK,CAAA;AAAlD,QAAA,QAAQ,YAA0C;AAE/D,MAAa,WAAW;IAAxB;QACE,4BAAQ,OAAO,CAAC,OAAO,EAAE,EAAA;QAEzB,4BAAQ,KAAK,EAAK,CAAiC,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,uBAAA,IAAI,yBAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnC,MAAM,GAAG,GAAG,IAAA,gBAAQ,GAAE,CAAA;gBAEtB,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBAEjD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,sBAAsB;YACtB,uBAAA,IAAI,qBAAS,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAA,CAAA;YAE3D,OAAO,OAAO,CAAA;QAChB,CAAC,EAAA;QAED,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,IAAA,gBAAQ,GAAG,CAAC,YAAY,EAAG,CAAA;QAEnD,SAAI,GAAG,KAAK,EAAE,QAAuB,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAA,WAAI,EAAC,IAAA,UAAG,EAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;YAEzD,OAAO,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;IACH,CAAC;CAAA;AAvCD,kCAuCC"}
1
+ {"version":3,"file":"nip07.cjs","sourceRoot":"","sources":["../../../src/signers/nip07.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,sCAA0E;AASnE,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAE,MAA0B,CAAC,KAAK,CAAA;AAAlD,QAAA,QAAQ,YAA0C;AAE/D,MAAa,WAAW;IAAxB;QACE,4BAAQ,OAAO,CAAC,OAAO,EAAE,EAAA;QAEzB,4BAAQ,KAAK,EAAK,CAAiC,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,uBAAA,IAAI,yBAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnC,MAAM,GAAG,GAAG,IAAA,gBAAQ,GAAE,CAAA;gBAEtB,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBAEjD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,sBAAsB;YACtB,uBAAA,IAAI,qBAAS,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAA,CAAA;YAE3D,OAAO,OAAO,CAAA;QAChB,CAAC,EAAA;QAED,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,IAAA,gBAAQ,GAAG,CAAC,YAAY,EAAG,CAAA;QAEnD,SAAI,GAAG,KAAK,EAAE,QAAsB,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,IAAA,WAAI,EAAC,IAAA,UAAG,EAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAEzD,OAAO,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;IACH,CAAC;CAAA;AAvCD,kCAuCC"}
@@ -1,4 +1,4 @@
1
- import { EventTemplate } from '@welshman/util';
1
+ import { StampedEvent } from '@welshman/util';
2
2
  import { Sign, ISigner, EncryptionImplementation } from '../util';
3
3
  export type Nip07 = {
4
4
  signEvent: Sign;
@@ -10,7 +10,7 @@ export declare const getNip07: () => Nip07 | undefined;
10
10
  export declare class Nip07Signer implements ISigner {
11
11
  #private;
12
12
  getPubkey: () => Promise<string>;
13
- sign: (template: EventTemplate) => Promise<import("@welshman/util").SignedEvent>;
13
+ sign: (template: StampedEvent) => Promise<import("@welshman/util").SignedEvent>;
14
14
  nip04: {
15
15
  encrypt: (pubkey: string, message: string) => Promise<string>;
16
16
  decrypt: (pubkey: string, message: string) => Promise<string>;
@@ -28,7 +28,7 @@ export class Nip07Signer {
28
28
  });
29
29
  this.getPubkey = async () => getNip07().getPublicKey();
30
30
  this.sign = async (template) => {
31
- const event = hash(own(await this.getPubkey(), template));
31
+ const event = hash(own(template, await this.getPubkey()));
32
32
  return __classPrivateFieldGet(this, _Nip07Signer_then, "f").call(this, ext => ext.signEvent(event));
33
33
  };
34
34
  this.nip04 = {
@@ -1 +1 @@
1
- {"version":3,"file":"nip07.mjs","sourceRoot":"","sources":["../../../src/signers/nip07.ts"],"names":[],"mappings":";;;;;;;;;;;;OACO,EAAC,IAAI,EAAE,GAAG,EAA0C;AAS3D,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAE,MAA0B,CAAC,KAAK,CAAA;AAE/D,MAAM,OAAO,WAAW;IAAxB;QACE,4BAAQ,OAAO,CAAC,OAAO,EAAE,EAAA;QAEzB,4BAAQ,KAAK,EAAK,CAAiC,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,uBAAA,IAAI,yBAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnC,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAA;gBAEtB,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBAEjD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,sBAAsB;YACtB,uBAAA,IAAI,qBAAS,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAA,CAAA;YAE3D,OAAO,OAAO,CAAA;QAChB,CAAC,EAAA;QAED,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAG,CAAC,YAAY,EAAG,CAAA;QAEnD,SAAI,GAAG,KAAK,EAAE,QAAuB,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;YAEzD,OAAO,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;IACH,CAAC;CAAA"}
1
+ {"version":3,"file":"nip07.mjs","sourceRoot":"","sources":["../../../src/signers/nip07.ts"],"names":[],"mappings":";;;;;;;;;;;;OACO,EAAC,IAAI,EAAE,GAAG,EAA0C;AAS3D,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAE,MAA0B,CAAC,KAAK,CAAA;AAE/D,MAAM,OAAO,WAAW;IAAxB;QACE,4BAAQ,OAAO,CAAC,OAAO,EAAE,EAAA;QAEzB,4BAAQ,KAAK,EAAK,CAAiC,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,uBAAA,IAAI,yBAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnC,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAA;gBAEtB,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBAEjD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,sBAAsB;YACtB,uBAAA,IAAI,qBAAS,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAA,CAAA;YAE3D,OAAO,OAAO,CAAA;QAChB,CAAC,EAAA;QAED,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAG,CAAC,YAAY,EAAG,CAAA;QAEnD,SAAI,GAAG,KAAK,EAAE,QAAsB,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAEzD,OAAO,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAC3C,uBAAA,IAAI,yBAAM,MAAV,IAAI,EAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxD,CAAA;IACH,CAAC;CAAA"}
@@ -21,118 +21,119 @@ const net_1 = require("@welshman/net");
21
21
  const util_2 = require("../util.cjs");
22
22
  const nip01_1 = require("./nip01.cjs");
23
23
  let singleton;
24
- // FIXME set the full list of requested perms
25
- const Perms = "nip04_encrypt,nip04_decrypt,sign_event:0,sign_event:1,sign_event:4,sign_event:6,sign_event:7";
26
24
  class Nip46Broker extends lib_1.Emitter {
27
- static get(pubkey, secret, handler) {
25
+ static get(pubkey, secret, handler, algorithm = "nip04") {
28
26
  if ((singleton === null || singleton === void 0 ? void 0 : singleton.pubkey) !== pubkey ||
29
27
  (singleton === null || singleton === void 0 ? void 0 : singleton.secret) !== secret ||
30
- !(0, lib_1.equals)(singleton === null || singleton === void 0 ? void 0 : singleton.handler, handler)) {
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) {
31
30
  singleton === null || singleton === void 0 ? void 0 : singleton.teardown();
32
- singleton = new Nip46Broker(pubkey, secret, handler);
31
+ singleton = new Nip46Broker(pubkey, secret, handler, algorithm);
33
32
  }
34
33
  return singleton;
35
34
  }
36
- constructor(pubkey, secret, handler) {
35
+ constructor(pubkey, secret, handler, algorithm) {
37
36
  super();
38
37
  this.pubkey = pubkey;
39
38
  this.secret = secret;
40
39
  this.handler = handler;
40
+ this.algorithm = algorithm;
41
41
  _Nip46Broker_sub.set(this, void 0);
42
42
  _Nip46Broker_signer.set(this, void 0);
43
43
  _Nip46Broker_ready.set(this, (0, lib_1.sleep)(500));
44
44
  _Nip46Broker_closed.set(this, false);
45
45
  _Nip46Broker_connectResult.set(this, void 0);
46
- __classPrivateFieldSet(this, _Nip46Broker_signer, new nip01_1.Nip01Signer(secret), "f");
47
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
48
- }
49
- subscribe() {
50
- const sub = (0, net_1.subscribe)({
51
- relays: this.handler.relays,
52
- filters: [
53
- {
54
- since: (0, lib_1.now)() - 30,
55
- kinds: [util_1.NOSTR_CONNECT],
56
- "#p": [(0, nostr_tools_1.getPublicKey)((0, utils_1.hexToBytes)(this.secret))],
57
- },
58
- ],
59
- });
60
- sub.emitter.on("event", async (url, e) => {
61
- const json = await (0, util_2.decrypt)(__classPrivateFieldGet(this, _Nip46Broker_signer, "f"), e.pubkey, e.content);
62
- const res = await (0, lib_1.tryCatch)(() => JSON.parse(json));
63
- if (!res.id) {
64
- console.error(`Invalid nostr-connect response: ${json}`);
65
- }
66
- if (res.result === "auth_url") {
67
- this.emit(`auth-${res.id}`, res);
68
- }
69
- else {
70
- this.emit(`res-${res.id}`, res);
71
- }
72
- });
73
- sub.emitter.on("complete", () => {
74
- if (!__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
75
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
76
- }
77
- });
78
- return sub;
79
- }
80
- async request(method, params, admin = false) {
81
- // nsecbunker has a race condition
82
- await __classPrivateFieldGet(this, _Nip46Broker_ready, "f");
83
- const id = (0, lib_1.randomId)();
84
- const pubkey = admin ? this.handler.pubkey : this.pubkey;
85
- const payload = JSON.stringify({ id, method, params });
86
- const content = await nostr_tools_1.nip04.encrypt(this.secret, pubkey, payload);
87
- const template = (0, util_1.createEvent)(util_1.NOSTR_CONNECT, { content, tags: [["p", pubkey]] });
88
- const event = (0, nostr_tools_1.finalizeEvent)(template, this.secret);
89
- (0, net_1.publish)({ event, relays: this.handler.relays });
90
- this.once(`auth-${id}`, res => {
91
- window.open(res.result, "Coracle", "width=600,height=800,popup=yes");
92
- });
93
- return new Promise((resolve, reject) => {
94
- this.once(`res-${id}`, ({ result, error }) => {
95
- if (error) {
96
- reject(error);
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);
97
65
  }
98
66
  else {
99
- resolve(result);
67
+ this.emit(`res-${res.id}`, res);
100
68
  }
101
69
  });
102
- });
103
- }
104
- createAccount(username) {
105
- if (!this.handler.domain) {
106
- throw new Error("Unable to create an account without a handler domain");
107
- }
108
- return this.request("create_account", [username, this.handler.domain, "", Perms], true);
109
- }
110
- async connect(token = "") {
111
- if (!__classPrivateFieldGet(this, _Nip46Broker_connectResult, "f")) {
112
- const params = [this.pubkey, token, Perms];
113
- __classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.request("connect", params), "f");
114
- }
115
- return __classPrivateFieldGet(this, _Nip46Broker_connectResult, "f") === "ack";
116
- }
117
- async signEvent(event) {
118
- return JSON.parse(await this.request("sign_event", [JSON.stringify(event)]));
119
- }
120
- nip04Encrypt(pk, message) {
121
- return this.request("nip04_encrypt", [pk, message]);
122
- }
123
- nip04Decrypt(pk, message) {
124
- return this.request("nip04_decrypt", [pk, message]);
125
- }
126
- nip44Encrypt(pk, message) {
127
- return this.request("nip44_encrypt", [pk, message]);
128
- }
129
- nip44Decrypt(pk, message) {
130
- return this.request("nip44_decrypt", [pk, message]);
131
- }
132
- teardown() {
133
- var _a;
134
- __classPrivateFieldSet(this, _Nip46Broker_closed, true, "f");
135
- (_a = __classPrivateFieldGet(this, _Nip46Broker_sub, "f")) === null || _a === void 0 ? void 0 : _a.close();
70
+ sub.emitter.on("complete", () => {
71
+ if (!__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
72
+ __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
73
+ }
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");
80
+ const id = (0, lib_1.randomId)();
81
+ const pubkey = admin ? this.handler.pubkey : this.pubkey;
82
+ 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 });
88
+ this.once(`auth-${id}`, res => {
89
+ window.open(res.error, "Coracle", "width=600,height=800,popup=yes");
90
+ });
91
+ return new Promise((resolve, reject) => {
92
+ this.once(`res-${id}`, ({ result, error }) => {
93
+ if (error) {
94
+ reject(error);
95
+ }
96
+ else {
97
+ resolve(result);
98
+ }
99
+ });
100
+ });
101
+ };
102
+ this.createAccount = (username, perms = "") => {
103
+ if (!this.handler.domain) {
104
+ throw new Error("Unable to create an account without a handler domain");
105
+ }
106
+ return this.request("create_account", [username, this.handler.domain, "", perms], true);
107
+ };
108
+ this.connect = async (token = "", perms = "") => {
109
+ if (!__classPrivateFieldGet(this, _Nip46Broker_connectResult, "f")) {
110
+ const params = [this.pubkey, token, perms];
111
+ __classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.request("connect", params), "f");
112
+ }
113
+ return __classPrivateFieldGet(this, _Nip46Broker_connectResult, "f") === "ack";
114
+ };
115
+ this.signEvent = async (event) => {
116
+ return JSON.parse(await this.request("sign_event", [JSON.stringify(event)]));
117
+ };
118
+ this.nip04Encrypt = (pk, message) => {
119
+ return this.request("nip04_encrypt", [pk, message]);
120
+ };
121
+ this.nip04Decrypt = (pk, message) => {
122
+ return this.request("nip04_decrypt", [pk, message]);
123
+ };
124
+ this.nip44Encrypt = (pk, message) => {
125
+ return this.request("nip44_encrypt", [pk, message]);
126
+ };
127
+ this.nip44Decrypt = (pk, message) => {
128
+ return this.request("nip44_decrypt", [pk, message]);
129
+ };
130
+ this.teardown = () => {
131
+ var _a;
132
+ __classPrivateFieldSet(this, _Nip46Broker_closed, true, "f");
133
+ (_a = __classPrivateFieldGet(this, _Nip46Broker_sub, "f")) === null || _a === void 0 ? void 0 : _a.close();
134
+ };
135
+ __classPrivateFieldSet(this, _Nip46Broker_signer, new nip01_1.Nip01Signer(secret), "f");
136
+ __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
136
137
  }
137
138
  }
138
139
  exports.Nip46Broker = Nip46Broker;
@@ -141,7 +142,7 @@ class Nip46Signer {
141
142
  constructor(broker) {
142
143
  this.broker = broker;
143
144
  this.getPubkey = async () => this.broker.pubkey;
144
- this.sign = (event) => this.broker.signEvent(event);
145
+ this.sign = (template) => this.broker.signEvent((0, util_2.hash)((0, util_2.own)(template, this.broker.pubkey)));
145
146
  this.nip04 = {
146
147
  encrypt: this.broker.nip04Encrypt,
147
148
  decrypt: this.broker.nip04Decrypt,
@@ -1 +1 @@
1
- {"version":3,"file":"nip46.cjs","sourceRoot":"","sources":["../../../src/signers/nip46.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA8D;AAC9D,+CAA8C;AAC9C,uCAA6E;AAC7E,yCAAsF;AACtF,uCAA8D;AAC9D,sCAAwC;AACxC,uCAAmC;AAcnC,IAAI,SAAsB,CAAA;AAE1B,6CAA6C;AAC7C,MAAM,KAAK,GACT,8FAA8F,CAAA;AAEhG,MAAa,WAAY,SAAQ,aAAO;IAOtC,MAAM,CAAC,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,OAAqB;QAC9D,IACE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,MAAM;YAC5B,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,MAAM;YAC5B,CAAC,IAAA,YAAM,EAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE,OAAO,CAAC,EACpC;YACA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE,CAAA;YACrB,SAAS,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;SACrD;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,YACW,MAAc,EACd,MAAc,EACd,OAAqB;QAE9B,KAAK,EAAE,CAAA;QAJE,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAc;QAtBhC,mCAAkB;QAClB,sCAAgB;QAChB,6BAAS,IAAA,WAAK,EAAC,GAAG,CAAC,EAAA;QACnB,8BAAU,KAAK,EAAA;QACf,6CAAmB;QAsBjB,uBAAA,IAAI,uBAAW,IAAI,mBAAW,CAAC,MAAM,CAAC,MAAA,CAAA;QACtC,uBAAA,IAAI,oBAAQ,IAAI,CAAC,SAAS,EAAE,MAAA,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC;YACpB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,IAAA,SAAG,GAAE,GAAG,EAAE;oBACjB,KAAK,EAAE,CAAC,oBAAa,CAAC;oBACtB,IAAI,EAAE,CAAC,IAAA,0BAAY,EAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC9C;aACF;SACF,CAAC,CAAA;QAEF,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,CAAe,EAAE,EAAE;YAC7D,MAAM,IAAI,GAAG,MAAM,IAAA,cAAO,EAAC,uBAAA,IAAI,2BAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;YAC7D,MAAM,GAAG,GAAG,MAAM,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAElD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAA;aACzD;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;aACjC;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;aAChC;QACH,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,uBAAA,IAAI,2BAAQ,EAAE;gBACjB,uBAAA,IAAI,oBAAQ,IAAI,CAAC,SAAS,EAAE,MAAA,CAAA;aAC7B;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAAgB,EAAE,KAAK,GAAG,KAAK;QAC3D,kCAAkC;QAClC,MAAM,uBAAA,IAAI,0BAAO,CAAA;QAEjB,MAAM,EAAE,GAAG,IAAA,cAAQ,GAAE,CAAA;QACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,MAAM,mBAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACjE,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,oBAAa,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAC,CAAC,CAAA;QAC7E,MAAM,KAAK,GAAG,IAAA,2BAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAa,CAAC,CAAA;QAEzD,IAAA,aAAO,EAAC,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,CAAC,CAAA;QAE7C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAC,MAAM,EAAE,KAAK,EAAgB,EAAE,EAAE;gBACxD,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,KAAe,CAAC,CAAA;iBACxB;qBAAM;oBACL,OAAO,CAAC,MAAgB,CAAC,CAAA;iBAC1B;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;SACxE;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IACzF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE;QACtB,IAAI,CAAC,uBAAA,IAAI,kCAAe,EAAE;YACxB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAE1C,uBAAA,IAAI,8BAAkB,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAA,CAAA;SAC5D;QAED,OAAO,uBAAA,IAAI,kCAAe,KAAK,KAAK,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAoB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAA;IACxF,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,OAAe;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,OAAe;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,OAAe;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,OAAe;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,QAAQ;;QACN,uBAAA,IAAI,uBAAW,IAAI,MAAA,CAAA;QACnB,MAAA,uBAAA,IAAI,wBAAK,0CAAE,KAAK,EAAE,CAAA;IACpB,CAAC;CACF;AAzID,kCAyIC;;AAED,MAAa,WAAW;IACtB,YAAoB,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAEvC,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAE1C,SAAI,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAE7D,UAAK,GAAG;YACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SAClC,CAAA;QAED,UAAK,GAAG;YACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SAClC,CAAA;IAdyC,CAAC;CAe5C;AAhBD,kCAgBC"}
1
+ {"version":3,"file":"nip46.cjs","sourceRoot":"","sources":["../../../src/signers/nip46.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { Emitter } from "@welshman/lib";
2
- import { EventTemplate } from "@welshman/util";
2
+ import { StampedEvent } from "@welshman/util";
3
3
  import { Subscription } from "@welshman/net";
4
4
  import { ISigner } from '../util';
5
+ export type Algorithm = "nip04" | "nip44";
5
6
  export type Nip46Handler = {
6
7
  relays: string[];
7
8
  pubkey?: string;
@@ -17,24 +18,25 @@ export declare class Nip46Broker extends Emitter {
17
18
  readonly pubkey: string;
18
19
  readonly secret: string;
19
20
  readonly handler: Nip46Handler;
20
- static get(pubkey: string, secret: string, handler: Nip46Handler): Nip46Broker;
21
- constructor(pubkey: string, secret: string, handler: Nip46Handler);
22
- subscribe(): Subscription;
23
- request(method: string, params: string[], admin?: boolean): Promise<string>;
24
- createAccount(username: string): Promise<string>;
25
- connect(token?: string): Promise<boolean>;
26
- signEvent(event: EventTemplate): Promise<any>;
27
- nip04Encrypt(pk: string, message: string): Promise<string>;
28
- nip04Decrypt(pk: string, message: string): Promise<string>;
29
- nip44Encrypt(pk: string, message: string): Promise<string>;
30
- nip44Decrypt(pk: string, message: string): Promise<string>;
31
- teardown(): void;
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>;
26
+ createAccount: (username: string, perms?: string) => Promise<string>;
27
+ connect: (token?: string, perms?: string) => Promise<boolean>;
28
+ signEvent: (event: StampedEvent) => Promise<any>;
29
+ nip04Encrypt: (pk: string, message: string) => Promise<string>;
30
+ nip04Decrypt: (pk: string, message: string) => Promise<string>;
31
+ nip44Encrypt: (pk: string, message: string) => Promise<string>;
32
+ nip44Decrypt: (pk: string, message: string) => Promise<string>;
33
+ teardown: () => void;
32
34
  }
33
35
  export declare class Nip46Signer implements ISigner {
34
36
  private broker;
35
37
  constructor(broker: Nip46Broker);
36
38
  getPubkey: () => Promise<string>;
37
- sign: (event: EventTemplate) => Promise<any>;
39
+ sign: (template: StampedEvent) => Promise<any>;
38
40
  nip04: {
39
41
  encrypt: (pk: string, message: string) => Promise<string>;
40
42
  decrypt: (pk: string, message: string) => Promise<string>;
@@ -10,126 +10,127 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _Nip46Broker_sub, _Nip46Broker_signer, _Nip46Broker_ready, _Nip46Broker_closed, _Nip46Broker_connectResult;
13
- import { nip04, finalizeEvent, getPublicKey } from "nostr-tools";
13
+ import { finalizeEvent, getPublicKey } from "nostr-tools";
14
14
  import { hexToBytes } from '@noble/hashes/utils';
15
15
  import { Emitter, tryCatch, randomId, sleep, equals, now } from "@welshman/lib";
16
16
  import { createEvent, NOSTR_CONNECT } from "@welshman/util";
17
17
  import { subscribe, publish } from "@welshman/net";
18
- import { decrypt } from "../util.mjs";
18
+ import { nip04, nip44, decrypt, hash, own } from "../util.mjs";
19
19
  import { Nip01Signer } from "./nip01.mjs";
20
20
  let singleton;
21
- // FIXME set the full list of requested perms
22
- const Perms = "nip04_encrypt,nip04_decrypt,sign_event:0,sign_event:1,sign_event:4,sign_event:6,sign_event:7";
23
21
  export class Nip46Broker extends Emitter {
24
- static get(pubkey, secret, handler) {
22
+ static get(pubkey, secret, handler, algorithm = "nip04") {
25
23
  if ((singleton === null || singleton === void 0 ? void 0 : singleton.pubkey) !== pubkey ||
26
24
  (singleton === null || singleton === void 0 ? void 0 : singleton.secret) !== secret ||
27
- !equals(singleton === null || singleton === void 0 ? void 0 : singleton.handler, handler)) {
25
+ !equals(singleton === null || singleton === void 0 ? void 0 : singleton.handler, handler) ||
26
+ (singleton === null || singleton === void 0 ? void 0 : singleton.algorithm) !== algorithm) {
28
27
  singleton === null || singleton === void 0 ? void 0 : singleton.teardown();
29
- singleton = new Nip46Broker(pubkey, secret, handler);
28
+ singleton = new Nip46Broker(pubkey, secret, handler, algorithm);
30
29
  }
31
30
  return singleton;
32
31
  }
33
- constructor(pubkey, secret, handler) {
32
+ constructor(pubkey, secret, handler, algorithm) {
34
33
  super();
35
34
  this.pubkey = pubkey;
36
35
  this.secret = secret;
37
36
  this.handler = handler;
37
+ this.algorithm = algorithm;
38
38
  _Nip46Broker_sub.set(this, void 0);
39
39
  _Nip46Broker_signer.set(this, void 0);
40
40
  _Nip46Broker_ready.set(this, sleep(500));
41
41
  _Nip46Broker_closed.set(this, false);
42
42
  _Nip46Broker_connectResult.set(this, void 0);
43
- __classPrivateFieldSet(this, _Nip46Broker_signer, new Nip01Signer(secret), "f");
44
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
45
- }
46
- subscribe() {
47
- const sub = subscribe({
48
- relays: this.handler.relays,
49
- filters: [
50
- {
51
- since: now() - 30,
52
- kinds: [NOSTR_CONNECT],
53
- "#p": [getPublicKey(hexToBytes(this.secret))],
54
- },
55
- ],
56
- });
57
- sub.emitter.on("event", async (url, e) => {
58
- const json = await decrypt(__classPrivateFieldGet(this, _Nip46Broker_signer, "f"), e.pubkey, e.content);
59
- const res = await 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);
68
- }
69
- });
70
- sub.emitter.on("complete", () => {
71
- if (!__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
72
- __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
73
- }
74
- });
75
- return sub;
76
- }
77
- async request(method, params, admin = false) {
78
- // nsecbunker has a race condition
79
- await __classPrivateFieldGet(this, _Nip46Broker_ready, "f");
80
- const id = randomId();
81
- const pubkey = admin ? this.handler.pubkey : this.pubkey;
82
- const payload = JSON.stringify({ id, method, params });
83
- const content = await nip04.encrypt(this.secret, pubkey, payload);
84
- const template = createEvent(NOSTR_CONNECT, { content, tags: [["p", pubkey]] });
85
- const event = finalizeEvent(template, this.secret);
86
- publish({ event, relays: this.handler.relays });
87
- this.once(`auth-${id}`, res => {
88
- window.open(res.result, "Coracle", "width=600,height=800,popup=yes");
89
- });
90
- return new Promise((resolve, reject) => {
91
- this.once(`res-${id}`, ({ result, error }) => {
92
- if (error) {
93
- reject(error);
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);
94
62
  }
95
63
  else {
96
- resolve(result);
64
+ this.emit(`res-${res.id}`, res);
97
65
  }
98
66
  });
99
- });
100
- }
101
- createAccount(username) {
102
- if (!this.handler.domain) {
103
- throw new Error("Unable to create an account without a handler domain");
104
- }
105
- return this.request("create_account", [username, this.handler.domain, "", Perms], true);
106
- }
107
- async connect(token = "") {
108
- if (!__classPrivateFieldGet(this, _Nip46Broker_connectResult, "f")) {
109
- const params = [this.pubkey, token, Perms];
110
- __classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.request("connect", params), "f");
111
- }
112
- return __classPrivateFieldGet(this, _Nip46Broker_connectResult, "f") === "ack";
113
- }
114
- async signEvent(event) {
115
- return JSON.parse(await this.request("sign_event", [JSON.stringify(event)]));
116
- }
117
- nip04Encrypt(pk, message) {
118
- return this.request("nip04_encrypt", [pk, message]);
119
- }
120
- nip04Decrypt(pk, message) {
121
- return this.request("nip04_decrypt", [pk, message]);
122
- }
123
- nip44Encrypt(pk, message) {
124
- return this.request("nip44_encrypt", [pk, message]);
125
- }
126
- nip44Decrypt(pk, message) {
127
- return this.request("nip44_decrypt", [pk, message]);
128
- }
129
- teardown() {
130
- var _a;
131
- __classPrivateFieldSet(this, _Nip46Broker_closed, true, "f");
132
- (_a = __classPrivateFieldGet(this, _Nip46Broker_sub, "f")) === null || _a === void 0 ? void 0 : _a.close();
67
+ sub.emitter.on("complete", () => {
68
+ if (!__classPrivateFieldGet(this, _Nip46Broker_closed, "f")) {
69
+ __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
70
+ }
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");
77
+ const id = randomId();
78
+ const pubkey = admin ? this.handler.pubkey : this.pubkey;
79
+ 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 });
85
+ this.once(`auth-${id}`, res => {
86
+ window.open(res.error, "Coracle", "width=600,height=800,popup=yes");
87
+ });
88
+ return new Promise((resolve, reject) => {
89
+ this.once(`res-${id}`, ({ result, error }) => {
90
+ if (error) {
91
+ reject(error);
92
+ }
93
+ else {
94
+ resolve(result);
95
+ }
96
+ });
97
+ });
98
+ };
99
+ this.createAccount = (username, perms = "") => {
100
+ if (!this.handler.domain) {
101
+ throw new Error("Unable to create an account without a handler domain");
102
+ }
103
+ return this.request("create_account", [username, this.handler.domain, "", perms], true);
104
+ };
105
+ this.connect = async (token = "", perms = "") => {
106
+ if (!__classPrivateFieldGet(this, _Nip46Broker_connectResult, "f")) {
107
+ const params = [this.pubkey, token, perms];
108
+ __classPrivateFieldSet(this, _Nip46Broker_connectResult, await this.request("connect", params), "f");
109
+ }
110
+ return __classPrivateFieldGet(this, _Nip46Broker_connectResult, "f") === "ack";
111
+ };
112
+ this.signEvent = async (event) => {
113
+ return JSON.parse(await this.request("sign_event", [JSON.stringify(event)]));
114
+ };
115
+ this.nip04Encrypt = (pk, message) => {
116
+ return this.request("nip04_encrypt", [pk, message]);
117
+ };
118
+ this.nip04Decrypt = (pk, message) => {
119
+ return this.request("nip04_decrypt", [pk, message]);
120
+ };
121
+ this.nip44Encrypt = (pk, message) => {
122
+ return this.request("nip44_encrypt", [pk, message]);
123
+ };
124
+ this.nip44Decrypt = (pk, message) => {
125
+ return this.request("nip44_decrypt", [pk, message]);
126
+ };
127
+ this.teardown = () => {
128
+ var _a;
129
+ __classPrivateFieldSet(this, _Nip46Broker_closed, true, "f");
130
+ (_a = __classPrivateFieldGet(this, _Nip46Broker_sub, "f")) === null || _a === void 0 ? void 0 : _a.close();
131
+ };
132
+ __classPrivateFieldSet(this, _Nip46Broker_signer, new Nip01Signer(secret), "f");
133
+ __classPrivateFieldSet(this, _Nip46Broker_sub, this.subscribe(), "f");
133
134
  }
134
135
  }
135
136
  _Nip46Broker_sub = new WeakMap(), _Nip46Broker_signer = new WeakMap(), _Nip46Broker_ready = new WeakMap(), _Nip46Broker_closed = new WeakMap(), _Nip46Broker_connectResult = new WeakMap();
@@ -137,7 +138,7 @@ export class Nip46Signer {
137
138
  constructor(broker) {
138
139
  this.broker = broker;
139
140
  this.getPubkey = async () => this.broker.pubkey;
140
- this.sign = (event) => this.broker.signEvent(event);
141
+ this.sign = (template) => this.broker.signEvent(hash(own(template, this.broker.pubkey)));
141
142
  this.nip04 = {
142
143
  encrypt: this.broker.nip04Encrypt,
143
144
  decrypt: this.broker.nip04Decrypt,
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decrypt = exports.nip44 = exports.nip04 = exports.sign = exports.hash = exports.own = exports.getSig = exports.getHash = exports.getPubkey = exports.makeSecret = void 0;
3
+ exports.decrypt = exports.nip44 = exports.nip04 = exports.sign = exports.hash = exports.own = exports.stamp = exports.getSig = exports.getHash = exports.getPubkey = exports.makeSecret = void 0;
4
4
  const secp256k1_1 = require("@noble/curves/secp256k1");
5
5
  const utils_1 = require("@noble/hashes/utils");
6
6
  const nostr_tools_1 = require("nostr-tools");
@@ -13,7 +13,9 @@ const getHash = (event) => (0, nostr_tools_1.getEventHash)(event);
13
13
  exports.getHash = getHash;
14
14
  const getSig = (event, secret) => (0, utils_1.bytesToHex)(secp256k1_1.schnorr.sign(event.id, secret));
15
15
  exports.getSig = getSig;
16
- const own = (pubkey, event) => ({ ...event, pubkey });
16
+ const stamp = (event, created_at = (0, lib_1.now)()) => ({ ...event, created_at });
17
+ exports.stamp = stamp;
18
+ const own = (event, pubkey) => ({ ...event, pubkey });
17
19
  exports.own = own;
18
20
  const hash = (event) => ({ ...event, id: (0, exports.getHash)(event) });
19
21
  exports.hash = hash;
@@ -1 +1 @@
1
- {"version":3,"file":"util.cjs","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;AAAA,uDAA+C;AAC/C,+CAA0D;AAC1D,6CAAuG;AACvG,uCAAoC;AAG7B,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAA,kBAAU,EAAC,IAAA,+BAAiB,GAAE,CAAC,CAAA;AAAlD,QAAA,UAAU,cAAwC;AAExD,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAA,0BAAY,EAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC,CAAA;AAAhE,QAAA,SAAS,aAAuD;AAEtE,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAA,0BAAY,EAAC,KAAK,CAAC,CAAA;AAApD,QAAA,OAAO,WAA6C;AAE1D,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAE,MAAc,EAAE,EAAE,CAC3D,IAAA,kBAAU,EAAC,mBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;AAD/B,QAAA,MAAM,UACyB;AAErC,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,KAAoB,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAC,CAAC,CAAA;AAApE,QAAA,GAAG,OAAiE;AAE1E,MAAM,IAAI,GAAG,CAAC,KAAiB,EAAe,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,EAAE,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,EAAC,CAAC,CAAA;AAA3E,QAAA,IAAI,QAAuE;AAEjF,MAAM,IAAI,GAAG,CAAC,KAAkB,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,GAAG,EAAE,IAAA,cAAM,EAAC,KAAK,EAAE,MAAM,CAAC,EAAC,CAAC,CAAA;AAAvF,QAAA,IAAI,QAAmF;AAEvF,QAAA,KAAK,GAAG;IACnB,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,CAAS,EAAE,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,OAAO,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,CAAS,EAAE,EAAE,CAAE,mBAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACzF,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,eAAe,EAAE,IAAA,YAAM,EAAC;QACtB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAW,EAAE,EAAE,CAAC,mBAAI,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KACvG,CAAC;IACF,OAAO,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,CAAS,EAAE,EAAE,CAAC,mBAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,aAAK,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjH,OAAO,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,CAAS,EAAE,EAAE,CAAC,mBAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,aAAK,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClH,CAAA;AAoBM,MAAM,OAAO,GAAG,KAAK,EAAE,MAAe,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE,CAChF,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IACvC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAH9B,QAAA,OAAO,WAGuB"}
1
+ {"version":3,"file":"util.cjs","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,34 @@
1
- import { SignedEvent, HashedEvent, EventTemplate, OwnedEvent } from '@welshman/util';
1
+ import { SignedEvent, HashedEvent, EventTemplate, StampedEvent, OwnedEvent } from '@welshman/util';
2
2
  export declare const makeSecret: () => string;
3
3
  export declare const getPubkey: (secret: string) => string;
4
4
  export declare const getHash: (event: OwnedEvent) => string;
5
5
  export declare const getSig: (event: HashedEvent, secret: string) => string;
6
- export declare const own: (pubkey: string, event: EventTemplate) => {
6
+ export declare const stamp: (event: EventTemplate, created_at?: number) => {
7
+ created_at: number;
8
+ tags: string[][];
9
+ content: string;
10
+ kind: number;
11
+ };
12
+ export declare const own: (event: StampedEvent, pubkey: string) => {
7
13
  pubkey: string;
14
+ tags: string[][];
15
+ content: string;
8
16
  kind: number;
17
+ created_at: number;
18
+ };
19
+ export declare const hash: (event: OwnedEvent) => {
20
+ id: string;
9
21
  tags: string[][];
10
22
  content: string;
23
+ kind: number;
11
24
  created_at: number;
25
+ pubkey: string;
12
26
  };
13
- export declare const hash: (event: OwnedEvent) => HashedEvent;
14
27
  export declare const sign: (event: HashedEvent, secret: string) => {
15
28
  sig: string;
16
- kind: number;
17
29
  tags: string[][];
18
30
  content: string;
31
+ kind: number;
19
32
  created_at: number;
20
33
  pubkey: string;
21
34
  id: string;
@@ -35,7 +48,7 @@ export declare const nip44: {
35
48
  encrypt: (pubkey: string, secret: string, m: string) => string;
36
49
  decrypt: (pubkey: string, secret: string, m: string) => string;
37
50
  };
38
- export type Sign = (event: EventTemplate) => Promise<SignedEvent>;
51
+ export type Sign = (event: StampedEvent) => Promise<SignedEvent>;
39
52
  export type Encrypt = (pubkey: string, message: string) => Promise<string>;
40
53
  export type Decrypt = (pubkey: string, message: string) => Promise<string>;
41
54
  export type EncryptionImplementation = {
@@ -1,12 +1,13 @@
1
1
  import { schnorr } from '@noble/curves/secp256k1';
2
2
  import { bytesToHex, hexToBytes } from '@noble/hashes/utils';
3
3
  import { nip04 as nt04, nip44 as nt44, generateSecretKey, getPublicKey, getEventHash } from "nostr-tools";
4
- import { cached } from '@welshman/lib';
4
+ import { cached, now } from '@welshman/lib';
5
5
  export const makeSecret = () => bytesToHex(generateSecretKey());
6
6
  export const getPubkey = (secret) => getPublicKey(hexToBytes(secret));
7
7
  export const getHash = (event) => getEventHash(event);
8
8
  export const getSig = (event, secret) => bytesToHex(schnorr.sign(event.id, secret));
9
- export const own = (pubkey, event) => ({ ...event, pubkey });
9
+ export const stamp = (event, created_at = now()) => ({ ...event, created_at });
10
+ export const own = (event, pubkey) => ({ ...event, pubkey });
10
11
  export const hash = (event) => ({ ...event, id: getHash(event) });
11
12
  export const sign = (event, secret) => ({ ...event, sig: getSig(event, secret) });
12
13
  export const nip04 = {
@@ -1 +1 @@
1
- {"version":3,"file":"util.mjs","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.mjs","sourceRoot":"","sources":["../../src/util.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.2",
3
+ "version": "0.0.4",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "A nostr signer implemenation supporting several login methods.",
@@ -31,8 +31,9 @@
31
31
  "typescript": "~5.1.6"
32
32
  },
33
33
  "dependencies": {
34
- "@welshman/lib": "^0.0.13",
35
- "@welshman/net": "^0.0.17",
36
- "@welshman/util": "^0.0.24"
34
+ "@welshman/lib": "0.0.15",
35
+ "@welshman/net": "0.0.20",
36
+ "@welshman/util": "0.0.28",
37
+ "nostr-tools": "^2.7.2"
37
38
  }
38
39
  }