@welshman/util 0.0.28 → 0.0.29
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/build/src/Zaps.cjs +10 -7
- package/build/src/Zaps.cjs.map +1 -1
- package/build/src/Zaps.d.ts +1 -1
- package/build/src/Zaps.mjs +11 -8
- package/build/src/Zaps.mjs.map +1 -1
- package/package.json +1 -1
package/build/src/Zaps.cjs
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.zapFromEvent = exports.getLnUrl = exports.getInvoiceAmount = exports.hrpToMillisat = void 0;
|
|
4
4
|
const lib_1 = require("@welshman/lib");
|
|
5
|
-
const Tags_1 = require("./Tags.cjs");
|
|
6
5
|
const DIVISORS = {
|
|
7
6
|
m: BigInt(1e3),
|
|
8
7
|
u: BigInt(1e6),
|
|
@@ -61,7 +60,7 @@ const getLnUrl = (address) => {
|
|
|
61
60
|
};
|
|
62
61
|
exports.getLnUrl = getLnUrl;
|
|
63
62
|
const zapFromEvent = (response, zapper) => {
|
|
64
|
-
const responseMeta =
|
|
63
|
+
const responseMeta = (0, lib_1.fromPairs)(response.tags);
|
|
65
64
|
let zap;
|
|
66
65
|
try {
|
|
67
66
|
zap = {
|
|
@@ -73,21 +72,25 @@ const zapFromEvent = (response, zapper) => {
|
|
|
73
72
|
catch (e) {
|
|
74
73
|
return null;
|
|
75
74
|
}
|
|
76
|
-
// Don't count zaps that the user
|
|
77
|
-
if (zap.request.pubkey === zapper.pubkey) {
|
|
75
|
+
// Don't count zaps that the user requested for himself
|
|
76
|
+
if (zap.request.pubkey === (zapper === null || zapper === void 0 ? void 0 : zapper.pubkey)) {
|
|
78
77
|
return null;
|
|
79
78
|
}
|
|
80
|
-
const { amount, lnurl } =
|
|
79
|
+
const { amount, lnurl } = (0, lib_1.fromPairs)(zap.request.tags);
|
|
81
80
|
// Verify that the zapper actually sent the requested amount (if it was supplied)
|
|
82
81
|
if (amount && parseInt(amount) !== zap.invoiceAmount) {
|
|
83
82
|
return null;
|
|
84
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
|
+
}
|
|
85
88
|
// If the sending client provided an lnurl tag, verify that too
|
|
86
|
-
if (lnurl && lnurl !== zapper.lnurl) {
|
|
89
|
+
if (lnurl && lnurl !== (zapper === null || zapper === void 0 ? void 0 : zapper.lnurl)) {
|
|
87
90
|
return null;
|
|
88
91
|
}
|
|
89
92
|
// Verify that the request actually came from the recipient's zapper
|
|
90
|
-
if (zap.response.pubkey !== zapper.nostrPubkey) {
|
|
93
|
+
if (zap.response.pubkey !== (zapper === null || zapper === void 0 ? void 0 : zapper.nostrPubkey)) {
|
|
91
94
|
return null;
|
|
92
95
|
}
|
|
93
96
|
return zap;
|
package/build/src/Zaps.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zaps.cjs","sourceRoot":"","sources":["../../src/Zaps.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Zaps.cjs","sourceRoot":"","sources":["../../src/Zaps.ts"],"names":[],"mappings":"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"}
|
package/build/src/Zaps.d.ts
CHANGED
|
@@ -16,4 +16,4 @@ export type Zap = {
|
|
|
16
16
|
response: TrustedEvent;
|
|
17
17
|
invoiceAmount: number;
|
|
18
18
|
};
|
|
19
|
-
export declare const zapFromEvent: (response: TrustedEvent, zapper: Zapper) => Zap | null;
|
|
19
|
+
export declare const zapFromEvent: (response: TrustedEvent, zapper: Zapper | undefined) => Zap | null;
|
package/build/src/Zaps.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { hexToBech32 } from '@welshman/lib';
|
|
2
|
-
import { Tags } from "./Tags.mjs";
|
|
1
|
+
import { hexToBech32, fromPairs } from '@welshman/lib';
|
|
3
2
|
const DIVISORS = {
|
|
4
3
|
m: BigInt(1e3),
|
|
5
4
|
u: BigInt(1e6),
|
|
@@ -55,7 +54,7 @@ export const getLnUrl = (address) => {
|
|
|
55
54
|
return null;
|
|
56
55
|
};
|
|
57
56
|
export const zapFromEvent = (response, zapper) => {
|
|
58
|
-
const responseMeta =
|
|
57
|
+
const responseMeta = fromPairs(response.tags);
|
|
59
58
|
let zap;
|
|
60
59
|
try {
|
|
61
60
|
zap = {
|
|
@@ -67,21 +66,25 @@ export const zapFromEvent = (response, zapper) => {
|
|
|
67
66
|
catch (e) {
|
|
68
67
|
return null;
|
|
69
68
|
}
|
|
70
|
-
// Don't count zaps that the user
|
|
71
|
-
if (zap.request.pubkey === zapper.pubkey) {
|
|
69
|
+
// Don't count zaps that the user requested for himself
|
|
70
|
+
if (zap.request.pubkey === (zapper === null || zapper === void 0 ? void 0 : zapper.pubkey)) {
|
|
72
71
|
return null;
|
|
73
72
|
}
|
|
74
|
-
const { amount, lnurl } =
|
|
73
|
+
const { amount, lnurl } = fromPairs(zap.request.tags);
|
|
75
74
|
// Verify that the zapper actually sent the requested amount (if it was supplied)
|
|
76
75
|
if (amount && parseInt(amount) !== zap.invoiceAmount) {
|
|
77
76
|
return null;
|
|
78
77
|
}
|
|
78
|
+
// If the recipient and the zapper are the same person, it's legit
|
|
79
|
+
if (responseMeta.p === response.pubkey) {
|
|
80
|
+
return zap;
|
|
81
|
+
}
|
|
79
82
|
// If the sending client provided an lnurl tag, verify that too
|
|
80
|
-
if (lnurl && lnurl !== zapper.lnurl) {
|
|
83
|
+
if (lnurl && lnurl !== (zapper === null || zapper === void 0 ? void 0 : zapper.lnurl)) {
|
|
81
84
|
return null;
|
|
82
85
|
}
|
|
83
86
|
// Verify that the request actually came from the recipient's zapper
|
|
84
|
-
if (zap.response.pubkey !== zapper.nostrPubkey) {
|
|
87
|
+
if (zap.response.pubkey !== (zapper === null || zapper === void 0 ? void 0 : zapper.nostrPubkey)) {
|
|
85
88
|
return null;
|
|
86
89
|
}
|
|
87
90
|
return zap;
|
package/build/src/Zaps.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zaps.mjs","sourceRoot":"","sources":["../../src/Zaps.ts"],"names":[],"mappings":"OAAO,EAAC,WAAW,EAAC,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"Zaps.mjs","sourceRoot":"","sources":["../../src/Zaps.ts"],"names":[],"mappings":"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"}
|