UNPKG

lightning-auth-and-payment

Version:

Lightning Network authentication and payment processing library for modern web applications

223 lines 21.8 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CardHeader = exports.Card = exports.Badge = exports.Button = exports.ThemeToggle = exports.LightningPaymentInput = exports.LightningWalletInput = exports.LightningPubkeyInput = exports.LightningAddressInput = exports.LightningInput = exports.ExpiredBadge = exports.FailedBadge = exports.CompletedBadge = exports.PendingBadge = exports.DisconnectedBadge = exports.ConnectedBadge = exports.LightningNetworkBadgeComponent = exports.LightningWalletBadge = exports.LightningUserBadge = exports.LightningPaymentBadge = exports.LightningStatusBadge = exports.LightningBadge = exports.LightningWalletCard = exports.LightningUserCard = exports.LightningPaymentCard = exports.LightningCard = exports.LightningExternalButton = exports.LightningDownloadButton = exports.LightningCopyButton = exports.LightningSendButton = exports.LightningWalletButton = exports.LightningPayButton = exports.LightningButton = exports.LightningPaymentModal = exports.LightningAuthModal = exports.LightningLogin = exports.AuthHeader = exports.AuthModal = exports.BTCPayPaymentModal = exports.PaymentModal = exports.LnurlAuthQRCode = exports.LightningQRCode = exports.QRCode = exports.HybridLnurlStore = exports.DatabaseLnurlStore = exports.MemoryLnurlStore = exports.createBTCPayClientFromEnv = exports.createBTCPayClient = exports.BTCPayClient = exports.LightningAuth = void 0; exports.handleUserRequestWithAdapter = exports.handleUserRequest = exports.handleAuthStatusRequest = exports.handleAuthCallbackRequest = exports.handleLnurlRequest = exports.createBTCPayService = exports.BTCPayService = exports.createPrismaAdapter = exports.PrismaDatabaseAdapter = exports.useThemeClass = exports.useThemeMode = exports.useTheme = exports.ThemeProvider = exports.useAuth = exports.useLightningContext = exports.LightningProvider = exports.useBTCPayPayment = exports.useLightningPayment = exports.useLightningAuth = exports.requireAuth = exports.isAuthenticated = exports.getCurrentUserId = exports.verifySession = exports.createSession = exports.clearSession = exports.setSessionCookie = exports.getSession = exports.createSessionAuth = exports.handleLogout = exports.handleAuthStatus = exports.handleAuthCallback = exports.getBaseUrl = exports.createAuthInstance = exports.formatBTC = exports.formatSats = exports.btcToSats = exports.satsToBTC = exports.generateClientSeed = exports.formatDate = exports.formatNumber = exports.cn = exports.DialogDescription = exports.DialogTitle = exports.DialogHeader = exports.DialogContent = exports.Dialog = exports.CardFooter = exports.CardContent = exports.CardDescription = exports.CardTitle = void 0; exports.handleBTCPayWebhookRequest = exports.handleBTCPayInvoiceStatus = exports.handleBTCPayInvoiceCreation = exports.getBTCPayCorsHeaders = exports.getAuthCorsHeaders = exports.getCorsHeaders = exports.handleLogoutRequest = void 0; // Main exports for the Lightning Auth package var auth_1 = require("./auth"); Object.defineProperty(exports, "LightningAuth", { enumerable: true, get: function () { return auth_1.LightningAuth; } }); var btcpay_1 = require("./btcpay"); Object.defineProperty(exports, "BTCPayClient", { enumerable: true, get: function () { return btcpay_1.BTCPayClient; } }); Object.defineProperty(exports, "createBTCPayClient", { enumerable: true, get: function () { return btcpay_1.createBTCPayClient; } }); Object.defineProperty(exports, "createBTCPayClientFromEnv", { enumerable: true, get: function () { return btcpay_1.createBTCPayClientFromEnv; } }); var memory_1 = require("./stores/memory"); Object.defineProperty(exports, "MemoryLnurlStore", { enumerable: true, get: function () { return memory_1.MemoryLnurlStore; } }); var database_1 = require("./stores/database"); Object.defineProperty(exports, "DatabaseLnurlStore", { enumerable: true, get: function () { return database_1.DatabaseLnurlStore; } }); var hybrid_1 = require("./stores/hybrid"); Object.defineProperty(exports, "HybridLnurlStore", { enumerable: true, get: function () { return hybrid_1.HybridLnurlStore; } }); // React components var QRCode_1 = require("./components/QRCode"); Object.defineProperty(exports, "QRCode", { enumerable: true, get: function () { return QRCode_1.QRCode; } }); Object.defineProperty(exports, "LightningQRCode", { enumerable: true, get: function () { return QRCode_1.LightningQRCode; } }); Object.defineProperty(exports, "LnurlAuthQRCode", { enumerable: true, get: function () { return QRCode_1.LnurlAuthQRCode; } }); var PaymentModal_1 = require("./components/PaymentModal"); Object.defineProperty(exports, "PaymentModal", { enumerable: true, get: function () { return PaymentModal_1.PaymentModal; } }); var BTCPayPaymentModal_1 = require("./components/BTCPayPaymentModal"); Object.defineProperty(exports, "BTCPayPaymentModal", { enumerable: true, get: function () { return BTCPayPaymentModal_1.BTCPayPaymentModal; } }); var AuthModal_1 = require("./components/AuthModal"); Object.defineProperty(exports, "AuthModal", { enumerable: true, get: function () { return AuthModal_1.AuthModal; } }); var AuthHeader_1 = require("./components/AuthHeader"); Object.defineProperty(exports, "AuthHeader", { enumerable: true, get: function () { return AuthHeader_1.AuthHeader; } }); // Enhanced Lightning UI Components var components_1 = require("./components"); Object.defineProperty(exports, "LightningLogin", { enumerable: true, get: function () { return components_1.LightningLogin; } }); Object.defineProperty(exports, "LightningAuthModal", { enumerable: true, get: function () { return components_1.LightningAuthModal; } }); Object.defineProperty(exports, "LightningPaymentModal", { enumerable: true, get: function () { return components_1.LightningPaymentModal; } }); Object.defineProperty(exports, "LightningButton", { enumerable: true, get: function () { return components_1.LightningButton; } }); Object.defineProperty(exports, "LightningPayButton", { enumerable: true, get: function () { return components_1.LightningPayButton; } }); Object.defineProperty(exports, "LightningWalletButton", { enumerable: true, get: function () { return components_1.LightningWalletButton; } }); Object.defineProperty(exports, "LightningSendButton", { enumerable: true, get: function () { return components_1.LightningSendButton; } }); Object.defineProperty(exports, "LightningCopyButton", { enumerable: true, get: function () { return components_1.LightningCopyButton; } }); Object.defineProperty(exports, "LightningDownloadButton", { enumerable: true, get: function () { return components_1.LightningDownloadButton; } }); Object.defineProperty(exports, "LightningExternalButton", { enumerable: true, get: function () { return components_1.LightningExternalButton; } }); Object.defineProperty(exports, "LightningCard", { enumerable: true, get: function () { return components_1.LightningCard; } }); Object.defineProperty(exports, "LightningPaymentCard", { enumerable: true, get: function () { return components_1.LightningPaymentCard; } }); Object.defineProperty(exports, "LightningUserCard", { enumerable: true, get: function () { return components_1.LightningUserCard; } }); Object.defineProperty(exports, "LightningWalletCard", { enumerable: true, get: function () { return components_1.LightningWalletCard; } }); Object.defineProperty(exports, "LightningBadge", { enumerable: true, get: function () { return components_1.LightningBadge; } }); Object.defineProperty(exports, "LightningStatusBadge", { enumerable: true, get: function () { return components_1.LightningStatusBadge; } }); Object.defineProperty(exports, "LightningPaymentBadge", { enumerable: true, get: function () { return components_1.LightningPaymentBadge; } }); Object.defineProperty(exports, "LightningUserBadge", { enumerable: true, get: function () { return components_1.LightningUserBadge; } }); Object.defineProperty(exports, "LightningWalletBadge", { enumerable: true, get: function () { return components_1.LightningWalletBadge; } }); Object.defineProperty(exports, "LightningNetworkBadgeComponent", { enumerable: true, get: function () { return components_1.LightningNetworkBadgeComponent; } }); Object.defineProperty(exports, "ConnectedBadge", { enumerable: true, get: function () { return components_1.ConnectedBadge; } }); Object.defineProperty(exports, "DisconnectedBadge", { enumerable: true, get: function () { return components_1.DisconnectedBadge; } }); Object.defineProperty(exports, "PendingBadge", { enumerable: true, get: function () { return components_1.PendingBadge; } }); Object.defineProperty(exports, "CompletedBadge", { enumerable: true, get: function () { return components_1.CompletedBadge; } }); Object.defineProperty(exports, "FailedBadge", { enumerable: true, get: function () { return components_1.FailedBadge; } }); Object.defineProperty(exports, "ExpiredBadge", { enumerable: true, get: function () { return components_1.ExpiredBadge; } }); Object.defineProperty(exports, "LightningInput", { enumerable: true, get: function () { return components_1.LightningInput; } }); Object.defineProperty(exports, "LightningAddressInput", { enumerable: true, get: function () { return components_1.LightningAddressInput; } }); Object.defineProperty(exports, "LightningPubkeyInput", { enumerable: true, get: function () { return components_1.LightningPubkeyInput; } }); Object.defineProperty(exports, "LightningWalletInput", { enumerable: true, get: function () { return components_1.LightningWalletInput; } }); Object.defineProperty(exports, "LightningPaymentInput", { enumerable: true, get: function () { return components_1.LightningPaymentInput; } }); Object.defineProperty(exports, "ThemeToggle", { enumerable: true, get: function () { return components_1.ThemeToggle; } }); // UI components var button_1 = require("./components/ui/button"); Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return button_1.Button; } }); var badge_1 = require("./components/ui/badge"); Object.defineProperty(exports, "Badge", { enumerable: true, get: function () { return badge_1.Badge; } }); var card_1 = require("./components/ui/card"); Object.defineProperty(exports, "Card", { enumerable: true, get: function () { return card_1.Card; } }); Object.defineProperty(exports, "CardHeader", { enumerable: true, get: function () { return card_1.CardHeader; } }); Object.defineProperty(exports, "CardTitle", { enumerable: true, get: function () { return card_1.CardTitle; } }); Object.defineProperty(exports, "CardDescription", { enumerable: true, get: function () { return card_1.CardDescription; } }); Object.defineProperty(exports, "CardContent", { enumerable: true, get: function () { return card_1.CardContent; } }); Object.defineProperty(exports, "CardFooter", { enumerable: true, get: function () { return card_1.CardFooter; } }); var dialog_1 = require("./components/ui/dialog"); Object.defineProperty(exports, "Dialog", { enumerable: true, get: function () { return dialog_1.Dialog; } }); Object.defineProperty(exports, "DialogContent", { enumerable: true, get: function () { return dialog_1.DialogContent; } }); Object.defineProperty(exports, "DialogHeader", { enumerable: true, get: function () { return dialog_1.DialogHeader; } }); Object.defineProperty(exports, "DialogTitle", { enumerable: true, get: function () { return dialog_1.DialogTitle; } }); Object.defineProperty(exports, "DialogDescription", { enumerable: true, get: function () { return dialog_1.DialogDescription; } }); var formatting_1 = require("./utils/formatting"); Object.defineProperty(exports, "cn", { enumerable: true, get: function () { return formatting_1.cn; } }); Object.defineProperty(exports, "formatNumber", { enumerable: true, get: function () { return formatting_1.formatNumber; } }); Object.defineProperty(exports, "formatDate", { enumerable: true, get: function () { return formatting_1.formatDate; } }); Object.defineProperty(exports, "generateClientSeed", { enumerable: true, get: function () { return formatting_1.generateClientSeed; } }); Object.defineProperty(exports, "satsToBTC", { enumerable: true, get: function () { return formatting_1.satsToBTC; } }); Object.defineProperty(exports, "btcToSats", { enumerable: true, get: function () { return formatting_1.btcToSats; } }); Object.defineProperty(exports, "formatSats", { enumerable: true, get: function () { return formatting_1.formatSats; } }); Object.defineProperty(exports, "formatBTC", { enumerable: true, get: function () { return formatting_1.formatBTC; } }); __exportStar(require("./utils/constants"), exports); // API Route Utilities (Legacy) var api_routes_1 = require("./utils/api-routes"); Object.defineProperty(exports, "createAuthInstance", { enumerable: true, get: function () { return api_routes_1.createAuthInstance; } }); Object.defineProperty(exports, "getBaseUrl", { enumerable: true, get: function () { return api_routes_1.getBaseUrl; } }); Object.defineProperty(exports, "handleAuthCallback", { enumerable: true, get: function () { return api_routes_1.handleAuthCallback; } }); Object.defineProperty(exports, "handleAuthStatus", { enumerable: true, get: function () { return api_routes_1.handleAuthStatus; } }); Object.defineProperty(exports, "handleLogout", { enumerable: true, get: function () { return api_routes_1.handleLogout; } }); // Invoice Route Utilities - temporarily removed due to build issues // export { // handleInvoiceCreation, // handleInvoiceStatus, // getInvoiceCorsHeaders, // handleInvoiceOptions, // } from "./utils/invoice-routes"; // Session Management Utilities var session_1 = require("./utils/session"); Object.defineProperty(exports, "createSessionAuth", { enumerable: true, get: function () { return session_1.createAuthInstance; } }); Object.defineProperty(exports, "getSession", { enumerable: true, get: function () { return session_1.getSession; } }); Object.defineProperty(exports, "setSessionCookie", { enumerable: true, get: function () { return session_1.setSessionCookie; } }); Object.defineProperty(exports, "clearSession", { enumerable: true, get: function () { return session_1.clearSession; } }); Object.defineProperty(exports, "createSession", { enumerable: true, get: function () { return session_1.createSession; } }); Object.defineProperty(exports, "verifySession", { enumerable: true, get: function () { return session_1.verifySession; } }); Object.defineProperty(exports, "getCurrentUserId", { enumerable: true, get: function () { return session_1.getCurrentUserId; } }); Object.defineProperty(exports, "isAuthenticated", { enumerable: true, get: function () { return session_1.isAuthenticated; } }); Object.defineProperty(exports, "requireAuth", { enumerable: true, get: function () { return session_1.requireAuth; } }); // Database Integration Utilities - Commented out to prevent client-side bundling issues // export { // DatabaseUtils, // UserUtils, // SessionUtils, // LnurlUtils, // TransactionUtils, // } from "./utils/database"; // Testing Utilities - Commented out to prevent client-side bundling issues // export { // createTestAuth, // createTestStore, // createTestBTCPayClient, // testUtils, // mockUser, // mockSession, // mockInvoice, // mockWebhookPayload, // setupTestEnvironment, // cleanupTestEnvironment, // testDataFactories, // } from "./utils/testing"; // React/Next.js Hooks var use_auth_1 = require("./hooks/use-auth"); Object.defineProperty(exports, "useLightningAuth", { enumerable: true, get: function () { return use_auth_1.useLightningAuth; } }); var use_lightning_payment_1 = require("./hooks/use-lightning-payment"); Object.defineProperty(exports, "useLightningPayment", { enumerable: true, get: function () { return use_lightning_payment_1.useLightningPayment; } }); var use_btcpay_payment_1 = require("./hooks/use-btcpay-payment"); Object.defineProperty(exports, "useBTCPayPayment", { enumerable: true, get: function () { return use_btcpay_payment_1.useBTCPayPayment; } }); // React Context var lightning_context_1 = require("./context/lightning-context"); Object.defineProperty(exports, "LightningProvider", { enumerable: true, get: function () { return lightning_context_1.LightningProvider; } }); Object.defineProperty(exports, "useLightningContext", { enumerable: true, get: function () { return lightning_context_1.useLightningContext; } }); Object.defineProperty(exports, "useAuth", { enumerable: true, get: function () { return lightning_context_1.useAuth; } }); // Theme System var theme_1 = require("./theme"); Object.defineProperty(exports, "ThemeProvider", { enumerable: true, get: function () { return theme_1.ThemeProvider; } }); Object.defineProperty(exports, "useTheme", { enumerable: true, get: function () { return theme_1.useTheme; } }); Object.defineProperty(exports, "useThemeMode", { enumerable: true, get: function () { return theme_1.useThemeMode; } }); Object.defineProperty(exports, "useThemeClass", { enumerable: true, get: function () { return theme_1.useThemeClass; } }); // Note: API route handlers are available in the examples directory // They can be copied and customized for each project // Next.js utilities (only available when Next.js is installed) // export { NextJSLightningAuth, createNextJSLightningAuth } from "./utils/nextjs"; // Database connection - Commented out to prevent client-side bundling issues // export { db } from "./database/connection"; // Database Adapters var adapters_1 = require("./adapters"); Object.defineProperty(exports, "PrismaDatabaseAdapter", { enumerable: true, get: function () { return adapters_1.PrismaDatabaseAdapter; } }); Object.defineProperty(exports, "createPrismaAdapter", { enumerable: true, get: function () { return adapters_1.createPrismaAdapter; } }); // Next.js Configuration Management (server-only) // Note: These utilities are only available in server-side contexts // They use Node.js modules like 'fs' and should not be bundled client-side // BTCPay Services var btcpay_service_1 = require("./services/btcpay-service"); Object.defineProperty(exports, "BTCPayService", { enumerable: true, get: function () { return btcpay_service_1.BTCPayService; } }); Object.defineProperty(exports, "createBTCPayService", { enumerable: true, get: function () { return btcpay_service_1.createBTCPayService; } }); // Session Services - temporarily removed due to build issues // export { // SessionService, // sessionUtils, // type SessionData, // type SessionConfig, // } from "./services/session-service"; // Development Server - Only available server-side // Note: These exports should only be used in Node.js environments // For client-side usage, import directly from the dev module // Next.js API Route Handler Logic var nextjs_routes_1 = require("./utils/nextjs-routes"); Object.defineProperty(exports, "handleLnurlRequest", { enumerable: true, get: function () { return nextjs_routes_1.handleLnurlRequest; } }); Object.defineProperty(exports, "handleAuthCallbackRequest", { enumerable: true, get: function () { return nextjs_routes_1.handleAuthCallbackRequest; } }); Object.defineProperty(exports, "handleAuthStatusRequest", { enumerable: true, get: function () { return nextjs_routes_1.handleAuthStatusRequest; } }); Object.defineProperty(exports, "handleUserRequest", { enumerable: true, get: function () { return nextjs_routes_1.handleUserRequest; } }); Object.defineProperty(exports, "handleUserRequestWithAdapter", { enumerable: true, get: function () { return nextjs_routes_1.handleUserRequestWithAdapter; } }); Object.defineProperty(exports, "handleLogoutRequest", { enumerable: true, get: function () { return nextjs_routes_1.handleLogoutRequest; } }); // CORS utilities var cors_1 = require("./utils/cors"); Object.defineProperty(exports, "getCorsHeaders", { enumerable: true, get: function () { return cors_1.getCorsHeaders; } }); Object.defineProperty(exports, "getAuthCorsHeaders", { enumerable: true, get: function () { return cors_1.getAuthCorsHeaders; } }); Object.defineProperty(exports, "getBTCPayCorsHeaders", { enumerable: true, get: function () { return cors_1.getBTCPayCorsHeaders; } }); // Zero-config utilities (server-only) // Note: These are only available in server-side contexts // They use Node.js modules like 'fs' and 'child_process' // Next.js BTCPay API Route Handler Logic var btcpay_nextjs_routes_1 = require("./utils/btcpay-nextjs-routes"); Object.defineProperty(exports, "handleBTCPayInvoiceCreation", { enumerable: true, get: function () { return btcpay_nextjs_routes_1.handleBTCPayInvoiceCreation; } }); Object.defineProperty(exports, "handleBTCPayInvoiceStatus", { enumerable: true, get: function () { return btcpay_nextjs_routes_1.handleBTCPayInvoiceStatus; } }); Object.defineProperty(exports, "handleBTCPayWebhookRequest", { enumerable: true, get: function () { return btcpay_nextjs_routes_1.handleBTCPayWebhookRequest; } }); // Note: Next.js integration is available via separate import: // const { withLightning, withLightningAuth, withLightningPayment } = require('lightning-auth-and-payment/nextjs'); //# sourceMappingURL=index.js.map