@moneydevkit/core 0.9.0-beta.2 → 0.9.0-beta.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.
|
@@ -1,46 +1,148 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { warn } from "../logging";
|
|
2
|
+
import { log, warn } from "../logging";
|
|
3
3
|
import { createMoneyDevKitClient, createMoneyDevKitNode } from "../mdk";
|
|
4
4
|
import { markPaymentReceived } from "../payment-state";
|
|
5
5
|
const webhookSchema = z.object({
|
|
6
6
|
event: z.enum(["incoming-payment"]),
|
|
7
7
|
nodeId: z.string(),
|
|
8
8
|
});
|
|
9
|
-
|
|
9
|
+
// How often to poll for new LDK events
|
|
10
|
+
const POLL_INTERVAL_MS = 100;
|
|
11
|
+
// Minimum time that we'll run the lightning node when handling incoming payments.
|
|
12
|
+
// This needs to be long enough for JIT channel opening and HTLC commitment exchanges.
|
|
13
|
+
const MIN_WAIT_BEFORE_QUIET_MS = 15_000;
|
|
14
|
+
// After the minimum wait, this is how long we'll wait for new events if there are no pending claims.
|
|
15
|
+
const QUIET_THRESHOLD_MS = 5_000;
|
|
16
|
+
// Maximum time we'll run the lightning node when handling incoming payments.
|
|
17
|
+
// Vercel has a hard timeout of 60 seconds for the hobby plan so this should not
|
|
18
|
+
// be longer than that.
|
|
19
|
+
const MAX_WAIT_MS = 60_000;
|
|
20
|
+
/**
|
|
21
|
+
* Handles incoming-payment webhooks from MoneyDevKit platform.
|
|
22
|
+
*
|
|
23
|
+
* This function is invoked when the MDK node sends a webhook notification
|
|
24
|
+
* indicating that new payments have arrived ("incoming-payment" event).
|
|
25
|
+
*/
|
|
26
|
+
async function handleIncomingPaymentEvents() {
|
|
27
|
+
const webhookStartTime = Date.now();
|
|
28
|
+
log("[webhook] handleIncomingPayment started");
|
|
10
29
|
const node = createMoneyDevKitNode();
|
|
11
30
|
const client = createMoneyDevKitClient();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
31
|
+
log("[webhook] Starting node and syncing...");
|
|
32
|
+
const syncStartTime = Date.now();
|
|
33
|
+
node.startReceiving();
|
|
34
|
+
const syncDuration = Date.now() - syncStartTime;
|
|
35
|
+
log(`[webhook] Node started and synced in ${syncDuration}ms`);
|
|
36
|
+
const pendingClaims = new Set();
|
|
37
|
+
let eventsProcessed = 0;
|
|
38
|
+
let paymentsReceived = 0;
|
|
39
|
+
let paymentsFailed = 0;
|
|
40
|
+
const startTime = Date.now();
|
|
41
|
+
let lastEventTime = startTime;
|
|
19
42
|
try {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
43
|
+
while (true) {
|
|
44
|
+
const event = node.nextEvent();
|
|
45
|
+
if (event) {
|
|
46
|
+
lastEventTime = Date.now();
|
|
47
|
+
eventsProcessed++;
|
|
48
|
+
switch (event.eventType) {
|
|
49
|
+
case 0 /* PaymentEventType.Claimable */:
|
|
50
|
+
log(`[webhook] PaymentClaimable hash=${event.paymentHash} amount=${event.amountMsat}msat pending=${pendingClaims.size + 1}`);
|
|
51
|
+
pendingClaims.add(event.paymentHash);
|
|
52
|
+
node.ackEvent();
|
|
53
|
+
break;
|
|
54
|
+
case 1 /* PaymentEventType.Received */: {
|
|
55
|
+
paymentsReceived++;
|
|
56
|
+
log(`[webhook] PaymentReceived hash=${event.paymentHash} amount=${event.amountMsat}msat`);
|
|
57
|
+
pendingClaims.delete(event.paymentHash);
|
|
58
|
+
markPaymentReceived(event.paymentHash);
|
|
59
|
+
try {
|
|
60
|
+
await client.checkouts.paymentReceived({
|
|
61
|
+
payments: [{
|
|
62
|
+
paymentHash: event.paymentHash,
|
|
63
|
+
amountSats: Math.floor(event.amountMsat / 1000),
|
|
64
|
+
sandbox: false,
|
|
65
|
+
}],
|
|
66
|
+
});
|
|
67
|
+
log(`[webhook] Payment confirmed to API hash=${event.paymentHash}`);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
// TODO (austin): Investigate retry strategy for API failures. Currently we ack
|
|
71
|
+
// regardless of API success (matching existing behavior). However,
|
|
72
|
+
// this leaves us in a state where the payment is received but not
|
|
73
|
+
// confirmed to the paying customer or reflected on moneydevkit.com.
|
|
74
|
+
// Consider having the checkout update based on the global payment state
|
|
75
|
+
// and some sort of reconciliation process to backfill the database.
|
|
76
|
+
warn(`[webhook] Failed to confirm payment ${event.paymentHash} to API`, error);
|
|
77
|
+
}
|
|
78
|
+
node.ackEvent();
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
case 2 /* PaymentEventType.Failed */:
|
|
82
|
+
paymentsFailed++;
|
|
83
|
+
log(`[webhook] PaymentFailed hash=${event.paymentHash} reason=${event.reason}`);
|
|
84
|
+
pendingClaims.delete(event.paymentHash);
|
|
85
|
+
node.ackEvent();
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
// Continue immediately to process next event
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
// No event available - check exit conditions
|
|
92
|
+
const now = Date.now();
|
|
93
|
+
const totalElapsed = now - startTime;
|
|
94
|
+
const quietElapsed = now - lastEventTime;
|
|
95
|
+
if (totalElapsed >= MAX_WAIT_MS) {
|
|
96
|
+
if (pendingClaims.size > 0) {
|
|
97
|
+
warn(`[webhook] Hard timeout after ${totalElapsed}ms with ${pendingClaims.size} pending claims`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
log(`[webhook] Hard timeout after ${totalElapsed}ms (no pending)`);
|
|
101
|
+
}
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
const canQuietExit = pendingClaims.size === 0 &&
|
|
105
|
+
quietElapsed >= QUIET_THRESHOLD_MS &&
|
|
106
|
+
totalElapsed >= MIN_WAIT_BEFORE_QUIET_MS;
|
|
107
|
+
if (canQuietExit) {
|
|
108
|
+
log(`[webhook] Quiet exit after ${totalElapsed}ms (quiet=${quietElapsed}ms)`);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
// Log occasionally while waiting for minimum time
|
|
112
|
+
if (pendingClaims.size === 0 &&
|
|
113
|
+
quietElapsed >= QUIET_THRESHOLD_MS &&
|
|
114
|
+
totalElapsed < MIN_WAIT_BEFORE_QUIET_MS &&
|
|
115
|
+
totalElapsed % 1000 < POLL_INTERVAL_MS) {
|
|
116
|
+
log(`[webhook] Waiting for min time: ${totalElapsed}/${MIN_WAIT_BEFORE_QUIET_MS}ms`);
|
|
117
|
+
}
|
|
118
|
+
// Yield to JS event loop
|
|
119
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
120
|
+
}
|
|
28
121
|
}
|
|
29
|
-
|
|
30
|
-
|
|
122
|
+
finally {
|
|
123
|
+
log("[webhook] Stopping node...");
|
|
124
|
+
node.stopReceiving();
|
|
125
|
+
const totalDuration = Date.now() - webhookStartTime;
|
|
126
|
+
log(`[webhook] Complete: duration=${totalDuration}ms events=${eventsProcessed} received=${paymentsReceived} failed=${paymentsFailed}`);
|
|
31
127
|
}
|
|
32
128
|
}
|
|
33
129
|
export async function handleMdkWebhook(request) {
|
|
130
|
+
const requestStartTime = Date.now();
|
|
131
|
+
log("[webhook] Received webhook request");
|
|
34
132
|
try {
|
|
35
133
|
const body = await request.json();
|
|
36
134
|
const parsed = webhookSchema.parse(body);
|
|
135
|
+
log(`[webhook] Parsed event=${parsed.event} nodeId=${parsed.nodeId}`);
|
|
37
136
|
if (parsed.event === "incoming-payment") {
|
|
38
|
-
await
|
|
137
|
+
await handleIncomingPaymentEvents();
|
|
39
138
|
}
|
|
139
|
+
const duration = Date.now() - requestStartTime;
|
|
140
|
+
log(`[webhook] Response OK in ${duration}ms`);
|
|
40
141
|
return new Response("OK", { status: 200 });
|
|
41
142
|
}
|
|
42
143
|
catch (error) {
|
|
43
|
-
|
|
144
|
+
const duration = Date.now() - requestStartTime;
|
|
145
|
+
warn(`[webhook] Error after ${duration}ms:`, error);
|
|
44
146
|
return new Response("Internal Server Error", { status: 500 });
|
|
45
147
|
}
|
|
46
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/handlers/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/handlers/webhooks.ts"],"names":[],"mappings":"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"}
|
package/dist/lightning-node.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PaymentEvent } from '@moneydevkit/lightning-js';
|
|
1
2
|
type LightningModule = typeof import('@moneydevkit/lightning-js');
|
|
2
3
|
type LightningNodeConstructor = LightningModule['MdkNode'];
|
|
3
4
|
type LightningNodeOptions = ConstructorParameters<LightningNodeConstructor>[0];
|
|
@@ -18,6 +19,21 @@ export declare class MoneyDevKitNode {
|
|
|
18
19
|
constructor(options: MoneyDevKitNodeOptions);
|
|
19
20
|
get id(): string;
|
|
20
21
|
receivePayments(): import("@moneydevkit/lightning-js").ReceivedPayment[];
|
|
22
|
+
/** Start the node and sync wallets. The node must be started before polling for events. */
|
|
23
|
+
startReceiving(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get the next payment event without ACKing it.
|
|
26
|
+
* Returns null if no events are available.
|
|
27
|
+
* Must call ackEvent() after successfully handling the event.
|
|
28
|
+
*/
|
|
29
|
+
nextEvent(): PaymentEvent | null;
|
|
30
|
+
/**
|
|
31
|
+
* ACK the current event after successfully handling it.
|
|
32
|
+
* Must be called after nextEvent() returns an event, before calling nextEvent() again.
|
|
33
|
+
*/
|
|
34
|
+
ackEvent(): void;
|
|
35
|
+
/** Stop the node. Call when done polling. */
|
|
36
|
+
stopReceiving(): void;
|
|
21
37
|
payBolt12Offer(bolt12: string, amountMsat: number): string;
|
|
22
38
|
payBolt11(bolt11: string): string;
|
|
23
39
|
payLNUrl(lnurl: string, amountMsat: number): string;
|
package/dist/lightning-node.js
CHANGED
|
@@ -87,6 +87,29 @@ export class MoneyDevKitNode {
|
|
|
87
87
|
receivePayments() {
|
|
88
88
|
return this.node.receivePayment(RECEIVE_PAYMENTS_MIN_THRESHOLD_MS, RECEIVE_PAYMENTS_QUIET_THRESHOLD_MS);
|
|
89
89
|
}
|
|
90
|
+
/** Start the node and sync wallets. The node must be started before polling for events. */
|
|
91
|
+
startReceiving() {
|
|
92
|
+
this.node.startReceiving();
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get the next payment event without ACKing it.
|
|
96
|
+
* Returns null if no events are available.
|
|
97
|
+
* Must call ackEvent() after successfully handling the event.
|
|
98
|
+
*/
|
|
99
|
+
nextEvent() {
|
|
100
|
+
return this.node.nextEvent();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* ACK the current event after successfully handling it.
|
|
104
|
+
* Must be called after nextEvent() returns an event, before calling nextEvent() again.
|
|
105
|
+
*/
|
|
106
|
+
ackEvent() {
|
|
107
|
+
this.node.ackEvent();
|
|
108
|
+
}
|
|
109
|
+
/** Stop the node. Call when done polling. */
|
|
110
|
+
stopReceiving() {
|
|
111
|
+
this.node.stopReceiving();
|
|
112
|
+
}
|
|
90
113
|
payBolt12Offer(bolt12, amountMsat) {
|
|
91
114
|
return this.node.payBolt12Offer(bolt12, amountMsat, 30);
|
|
92
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightning-node.js","sourceRoot":"","sources":["../src/lightning-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"lightning-node.js","sourceRoot":"","sources":["../src/lightning-node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneydevkit/core",
|
|
3
|
-
"version": "0.9.0-beta.
|
|
3
|
+
"version": "0.9.0-beta.3",
|
|
4
4
|
"description": "Shared moneydevkit checkout core utilities",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@hookform/resolvers": "^5.0.1",
|
|
45
45
|
"@moneydevkit/api-contract": "^0.1.17",
|
|
46
|
-
"@moneydevkit/lightning-js": "^0.1.
|
|
46
|
+
"@moneydevkit/lightning-js": "^0.1.65",
|
|
47
47
|
"@orpc/client": "1.3.0",
|
|
48
48
|
"@orpc/contract": "1.3.0",
|
|
49
49
|
"@radix-ui/react-collapsible": "^1.1.11",
|