@welshman/store 0.8.16 → 0.9.0-pre2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/src/Tools.d.ts +13 -0
- package/dist/lib/src/Tools.d.ts.map +1 -1
- package/dist/lib/src/Tools.js +30 -1
- package/dist/lib/src/Tools.js.map +1 -1
- package/dist/net/src/adapter.d.ts +2 -2
- package/dist/net/src/adapter.d.ts.map +1 -1
- package/dist/net/src/adapter.js +8 -4
- package/dist/net/src/adapter.js.map +1 -1
- package/dist/net/src/auth.d.ts +1 -1
- package/dist/net/src/auth.d.ts.map +1 -1
- package/dist/net/src/auth.js +3 -3
- package/dist/net/src/auth.js.map +1 -1
- package/dist/net/src/context.d.ts +4 -7
- package/dist/net/src/context.d.ts.map +1 -1
- package/dist/net/src/context.js +1 -9
- package/dist/net/src/context.js.map +1 -1
- package/dist/net/src/message.d.ts +1 -1
- package/dist/net/src/message.d.ts.map +1 -1
- package/dist/net/src/message.js +1 -1
- package/dist/net/src/message.js.map +1 -1
- package/dist/net/src/pool.d.ts +1 -8
- package/dist/net/src/pool.d.ts.map +1 -1
- package/dist/net/src/pool.js +2 -18
- package/dist/net/src/pool.js.map +1 -1
- package/dist/net/src/repository.d.ts +4 -2
- package/dist/net/src/repository.d.ts.map +1 -1
- package/dist/net/src/repository.js +55 -21
- package/dist/net/src/repository.js.map +1 -1
- package/dist/net/src/request.d.ts +2 -3
- package/dist/net/src/request.d.ts.map +1 -1
- package/dist/net/src/request.js +4 -7
- package/dist/net/src/request.js.map +1 -1
- package/dist/net/src/wrapManager.d.ts +1 -0
- package/dist/net/src/wrapManager.d.ts.map +1 -1
- package/dist/net/src/wrapManager.js +5 -1
- package/dist/net/src/wrapManager.js.map +1 -1
- package/dist/store/src/repository.d.ts +17 -0
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +144 -0
- package/dist/store/src/repository.js.map +1 -1
- package/dist/util/src/Events.d.ts +0 -12
- package/dist/util/src/Events.d.ts.map +1 -1
- package/dist/util/src/Events.js +3 -25
- package/dist/util/src/Events.js.map +1 -1
- package/dist/util/src/Handles.d.ts +15 -0
- package/dist/util/src/Handles.d.ts.map +1 -0
- package/dist/util/src/Handles.js +25 -0
- package/dist/util/src/Handles.js.map +1 -0
- package/dist/util/src/Kinds.d.ts +6 -1
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +8 -2
- package/dist/util/src/Kinds.js.map +1 -1
- package/dist/util/src/Lightning.d.ts +6 -0
- package/dist/util/src/Lightning.d.ts.map +1 -0
- package/dist/util/src/Lightning.js +59 -0
- package/dist/util/src/Lightning.js.map +1 -0
- package/dist/util/src/Nip86.d.ts +75 -25
- package/dist/util/src/Nip86.d.ts.map +1 -1
- package/dist/util/src/Nip86.js +169 -24
- package/dist/util/src/Nip86.js.map +1 -1
- package/dist/util/src/Pow.js +2 -2
- package/dist/util/src/Pow.js.map +1 -1
- package/dist/util/src/Pubkey.d.ts.map +1 -1
- package/dist/util/src/Pubkey.js +2 -1
- package/dist/util/src/Pubkey.js.map +1 -1
- package/dist/util/src/Relay.d.ts +0 -29
- package/dist/util/src/Relay.d.ts.map +1 -1
- package/dist/util/src/Relay.js +0 -10
- package/dist/util/src/Relay.js.map +1 -1
- package/dist/util/src/RelaySelection.d.ts +101 -0
- package/dist/util/src/RelaySelection.d.ts.map +1 -0
- package/dist/util/src/RelaySelection.js +98 -0
- package/dist/util/src/RelaySelection.js.map +1 -0
- package/dist/util/src/Tags.d.ts +16 -35
- package/dist/util/src/Tags.d.ts.map +1 -1
- package/dist/util/src/Tags.js +23 -74
- package/dist/util/src/Tags.js.map +1 -1
- package/dist/util/src/Topics.d.ts +2 -0
- package/dist/util/src/Topics.d.ts.map +1 -0
- package/dist/util/src/Topics.js +2 -0
- package/dist/util/src/Topics.js.map +1 -0
- package/dist/util/src/index.d.ts +3 -6
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +3 -6
- package/dist/util/src/index.js.map +1 -1
- package/package.json +7 -7
- package/dist/util/src/Encryptable.d.ts +0 -34
- package/dist/util/src/Encryptable.d.ts.map +0 -1
- package/dist/util/src/Encryptable.js +0 -52
- package/dist/util/src/Encryptable.js.map +0 -1
- package/dist/util/src/Handler.d.ts +0 -17
- package/dist/util/src/Handler.d.ts.map +0 -1
- package/dist/util/src/Handler.js +0 -33
- package/dist/util/src/Handler.js.map +0 -1
- package/dist/util/src/List.d.ts +0 -42
- package/dist/util/src/List.d.ts.map +0 -1
- package/dist/util/src/List.js +0 -86
- package/dist/util/src/List.js.map +0 -1
- package/dist/util/src/Profile.d.ts +0 -26
- package/dist/util/src/Profile.d.ts.map +0 -1
- package/dist/util/src/Profile.js +0 -50
- package/dist/util/src/Profile.js.map +0 -1
- package/dist/util/src/Room.d.ts +0 -63
- package/dist/util/src/Room.d.ts.map +0 -1
- package/dist/util/src/Room.js +0 -94
- package/dist/util/src/Room.js.map +0 -1
- package/dist/util/src/Zaps.d.ts +0 -55
- package/dist/util/src/Zaps.d.ts.map +0 -1
- package/dist/util/src/Zaps.js +0 -135
- package/dist/util/src/Zaps.js.map +0 -1
package/dist/util/src/List.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { RelayMode } from "./Relay.js";
|
|
2
|
-
import { Encryptable, DecryptedEvent } from "./Encryptable.js";
|
|
3
|
-
export type ListParams = {
|
|
4
|
-
kind: number;
|
|
5
|
-
};
|
|
6
|
-
export type List = ListParams & {
|
|
7
|
-
publicTags: string[][];
|
|
8
|
-
privateTags: string[][];
|
|
9
|
-
event?: DecryptedEvent;
|
|
10
|
-
};
|
|
11
|
-
export type PublishedList = Omit<List, "event"> & {
|
|
12
|
-
event: DecryptedEvent;
|
|
13
|
-
};
|
|
14
|
-
export declare const makeList: (list: ListParams & Partial<List>) => List;
|
|
15
|
-
export declare const readList: (event: DecryptedEvent) => PublishedList;
|
|
16
|
-
export declare const getListTags: (list: List | undefined) => string[][];
|
|
17
|
-
export declare const removeFromListByPredicate: (list: List, pred: (t: string[]) => boolean) => Encryptable<{
|
|
18
|
-
kind: number;
|
|
19
|
-
content: string;
|
|
20
|
-
tags: string[][];
|
|
21
|
-
}>;
|
|
22
|
-
export declare const removeFromList: (list: List, value: string) => Encryptable<{
|
|
23
|
-
kind: number;
|
|
24
|
-
content: string;
|
|
25
|
-
tags: string[][];
|
|
26
|
-
}>;
|
|
27
|
-
export declare const addToListPublicly: (list: List, ...tags: string[][]) => Encryptable<{
|
|
28
|
-
kind: number;
|
|
29
|
-
content: string;
|
|
30
|
-
tags: string[][];
|
|
31
|
-
}>;
|
|
32
|
-
export declare const addToListPrivately: (list: List, ...tags: string[][]) => Encryptable<import("./Events.js").EventTemplate>;
|
|
33
|
-
export declare const updateList: (list: List, { publicTags, privateTags }: {
|
|
34
|
-
publicTags?: string[][];
|
|
35
|
-
privateTags?: string[][];
|
|
36
|
-
}) => Encryptable<{
|
|
37
|
-
kind: number;
|
|
38
|
-
content: string;
|
|
39
|
-
tags: string[][];
|
|
40
|
-
}>;
|
|
41
|
-
export declare const getRelaysFromList: (list?: List, mode?: RelayMode) => string[];
|
|
42
|
-
//# sourceMappingURL=List.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../util/src/List.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,SAAS,EAAoB,MAAM,YAAY,CAAA;AACnE,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAG5D,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG;IAC9B,UAAU,EAAE,MAAM,EAAE,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;IAChD,KAAK,EAAE,cAAc,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAG,IAI1D,CAAA;AAaF,eAAO,MAAM,QAAQ,GAAI,OAAO,cAAc,KAAG,aAMhD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,GAAG,SAAS,eAGjD,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,MAAM,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO;;;;EAcnF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,IAAI,EAAE,OAAO,MAAM;;;;EACN,CAAA;AAElD,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,EAAE,GAAG,MAAM,MAAM,EAAE,EAAE;;;;EAQhE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,EAAE,GAAG,MAAM,MAAM,EAAE,EAAE,qDASjE,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,MAAM,IAAI,EACV,6BAA2B;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;CAAC;;;;EAe/E,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,IAAI,EAAE,OAAO,SAAS,KAAG,MAAM,EAQvE,CAAA"}
|
package/dist/util/src/List.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { parseJson, uniq, nthEq } from "@welshman/lib";
|
|
2
|
-
import { Address } from "./Address.js";
|
|
3
|
-
import { uniqTags, getRelayTags } from "./Tags.js";
|
|
4
|
-
import { isRelayUrl, normalizeRelayUrl } from "./Relay.js";
|
|
5
|
-
import { Encryptable } from "./Encryptable.js";
|
|
6
|
-
export const makeList = (list) => ({
|
|
7
|
-
publicTags: [],
|
|
8
|
-
privateTags: [],
|
|
9
|
-
...list,
|
|
10
|
-
});
|
|
11
|
-
const isValidTag = (tag) => {
|
|
12
|
-
if (tag[0] === "p")
|
|
13
|
-
return tag[1]?.length === 64;
|
|
14
|
-
if (tag[0] === "e")
|
|
15
|
-
return tag[1]?.length === 64;
|
|
16
|
-
if (tag[0] === "a")
|
|
17
|
-
return Address.isAddress(tag[1] || "");
|
|
18
|
-
if (tag[0] === "t")
|
|
19
|
-
return tag[1]?.length > 0;
|
|
20
|
-
if (tag[0] === "r")
|
|
21
|
-
return isRelayUrl(tag[1]);
|
|
22
|
-
if (tag[0] === "relay")
|
|
23
|
-
return isRelayUrl(tag[1]);
|
|
24
|
-
return true;
|
|
25
|
-
};
|
|
26
|
-
export const readList = (event) => {
|
|
27
|
-
const getTags = (tags) => (Array.isArray(tags) ? tags.filter(isValidTag) : []);
|
|
28
|
-
const privateTags = getTags(parseJson(event.plaintext?.content) || []);
|
|
29
|
-
const publicTags = getTags(event.tags);
|
|
30
|
-
return { event, kind: event.kind, publicTags, privateTags };
|
|
31
|
-
};
|
|
32
|
-
export const getListTags = (list) => [
|
|
33
|
-
...(list?.publicTags || []),
|
|
34
|
-
...(list?.privateTags || []),
|
|
35
|
-
];
|
|
36
|
-
export const removeFromListByPredicate = (list, pred) => {
|
|
37
|
-
const plaintext = {};
|
|
38
|
-
const template = {
|
|
39
|
-
kind: list.kind,
|
|
40
|
-
content: list.event?.content || "",
|
|
41
|
-
tags: list.publicTags.filter(t => !pred(t)),
|
|
42
|
-
};
|
|
43
|
-
// Avoid redundant encrypt calls if possible
|
|
44
|
-
if (list.privateTags.some(t => pred(t))) {
|
|
45
|
-
plaintext.content = JSON.stringify(list.privateTags.filter(t => !pred(t)));
|
|
46
|
-
}
|
|
47
|
-
return new Encryptable(template, plaintext);
|
|
48
|
-
};
|
|
49
|
-
export const removeFromList = (list, value) => removeFromListByPredicate(list, nthEq(1, value));
|
|
50
|
-
export const addToListPublicly = (list, ...tags) => {
|
|
51
|
-
const template = {
|
|
52
|
-
kind: list.kind,
|
|
53
|
-
content: list.event?.content || "",
|
|
54
|
-
tags: uniqTags([...list.publicTags, ...tags]),
|
|
55
|
-
};
|
|
56
|
-
return new Encryptable(template, {});
|
|
57
|
-
};
|
|
58
|
-
export const addToListPrivately = (list, ...tags) => {
|
|
59
|
-
const template = {
|
|
60
|
-
kind: list.kind,
|
|
61
|
-
tags: list.publicTags,
|
|
62
|
-
};
|
|
63
|
-
return new Encryptable(template, {
|
|
64
|
-
content: JSON.stringify(uniqTags([...list.privateTags, ...tags])),
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
export const updateList = (list, { publicTags, privateTags }) => {
|
|
68
|
-
const template = {
|
|
69
|
-
kind: list.kind,
|
|
70
|
-
content: list.event?.content || "",
|
|
71
|
-
tags: publicTags || list.publicTags,
|
|
72
|
-
};
|
|
73
|
-
const updates = {};
|
|
74
|
-
if (privateTags) {
|
|
75
|
-
updates.content = JSON.stringify(privateTags);
|
|
76
|
-
}
|
|
77
|
-
return new Encryptable(template, updates);
|
|
78
|
-
};
|
|
79
|
-
export const getRelaysFromList = (list, mode) => {
|
|
80
|
-
let tags = getRelayTags(getListTags(list));
|
|
81
|
-
if (mode) {
|
|
82
|
-
tags = tags.filter((t) => !t[2] || t[2] === mode);
|
|
83
|
-
}
|
|
84
|
-
return uniq(tags.map(t => normalizeRelayUrl(t[1])));
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=List.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../util/src/List.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { TrustedEvent, EventTemplate } from "./Events.js";
|
|
2
|
-
export type Profile = {
|
|
3
|
-
name?: string;
|
|
4
|
-
nip05?: string;
|
|
5
|
-
lud06?: string;
|
|
6
|
-
lud16?: string;
|
|
7
|
-
lnurl?: string;
|
|
8
|
-
about?: string;
|
|
9
|
-
banner?: string;
|
|
10
|
-
picture?: string;
|
|
11
|
-
website?: string;
|
|
12
|
-
display_name?: string;
|
|
13
|
-
event?: TrustedEvent;
|
|
14
|
-
};
|
|
15
|
-
export type PublishedProfile = Omit<Profile, "event"> & {
|
|
16
|
-
event: TrustedEvent;
|
|
17
|
-
};
|
|
18
|
-
export declare const isPublishedProfile: (profile: Profile) => profile is PublishedProfile;
|
|
19
|
-
export declare const makeProfile: (profile?: Partial<Profile>) => Profile;
|
|
20
|
-
export declare const readProfile: (event: TrustedEvent) => PublishedProfile;
|
|
21
|
-
export declare const createProfile: ({ event, ...profile }: Profile) => EventTemplate;
|
|
22
|
-
export declare const editProfile: ({ event, ...profile }: PublishedProfile) => EventTemplate;
|
|
23
|
-
export declare const displayPubkey: (pubkey: string) => string;
|
|
24
|
-
export declare const displayProfile: (profile?: Profile, fallback?: string) => string;
|
|
25
|
-
export declare const profileHasName: (profile?: Profile) => boolean;
|
|
26
|
-
//# sourceMappingURL=Profile.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../../../../util/src/Profile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,aAAa,CAAA;AAIvD,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG;IACtD,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,gBACzC,CAAA;AAExB,eAAO,MAAM,WAAW,GAAI,UAAS,OAAO,CAAC,OAAO,CAAM,KAAG,OAkB5D,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,KAAG,gBAGhD,CAAA;AAEF,eAAO,MAAM,aAAa,GAAI,uBAAqB,OAAO,KAAG,aAI3D,CAAA;AAEF,eAAO,MAAM,WAAW,GAAI,uBAAqB,gBAAgB,KAAG,aAIlE,CAAA;AAEF,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,WAI3C,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,OAAO,EAAE,iBAAa,WAQ9D,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,OAAO,YAAoD,CAAA"}
|
package/dist/util/src/Profile.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { npubEncode } from "nostr-tools/nip19";
|
|
2
|
-
import { ellipsize, parseJson } from "@welshman/lib";
|
|
3
|
-
import { getLnUrl } from "./Zaps.js";
|
|
4
|
-
import { PROFILE } from "./Kinds.js";
|
|
5
|
-
export const isPublishedProfile = (profile) => Boolean(profile.event);
|
|
6
|
-
export const makeProfile = (profile = {}) => {
|
|
7
|
-
if (typeof profile.lud06 === "string") {
|
|
8
|
-
const lnurl = getLnUrl(profile.lud06);
|
|
9
|
-
if (lnurl) {
|
|
10
|
-
profile = { ...profile, lnurl };
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
if (typeof profile.lud16 === "string") {
|
|
14
|
-
const lnurl = getLnUrl(profile.lud16);
|
|
15
|
-
if (lnurl) {
|
|
16
|
-
profile = { ...profile, lnurl };
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return profile;
|
|
20
|
-
};
|
|
21
|
-
export const readProfile = (event) => ({
|
|
22
|
-
...makeProfile(parseJson(event.content) || {}),
|
|
23
|
-
event,
|
|
24
|
-
});
|
|
25
|
-
export const createProfile = ({ event, ...profile }) => ({
|
|
26
|
-
kind: PROFILE,
|
|
27
|
-
content: JSON.stringify(profile),
|
|
28
|
-
tags: [],
|
|
29
|
-
});
|
|
30
|
-
export const editProfile = ({ event, ...profile }) => ({
|
|
31
|
-
kind: PROFILE,
|
|
32
|
-
content: JSON.stringify(profile),
|
|
33
|
-
tags: event.tags,
|
|
34
|
-
});
|
|
35
|
-
export const displayPubkey = (pubkey) => {
|
|
36
|
-
const d = npubEncode(pubkey);
|
|
37
|
-
return d.slice(0, 8) + "…" + d.slice(-5);
|
|
38
|
-
};
|
|
39
|
-
export const displayProfile = (profile, fallback = "") => {
|
|
40
|
-
const { display_name, name, event } = profile || {};
|
|
41
|
-
if (name)
|
|
42
|
-
return ellipsize(name, 60).trim();
|
|
43
|
-
if (display_name)
|
|
44
|
-
return ellipsize(display_name, 60).trim();
|
|
45
|
-
if (event)
|
|
46
|
-
return displayPubkey(event.pubkey).trim();
|
|
47
|
-
return fallback.trim();
|
|
48
|
-
};
|
|
49
|
-
export const profileHasName = (profile) => Boolean(profile?.name || profile?.display_name);
|
|
50
|
-
//# sourceMappingURL=Profile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../util/src/Profile.ts"],"names":[],"mappings":"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"}
|
package/dist/util/src/Room.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { TrustedEvent } from "./Events.js";
|
|
2
|
-
export type RoomMeta = {
|
|
3
|
-
h: string;
|
|
4
|
-
name?: string;
|
|
5
|
-
about?: string;
|
|
6
|
-
picture?: string;
|
|
7
|
-
pictureMeta?: string[];
|
|
8
|
-
isClosed?: boolean;
|
|
9
|
-
isHidden?: boolean;
|
|
10
|
-
isPrivate?: boolean;
|
|
11
|
-
isRestricted?: boolean;
|
|
12
|
-
livekit?: boolean;
|
|
13
|
-
event?: TrustedEvent;
|
|
14
|
-
};
|
|
15
|
-
export type PublishedRoomMeta = Omit<RoomMeta, "event"> & {
|
|
16
|
-
event: TrustedEvent;
|
|
17
|
-
};
|
|
18
|
-
export declare const generateH: () => string;
|
|
19
|
-
export declare const makeRoomMeta: (room?: Partial<RoomMeta>) => RoomMeta;
|
|
20
|
-
export declare const readRoomMeta: (event: TrustedEvent) => PublishedRoomMeta;
|
|
21
|
-
export declare const makeRoomCreateEvent: (room: RoomMeta) => {
|
|
22
|
-
kind: number;
|
|
23
|
-
content: string;
|
|
24
|
-
tags: string[][];
|
|
25
|
-
created_at: number;
|
|
26
|
-
};
|
|
27
|
-
export declare const makeRoomDeleteEvent: (room: RoomMeta) => {
|
|
28
|
-
kind: number;
|
|
29
|
-
content: string;
|
|
30
|
-
tags: string[][];
|
|
31
|
-
created_at: number;
|
|
32
|
-
};
|
|
33
|
-
export declare const makeRoomEditEvent: (room: RoomMeta) => {
|
|
34
|
-
kind: number;
|
|
35
|
-
content: string;
|
|
36
|
-
tags: string[][];
|
|
37
|
-
created_at: number;
|
|
38
|
-
};
|
|
39
|
-
export declare const makeRoomJoinEvent: (room: RoomMeta) => {
|
|
40
|
-
kind: number;
|
|
41
|
-
content: string;
|
|
42
|
-
tags: string[][];
|
|
43
|
-
created_at: number;
|
|
44
|
-
};
|
|
45
|
-
export declare const makeRoomLeaveEvent: (room: RoomMeta) => {
|
|
46
|
-
kind: number;
|
|
47
|
-
content: string;
|
|
48
|
-
tags: string[][];
|
|
49
|
-
created_at: number;
|
|
50
|
-
};
|
|
51
|
-
export declare const makeRoomAddMemberEvent: (room: RoomMeta, pubkey: string) => {
|
|
52
|
-
kind: number;
|
|
53
|
-
content: string;
|
|
54
|
-
tags: string[][];
|
|
55
|
-
created_at: number;
|
|
56
|
-
};
|
|
57
|
-
export declare const makeRoomRemoveMemberEvent: (room: RoomMeta, pubkey: string) => {
|
|
58
|
-
kind: number;
|
|
59
|
-
content: string;
|
|
60
|
-
tags: string[][];
|
|
61
|
-
created_at: number;
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=Room.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../../util/src/Room.ts"],"names":[],"mappings":"AAWA,OAAO,EAAY,YAAY,EAAgB,MAAM,aAAa,CAAA;AAGlE,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,EAAE,MAAM,CAAA;IACT,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG;IACxD,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AASD,eAAO,MAAM,SAAS,cAcrB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAM,OAAO,CAAC,QAAQ,CAAM,KAAG,QAK3D,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,iBAwBlD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM,QAAQ;;;;;CACD,CAAA;AAEjD,eAAO,MAAM,mBAAmB,GAAI,MAAM,QAAQ;;;;;CACD,CAAA;AAEjD,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ;;;;;CAgC/C,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ;;;;;CAAkD,CAAA;AAElG,eAAO,MAAM,kBAAkB,GAAI,MAAM,QAAQ;;;;;CAAmD,CAAA;AAEpG,eAAO,MAAM,sBAAsB,GAAI,MAAM,QAAQ,EAAE,QAAQ,MAAM;;;;;CAMjE,CAAA;AAEJ,eAAO,MAAM,yBAAyB,GAAI,MAAM,QAAQ,EAAE,QAAQ,MAAM;;;;;CAMpE,CAAA"}
|
package/dist/util/src/Room.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { spec } from "@welshman/lib";
|
|
2
|
-
import { ROOM_META, ROOM_DELETE, ROOM_CREATE, ROOM_EDIT_META, ROOM_JOIN, ROOM_LEAVE, ROOM_ADD_MEMBER, ROOM_REMOVE_MEMBER, } from "./Kinds.js";
|
|
3
|
-
import { makeEvent, getIdentifier } from "./Events.js";
|
|
4
|
-
import { getTag, getTagValue } from "./Tags.js";
|
|
5
|
-
const vowels = "a,e,i,o,u,ay,ey,oy,ou,ia,ea,ough,oo,ee,argh".split(",");
|
|
6
|
-
const consonants = "p,b,t,d,k,g,ch,sh,th,f,v,s,z,l,r,m,n,pl,bl,cl,gl,pr,br,tr,dr,kr,gr,fl,sl,fr,thr,str,sk,sp,st".split(",");
|
|
7
|
-
export const generateH = () => {
|
|
8
|
-
const n = (6 + Math.random() * 2) | 0;
|
|
9
|
-
const s = [consonants, vowels];
|
|
10
|
-
if (Math.random() < 0.5) {
|
|
11
|
-
s.reverse();
|
|
12
|
-
}
|
|
13
|
-
return (Array.from({ length: n }, (_, i) => s[i % 2].splice((Math.random() * s[i % 2].length) | 0, 1)).join("") +
|
|
14
|
-
(1 + Math.floor(Math.random() * 9)));
|
|
15
|
-
};
|
|
16
|
-
export const makeRoomMeta = (room = {}) => {
|
|
17
|
-
return {
|
|
18
|
-
h: room.h ?? generateH(),
|
|
19
|
-
...room,
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
export const readRoomMeta = (event) => {
|
|
23
|
-
if (event.kind !== ROOM_META) {
|
|
24
|
-
throw new Error("Invalid group meta event");
|
|
25
|
-
}
|
|
26
|
-
const h = getIdentifier(event);
|
|
27
|
-
if (!h) {
|
|
28
|
-
throw new Error("Group meta event had no d tag");
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
h,
|
|
32
|
-
event,
|
|
33
|
-
name: getTagValue("name", event.tags),
|
|
34
|
-
about: getTagValue("about", event.tags),
|
|
35
|
-
picture: getTagValue("picture", event.tags),
|
|
36
|
-
pictureMeta: getTag("picture", event.tags)?.slice(2),
|
|
37
|
-
isClosed: event.tags.some(spec(["closed"])),
|
|
38
|
-
isHidden: event.tags.some(spec(["hidden"])),
|
|
39
|
-
isPrivate: event.tags.some(spec(["private"])),
|
|
40
|
-
isRestricted: event.tags.some(spec(["restricted"])),
|
|
41
|
-
livekit: event.tags.some(spec(["livekit"])),
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
export const makeRoomCreateEvent = (room) => makeEvent(ROOM_CREATE, { tags: [["h", room.h]] });
|
|
45
|
-
export const makeRoomDeleteEvent = (room) => makeEvent(ROOM_DELETE, { tags: [["h", room.h]] });
|
|
46
|
-
export const makeRoomEditEvent = (room) => {
|
|
47
|
-
const tags = [["h", room.h]];
|
|
48
|
-
if (room.name)
|
|
49
|
-
tags.push(["name", room.name]);
|
|
50
|
-
if (room.about)
|
|
51
|
-
tags.push(["about", room.about]);
|
|
52
|
-
if (room.picture) {
|
|
53
|
-
const tag = ["picture", room.picture];
|
|
54
|
-
if (room.pictureMeta) {
|
|
55
|
-
tag.push(...room.pictureMeta);
|
|
56
|
-
}
|
|
57
|
-
tags.push(tag);
|
|
58
|
-
}
|
|
59
|
-
if (room.isClosed)
|
|
60
|
-
tags.push(["closed"]);
|
|
61
|
-
if (room.isHidden)
|
|
62
|
-
tags.push(["hidden"]);
|
|
63
|
-
if (room.isPrivate)
|
|
64
|
-
tags.push(["private"]);
|
|
65
|
-
if (room.isRestricted)
|
|
66
|
-
tags.push(["restricted"]);
|
|
67
|
-
if (room.livekit)
|
|
68
|
-
tags.push(["livekit"]);
|
|
69
|
-
if (room.event) {
|
|
70
|
-
for (const t of room.event.tags) {
|
|
71
|
-
if (tags.some(spec(t.slice(0, 1))))
|
|
72
|
-
continue;
|
|
73
|
-
if (["closed", "hidden", "private", "restricted", "livekit"].includes(t[0]))
|
|
74
|
-
continue;
|
|
75
|
-
tags.push(t);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return makeEvent(ROOM_EDIT_META, { tags });
|
|
79
|
-
};
|
|
80
|
-
export const makeRoomJoinEvent = (room) => makeEvent(ROOM_JOIN, { tags: [["h", room.h]] });
|
|
81
|
-
export const makeRoomLeaveEvent = (room) => makeEvent(ROOM_LEAVE, { tags: [["h", room.h]] });
|
|
82
|
-
export const makeRoomAddMemberEvent = (room, pubkey) => makeEvent(ROOM_ADD_MEMBER, {
|
|
83
|
-
tags: [
|
|
84
|
-
["h", room.h],
|
|
85
|
-
["p", pubkey],
|
|
86
|
-
],
|
|
87
|
-
});
|
|
88
|
-
export const makeRoomRemoveMemberEvent = (room, pubkey) => makeEvent(ROOM_REMOVE_MEMBER, {
|
|
89
|
-
tags: [
|
|
90
|
-
["h", room.h],
|
|
91
|
-
["p", pubkey],
|
|
92
|
-
],
|
|
93
|
-
});
|
|
94
|
-
//# sourceMappingURL=Room.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Room.js","sourceRoot":"","sources":["../../../../util/src/Room.ts"],"names":[],"mappings":"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"}
|
package/dist/util/src/Zaps.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { Filter } from "./Filters.js";
|
|
2
|
-
import type { TrustedEvent, SignedEvent } from "./Events.js";
|
|
3
|
-
export declare const toMsats: (sats: number) => number;
|
|
4
|
-
export declare const fromMsats: (msats: number) => number;
|
|
5
|
-
export declare const hrpToMillisat: (hrpString: string) => bigint;
|
|
6
|
-
export declare const getInvoiceAmount: (bolt11: string) => number;
|
|
7
|
-
export declare const getLnUrl: (address: string) => string | undefined;
|
|
8
|
-
export type Zapper = {
|
|
9
|
-
lnurl: string;
|
|
10
|
-
pubkey?: string;
|
|
11
|
-
callback?: string;
|
|
12
|
-
minSendable?: number;
|
|
13
|
-
maxSendable?: number;
|
|
14
|
-
nostrPubkey?: string;
|
|
15
|
-
allowsNostr?: boolean;
|
|
16
|
-
};
|
|
17
|
-
export type Zap = {
|
|
18
|
-
request: TrustedEvent;
|
|
19
|
-
response: TrustedEvent;
|
|
20
|
-
invoiceAmount: number;
|
|
21
|
-
};
|
|
22
|
-
export declare const zapFromEvent: (response: TrustedEvent, zapper: Zapper | undefined) => Zap | undefined;
|
|
23
|
-
export type ZapRequestParams = {
|
|
24
|
-
msats: number;
|
|
25
|
-
zapper: Zapper;
|
|
26
|
-
pubkey: string;
|
|
27
|
-
relays: string[];
|
|
28
|
-
content?: string;
|
|
29
|
-
eventId?: string;
|
|
30
|
-
anonymous?: boolean;
|
|
31
|
-
};
|
|
32
|
-
export declare const makeZapRequest: ({ msats, zapper, pubkey, relays, content, eventId, anonymous, }: ZapRequestParams) => {
|
|
33
|
-
kind: number;
|
|
34
|
-
content: string;
|
|
35
|
-
tags: string[][];
|
|
36
|
-
created_at: number;
|
|
37
|
-
};
|
|
38
|
-
export type RequestInvoiceParams = {
|
|
39
|
-
zapper: Zapper;
|
|
40
|
-
event: SignedEvent;
|
|
41
|
-
};
|
|
42
|
-
export declare const requestZap: ({ zapper, event }: RequestInvoiceParams) => Promise<{
|
|
43
|
-
invoice: any;
|
|
44
|
-
error?: undefined;
|
|
45
|
-
} | {
|
|
46
|
-
error: any;
|
|
47
|
-
invoice?: undefined;
|
|
48
|
-
}>;
|
|
49
|
-
export type ZapResponseFilterParams = {
|
|
50
|
-
zapper: Zapper;
|
|
51
|
-
pubkey: string;
|
|
52
|
-
eventId?: string;
|
|
53
|
-
};
|
|
54
|
-
export declare const getZapResponseFilter: ({ zapper, pubkey, eventId }: ZapResponseFilterParams) => Filter;
|
|
55
|
-
//# sourceMappingURL=Zaps.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Zaps.d.ts","sourceRoot":"","sources":["../../../../util/src/Zaps.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,aAAa,CAAA;AAc1D,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,WAAgB,CAAA;AAEpD,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,WAA6B,CAAA;AAEpE,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,WA2B9C,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,WAI9C,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,uBAqBvC,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,GAAG,GAAG;IAChB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,UAAU,YAAY,EAAE,QAAQ,MAAM,GAAG,SAAS,oBA0C9E,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,iEAQ5B,gBAAgB;;;;;CAiBlB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,UAAU,GAAU,mBAAiB,oBAAoB;;;;;;EAOrE,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,6BAA2B,uBAAuB,WAiBtF,CAAA"}
|
package/dist/util/src/Zaps.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { now, tryCatch, fetchJson, hexToBech32, fromPairs } from "@welshman/lib";
|
|
2
|
-
import { ZAP_RESPONSE, ZAP_REQUEST } from "./Kinds.js";
|
|
3
|
-
import { getTagValue } from "./Tags.js";
|
|
4
|
-
import { makeEvent } from "./Events.js";
|
|
5
|
-
const DIVISORS = {
|
|
6
|
-
m: BigInt(1e3),
|
|
7
|
-
u: BigInt(1e6),
|
|
8
|
-
n: BigInt(1e9),
|
|
9
|
-
p: BigInt(1e12),
|
|
10
|
-
};
|
|
11
|
-
const MAX_MILLISATS = BigInt("2100000000000000000");
|
|
12
|
-
const MILLISATS_PER_BTC = BigInt(1e11);
|
|
13
|
-
export const toMsats = (sats) => sats * 1000;
|
|
14
|
-
export const fromMsats = (msats) => Math.floor(msats / 1000);
|
|
15
|
-
export const hrpToMillisat = (hrpString) => {
|
|
16
|
-
let divisor, value;
|
|
17
|
-
if (hrpString.slice(-1).match(/^[munp]$/)) {
|
|
18
|
-
divisor = hrpString.slice(-1);
|
|
19
|
-
value = hrpString.slice(0, -1);
|
|
20
|
-
}
|
|
21
|
-
else if (hrpString.slice(-1).match(/^[^munp0-9]$/)) {
|
|
22
|
-
throw new Error("Not a valid multiplier for the amount");
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
value = hrpString;
|
|
26
|
-
}
|
|
27
|
-
if (!value.match(/^\d+$/))
|
|
28
|
-
throw new Error("Not a valid human readable amount");
|
|
29
|
-
const valueBN = BigInt(value);
|
|
30
|
-
const millisatoshisBN = divisor
|
|
31
|
-
? (valueBN * MILLISATS_PER_BTC) / DIVISORS[divisor]
|
|
32
|
-
: valueBN * MILLISATS_PER_BTC;
|
|
33
|
-
if ((divisor === "p" && !(valueBN % BigInt(10) === BigInt(0))) ||
|
|
34
|
-
millisatoshisBN > MAX_MILLISATS) {
|
|
35
|
-
throw new Error("Amount is outside of valid range");
|
|
36
|
-
}
|
|
37
|
-
return millisatoshisBN;
|
|
38
|
-
};
|
|
39
|
-
export const getInvoiceAmount = (bolt11) => {
|
|
40
|
-
const hrp = bolt11.match(/lnbc(\d+\w)/);
|
|
41
|
-
const bn = hrpToMillisat(hrp[1]);
|
|
42
|
-
return Number(bn);
|
|
43
|
-
};
|
|
44
|
-
export const getLnUrl = (address) => {
|
|
45
|
-
address = address.toLowerCase();
|
|
46
|
-
// If it's already a lud06 we're good
|
|
47
|
-
if (address.startsWith("lnurl1")) {
|
|
48
|
-
return address;
|
|
49
|
-
}
|
|
50
|
-
// If it's a regular url, encode it
|
|
51
|
-
if (address.includes("://")) {
|
|
52
|
-
return hexToBech32("lnurl", address);
|
|
53
|
-
}
|
|
54
|
-
// Try to parse it as a lud16 address
|
|
55
|
-
if (address.includes("@")) {
|
|
56
|
-
const [name, domain] = address.split("@");
|
|
57
|
-
if (domain && name) {
|
|
58
|
-
return hexToBech32("lnurl", `https://${domain}/.well-known/lnurlp/${name}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
export const zapFromEvent = (response, zapper) => {
|
|
63
|
-
const responseMeta = fromPairs(response.tags);
|
|
64
|
-
let zap;
|
|
65
|
-
try {
|
|
66
|
-
zap = {
|
|
67
|
-
response,
|
|
68
|
-
invoiceAmount: getInvoiceAmount(responseMeta.bolt11),
|
|
69
|
-
request: JSON.parse(responseMeta.description),
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
catch (e) {
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
// Don't count zaps that the user requested for himself
|
|
76
|
-
if (zap.request.pubkey === zapper?.pubkey) {
|
|
77
|
-
return undefined;
|
|
78
|
-
}
|
|
79
|
-
const { amount, lnurl } = fromPairs(zap.request.tags);
|
|
80
|
-
// Verify that the zapper actually sent the requested amount (if it was supplied)
|
|
81
|
-
if (amount && parseInt(amount) !== zap.invoiceAmount) {
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
// If the recipient and the zapper are the same person, it's legit
|
|
85
|
-
if (responseMeta.p === response.pubkey) {
|
|
86
|
-
return zap;
|
|
87
|
-
}
|
|
88
|
-
// If the sending client provided an lnurl tag, verify that too
|
|
89
|
-
if (lnurl && lnurl !== zapper?.lnurl) {
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
// Verify that the request actually came from the recipient's zapper
|
|
93
|
-
if (zap.response.pubkey !== zapper?.nostrPubkey) {
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
return zap;
|
|
97
|
-
};
|
|
98
|
-
export const makeZapRequest = ({ msats, zapper, pubkey, relays, content = "", eventId, anonymous, }) => {
|
|
99
|
-
const tags = [
|
|
100
|
-
["relays", ...relays],
|
|
101
|
-
["amount", String(msats)],
|
|
102
|
-
["lnurl", zapper.lnurl],
|
|
103
|
-
["p", pubkey],
|
|
104
|
-
];
|
|
105
|
-
if (eventId) {
|
|
106
|
-
tags.push(["e", eventId]);
|
|
107
|
-
}
|
|
108
|
-
if (anonymous) {
|
|
109
|
-
tags.push(["anon"]);
|
|
110
|
-
}
|
|
111
|
-
return makeEvent(ZAP_REQUEST, { content, tags });
|
|
112
|
-
};
|
|
113
|
-
export const requestZap = async ({ zapper, event }) => {
|
|
114
|
-
const zapString = encodeURI(JSON.stringify(event));
|
|
115
|
-
const msats = parseInt(getTagValue("amount", event.tags));
|
|
116
|
-
const qs = `?amount=${msats}&nostr=${zapString}&lnurl=${zapper.lnurl}`;
|
|
117
|
-
const res = await tryCatch(() => fetchJson(zapper.callback + qs));
|
|
118
|
-
return res?.pr ? { invoice: res.pr } : { error: res.reason || "Failed to request invoice" };
|
|
119
|
-
};
|
|
120
|
-
export const getZapResponseFilter = ({ zapper, pubkey, eventId }) => {
|
|
121
|
-
if (!zapper.nostrPubkey) {
|
|
122
|
-
throw new Error("Zapper did not have a nostr pubkey");
|
|
123
|
-
}
|
|
124
|
-
const filter = {
|
|
125
|
-
kinds: [ZAP_RESPONSE],
|
|
126
|
-
authors: [zapper.nostrPubkey],
|
|
127
|
-
since: now() - 30,
|
|
128
|
-
"#p": [pubkey],
|
|
129
|
-
};
|
|
130
|
-
if (eventId) {
|
|
131
|
-
filter["#e"] = [eventId];
|
|
132
|
-
}
|
|
133
|
-
return filter;
|
|
134
|
-
};
|
|
135
|
-
//# sourceMappingURL=Zaps.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Zaps.js","sourceRoot":"","sources":["../../../../util/src/Zaps.ts"],"names":[],"mappings":"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"}
|