@moneydevkit/core 0.7.0-beta.0 → 0.7.0-beta.10

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 (50) hide show
  1. package/dist/actions.d.ts +30 -11
  2. package/dist/actions.js +51 -32
  3. package/dist/actions.js.map +1 -1
  4. package/dist/client-actions.d.ts +4 -2
  5. package/dist/client-actions.js +64 -22
  6. package/dist/client-actions.js.map +1 -1
  7. package/dist/client.d.ts +3 -0
  8. package/dist/client.js +2 -0
  9. package/dist/client.js.map +1 -1
  10. package/dist/components/Checkout.d.ts +1 -1
  11. package/dist/components/Checkout.js +49 -15
  12. package/dist/components/Checkout.js.map +1 -1
  13. package/dist/components/checkout/PendingPaymentCheckout.js +27 -7
  14. package/dist/components/checkout/PendingPaymentCheckout.js.map +1 -1
  15. package/dist/components/checkout/UnconfirmedCheckout.js +46 -1
  16. package/dist/components/checkout/UnconfirmedCheckout.js.map +1 -1
  17. package/dist/handlers/checkout.d.ts +52 -0
  18. package/dist/handlers/checkout.js +196 -11
  19. package/dist/handlers/checkout.js.map +1 -1
  20. package/dist/handlers/products.d.ts +1 -0
  21. package/dist/handlers/products.js +18 -0
  22. package/dist/handlers/products.js.map +1 -0
  23. package/dist/hooks/useCheckout.d.ts +33 -0
  24. package/dist/hooks/useCheckout.js +57 -15
  25. package/dist/hooks/useCheckout.js.map +1 -1
  26. package/dist/hooks/useProducts.d.ts +17 -0
  27. package/dist/hooks/useProducts.js +34 -0
  28. package/dist/hooks/useProducts.js.map +1 -0
  29. package/dist/index.d.ts +2 -0
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/lightning-node.js +3 -3
  33. package/dist/lightning-node.js.map +1 -1
  34. package/dist/mdk-client.d.ts +18 -2
  35. package/dist/mdk-client.js +10 -1
  36. package/dist/mdk-client.js.map +1 -1
  37. package/dist/mdk.js +6 -0
  38. package/dist/mdk.js.map +1 -1
  39. package/dist/preview.js +10 -1
  40. package/dist/preview.js.map +1 -1
  41. package/dist/route.d.ts +17 -2
  42. package/dist/route.js +72 -5
  43. package/dist/route.js.map +1 -1
  44. package/dist/startup-validation.d.ts +12 -0
  45. package/dist/startup-validation.js +15 -0
  46. package/dist/startup-validation.js.map +1 -0
  47. package/dist/types.d.ts +24 -0
  48. package/dist/types.js +13 -0
  49. package/dist/types.js.map +1 -0
  50. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../src/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAAiB,EAAE;QACjF,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,CAAA;YAErB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;gBAC1C,GAAG,MAAM;aACV,CAAC,CAAA;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,WAAW,CAAA;YAEvD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,YAAY,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAA;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,KAAK,CAAC,CAAA;YACtB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAClF,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO;QACL,QAAQ;QACR,YAAY;KACb,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../src/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAA;IAEzD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAA4C,EAAE;QAClH,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEd,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAEjD,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,WAAW,CAAA;QACvD,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QAEvD,OAAO,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACjC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN;;;OAGG;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAAiB,EAAE;QACjF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAA;IAChD,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB,OAAO;QACL,6EAA6E;QAC7E,cAAc;QACd;;WAEG;QACH,QAAQ;QACR,kDAAkD;QAClD,SAAS;QACT;;WAEG;QACH,YAAY,EAAE,SAAS;QACvB,2CAA2C;QAC3C,KAAK;KACN,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare function useProducts(): {
2
+ products: {
3
+ id: string;
4
+ name: string;
5
+ description: string | null;
6
+ recurringInterval: "MONTH" | "QUARTER" | "YEAR" | null;
7
+ prices: {
8
+ id: string;
9
+ currency: "USD" | "SAT";
10
+ amountType: "FIXED" | "CUSTOM";
11
+ priceAmount: number | null;
12
+ }[];
13
+ }[];
14
+ isLoading: boolean;
15
+ error: Error | null;
16
+ refetch: () => Promise<void>;
17
+ };
@@ -0,0 +1,34 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { clientListProducts } from '../client-actions';
3
+ import { log } from '../logging';
4
+ export function useProducts() {
5
+ const [products, setProducts] = useState([]);
6
+ const [isLoading, setIsLoading] = useState(true);
7
+ const [error, setError] = useState(null);
8
+ const fetchProducts = useCallback(async () => {
9
+ try {
10
+ setIsLoading(true);
11
+ setError(null);
12
+ const result = await clientListProducts();
13
+ setProducts(result);
14
+ }
15
+ catch (err) {
16
+ const error = err instanceof Error ? err : new Error('Failed to fetch products');
17
+ log('Products fetch error:', error);
18
+ setError(error);
19
+ }
20
+ finally {
21
+ setIsLoading(false);
22
+ }
23
+ }, []);
24
+ useEffect(() => {
25
+ fetchProducts();
26
+ }, [fetchProducts]);
27
+ return {
28
+ products,
29
+ isLoading,
30
+ error,
31
+ refetch: fetchProducts,
32
+ };
33
+ }
34
+ //# sourceMappingURL=useProducts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProducts.js","sourceRoot":"","sources":["../../src/hooks/useProducts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAA;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAA;IAEtD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAA;YACzC,WAAW,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAChF,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YACnC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,EAAE,CAAA;IACjB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO;QACL,QAAQ;QACR,SAAS;QACT,KAAK;QACL,OAAO,EAAE,aAAa;KACvB,CAAA;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,3 +7,5 @@ export * from './mdk-config';
7
7
  export * from './money-dev-kit';
8
8
  export * from './payment-state';
9
9
  export * from './preview';
10
+ export * from './startup-validation';
11
+ export * from './types';
package/dist/index.js CHANGED
@@ -7,4 +7,6 @@ export * from './mdk-config';
7
7
  export * from './money-dev-kit';
8
8
  export * from './payment-state';
9
9
  export * from './preview';
10
+ export * from './startup-validation';
11
+ export * from './types';
10
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA;AACpC,cAAc,SAAS,CAAA"}
@@ -55,8 +55,8 @@ const loadLightningModule = () => {
55
55
  }
56
56
  return cachedLightningModule;
57
57
  };
58
- const RECEIVE_PAYMENTS_MIN_THRESHOLD_MS = 15000;
59
- const RECEIVE_PAYMENTS_QUIET_THRESHOLD_MS = 5000;
58
+ const RECEIVE_PAYMENTS_MIN_THRESHOLD_MS = 6000;
59
+ const RECEIVE_PAYMENTS_QUIET_THRESHOLD_MS = 4000;
60
60
  export class MoneyDevKitNode {
61
61
  node;
62
62
  constructor(options) {
@@ -94,7 +94,7 @@ export class MoneyDevKitNode {
94
94
  return this.node.payBolt11(bolt11);
95
95
  }
96
96
  payLNUrl(lnurl, amountMsat) {
97
- return this.node.payLnurl(lnurl, amountMsat, 15);
97
+ return this.node.payLnurl(lnurl, amountMsat, 30);
98
98
  }
99
99
  listChannels() {
100
100
  return this.node.listChannels();
@@ -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;AAEhF,OAAO,CAAC,GAAG,CAAC,QAAQ;IAClB,sHAAsH,CAAA;AASxH,MAAM,2BAA2B,GAAG;IAClC,yCAAyC;IACzC,0CAA0C;IAC1C,2CAA2C;IAC3C,4CAA4C;IAC5C,+CAA+C;IAC/C,yCAAyC;IACzC,4CAA4C;IAC5C,0CAA0C;IAC1C,2CAA2C;IAC3C,4CAA4C;IAC5C,sCAAsC;IACtC,wCAAwC;IACxC,uCAAuC;CACxC,CAAA;AAED,IAAI,qBAAkD,CAAA;AAEtD,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,IAAI,OAAO,uBAAuB,KAAK,UAAU,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAA;IAChC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,iCAAiC,GAAG,GAAG,EAAE;IAC7C,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAC1C,MAAM,UAAU,GAAG,CAAC,2BAA2B,EAAE,GAAG,2BAA2B,CAAC,CAAA;IAEhF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,OAAO,cAAc,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACjD,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qFAAqF;QACvF,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,iCAAiC,EAAE,CAAA;AAEnC,MAAM,mBAAmB,GAAG,GAAoB,EAAE;IAChD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;QAC1C,qBAAqB,GAAG,cAAc,CAAC,2BAA2B,CAAoB,CAAA;IACxF,CAAC;IAED,OAAO,qBAAqB,CAAA;AAC9B,CAAC,CAAA;AAeD,MAAM,iCAAiC,GAAG,KAAK,CAAA;AAC/C,MAAM,mCAAmC,GAAG,IAAI,CAAA;AAEhD,MAAM,OAAO,eAAe;IAClB,IAAI,CAAuB;IAEnC,YAAY,OAA+B;QACzC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE,CACtD;QAAE,cAAsB,CAAC,CAAC,GAAY,EAAE,KAAc,EAAE,EAAE;YACzD,IAAI,GAAG,EAAE,CAAC;gBACR,wBAAwB,CAAC,GAAG,CAAC,CAAA;gBAC7B,OAAM;YACR,CAAC;YAED,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC,EAAE,OAAO,CAAC,CAAA;QAEb,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,IAAI,wBAAwB,CAAC,OAAQ,CAAA;QACjF,MAAM,kBAAkB,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAA;QAEpG,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC;YACtB,OAAO;YACP,SAAS,EAAE,OAAO,CAAC,WAAW;YAC9B,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,kBAAkB,CAAC,MAAO;YACjE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,IAAI,kBAAkB,CAAC,UAAW;YAC7E,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,kBAAkB,CAAC,MAAO;YACjE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,IAAI,kBAAkB,CAAC,SAAU;YAC1E,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,IAAI,kBAAkB,CAAC,UAAW;SAC9E,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAC7B,iCAAiC,EACjC,mCAAmC,CACpC,CAAA;IACH,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,UAAkB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,UAAkB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;IACjC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IAChC,CAAC;IAED,OAAO,CAAC,UAAmB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;IAC/B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,MAAM,EAAE,CAAC,UAAyB,EAAE,EAAE;gBACpC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,CAAA;gBAC1B,MAAM,WAAW,GAAG,aAAa,CAAA;gBAEjC,MAAM,OAAO,GACX,UAAU,KAAK,IAAI;oBACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,UAAU,CAAC;oBAChE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;gBAEtE,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,MAAM;oBACvB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC9C,CAAA;YACH,CAAC;YACD,cAAc,EAAE,CAAC,IAAY,EAAE,UAAyB,EAAE,EAAE;gBAC1D,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,CAAA;gBAC1B,MAAM,WAAW,GAAG,aAAa,CAAA;gBACjC,MAAM,OAAO,GACX,UAAU,KAAK,IAAI;oBACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC;oBAC9E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;gBAEpF,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,MAAM;oBACvB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC9C,CAAA;YACH,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"lightning-node.js","sourceRoot":"","sources":["../src/lightning-node.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
- import { Checkout, CreateCheckout, ConfirmCheckout, RegisterInvoice, PaymentReceived } from '@moneydevkit/api-contract';
1
+ import { Checkout, CreateCheckout, ConfirmCheckout, RegisterInvoice, PaymentReceived, Product } from '@moneydevkit/api-contract';
2
2
  export type MoneyDevKitClientOptions = {
3
3
  accessToken: string;
4
4
  baseUrl: string;
5
5
  };
6
+ /**
7
+ * SDK-level checkout creation options.
8
+ * Uses `product` (singular) for simplicity - multi-product support coming soon.
9
+ */
10
+ export type CreateCheckoutOptions = Omit<CreateCheckout, 'nodeId' | 'products'> & {
11
+ /**
12
+ * Product ID to include in this checkout.
13
+ * @example 'prod_123abc'
14
+ */
15
+ product?: string;
16
+ };
6
17
  export declare class MoneyDevKitClient {
7
18
  private client;
8
19
  constructor(options: MoneyDevKitClientOptions);
@@ -10,11 +21,16 @@ export declare class MoneyDevKitClient {
10
21
  get: (params: {
11
22
  id: string;
12
23
  }) => Promise<Checkout>;
13
- create: (fields: Omit<CreateCheckout, "nodeId">, nodeId: string) => Promise<Checkout>;
24
+ create: (fields: CreateCheckoutOptions, nodeId: string) => Promise<Checkout>;
14
25
  confirm: (params: ConfirmCheckout) => Promise<Checkout>;
15
26
  registerInvoice: (params: RegisterInvoice) => Promise<Checkout>;
16
27
  paymentReceived: (params: PaymentReceived) => Promise<{
17
28
  ok: boolean;
18
29
  }>;
19
30
  };
31
+ get products(): {
32
+ list: () => Promise<{
33
+ products: Product[];
34
+ }>;
35
+ };
20
36
  }
@@ -17,8 +17,10 @@ export class MoneyDevKitClient {
17
17
  return await this.client.checkout.get(params);
18
18
  },
19
19
  create: async (fields, nodeId) => {
20
+ const { product, ...rest } = fields;
20
21
  return await this.client.checkout.create({
21
- ...fields,
22
+ ...rest,
23
+ products: product ? [product] : undefined,
22
24
  nodeId,
23
25
  });
24
26
  },
@@ -33,5 +35,12 @@ export class MoneyDevKitClient {
33
35
  },
34
36
  };
35
37
  }
38
+ get products() {
39
+ return {
40
+ list: async () => {
41
+ return await this.client.products.list({});
42
+ },
43
+ };
44
+ }
36
45
  }
37
46
  //# sourceMappingURL=mdk-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdk-client.js","sourceRoot":"","sources":["../src/mdk-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAU5C,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAuC;IAErD,YAAY,OAAiC;QAC3C,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;YACvB,GAAG,EAAE,OAAO,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO;YACL,GAAG,EAAE,KAAK,EAAE,MAAsB,EAAqB,EAAE;gBACvD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC/C,CAAC;YACD,MAAM,EAAE,KAAK,EACX,MAAsC,EACtC,MAAc,EACK,EAAE;gBACrB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACvC,GAAG,MAAM;oBACT,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBAC5D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBACpE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAA4B,EAAE;gBAC3E,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"mdk-client.js","sourceRoot":"","sources":["../src/mdk-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAsB5C,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAuC;IAErD,YAAY,OAAiC;QAC3C,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;YACvB,GAAG,EAAE,OAAO,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO;YACL,GAAG,EAAE,KAAK,EAAE,MAAsB,EAAqB,EAAE;gBACvD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC/C,CAAC;YACD,MAAM,EAAE,KAAK,EACX,MAA6B,EAC7B,MAAc,EACK,EAAE;gBACrB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;gBACnC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACvC,GAAG,IAAI;oBACP,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzC,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBAC5D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAAqB,EAAE;gBACpE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAuB,EAA4B,EAAE;gBAC3E,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;SACF,CAAA;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,IAAI,EAAE,KAAK,IAAsC,EAAE;gBACjD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5C,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
package/dist/mdk.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { MoneyDevKitNode } from './lightning-node';
2
2
  import { MoneyDevKitClient } from './mdk-client';
3
3
  import { MAINNET_MDK_BASE_URL, MAINNET_MDK_NODE_OPTIONS, SIGNET_MDK_BASE_URL, SIGNET_MDK_NODE_OPTIONS, } from './mdk-config';
4
+ import { validateMnemonic } from './startup-validation';
4
5
  function readEnv() {
5
6
  const nodeOptions = {};
6
7
  if (process.env.MDK_NETWORK) {
@@ -34,6 +35,11 @@ export function resolveMoneyDevKitOptions() {
34
35
  if (!accessToken || !mnemonic) {
35
36
  throw new Error('MoneyDevKit requires MDK_ACCESS_TOKEN and MDK_MNEMONIC environment variables to be configured.');
36
37
  }
38
+ // Validate mnemonic before passing to Rust to prevent panics
39
+ const mnemonicValidation = validateMnemonic(mnemonic);
40
+ if (mnemonicValidation.error) {
41
+ throw new Error(`${mnemonicValidation.error.message}${mnemonicValidation.error.suggestion ? ` ${mnemonicValidation.error.suggestion}` : ''}`);
42
+ }
37
43
  const overrides = nodeOptions ?? {};
38
44
  const networkOverride = overrides.network ?? MAINNET_MDK_NODE_OPTIONS.network;
39
45
  const defaultNodeOptions = networkOverride === 'signet' ? SIGNET_MDK_NODE_OPTIONS : MAINNET_MDK_NODE_OPTIONS;
package/dist/mdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mdk.js","sourceRoot":"","sources":["../src/mdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdk.js","sourceRoot":"","sources":["../src/mdk.ts"],"names":[],"mappings":"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"}
package/dist/preview.js CHANGED
@@ -1,4 +1,6 @@
1
+ // Helper to get env var - Next.js requires direct access for client-side inlining
1
2
  function getEnvFlag(key) {
3
+ // For server-side or non-Next.js environments, dynamic access works
2
4
  if (typeof process !== 'undefined' && typeof process.env !== 'undefined') {
3
5
  const value = process.env[key];
4
6
  if (value !== undefined) {
@@ -18,7 +20,14 @@ function isTruthyFlag(value) {
18
20
  return value === '1' || value === 'true';
19
21
  }
20
22
  export function is_preview_environment() {
21
- // Explicit preview/sandbox flag (check both MDK_PREVIEW and NEXT_PUBLIC_MDK_PREVIEW)
23
+ // Explicit preview/sandbox flag - use direct access for Next.js client-side inlining
24
+ // Next.js only inlines NEXT_PUBLIC_* vars when accessed directly (not via process.env[key])
25
+ if (typeof process !== 'undefined' && typeof process.env !== 'undefined') {
26
+ if (isTruthyFlag(process.env.NEXT_PUBLIC_MDK_PREVIEW)) {
27
+ return true;
28
+ }
29
+ }
30
+ // Fallback to dynamic access for server-side and non-Next.js environments (e.g., Vite)
22
31
  if (isTruthyFlag(getEnvFlag('MDK_PREVIEW')) || isTruthyFlag(getEnvFlag('NEXT_PUBLIC_MDK_PREVIEW'))) {
23
32
  return true;
24
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,IAAK,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACxF,OAAQ,MAAM,CAAC,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QAChF,OAAQ,UAAkB,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,qFAAqF;IACrF,IAAI,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC;QACnG,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qDAAqD;IACrD,IAAI,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,+DAA+D;IAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;IACjD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+EAA+E;IAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;IAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAA;QAEhD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,SAAS,UAAU,CAAC,GAAW;IAC7B,oEAAoE;IACpE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,IAAK,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACxF,OAAQ,MAAM,CAAC,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QAChF,OAAQ,UAAkB,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,qFAAqF;IACrF,4FAA4F;IAC5F,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACzE,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,IAAI,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC;QACnG,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qDAAqD;IACrD,IAAI,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,+DAA+D;IAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;IACjD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+EAA+E;IAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;IAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAA;QAEhD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
package/dist/route.d.ts CHANGED
@@ -1,9 +1,24 @@
1
1
  import { z } from 'zod';
2
+ export { createCheckoutUrl } from './handlers/checkout';
3
+ export type { CreateCheckoutUrlOptions } from './handlers/checkout';
2
4
  export type RouteHandler = (request: Request) => Promise<Response>;
3
- declare const routeSchema: z.ZodEnum<["webhook", "webhooks", "pay_bolt_12", "balance", "ping", "pay_ln_url", "list_channels", "pay_bolt11", "create_checkout", "get_checkout", "confirm_checkout", "pay_invoice", "sync_rgs"]>;
5
+ declare const routeSchema: z.ZodEnum<["webhook", "webhooks", "pay_bolt_12", "balance", "ping", "pay_ln_url", "list_channels", "pay_bolt11", "create_checkout", "get_checkout", "confirm_checkout", "pay_invoice", "sync_rgs", "list_products"]>;
4
6
  export type UnifiedRoute = z.infer<typeof routeSchema>;
5
7
  export declare function __setHandlerForTest(route: UnifiedRoute, handler: RouteHandler | null): void;
6
8
  export declare function __resetHandlersForTest(): void;
7
9
  export declare function createUnifiedHandler(): (request: Request) => Promise<Response>;
8
10
  export declare function POST(request: Request): Promise<Response>;
9
- export {};
11
+ /**
12
+ * GET handler for URL-based checkout creation.
13
+ *
14
+ * Creates a checkout from signed URL query params and redirects to the checkout page.
15
+ *
16
+ * @example
17
+ * GET /api/mdk?action=createCheckout&title=Product&amount=2999&signature=abc123
18
+ * -> Verifies signature
19
+ * -> Creates checkout
20
+ * -> 302 redirect to /checkout/{id}
21
+ *
22
+ * Users should generate URLs using the `createCheckoutUrl` helper to ensure proper signing.
23
+ */
24
+ export declare function GET(request: Request): Promise<Response>;
package/dist/route.js CHANGED
@@ -1,13 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  import { handleBalance } from './handlers/balance';
3
- import { handleConfirmCheckout, handleCreateCheckout, handleGetCheckout } from './handlers/checkout';
3
+ import { handleConfirmCheckout, handleCreateCheckout, handleGetCheckout, handleCreateCheckoutFromUrl, parseCheckoutQueryParams, verifyCheckoutSignature, sanitizeCheckoutPath, } from './handlers/checkout';
4
+ // Re-export for use in nextjs package
5
+ export { createCheckoutUrl } from './handlers/checkout';
4
6
  import { listChannels } from './handlers/list_channels';
5
- import { handleSyncRgs } from './handlers/sync_rgs';
6
7
  import { handlePayBolt11 } from './handlers/pay_bolt_11';
7
8
  import { handlePayBolt12 } from './handlers/pay_bolt_12';
8
9
  import { handlePreviewPayInvoice } from './handlers/pay_invoice';
9
10
  import { handlePayLNUrl } from './handlers/pay_ln_url';
10
11
  import { handlePing } from './handlers/ping';
12
+ import { handleListProducts } from './handlers/products';
13
+ import { handleSyncRgs } from './handlers/sync_rgs';
11
14
  import { handleMdkWebhook } from './handlers/webhooks';
12
15
  import { error, log } from './logging';
13
16
  const WEBHOOK_SECRET_HEADER = 'x-moneydevkit-webhook-secret';
@@ -25,6 +28,7 @@ const routeSchema = z.enum([
25
28
  'confirm_checkout',
26
29
  'pay_invoice',
27
30
  'sync_rgs',
31
+ 'list_products',
28
32
  ]);
29
33
  const ROUTE_CONFIG = {
30
34
  webhook: { handler: handleMdkWebhook, auth: 'secret' },
@@ -40,6 +44,7 @@ const ROUTE_CONFIG = {
40
44
  confirm_checkout: { handler: handleConfirmCheckout, auth: 'csrf' },
41
45
  pay_invoice: { handler: handlePreviewPayInvoice, auth: 'csrf' },
42
46
  sync_rgs: { handler: handleSyncRgs, auth: 'secret' },
47
+ list_products: { handler: handleListProducts, auth: 'csrf' },
43
48
  };
44
49
  const HANDLERS = {};
45
50
  const CSRF_HEADER = 'x-moneydevkit-csrf-token';
@@ -178,9 +183,10 @@ async function handleRequest(request) {
178
183
  try {
179
184
  return await handler(request);
180
185
  }
181
- catch (error) {
182
- console.error(error);
183
- return jsonResponse(500, { error: 'Internal Server Error' });
186
+ catch (err) {
187
+ const message = err instanceof Error ? err.message : String(err);
188
+ error('Unhandled error in route handler:', message);
189
+ return jsonResponse(500, { error: message });
184
190
  }
185
191
  }
186
192
  export function createUnifiedHandler() {
@@ -190,4 +196,65 @@ export async function POST(request) {
190
196
  const handler = createUnifiedHandler();
191
197
  return handler(request);
192
198
  }
199
+ /**
200
+ * Safely join a base path with a segment, avoiding double slashes.
201
+ * e.g., joinPath('/', 'abc') -> '/abc', joinPath('/checkout', 'abc') -> '/checkout/abc'
202
+ */
203
+ function joinPath(base, segment) {
204
+ if (base === '/')
205
+ return `/${segment}`;
206
+ return `${base}/${segment}`;
207
+ }
208
+ /**
209
+ * Helper to redirect to checkout error page.
210
+ * Uses 'error' as a placeholder ID so it matches the /checkout/[id] route.
211
+ */
212
+ function redirectToCheckoutError(baseUrl, checkoutPath, code, message) {
213
+ const errorUrl = new URL(joinPath(checkoutPath, 'error'), baseUrl.origin);
214
+ errorUrl.searchParams.set('error', code);
215
+ errorUrl.searchParams.set('message', message);
216
+ return Response.redirect(errorUrl.toString(), 302);
217
+ }
218
+ /**
219
+ * GET handler for URL-based checkout creation.
220
+ *
221
+ * Creates a checkout from signed URL query params and redirects to the checkout page.
222
+ *
223
+ * @example
224
+ * GET /api/mdk?action=createCheckout&title=Product&amount=2999&signature=abc123
225
+ * -> Verifies signature
226
+ * -> Creates checkout
227
+ * -> 302 redirect to /checkout/{id}
228
+ *
229
+ * Users should generate URLs using the `createCheckoutUrl` helper to ensure proper signing.
230
+ */
231
+ export async function GET(request) {
232
+ const url = new URL(request.url);
233
+ const params = url.searchParams;
234
+ // Only handle createCheckout action
235
+ if (params.get('action') !== 'createCheckout') {
236
+ return new Response('Not found', { status: 404 });
237
+ }
238
+ // Sanitize checkoutPath early to prevent open redirect attacks
239
+ const checkoutPath = sanitizeCheckoutPath(params.get('checkoutPath'));
240
+ // Verify signature is present
241
+ const signature = params.get('signature');
242
+ if (!signature) {
243
+ return redirectToCheckoutError(url, checkoutPath, 'missing_signature', 'Missing signature');
244
+ }
245
+ // Verify signature is valid
246
+ const isValid = verifyCheckoutSignature(params, signature);
247
+ if (!isValid) {
248
+ return redirectToCheckoutError(url, checkoutPath, 'invalid_signature', 'Invalid signature');
249
+ }
250
+ // Parse and validate params
251
+ const checkoutParams = parseCheckoutQueryParams(params);
252
+ const result = await handleCreateCheckoutFromUrl(checkoutParams);
253
+ if ('error' in result) {
254
+ return redirectToCheckoutError(url, checkoutPath, result.error.code, result.error.message);
255
+ }
256
+ // Success - redirect to checkout page (use sanitized checkoutPath, not result.data.checkoutPath)
257
+ const checkoutUrl = new URL(joinPath(checkoutPath, result.data.id), url.origin);
258
+ return Response.redirect(checkoutUrl.toString(), 302);
259
+ }
193
260
  //# sourceMappingURL=route.js.map
package/dist/route.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Startup validation for MoneyDevKit configuration.
3
+ *
4
+ * These checks help developers identify configuration issues early,
5
+ * before the Lightning node attempts to connect to services.
6
+ */
7
+ import type { Result } from './types';
8
+ /**
9
+ * Validates that the mnemonic is provided.
10
+ * Note: Full BIP39 validation is done server-side.
11
+ */
12
+ export declare function validateMnemonic(_mnemonic: string): Result<void>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Startup validation for MoneyDevKit configuration.
3
+ *
4
+ * These checks help developers identify configuration issues early,
5
+ * before the Lightning node attempts to connect to services.
6
+ */
7
+ import { success } from './types';
8
+ /**
9
+ * Validates that the mnemonic is provided.
10
+ * Note: Full BIP39 validation is done server-side.
11
+ */
12
+ export function validateMnemonic(_mnemonic) {
13
+ return success(undefined);
14
+ }
15
+ //# sourceMappingURL=startup-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup-validation.js","sourceRoot":"","sources":["../src/startup-validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type MdkError = {
2
+ code: string;
3
+ message: string;
4
+ details?: Array<{
5
+ message?: string;
6
+ path?: Array<string | number>;
7
+ }>;
8
+ suggestion?: string;
9
+ };
10
+ export type Result<T> = {
11
+ data: T;
12
+ error: null;
13
+ } | {
14
+ data: null;
15
+ error: MdkError;
16
+ };
17
+ /**
18
+ * Creates a successful Result.
19
+ */
20
+ export declare function success<T>(data: T): Result<T>;
21
+ /**
22
+ * Creates a failed Result.
23
+ */
24
+ export declare function failure(error: MdkError): Result<never>;
package/dist/types.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Creates a successful Result.
3
+ */
4
+ export function success(data) {
5
+ return { data, error: null };
6
+ }
7
+ /**
8
+ * Creates a failed Result.
9
+ */
10
+ export function failure(error) {
11
+ return { data: null, error };
12
+ }
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,IAAO;IAChC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAe;IACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneydevkit/core",
3
- "version": "0.7.0-beta.0",
3
+ "version": "0.7.0-beta.10",
4
4
  "description": "Shared moneydevkit checkout core utilities",
5
5
  "repository": {
6
6
  "type": "git",
@@ -42,8 +42,8 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@hookform/resolvers": "^5.0.1",
45
- "@moneydevkit/api-contract": "0.1.13",
46
- "@moneydevkit/lightning-js": "^0.1.59",
45
+ "@moneydevkit/api-contract": "^0.1.17",
46
+ "@moneydevkit/lightning-js": "^0.1.60",
47
47
  "@orpc/client": "1.3.0",
48
48
  "@orpc/contract": "1.3.0",
49
49
  "@radix-ui/react-collapsible": "^1.1.11",