@welshman/signer 0.0.1 → 0.0.3

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.
Files changed (39) hide show
  1. package/build/src/index.cjs +22 -0
  2. package/build/src/index.cjs.map +1 -0
  3. package/build/src/index.d.ts +4 -4
  4. package/build/src/index.mjs +4 -4
  5. package/build/src/nip59.cjs +76 -0
  6. package/build/src/nip59.cjs.map +1 -0
  7. package/build/src/nip59.d.ts +26 -0
  8. package/build/src/nip59.mjs +66 -0
  9. package/build/src/nip59.mjs.map +1 -0
  10. package/build/src/signers/nip01.cjs +24 -0
  11. package/build/src/signers/nip01.cjs.map +1 -0
  12. package/build/src/signers/{secret.d.ts → nip01.d.ts} +6 -5
  13. package/build/src/signers/{secret.mjs → nip01.mjs} +6 -5
  14. package/build/src/signers/nip01.mjs.map +1 -0
  15. package/build/src/signers/nip07.cjs +50 -0
  16. package/build/src/signers/nip07.cjs.map +1 -0
  17. package/build/src/signers/{extension.d.ts → nip07.d.ts} +6 -6
  18. package/build/src/signers/nip07.mjs +45 -0
  19. package/build/src/signers/nip07.mjs.map +1 -0
  20. package/build/src/signers/nip46.cjs +157 -0
  21. package/build/src/signers/nip46.cjs.map +1 -0
  22. package/build/src/signers/nip46.d.ts +48 -0
  23. package/build/src/signers/nip46.mjs +152 -0
  24. package/build/src/signers/nip46.mjs.map +1 -0
  25. package/build/src/util.cjs +42 -0
  26. package/build/src/util.cjs.map +1 -0
  27. package/build/src/util.d.ts +20 -8
  28. package/build/src/util.mjs +4 -3
  29. package/build/src/util.mjs.map +1 -1
  30. package/package.json +5 -4
  31. package/build/src/signers/connect.d.ts +0 -47
  32. package/build/src/signers/connect.mjs +0 -152
  33. package/build/src/signers/connect.mjs.map +0 -1
  34. package/build/src/signers/extension.mjs +0 -48
  35. package/build/src/signers/extension.mjs.map +0 -1
  36. package/build/src/signers/secret.mjs.map +0 -1
  37. package/build/src/wrapper.d.ts +0 -21
  38. package/build/src/wrapper.mjs +0 -56
  39. package/build/src/wrapper.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"secret.mjs","sourceRoot":"","sources":["../../../src/signers/secret.ts"],"names":[],"mappings":"OACO,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAU;AAE1D,MAAM,OAAO,YAAY;IAGvB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAIlC,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;QAEtB,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;QArBC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;CAqBF"}
@@ -1,21 +0,0 @@
1
- import { UnwrappedEvent, SignedEvent, HashedEvent, EventTemplate } from '@welshman/util';
2
- import { ISigner } from './util';
3
- export type WrapperParams = {
4
- author?: string;
5
- wrap?: {
6
- author: string;
7
- recipient: string;
8
- tags?: string[][];
9
- };
10
- };
11
- export declare class Wrapper {
12
- readonly userSigner: ISigner;
13
- readonly wrapSigner: ISigner;
14
- seen: Map<string, UnwrappedEvent | Error>;
15
- constructor(userSigner: ISigner, wrapSigner: ISigner);
16
- now: (drift?: number) => number;
17
- getSeal: (pk: string, rumor: HashedEvent) => Promise<SignedEvent>;
18
- getWrap: (pk: string, seal: SignedEvent) => Promise<SignedEvent>;
19
- wrap: (pk: string, template: EventTemplate) => Promise<SignedEvent>;
20
- unwrap: (wrap: SignedEvent) => Promise<any>;
21
- }
@@ -1,56 +0,0 @@
1
- import { WRAP, SEAL } from '@welshman/util';
2
- import { own, hash, decrypt } from "./util.mjs";
3
- export class Wrapper {
4
- constructor(userSigner, wrapSigner) {
5
- this.userSigner = userSigner;
6
- this.wrapSigner = wrapSigner;
7
- this.seen = new Map();
8
- this.now = (drift = 0) => Math.round(Date.now() / 1000 - Math.random() * Math.pow(10, drift));
9
- this.getSeal = async (pk, rumor) => this.userSigner.sign(hash({
10
- kind: SEAL,
11
- pubkey: await this.userSigner.getPubkey(),
12
- content: await this.userSigner.nip44.encrypt(pk, JSON.stringify(rumor)),
13
- created_at: this.now(5),
14
- tags: [],
15
- }));
16
- this.getWrap = async (pk, seal) => this.wrapSigner.sign(hash({
17
- kind: WRAP,
18
- pubkey: await this.wrapSigner.getPubkey(),
19
- content: await this.wrapSigner.nip44.encrypt(pk, JSON.stringify(seal)),
20
- created_at: this.now(5),
21
- tags: [["p", pk]],
22
- }));
23
- this.wrap = async (pk, template) => {
24
- const pubkey = await this.userSigner.getPubkey();
25
- const rumor = hash(own(pubkey, template));
26
- const seal = await this.getSeal(pk, rumor);
27
- const wrap = await this.getWrap(pk, seal);
28
- return wrap;
29
- };
30
- this.unwrap = async (wrap) => {
31
- // Avoid decrypting the same event multiple times
32
- if (this.seen.has(wrap.id)) {
33
- const rumorOrError = this.seen.get(wrap.id);
34
- if (rumorOrError instanceof Error) {
35
- throw rumorOrError;
36
- }
37
- else {
38
- return rumorOrError;
39
- }
40
- }
41
- try {
42
- const seal = JSON.parse(await decrypt(this.wrapSigner, wrap.pubkey, wrap.content));
43
- const rumor = JSON.parse(await decrypt(this.wrapSigner, seal.pubkey, seal.content));
44
- if (seal.pubkey !== rumor.pubkey)
45
- throw new Error("Seal pubkey does not match rumor pubkey");
46
- this.seen.set(wrap.id, rumor);
47
- return rumor;
48
- }
49
- catch (error) {
50
- this.seen.set(wrap.id, error);
51
- throw error;
52
- }
53
- };
54
- }
55
- }
56
- //# sourceMappingURL=wrapper.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapper.mjs","sourceRoot":"","sources":["../../src/wrapper.ts"],"names":[],"mappings":"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"}