@welshman/net 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.
Files changed (106) hide show
  1. package/dist/lib/src/Tools.d.ts +13 -0
  2. package/dist/lib/src/Tools.d.ts.map +1 -1
  3. package/dist/lib/src/Tools.js +30 -1
  4. package/dist/lib/src/Tools.js.map +1 -1
  5. package/dist/net/src/adapter.d.ts +2 -2
  6. package/dist/net/src/adapter.d.ts.map +1 -1
  7. package/dist/net/src/adapter.js +8 -4
  8. package/dist/net/src/adapter.js.map +1 -1
  9. package/dist/net/src/auth.d.ts +1 -1
  10. package/dist/net/src/auth.d.ts.map +1 -1
  11. package/dist/net/src/auth.js +3 -3
  12. package/dist/net/src/auth.js.map +1 -1
  13. package/dist/net/src/context.d.ts +4 -7
  14. package/dist/net/src/context.d.ts.map +1 -1
  15. package/dist/net/src/context.js +1 -9
  16. package/dist/net/src/context.js.map +1 -1
  17. package/dist/net/src/message.d.ts +1 -1
  18. package/dist/net/src/message.d.ts.map +1 -1
  19. package/dist/net/src/message.js +1 -1
  20. package/dist/net/src/message.js.map +1 -1
  21. package/dist/net/src/pool.d.ts +1 -8
  22. package/dist/net/src/pool.d.ts.map +1 -1
  23. package/dist/net/src/pool.js +2 -18
  24. package/dist/net/src/pool.js.map +1 -1
  25. package/dist/net/src/repository.d.ts +4 -2
  26. package/dist/net/src/repository.d.ts.map +1 -1
  27. package/dist/net/src/repository.js +55 -21
  28. package/dist/net/src/repository.js.map +1 -1
  29. package/dist/net/src/request.d.ts +2 -3
  30. package/dist/net/src/request.d.ts.map +1 -1
  31. package/dist/net/src/request.js +4 -7
  32. package/dist/net/src/request.js.map +1 -1
  33. package/dist/net/src/wrapManager.d.ts +1 -0
  34. package/dist/net/src/wrapManager.d.ts.map +1 -1
  35. package/dist/net/src/wrapManager.js +5 -1
  36. package/dist/net/src/wrapManager.js.map +1 -1
  37. package/dist/util/src/Events.d.ts +0 -12
  38. package/dist/util/src/Events.d.ts.map +1 -1
  39. package/dist/util/src/Events.js +3 -25
  40. package/dist/util/src/Events.js.map +1 -1
  41. package/dist/util/src/Handles.d.ts +15 -0
  42. package/dist/util/src/Handles.d.ts.map +1 -0
  43. package/dist/util/src/Handles.js +25 -0
  44. package/dist/util/src/Handles.js.map +1 -0
  45. package/dist/util/src/Kinds.d.ts +6 -1
  46. package/dist/util/src/Kinds.d.ts.map +1 -1
  47. package/dist/util/src/Kinds.js +8 -2
  48. package/dist/util/src/Kinds.js.map +1 -1
  49. package/dist/util/src/Lightning.d.ts +6 -0
  50. package/dist/util/src/Lightning.d.ts.map +1 -0
  51. package/dist/util/src/Lightning.js +59 -0
  52. package/dist/util/src/Lightning.js.map +1 -0
  53. package/dist/util/src/Nip86.d.ts +75 -25
  54. package/dist/util/src/Nip86.d.ts.map +1 -1
  55. package/dist/util/src/Nip86.js +169 -24
  56. package/dist/util/src/Nip86.js.map +1 -1
  57. package/dist/util/src/Pow.js +2 -2
  58. package/dist/util/src/Pow.js.map +1 -1
  59. package/dist/util/src/Pubkey.d.ts.map +1 -1
  60. package/dist/util/src/Pubkey.js +2 -1
  61. package/dist/util/src/Pubkey.js.map +1 -1
  62. package/dist/util/src/Relay.d.ts +0 -29
  63. package/dist/util/src/Relay.d.ts.map +1 -1
  64. package/dist/util/src/Relay.js +0 -10
  65. package/dist/util/src/Relay.js.map +1 -1
  66. package/dist/util/src/RelaySelection.d.ts +101 -0
  67. package/dist/util/src/RelaySelection.d.ts.map +1 -0
  68. package/dist/util/src/RelaySelection.js +98 -0
  69. package/dist/util/src/RelaySelection.js.map +1 -0
  70. package/dist/util/src/Tags.d.ts +16 -35
  71. package/dist/util/src/Tags.d.ts.map +1 -1
  72. package/dist/util/src/Tags.js +23 -74
  73. package/dist/util/src/Tags.js.map +1 -1
  74. package/dist/util/src/Topics.d.ts +2 -0
  75. package/dist/util/src/Topics.d.ts.map +1 -0
  76. package/dist/util/src/Topics.js +2 -0
  77. package/dist/util/src/Topics.js.map +1 -0
  78. package/dist/util/src/index.d.ts +3 -6
  79. package/dist/util/src/index.d.ts.map +1 -1
  80. package/dist/util/src/index.js +3 -6
  81. package/dist/util/src/index.js.map +1 -1
  82. package/package.json +5 -5
  83. package/dist/util/src/Encryptable.d.ts +0 -34
  84. package/dist/util/src/Encryptable.d.ts.map +0 -1
  85. package/dist/util/src/Encryptable.js +0 -52
  86. package/dist/util/src/Encryptable.js.map +0 -1
  87. package/dist/util/src/Handler.d.ts +0 -17
  88. package/dist/util/src/Handler.d.ts.map +0 -1
  89. package/dist/util/src/Handler.js +0 -33
  90. package/dist/util/src/Handler.js.map +0 -1
  91. package/dist/util/src/List.d.ts +0 -42
  92. package/dist/util/src/List.d.ts.map +0 -1
  93. package/dist/util/src/List.js +0 -86
  94. package/dist/util/src/List.js.map +0 -1
  95. package/dist/util/src/Profile.d.ts +0 -26
  96. package/dist/util/src/Profile.d.ts.map +0 -1
  97. package/dist/util/src/Profile.js +0 -50
  98. package/dist/util/src/Profile.js.map +0 -1
  99. package/dist/util/src/Room.d.ts +0 -63
  100. package/dist/util/src/Room.d.ts.map +0 -1
  101. package/dist/util/src/Room.js +0 -94
  102. package/dist/util/src/Room.js.map +0 -1
  103. package/dist/util/src/Zaps.d.ts +0 -55
  104. package/dist/util/src/Zaps.d.ts.map +0 -1
  105. package/dist/util/src/Zaps.js +0 -135
  106. package/dist/util/src/Zaps.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Room.js","sourceRoot":"","sources":["../../../../util/src/Room.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -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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"}