diff --git a/.gitignore b/.gitignore index 0161397..26ae5a4 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ coverage .idea .vscode *.tgz +!**/local-packages/*.tgz .secrets .envrc .direnv diff --git a/mdk-nextjs-demo/Dockerfile b/mdk-nextjs-demo/Dockerfile index 10d49ef..01c6f77 100644 --- a/mdk-nextjs-demo/Dockerfile +++ b/mdk-nextjs-demo/Dockerfile @@ -9,8 +9,9 @@ WORKDIR /app # Install curl and jq for healthchecks and JSON manipulation RUN apk add --no-cache curl libc6-compat jq -# Copy package files +# Copy package files and local packages COPY package.json package-lock.json* ./ +COPY local-packages ./local-packages # Install dependencies RUN npm install diff --git a/mdk-nextjs-demo/app/api/mdk/route.ts b/mdk-nextjs-demo/app/api/mdk/route.ts index 204beca..f61c223 100644 --- a/mdk-nextjs-demo/app/api/mdk/route.ts +++ b/mdk-nextjs-demo/app/api/mdk/route.ts @@ -1 +1,145 @@ -export { POST } from "@moneydevkit/nextjs/server/route"; +import { NextRequest } from "next/server"; + +// Webhook secret header +const WEBHOOK_SECRET_HEADER = 'x-moneydevkit-webhook-secret'; + +// Lazy load the default handler +let defaultHandlerPromise: Promise<(request: Request) => Promise> | null = null; +function getDefaultHandler() { + if (!defaultHandlerPromise) { + defaultHandlerPromise = import("@moneydevkit/nextjs/server/route").then(m => m.POST); + } + return defaultHandlerPromise; +} + +// Helper to sleep for a given number of milliseconds +function sleep(ms: number): Promise { + return new Promise(resolve => setTimeout(resolve, ms)); +} + +// Custom webhook handler with proper sync and retry logic +async function handleWebhookWithSync(request: NextRequest): Promise { + const body = await request.json(); + + // Validate webhook secret + const expectedSecret = process.env.MDK_ACCESS_TOKEN; + if (!expectedSecret) { + console.error('[webhook] MDK_ACCESS_TOKEN not configured'); + return new Response(JSON.stringify({ error: 'Webhook secret not configured' }), { + status: 500, + headers: { 'Content-Type': 'application/json' }, + }); + } + + const providedSecret = request.headers.get(WEBHOOK_SECRET_HEADER); + if (!providedSecret || providedSecret !== expectedSecret) { + console.error('[webhook] Unauthorized webhook request. Expected:', expectedSecret.substring(0, 8) + '..., Got:', providedSecret?.substring(0, 8) + '...'); + return new Response(JSON.stringify({ error: 'Unauthorized' }), { + status: 401, + headers: { 'Content-Type': 'application/json' }, + }); + } + + if (body.event !== 'incoming-payment') { + console.log('[webhook] Unknown event type:', body.event); + return new Response('OK', { status: 200 }); + } + + console.log('[webhook] Processing incoming-payment event with node sync and retry'); + + try { + // Dynamically import to avoid bundling issues + const { createMoneyDevKitNode, createMoneyDevKitClient, markPaymentReceived } = await import("@moneydevkit/core"); + + const client = createMoneyDevKitClient(); + + // Retry logic: try up to 5 times with increasing delays + const maxRetries = 5; + const delays = [1000, 2000, 3000, 5000, 8000]; // Total: up to 19 seconds of waiting + + let payments: Array<{ paymentHash: string; amount: number }> = []; + + for (let attempt = 0; attempt < maxRetries; attempt++) { + // Create a fresh node instance for each attempt + const node = createMoneyDevKitNode(); + + // CRITICAL: Sync wallets BEFORE checking for payments + console.log(`[webhook] Attempt ${attempt + 1}/${maxRetries}: Syncing wallets...`); + node.syncWallets(); + console.log(`[webhook] Attempt ${attempt + 1}/${maxRetries}: Wallet sync complete`); + + // Now receive payments with the synced state + console.log(`[webhook] Attempt ${attempt + 1}/${maxRetries}: Checking for received payments...`); + payments = node.receivePayments(); + console.log(`[webhook] Attempt ${attempt + 1}/${maxRetries}: Found ${payments.length} payment(s)`); + + if (payments.length > 0) { + break; // Found payments, exit retry loop + } + + // If no payments found and we have more retries, wait before trying again + if (attempt < maxRetries - 1) { + const delayMs = delays[attempt]; + console.log(`[webhook] No payments found, waiting ${delayMs}ms before retry...`); + await sleep(delayMs); + } + } + + if (payments.length === 0) { + console.log('[webhook] No payments found after all retries'); + return new Response('OK', { status: 200 }); + } + + // Mark payments as received locally + payments.forEach((payment: { paymentHash: string }) => { + console.log(`[webhook] Marking payment ${payment.paymentHash} as received`); + markPaymentReceived(payment.paymentHash); + }); + + // Notify MDK API about received payments + try { + console.log('[webhook] Notifying MDK API about payments...'); + await client.checkouts.paymentReceived({ + payments: payments.map((payment: { paymentHash: string; amount: number }) => ({ + paymentHash: payment.paymentHash, + amountSats: payment.amount / 1000, + sandbox: false, + })), + }); + console.log('[webhook] MDK API notified successfully'); + } catch (error) { + console.error('[webhook] Failed to notify MDK API:', error); + // Don't throw - local state is already marked + } + + return new Response('OK', { status: 200 }); + } catch (error) { + console.error('[webhook] Error processing webhook:', error); + return new Response(JSON.stringify({ error: 'Internal server error' }), { + status: 500, + headers: { 'Content-Type': 'application/json' }, + }); + } +} + +export async function POST(request: NextRequest): Promise { + // Clone the request so we can read the body multiple times + const clonedRequest = request.clone(); + + try { + const body = await clonedRequest.json(); + const handler = body?.handler?.toLowerCase?.() ?? body?.route?.toLowerCase?.() ?? body?.target?.toLowerCase?.(); + + // Handle webhook requests with our custom sync logic + if (handler === 'webhooks' || handler === 'webhook') { + // Create a new request with the parsed body since we already consumed it + return handleWebhookWithSync(request); + } + } catch { + // If JSON parsing fails, let the default handler deal with it + } + + // For all other requests, use the default handler + const defaultHandler = await getDefaultHandler(); + return defaultHandler(request); +} diff --git a/mdk-nextjs-demo/app/page.tsx b/mdk-nextjs-demo/app/page.tsx index 8b8ba1d..c4ae158 100644 --- a/mdk-nextjs-demo/app/page.tsx +++ b/mdk-nextjs-demo/app/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useCheckout } from "@moneydevkit/nextjs"; +import { useCheckout, useProducts } from "@moneydevkit/nextjs"; import Link from "next/link"; import { useMemo, useState } from "react"; @@ -21,6 +21,7 @@ export default function HomePage() { const [customerName, setCustomerName] = useState("Satoshi Nakamoto"); const [note, setNote] = useState("Fast IBD snapshot with hosted checkout."); const { navigate, isNavigating } = useCheckout(); + const { products, isLoading: productsLoading } = useProducts(); const metadata = useMemo( () => ({ @@ -43,6 +44,26 @@ export default function HomePage() { }); }; + const handleProductCheckout = () => { + if (products.length === 0) return; + navigate({ + // Single product checkout - uses first available product + productId: products[0].id, + metadata, + checkoutPath: "/checkout", + }); + }; + + const handleMultiProductCheckout = () => { + if (products.length < 2) return; + navigate({ + // Multiple products checkout - uses first two available products + products: [products[0].id, products[1].id], + metadata, + checkoutPath: "/checkout", + }); + }; + return (
@@ -95,8 +116,30 @@ export default function HomePage() { disabled={isNavigating} data-test="start-checkout" > - {isNavigating ? "Creating checkout…" : "Launch checkout"} + {isNavigating ? "Creating checkout…" : "Launch checkout (Amount)"} + {products.length >= 1 && ( + + )} + {products.length >= 2 && ( + + )}

We create a checkout session with the values above and redirect to {" /checkout/[id] "} using useCheckout. diff --git a/mdk-nextjs-demo/local-packages/moneydevkit-core-0.7.0-beta.6.tgz b/mdk-nextjs-demo/local-packages/moneydevkit-core-0.7.0-beta.6.tgz new file mode 100644 index 0000000..3568ea7 Binary files /dev/null and b/mdk-nextjs-demo/local-packages/moneydevkit-core-0.7.0-beta.6.tgz differ diff --git a/mdk-nextjs-demo/local-packages/moneydevkit-nextjs-0.7.0-beta.6.tgz b/mdk-nextjs-demo/local-packages/moneydevkit-nextjs-0.7.0-beta.6.tgz new file mode 100644 index 0000000..fb54c7a Binary files /dev/null and b/mdk-nextjs-demo/local-packages/moneydevkit-nextjs-0.7.0-beta.6.tgz differ diff --git a/mdk-nextjs-demo/package-lock.json b/mdk-nextjs-demo/package-lock.json index 73084ed..b720cfa 100644 --- a/mdk-nextjs-demo/package-lock.json +++ b/mdk-nextjs-demo/package-lock.json @@ -8,9 +8,9 @@ "name": "mdk-nextjs-demo", "version": "0.0.1", "dependencies": { - "@moneydevkit/core": "beta", + "@moneydevkit/core": "file:./local-packages/moneydevkit-core-0.7.0-beta.6.tgz", "@moneydevkit/create": "beta", - "@moneydevkit/nextjs": "beta", + "@moneydevkit/nextjs": "file:./local-packages/moneydevkit-nextjs-0.7.0-beta.6.tgz", "next": "16.0.7", "react": "19.2.0", "react-dom": "19.2.0" @@ -26,13 +26,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -41,9 +41,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", "dev": true, "license": "MIT", "engines": { @@ -51,22 +51,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -93,14 +92,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -110,13 +109,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -147,29 +146,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -209,27 +208,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -239,33 +238,33 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", "debug": "^4.3.1" }, "engines": { @@ -273,9 +272,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "dev": true, "license": "MIT", "dependencies": { @@ -1713,9 +1712,9 @@ } }, "node_modules/@moneydevkit/api-contract": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/@moneydevkit/api-contract/-/api-contract-0.1.13.tgz", - "integrity": "sha512-7zfK6/JeX74nvzxEIADiPXBg9XCPVGCPbfD1jgbKqlR76EdC0PcX+MHWdyWQeNoQxTSOYX57Gb4AYjyieU+9Kg==", + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@moneydevkit/api-contract/-/api-contract-0.1.16.tgz", + "integrity": "sha512-ola/nRDbSp5wSejVbYI7f3UfDUJykZrB5oKbH61NwMbk8AljTkS5f9grqvPH0GAEf7W7xlof6nc7BX6CpsGhMQ==", "license": "Apache-2.0", "dependencies": { "@orpc/contract": "1.3.0", @@ -1726,13 +1725,13 @@ } }, "node_modules/@moneydevkit/core": { - "version": "0.6.0-beta.4", - "resolved": "https://registry.npmjs.org/@moneydevkit/core/-/core-0.6.0-beta.4.tgz", - "integrity": "sha512-u2qneDoYZyl+SRAtGgxI29oZRhkutKRAhtQFE5qRYcLOX5HivEi8clBnLvx5JmsbW+sKRcySrvd73WK/q9m3+A==", + "version": "0.7.0-beta.6", + "resolved": "file:local-packages/moneydevkit-core-0.7.0-beta.6.tgz", + "integrity": "sha512-zPubZ4deK8mEFsSOP9VlXoZpQV31RLS3GVKliQxdBV4Dpix9GIBv6jlcmWaZI/Jjdfb2tfJaSIWswpOyuh7K7g==", "dependencies": { "@hookform/resolvers": "^5.0.1", - "@moneydevkit/api-contract": "0.1.13", - "@moneydevkit/lightning-js": "^0.1.56", + "@moneydevkit/api-contract": "^0.1.16", + "@moneydevkit/lightning-js": "^0.1.60", "@orpc/client": "1.3.0", "@orpc/contract": "1.3.0", "@radix-ui/react-collapsible": "^1.1.11", @@ -1756,14 +1755,14 @@ } }, "node_modules/@moneydevkit/create": { - "version": "0.6.0-beta.4", - "resolved": "https://registry.npmjs.org/@moneydevkit/create/-/create-0.6.0-beta.4.tgz", - "integrity": "sha512-/EroRMe+L2WrG1Q+SP4V2tqTCMssiu5qIf6Nb8IbVHxP1dhOuw3cHx2uvbLHlrOVw6SXZL6dewiO12A/fNBjig==", + "version": "0.7.0-beta.6", + "resolved": "https://registry.npmjs.org/@moneydevkit/create/-/create-0.7.0-beta.6.tgz", + "integrity": "sha512-+0HzCMLdQj4XKD0OXvWhnQy5rJRTcy+Ev0mNRIhRICcVkwEkhKW8PujjczsRxC5b582HBe5wRr/iTxVaSxgehg==", "license": "Apache-2.0", "dependencies": { "@clack/prompts": "^0.10.0", "@moneydevkit/api-contract": "^0.1.13", - "@moneydevkit/lightning-js": "^0.1.56", + "@moneydevkit/lightning-js": "^0.1.60", "@orpc/client": "^1.3.0", "@orpc/contract": "^1.3.0", "bip39": "^3.1.0", @@ -1782,33 +1781,33 @@ } }, "node_modules/@moneydevkit/lightning-js": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js/-/lightning-js-0.1.56.tgz", - "integrity": "sha512-45+cukk0dGXKN4h2stvDtL4YPvrA0HLtOlttuTYMv0udbRr151qGRtuBF4D4X0ChfkAKug/naIoZ3lvZ1HckEg==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js/-/lightning-js-0.1.60.tgz", + "integrity": "sha512-lCOZ17/xeeyIuG+FS5Pne2OpD2uPz33h/RXe1+VPZrhrtDJ/7fzk6ZEruCU90eAoDeQVV6K4TQ15JNosgTuPLw==", "license": "MIT", "engines": { "node": ">= 10" }, "optionalDependencies": { - "@moneydevkit/lightning-js-android-arm-eabi": "0.1.56", - "@moneydevkit/lightning-js-android-arm64": "0.1.56", - "@moneydevkit/lightning-js-darwin-arm64": "0.1.56", - "@moneydevkit/lightning-js-darwin-x64": "0.1.56", - "@moneydevkit/lightning-js-freebsd-x64": "0.1.56", - "@moneydevkit/lightning-js-linux-arm-gnueabihf": "0.1.56", - "@moneydevkit/lightning-js-linux-arm64-gnu": "0.1.56", - "@moneydevkit/lightning-js-linux-arm64-musl": "0.1.56", - "@moneydevkit/lightning-js-linux-x64-gnu": "0.1.56", - "@moneydevkit/lightning-js-linux-x64-musl": "0.1.56", - "@moneydevkit/lightning-js-win32-arm64-msvc": "0.1.56", - "@moneydevkit/lightning-js-win32-ia32-msvc": "0.1.56", - "@moneydevkit/lightning-js-win32-x64-msvc": "0.1.56" + "@moneydevkit/lightning-js-android-arm-eabi": "0.1.60", + "@moneydevkit/lightning-js-android-arm64": "0.1.60", + "@moneydevkit/lightning-js-darwin-arm64": "0.1.60", + "@moneydevkit/lightning-js-darwin-x64": "0.1.60", + "@moneydevkit/lightning-js-freebsd-x64": "0.1.60", + "@moneydevkit/lightning-js-linux-arm-gnueabihf": "0.1.60", + "@moneydevkit/lightning-js-linux-arm64-gnu": "0.1.60", + "@moneydevkit/lightning-js-linux-arm64-musl": "0.1.60", + "@moneydevkit/lightning-js-linux-x64-gnu": "0.1.60", + "@moneydevkit/lightning-js-linux-x64-musl": "0.1.60", + "@moneydevkit/lightning-js-win32-arm64-msvc": "0.1.60", + "@moneydevkit/lightning-js-win32-ia32-msvc": "0.1.60", + "@moneydevkit/lightning-js-win32-x64-msvc": "0.1.60" } }, "node_modules/@moneydevkit/lightning-js-android-arm64": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-android-arm64/-/lightning-js-android-arm64-0.1.56.tgz", - "integrity": "sha512-C5SpfnyGncxfxur5/dNVdupYJNR6Qkie5t4heiGwgya4vb8mHfSlXsl1DS9Xo708tPpGXzL4MEXHZYSmbxDhgg==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-android-arm64/-/lightning-js-android-arm64-0.1.60.tgz", + "integrity": "sha512-lir2gwBqwF0b5pVJ6HEusbc9uUPfc+kDzMA0qUnZ+lN97CAaj4RmLNC9I08yu41LsOu0cgLobgeM3XbKKcHj2A==", "cpu": [ "arm64" ], @@ -1822,9 +1821,9 @@ } }, "node_modules/@moneydevkit/lightning-js-darwin-arm64": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-darwin-arm64/-/lightning-js-darwin-arm64-0.1.56.tgz", - "integrity": "sha512-6Y1y7hbkjQgFoccfWo6Bpg60Rigy8yRyoG3Imt8iDMqw1qAirDaT84g1c9/xXYwrIl2sWwZObudUVTZgILFhFw==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-darwin-arm64/-/lightning-js-darwin-arm64-0.1.60.tgz", + "integrity": "sha512-c7FjGqRkkRH06sJNnlBSpFg7EGenb7YSryDDN1k1fTzEVTcfHueO3hFWdTc0h9d7r+DErxm0bWLv7xQ/kK1kvA==", "cpu": [ "arm64" ], @@ -1838,9 +1837,9 @@ } }, "node_modules/@moneydevkit/lightning-js-darwin-x64": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-darwin-x64/-/lightning-js-darwin-x64-0.1.56.tgz", - "integrity": "sha512-V9ic3btmtucl+lpqteGhPbf2ubQvIG08smQyn0nPtGY37ZbR5dpKmXi93f5uisHHJQXKVMXodbplRz2bS2oyBA==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-darwin-x64/-/lightning-js-darwin-x64-0.1.60.tgz", + "integrity": "sha512-cCyDVvDDtkUjGjiiU+ir3lyybIRpJeaOeXXmyAuN7xgUvq4gbAizvOYCskBigUyMjRoLC9Vy9Er3uvRnAom2EQ==", "cpu": [ "x64" ], @@ -1854,9 +1853,9 @@ } }, "node_modules/@moneydevkit/lightning-js-linux-arm64-gnu": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-arm64-gnu/-/lightning-js-linux-arm64-gnu-0.1.56.tgz", - "integrity": "sha512-H31iKc/iViccVG/riFRPQAhBny6Ge1MU4XkZYtBPJPlOgZzpaAe6CTFsWhVYxLfLeDAHMGyp8kpkxF7VUjGIRA==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-arm64-gnu/-/lightning-js-linux-arm64-gnu-0.1.60.tgz", + "integrity": "sha512-5r2t43kajBJlqCOn9jaTPFOGJKo4Q87ZigPAvP7xwc/2NcIRe/MQf3zA4a7LYcx+T/3MQbk6gASM6jwO6JSGLw==", "cpu": [ "arm64" ], @@ -1870,9 +1869,9 @@ } }, "node_modules/@moneydevkit/lightning-js-linux-arm64-musl": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-arm64-musl/-/lightning-js-linux-arm64-musl-0.1.56.tgz", - "integrity": "sha512-FRqj4HmWPNtSRpbZj7BOAATKAp+cA+BVSozCkiS/G6uTb+KFAIY3Sf8Bh6Oy+zPqaVKD9YwKq5J1XyRRG6jJFg==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-arm64-musl/-/lightning-js-linux-arm64-musl-0.1.60.tgz", + "integrity": "sha512-DlLJl0omZs9vh16vqKj0Lg0Y34c1mivEYd2hGD4mRli1hHqVqP6OlHo/rLAsgMdTINaKIIIY+1c3tjcHu7wy2g==", "cpu": [ "arm64" ], @@ -1886,9 +1885,9 @@ } }, "node_modules/@moneydevkit/lightning-js-linux-x64-gnu": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-x64-gnu/-/lightning-js-linux-x64-gnu-0.1.56.tgz", - "integrity": "sha512-Wxmb/yYs1M8d0DGmCgD5OaoBxxj0yjeaDM2WXJVcGluRYkrX9Ck3F4jlwwjhahMk6Lj7G2aoPHbLGXwuHgmH9w==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-x64-gnu/-/lightning-js-linux-x64-gnu-0.1.60.tgz", + "integrity": "sha512-ttHnb536DxK82MuGaHoC33CaQgwVNlOCm9nwCjlDcvLUCzcrjRDSPehaDMz10o2cpl3gejJpUz5lQ+LmPtwuHA==", "cpu": [ "x64" ], @@ -1902,9 +1901,9 @@ } }, "node_modules/@moneydevkit/lightning-js-linux-x64-musl": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-x64-musl/-/lightning-js-linux-x64-musl-0.1.56.tgz", - "integrity": "sha512-3ydoAl3dvMHZT4Tf1UFyic8NU3gEZoiX5aJ02dUgHS0KsUxUmHYiRjCniveX4CU8nNp29HXPwPrh5RJXRL2d3w==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-linux-x64-musl/-/lightning-js-linux-x64-musl-0.1.60.tgz", + "integrity": "sha512-1x8MLZq+kgaqrHPbFBqHA5pfqgy90HWKzyUpDS0VE+tgHhiZHHbuzChsCDCMtJyuemiIJwjWlr2uTPNos5HW+w==", "cpu": [ "x64" ], @@ -1918,9 +1917,9 @@ } }, "node_modules/@moneydevkit/lightning-js-win32-arm64-msvc": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-win32-arm64-msvc/-/lightning-js-win32-arm64-msvc-0.1.56.tgz", - "integrity": "sha512-rsBY3RTYh8BjciPVteOnYWxEMBqVE6zHqZoF7GcvpVC4rUBaLtxP0vjbUj1VkuLhTWuhKSPkt4EwhIXeZezaZA==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-win32-arm64-msvc/-/lightning-js-win32-arm64-msvc-0.1.60.tgz", + "integrity": "sha512-0ffcyh81BOzzv60gU1KNIwFScPbgH8aMN7chsNkolVP4gcg1dThUBqPUyp7E4/IzplgSwQSXKHXOY9jG19GmkQ==", "cpu": [ "arm64" ], @@ -1934,9 +1933,9 @@ } }, "node_modules/@moneydevkit/lightning-js-win32-ia32-msvc": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-win32-ia32-msvc/-/lightning-js-win32-ia32-msvc-0.1.56.tgz", - "integrity": "sha512-OFvVrfTJw2+r/qAZhdBXJeEEyyapiA+7sn02F4QavHAElCgStsxyavkf/tDNa/Dm2OpNzdVCvmgWnffYOpreOQ==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-win32-ia32-msvc/-/lightning-js-win32-ia32-msvc-0.1.60.tgz", + "integrity": "sha512-+xchZr1tEJoXlkFTUqy5yOnYxs0gbhUsK/FwYpVjwU4cLSjtbI/96WPlPZV6Rfq4vZfPr3VeNhcobt3IrczfjQ==", "cpu": [ "ia32" ], @@ -1950,9 +1949,9 @@ } }, "node_modules/@moneydevkit/lightning-js-win32-x64-msvc": { - "version": "0.1.56", - "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-win32-x64-msvc/-/lightning-js-win32-x64-msvc-0.1.56.tgz", - "integrity": "sha512-hVziAsKMb6YTcJov40zFVXyBK+hXKWWZ7owWlolfRTeuQ3cMkdSYTgE15IJuEFDChps3rZ4W52Ml7HlUAtBFQw==", + "version": "0.1.60", + "resolved": "https://registry.npmjs.org/@moneydevkit/lightning-js-win32-x64-msvc/-/lightning-js-win32-x64-msvc-0.1.60.tgz", + "integrity": "sha512-pPxJhKaSaWfLtjVD45i6z6VsHbMH+vw9LyPl49mCs9At7qLbUyioBAv9ehAJW//beXZG2QCy3FNoSuV7YBe5GQ==", "cpu": [ "x64" ], @@ -1965,24 +1964,15 @@ "node": ">= 10" } }, - "node_modules/@moneydevkit/lightning-js/node_modules/@moneydevkit/lightning-js-android-arm-eabi": { - "optional": true - }, - "node_modules/@moneydevkit/lightning-js/node_modules/@moneydevkit/lightning-js-freebsd-x64": { - "optional": true - }, - "node_modules/@moneydevkit/lightning-js/node_modules/@moneydevkit/lightning-js-linux-arm-gnueabihf": { - "optional": true - }, "node_modules/@moneydevkit/nextjs": { - "version": "0.6.0-beta.4", - "resolved": "https://registry.npmjs.org/@moneydevkit/nextjs/-/nextjs-0.6.0-beta.4.tgz", - "integrity": "sha512-uQ5t5EB87wOVODa2s/TRG14r2JQE+eL40XYpRxEVUMb2q6hEMaoGfgrS9Wyg41oCD41GhE5oxx9wZuejXkgm/Q==", + "version": "0.7.0-beta.6", + "resolved": "file:local-packages/moneydevkit-nextjs-0.7.0-beta.6.tgz", + "integrity": "sha512-Kh+6A8+1Ax91EdD2IkHuT2qn8h2jYxOd4w3oJPThq78pD4azTFMmTMW7FmoHkeFwN4GfrXEcNf4VEuR/Cn2nXg==", "dependencies": { "@hookform/resolvers": "^5.0.1", - "@moneydevkit/api-contract": "^0.1.13", - "@moneydevkit/core": "0.6.0-beta.4", - "@moneydevkit/lightning-js": "^0.1.56", + "@moneydevkit/api-contract": "^0.1.16", + "@moneydevkit/core": "0.7.0-beta.6", + "@moneydevkit/lightning-js": "^0.1.60", "@orpc/client": "1.3.0", "@orpc/contract": "1.3.0", "@radix-ui/react-collapsible": "^1.1.11", @@ -3304,9 +3294,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.90.16", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.16.tgz", - "integrity": "sha512-MvtWckSVufs/ja463/K4PyJeqT+HMlJWtw6PrCpywznd2NSgO3m4KwO9RqbFqGg6iDE8vVMFWMeQI4Io3eEYww==", + "version": "5.90.17", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.17.tgz", + "integrity": "sha512-hDww+RyyYhjhUfoYQ4es6pbgxY7LNiPWxt4l1nJqhByjndxJ7HIjDxTBtfvMr5HwjYavMrd+ids5g4Rfev3lVQ==", "license": "MIT", "funding": { "type": "github", @@ -3314,12 +3304,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.90.16", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.16.tgz", - "integrity": "sha512-bpMGOmV4OPmif7TNMteU/Ehf/hoC0Kf98PDc0F4BZkFrEapRMEqI/V6YS0lyzwSV6PQpY1y4xxArUIfBW5LVxQ==", + "version": "5.90.17", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.17.tgz", + "integrity": "sha512-PGc2u9KLwohDUSchjW9MZqeDQJfJDON7y4W7REdNBgiFKxQy+Pf7eGjiFWEj5xPqKzAeHYdAb62IWI1a9UJyGQ==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.90.16" + "@tanstack/query-core": "5.90.17" }, "funding": { "type": "github", @@ -3413,9 +3403,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", - "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "version": "20.19.29", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.29.tgz", + "integrity": "sha512-YrT9ArrGaHForBaCNwFjoqJWmn8G1Pr7+BH/vwyLHciA9qT/wSiuOhxGCT50JA5xLvFBd6PIiGkE3afxcPE1nw==", "dev": true, "license": "MIT", "dependencies": { @@ -3423,12 +3413,11 @@ } }, "node_modules/@types/react": { - "version": "19.2.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", - "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.8.tgz", + "integrity": "sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -3439,23 +3428,22 @@ "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "devOptional": true, "license": "MIT", - "peer": true, "peerDependencies": { "@types/react": "^19.2.0" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz", - "integrity": "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz", + "integrity": "sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/type-utils": "8.52.0", - "@typescript-eslint/utils": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/type-utils": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" @@ -3468,7 +3456,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.52.0", + "@typescript-eslint/parser": "^8.53.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -3484,17 +3472,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz", - "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.0.tgz", + "integrity": "sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", "debug": "^4.4.3" }, "engines": { @@ -3510,14 +3497,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", - "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.0.tgz", + "integrity": "sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.52.0", - "@typescript-eslint/types": "^8.52.0", + "@typescript-eslint/tsconfig-utils": "^8.53.0", + "@typescript-eslint/types": "^8.53.0", "debug": "^4.4.3" }, "engines": { @@ -3532,14 +3519,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", - "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.0.tgz", + "integrity": "sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0" + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3550,9 +3537,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", - "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.0.tgz", + "integrity": "sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==", "dev": true, "license": "MIT", "engines": { @@ -3567,15 +3554,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz", - "integrity": "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.0.tgz", + "integrity": "sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/utils": "8.52.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, @@ -3592,9 +3579,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", - "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.0.tgz", + "integrity": "sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==", "dev": true, "license": "MIT", "engines": { @@ -3606,16 +3593,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", - "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.0.tgz", + "integrity": "sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.52.0", - "@typescript-eslint/tsconfig-utils": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/project-service": "8.53.0", + "@typescript-eslint/tsconfig-utils": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", "debug": "^4.4.3", "minimatch": "^9.0.5", "semver": "^7.7.3", @@ -3660,16 +3647,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", - "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.0.tgz", + "integrity": "sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0" + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3684,13 +3671,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", - "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.0.tgz", + "integrity": "sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/types": "8.53.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -4531,8 +4518,7 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.11.tgz", "integrity": "sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@vercel/node/node_modules/async-listen": { "version": "3.0.0", @@ -4622,7 +4608,6 @@ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4895,7 +4880,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5277,9 +5261,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.13", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.13.tgz", - "integrity": "sha512-WhtvB2NG2wjr04+h77sg3klAIwrgOqnjS49GGudnUPGFFgg7G17y7Qecqp+2Dr5kUDxNRBca0SK7cG8JwzkWDQ==", + "version": "2.9.14", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz", + "integrity": "sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -5349,7 +5333,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -5460,9 +5443,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001763", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz", - "integrity": "sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==", + "version": "1.0.30001764", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz", + "integrity": "sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==", "funding": [ { "type": "opencollective", @@ -6572,7 +6555,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -8756,7 +8738,6 @@ "integrity": "sha512-3mBRJyPxT4LOxAJI6IsXeFtKfiJUbjCLgvXO02fV8Wy/lIhPvP94Fe7dGhUgHXcQy4sSuYwQNcOLhIfOm0rL0A==", "deprecated": "This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details.", "license": "MIT", - "peer": true, "dependencies": { "@next/env": "16.0.7", "@swc/helpers": "0.5.15", @@ -9486,7 +9467,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -9496,7 +9476,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -9505,11 +9484,10 @@ } }, "node_modules/react-hook-form": { - "version": "7.70.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.70.0.tgz", - "integrity": "sha512-COOMajS4FI3Wuwrs3GPpi/Jeef/5W1DRR84Yl5/ShlT3dKVFUfoGiEZ/QE6Uw8P4T2/CLJdcTVYKvWBMQTEpvw==", + "version": "7.71.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.1.tgz", + "integrity": "sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w==", "license": "MIT", - "peer": true, "engines": { "node": ">=18.0.0" }, @@ -10513,7 +10491,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -10793,7 +10770,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10803,16 +10779,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.52.0.tgz", - "integrity": "sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.53.0.tgz", + "integrity": "sha512-xHURCQNxZ1dsWn0sdOaOfCSQG0HKeqSj9OexIxrz6ypU6wHYOdX2I3D2b8s8wFSsSOYJb+6q283cLiLlkEsBYw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.52.0", - "@typescript-eslint/parser": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/utils": "8.52.0" + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11189,9 +11165,9 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "dev": true, "license": "MIT", "dependencies": { @@ -11341,7 +11317,6 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/mdk-nextjs-demo/package.json b/mdk-nextjs-demo/package.json index 463e203..9614a2a 100644 --- a/mdk-nextjs-demo/package.json +++ b/mdk-nextjs-demo/package.json @@ -9,8 +9,8 @@ "lint": "eslint . --ext ts,tsx,js,jsx --max-warnings=0" }, "dependencies": { - "@moneydevkit/nextjs": "beta", - "@moneydevkit/core": "beta", + "@moneydevkit/nextjs": "file:./local-packages/moneydevkit-nextjs-0.7.0-beta.6.tgz", + "@moneydevkit/core": "file:./local-packages/moneydevkit-core-0.7.0-beta.6.tgz", "@moneydevkit/create": "beta", "next": "16.0.7", "react": "19.2.0",