@moneydevkit/nextjs 0.1.1 → 0.1.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.
Files changed (66) hide show
  1. package/README.md +2 -2
  2. package/dist/components/Checkout.d.ts +1 -7
  3. package/dist/components/Checkout.js +47 -58
  4. package/dist/components/Checkout.js.map +1 -1
  5. package/dist/components/checkout/ExpiredCheckout.d.ts +2 -1
  6. package/dist/components/checkout/ExpiredCheckout.js +2 -2
  7. package/dist/components/checkout/ExpiredCheckout.js.map +1 -1
  8. package/dist/components/checkout/PaymentReceivedCheckout.d.ts +1 -1
  9. package/dist/components/checkout/PaymentReceivedCheckout.js +1 -6
  10. package/dist/components/checkout/PaymentReceivedCheckout.js.map +1 -1
  11. package/dist/components/checkout/PendingPaymentCheckout.js +2 -8
  12. package/dist/components/checkout/PendingPaymentCheckout.js.map +1 -1
  13. package/dist/hooks/useCheckout.d.ts +1 -15
  14. package/dist/hooks/useCheckout.js +6 -21
  15. package/dist/hooks/useCheckout.js.map +1 -1
  16. package/dist/index.d.ts +1 -2
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/next-plugin.d.ts +0 -6
  20. package/dist/next-plugin.js +2 -19
  21. package/dist/next-plugin.js.map +1 -1
  22. package/dist/server/actions.d.ts +5 -2
  23. package/dist/server/actions.js +26 -19
  24. package/dist/server/actions.js.map +1 -1
  25. package/dist/server/handlers/balance.js +3 -3
  26. package/dist/server/handlers/balance.js.map +1 -1
  27. package/dist/server/handlers/list_channels.d.ts +1 -0
  28. package/dist/server/handlers/list_channels.js +15 -0
  29. package/dist/server/handlers/list_channels.js.map +1 -0
  30. package/dist/server/handlers/pay_bolt_11.d.ts +1 -0
  31. package/dist/server/handlers/pay_bolt_11.js +19 -0
  32. package/dist/server/handlers/pay_bolt_11.js.map +1 -0
  33. package/dist/server/handlers/pay_bolt_12.js +3 -3
  34. package/dist/server/handlers/pay_bolt_12.js.map +1 -1
  35. package/dist/server/handlers/pay_ln_url.d.ts +1 -0
  36. package/dist/server/handlers/pay_ln_url.js +25 -0
  37. package/dist/server/handlers/pay_ln_url.js.map +1 -0
  38. package/dist/server/handlers/ping.js +3 -3
  39. package/dist/server/handlers/ping.js.map +1 -1
  40. package/dist/server/handlers/webhooks.js +5 -4
  41. package/dist/server/handlers/webhooks.js.map +1 -1
  42. package/dist/server/lightning-node.d.ts +43 -0
  43. package/dist/server/lightning-node.js +140 -0
  44. package/dist/server/lightning-node.js.map +1 -0
  45. package/dist/server/mdk-client.d.ts +3342 -0
  46. package/dist/server/mdk-client.js +38 -0
  47. package/dist/server/mdk-client.js.map +1 -0
  48. package/dist/server/mdk-config.d.ts +18 -0
  49. package/dist/server/mdk-config.js +19 -0
  50. package/dist/server/mdk-config.js.map +1 -0
  51. package/dist/server/mdk.d.ts +5 -6
  52. package/dist/server/mdk.js +28 -40
  53. package/dist/server/mdk.js.map +1 -1
  54. package/dist/server/money-dev-kit.d.ts +6 -3369
  55. package/dist/server/money-dev-kit.js +2 -164
  56. package/dist/server/money-dev-kit.js.map +1 -1
  57. package/dist/server/route.d.ts +1 -1
  58. package/dist/server/route.js +7 -1
  59. package/dist/server/route.js.map +1 -1
  60. package/dist/server/runtime.d.ts +2 -2
  61. package/dist/server/runtime.js +2 -2
  62. package/dist/server/runtime.js.map +1 -1
  63. package/dist/server/undici-dispatcher.d.ts +4 -0
  64. package/dist/server/undici-dispatcher.js +13 -0
  65. package/dist/server/undici-dispatcher.js.map +1 -0
  66. package/package.json +5 -4
@@ -0,0 +1,38 @@
1
+ import { createORPCClient } from '@orpc/client';
2
+ import { RPCLink } from '@orpc/client/fetch';
3
+ import './undici-dispatcher';
4
+ export class MoneyDevKitClient {
5
+ client;
6
+ constructor(options) {
7
+ const link = new RPCLink({
8
+ url: options.baseUrl,
9
+ headers: () => ({
10
+ 'x-api-key': options.accessToken,
11
+ }),
12
+ });
13
+ this.client = createORPCClient(link);
14
+ }
15
+ get checkouts() {
16
+ return {
17
+ get: async (params) => {
18
+ return await this.client.checkout.get(params);
19
+ },
20
+ create: async (fields, nodeId) => {
21
+ return await this.client.checkout.create({
22
+ ...fields,
23
+ nodeId,
24
+ });
25
+ },
26
+ confirm: async (params) => {
27
+ return await this.client.checkout.confirm(params);
28
+ },
29
+ registerInvoice: async (params) => {
30
+ return await this.client.checkout.registerInvoice(params);
31
+ },
32
+ paymentReceived: async (params) => {
33
+ return await this.client.checkout.paymentReceived(params);
34
+ },
35
+ };
36
+ }
37
+ }
38
+ //# sourceMappingURL=mdk-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdk-client.js","sourceRoot":"","sources":["../../src/server/mdk-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAI5C,OAAO,qBAAqB,CAAA;AAO5B,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,MAAsD,EAAE,EAAE;gBACpE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC/C,CAAC;YACD,MAAM,EAAE,KAAK,EACX,MAAyE,EACzE,MAAc,EACd,EAAE;gBACF,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,MAA0D,EAAE,EAAE;gBAC5E,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,eAAe,EAAE,KAAK,EACpB,MAAkE,EAClE,EAAE;gBACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;YACD,eAAe,EAAE,KAAK,EACpB,MAAkE,EAClE,EAAE;gBACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ export declare const MAINNET_MDK_BASE_URL = "https://moneydevkit.com/rpc";
2
+ export declare const SIGNET_MDK_BASE_URL = "https://staging.moneydevkit.com/rpc";
3
+ export declare const MAINNET_MDK_NODE_OPTIONS: {
4
+ readonly network: "mainnet";
5
+ readonly vssUrl: "https://vss.moneydevkit.com/vss";
6
+ readonly esploraUrl: "https://esplora.moneydevkit.com/api";
7
+ readonly rgsUrl: "https://rapidsync.lightningdevkit.org/snapshot";
8
+ readonly lspNodeId: "02a63339cc6b913b6330bd61b2f469af8785a6011a6305bb102298a8e76697473b";
9
+ readonly lspAddress: "lsp.moneydevkit.com:9735";
10
+ };
11
+ export declare const SIGNET_MDK_NODE_OPTIONS: {
12
+ readonly network: "signet";
13
+ readonly vssUrl: "https://vss.staging.moneydevkit.com/vss";
14
+ readonly esploraUrl: "https://mutinynet.com/api";
15
+ readonly rgsUrl: "https://rgs.mutinynet.com/snapshot";
16
+ readonly lspNodeId: "03fd9a377576df94cc7e458471c43c400630655083dee89df66c6ad38d1b7acffd";
17
+ readonly lspAddress: "lsp.staging.moneydevkit.com:9735";
18
+ };
@@ -0,0 +1,19 @@
1
+ export const MAINNET_MDK_BASE_URL = 'https://moneydevkit.com/rpc';
2
+ export const SIGNET_MDK_BASE_URL = 'https://staging.moneydevkit.com/rpc';
3
+ export const MAINNET_MDK_NODE_OPTIONS = {
4
+ network: 'mainnet',
5
+ vssUrl: 'https://vss.moneydevkit.com/vss',
6
+ esploraUrl: 'https://esplora.moneydevkit.com/api',
7
+ rgsUrl: 'https://rapidsync.lightningdevkit.org/snapshot',
8
+ lspNodeId: '02a63339cc6b913b6330bd61b2f469af8785a6011a6305bb102298a8e76697473b',
9
+ lspAddress: 'lsp.moneydevkit.com:9735',
10
+ };
11
+ export const SIGNET_MDK_NODE_OPTIONS = {
12
+ network: 'signet',
13
+ vssUrl: 'https://vss.staging.moneydevkit.com/vss',
14
+ esploraUrl: 'https://mutinynet.com/api',
15
+ rgsUrl: 'https://rgs.mutinynet.com/snapshot',
16
+ lspNodeId: '03fd9a377576df94cc7e458471c43c400630655083dee89df66c6ad38d1b7acffd',
17
+ lspAddress: 'lsp.staging.moneydevkit.com:9735',
18
+ };
19
+ //# sourceMappingURL=mdk-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdk-config.js","sourceRoot":"","sources":["../../src/server/mdk-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAA;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAA;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,iCAAiC;IACzC,UAAU,EAAE,qCAAqC;IACjD,MAAM,EAAE,gDAAgD;IACxD,SAAS,EAAE,oEAAoE;IAC/E,UAAU,EAAE,0BAA0B;CAC9B,CAAA;AAEV,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,yCAAyC;IACjD,UAAU,EAAE,2BAA2B;IACvC,MAAM,EAAE,oCAAoC;IAC5C,SAAS,EAAE,oEAAoE;IAC/E,UAAU,EAAE,kCAAkC;CACtC,CAAA"}
@@ -1,7 +1,6 @@
1
- import { MoneyDevKit, type MoneyDevKitOptions } from './money-dev-kit';
2
- type NodeOptions = NonNullable<MoneyDevKitOptions['nodeOptions']>;
3
- export declare const DEFAULT_MDK_BASE_URL = "https://staging.moneydevkit.com/rpc";
4
- export declare const DEFAULT_MDK_NODE_OPTIONS: NodeOptions;
1
+ import { MoneyDevKitNode } from './lightning-node';
2
+ import { MoneyDevKitClient } from './mdk-client';
3
+ import type { MoneyDevKitOptions } from './money-dev-kit';
5
4
  export declare function resolveMoneyDevKitOptions(): MoneyDevKitOptions;
6
- export declare function getMoneyDevKit(): MoneyDevKit;
7
- export { MoneyDevKit };
5
+ export declare function createMoneyDevKitClient(): MoneyDevKitClient;
6
+ export declare function createMoneyDevKitNode(): MoneyDevKitNode;
@@ -1,21 +1,6 @@
1
- import { MoneyDevKit } from './money-dev-kit';
2
- const globalKey = Symbol.for('mdk-checkout:money-dev-kit');
3
- export const DEFAULT_MDK_BASE_URL = 'https://staging.moneydevkit.com/rpc';
4
- export const DEFAULT_MDK_NODE_OPTIONS = {
5
- network: 'signet',
6
- vssUrl: 'https://vss.staging.moneydevkit.com/vss',
7
- esploraUrl: 'https://mutinynet.com/api',
8
- rgsUrl: 'https://rgs.mutinynet.com/snapshot',
9
- lspNodeId: '03fd9a377576df94cc7e458471c43c400630655083dee89df66c6ad38d1b7acffd',
10
- lspAddress: '3.21.138.98:9735',
11
- };
12
- function getGlobalState() {
13
- const globalObject = globalThis;
14
- if (!globalObject[globalKey]) {
15
- globalObject[globalKey] = { instance: null, optionsSignature: null };
16
- }
17
- return globalObject[globalKey];
18
- }
1
+ import { MoneyDevKitNode } from './lightning-node';
2
+ import { MoneyDevKitClient } from './mdk-client';
3
+ import { MAINNET_MDK_BASE_URL, MAINNET_MDK_NODE_OPTIONS, SIGNET_MDK_BASE_URL, SIGNET_MDK_NODE_OPTIONS, } from './mdk-config';
19
4
  function readEnv() {
20
5
  const nodeOptions = {};
21
6
  if (process.env.MDK_NETWORK) {
@@ -43,39 +28,42 @@ function readEnv() {
43
28
  nodeOptions: Object.keys(nodeOptions).length > 0 ? nodeOptions : undefined,
44
29
  };
45
30
  }
46
- function serializeOptions(options) {
47
- const { accessToken, mnemonic, ...rest } = options;
48
- return JSON.stringify({
49
- accessToken,
50
- mnemonic,
51
- ...rest,
52
- });
53
- }
54
31
  export function resolveMoneyDevKitOptions() {
55
32
  const env = readEnv();
56
33
  const { accessToken, mnemonic, baseUrl, nodeOptions } = env;
57
34
  if (!accessToken || !mnemonic) {
58
35
  throw new Error('MoneyDevKit requires MDK_ACCESS_TOKEN and MDK_MNEMONIC environment variables to be configured.');
59
36
  }
37
+ const overrides = nodeOptions ?? {};
38
+ const networkOverride = overrides.network ?? MAINNET_MDK_NODE_OPTIONS.network;
39
+ const defaultNodeOptions = networkOverride === 'signet' ? SIGNET_MDK_NODE_OPTIONS : MAINNET_MDK_NODE_OPTIONS;
40
+ const mergedNodeOptions = {
41
+ ...defaultNodeOptions,
42
+ ...overrides,
43
+ };
44
+ const network = mergedNodeOptions.network ?? defaultNodeOptions.network;
45
+ mergedNodeOptions.network = network;
46
+ const resolvedBaseUrl = baseUrl ?? (network === 'signet' ? SIGNET_MDK_BASE_URL : MAINNET_MDK_BASE_URL);
60
47
  return {
61
48
  accessToken,
62
49
  mnemonic,
63
- baseUrl,
64
- nodeOptions: {
65
- ...DEFAULT_MDK_NODE_OPTIONS,
66
- ...nodeOptions,
67
- },
50
+ baseUrl: resolvedBaseUrl,
51
+ nodeOptions: mergedNodeOptions,
68
52
  };
69
53
  }
70
- export function getMoneyDevKit() {
71
- const state = getGlobalState();
54
+ export function createMoneyDevKitClient() {
72
55
  const resolved = resolveMoneyDevKitOptions();
73
- const signature = serializeOptions(resolved);
74
- if (!state.instance || state.optionsSignature !== signature) {
75
- state.instance = new MoneyDevKit(resolved);
76
- state.optionsSignature = signature;
77
- }
78
- return state.instance;
56
+ return new MoneyDevKitClient({
57
+ accessToken: resolved.accessToken,
58
+ baseUrl: resolved.baseUrl ?? MAINNET_MDK_BASE_URL,
59
+ });
60
+ }
61
+ export function createMoneyDevKitNode() {
62
+ const resolved = resolveMoneyDevKitOptions();
63
+ return new MoneyDevKitNode({
64
+ accessToken: resolved.accessToken,
65
+ mnemonic: resolved.mnemonic,
66
+ nodeOptions: resolved.nodeOptions,
67
+ });
79
68
  }
80
- export { MoneyDevKit };
81
69
  //# sourceMappingURL=mdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdk.js","sourceRoot":"","sources":["../../src/server/mdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdk.js","sourceRoot":"","sources":["../../src/server/mdk.ts"],"names":[],"mappings":"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"}