@lukso/up-connector 0.8.5 → 0.9.0-dev.d3f910d

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 (80) hide show
  1. package/dist/account-modal.cjs +3 -3
  2. package/dist/account-modal.js +2 -2
  3. package/dist/auto-setup.cjs +4 -3
  4. package/dist/auto-setup.cjs.map +1 -1
  5. package/dist/auto-setup.d.cts +1 -123
  6. package/dist/auto-setup.d.ts +1 -123
  7. package/dist/auto-setup.js +3 -2
  8. package/dist/backup-modal.cjs +3 -3
  9. package/dist/backup-modal.js +2 -2
  10. package/dist/{chunk-DR5ABNGN.cjs → chunk-3AIZSSEE.cjs} +2 -2
  11. package/dist/{chunk-DR5ABNGN.cjs.map → chunk-3AIZSSEE.cjs.map} +1 -1
  12. package/dist/{chunk-XFMPPOEM.js → chunk-43E6AVSP.js} +5 -4
  13. package/dist/chunk-43E6AVSP.js.map +1 -0
  14. package/dist/{chunk-HROZAHML.js → chunk-D7RI2CWB.js} +5 -4
  15. package/dist/chunk-D7RI2CWB.js.map +1 -0
  16. package/dist/chunk-J3WDC6ON.js +19 -0
  17. package/dist/chunk-J3WDC6ON.js.map +1 -0
  18. package/dist/{chunk-OIB4M2BJ.cjs → chunk-PHRCQCEN.cjs} +5 -4
  19. package/dist/chunk-PHRCQCEN.cjs.map +1 -0
  20. package/dist/{chunk-D4X5RQWB.cjs → chunk-UJDGQG6P.cjs} +5 -4
  21. package/dist/chunk-UJDGQG6P.cjs.map +1 -0
  22. package/dist/chunk-WZFVXKMX.cjs +19 -0
  23. package/dist/chunk-WZFVXKMX.cjs.map +1 -0
  24. package/dist/{chunk-EWIDQS53.cjs → chunk-XCX7QWLC.cjs} +5 -4
  25. package/dist/chunk-XCX7QWLC.cjs.map +1 -0
  26. package/dist/{chunk-A47V7DY2.js → chunk-XEZEZ62E.js} +2 -2
  27. package/dist/{chunk-A47V7DY2.js.map → chunk-XEZEZ62E.js.map} +1 -1
  28. package/dist/{chunk-PUIFBRHQ.js → chunk-XKSB6TPG.js} +5 -4
  29. package/dist/chunk-XKSB6TPG.js.map +1 -0
  30. package/dist/index.cjs +23 -11
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.cts +4 -6
  33. package/dist/index.d.ts +4 -6
  34. package/dist/index.js +31 -19
  35. package/dist/index.js.map +1 -1
  36. package/dist/restore-modal.cjs +3 -3
  37. package/dist/restore-modal.js +2 -2
  38. package/package.json +7 -12
  39. package/src/account-modal.ts +3 -2
  40. package/src/auto-setup.ts +14 -359
  41. package/src/backup-modal.ts +3 -2
  42. package/src/connector.ts +7 -4
  43. package/src/index.ts +20 -19
  44. package/src/restore-modal.ts +3 -2
  45. package/dist/chunk-2BZE2DLW.js +0 -1186
  46. package/dist/chunk-2BZE2DLW.js.map +0 -1
  47. package/dist/chunk-455JZ6IZ.cjs +0 -1186
  48. package/dist/chunk-455JZ6IZ.cjs.map +0 -1
  49. package/dist/chunk-D4X5RQWB.cjs.map +0 -1
  50. package/dist/chunk-EWIDQS53.cjs.map +0 -1
  51. package/dist/chunk-HROZAHML.js.map +0 -1
  52. package/dist/chunk-OIB4M2BJ.cjs.map +0 -1
  53. package/dist/chunk-PUIFBRHQ.js.map +0 -1
  54. package/dist/chunk-R7V3Q7Z6.cjs +0 -181
  55. package/dist/chunk-R7V3Q7Z6.cjs.map +0 -1
  56. package/dist/chunk-XFMPPOEM.js.map +0 -1
  57. package/dist/chunk-XR4C6P3Z.js +0 -181
  58. package/dist/chunk-XR4C6P3Z.js.map +0 -1
  59. package/dist/connect-modal/index.cjs +0 -22
  60. package/dist/connect-modal/index.cjs.map +0 -1
  61. package/dist/connect-modal/index.d.cts +0 -3
  62. package/dist/connect-modal/index.d.ts +0 -3
  63. package/dist/connect-modal/index.js +0 -22
  64. package/dist/connect-modal/index.js.map +0 -1
  65. package/dist/index-2LsIVyuU.d.cts +0 -413
  66. package/dist/index-2LsIVyuU.d.ts +0 -413
  67. package/src/connect-modal/components/connection-view.ts +0 -418
  68. package/src/connect-modal/components/eoa-connection-view.ts +0 -418
  69. package/src/connect-modal/components/qr-code-view.ts +0 -86
  70. package/src/connect-modal/connect-modal.base.ts +0 -18
  71. package/src/connect-modal/connect-modal.config.ts +0 -27
  72. package/src/connect-modal/connect-modal.templates.ts +0 -22
  73. package/src/connect-modal/connect-modal.ts +0 -227
  74. package/src/connect-modal/connect-modal.types.ts +0 -108
  75. package/src/connect-modal/images/up-cube-glass.png +0 -0
  76. package/src/connect-modal/index.ts +0 -25
  77. package/src/connect-modal/services/wagmi.ts +0 -377
  78. package/src/connect-modal/styles/styles.css +0 -1
  79. package/src/connect-modal/utils/chainParams.ts +0 -32
  80. package/src/connect-modal/utils/walletConnectDeepLinkUrl.ts +0 -43
@@ -1,181 +0,0 @@
1
- import {
2
- setupWagmi
3
- } from "./chunk-2BZE2DLW.js";
4
-
5
- // src/auto-setup.ts
6
- var EMBEDDED_WALLET_ID = "dev.lukso.auth";
7
- var EMBEDDED_WALLET_URL_DEV = "http://localhost:9100";
8
- var EMBEDDED_WALLET_URL_PROD = "https://feed.api.universalprofile.cloud";
9
- var UP_EXTENSION_ID = "cloud.universalprofile";
10
- function getDefaultWalletUrl() {
11
- if (typeof process !== "undefined" && process.env?.WALLET_URL) {
12
- return process.env.WALLET_URL;
13
- }
14
- if (typeof window !== "undefined") {
15
- const isLocalhost = window.location.hostname === "localhost" || window.location.hostname === "127.0.0.1";
16
- return isLocalhost ? EMBEDDED_WALLET_URL_DEV : EMBEDDED_WALLET_URL_PROD;
17
- }
18
- return EMBEDDED_WALLET_URL_DEV;
19
- }
20
- var DEFAULT_CONFIG = {
21
- embeddedWallet: {
22
- enabled: true,
23
- url: getDefaultWalletUrl(),
24
- storageKey: "up-provider",
25
- name: "UE Embedded Wallet"
26
- },
27
- walletConnect: {
28
- enabled: true,
29
- projectId: "7d1af65dc2722192d9914b5d6eaeb421",
30
- // LUKSO's default
31
- showQrModal: false
32
- },
33
- chains: {
34
- defaultChainId: 42,
35
- // LUKSO mainnet
36
- enableTestnet: true
37
- },
38
- storage: {
39
- key: "up-wagmi"
40
- },
41
- wagmiConfig: void 0
42
- };
43
- async function setupLuksoConnector(config = {}) {
44
- const cfg = {
45
- embeddedWallet: {
46
- ...DEFAULT_CONFIG.embeddedWallet,
47
- ...config.embeddedWallet
48
- },
49
- walletConnect: {
50
- ...DEFAULT_CONFIG.walletConnect,
51
- ...config.walletConnect
52
- },
53
- chains: {
54
- ...DEFAULT_CONFIG.chains,
55
- ...config.chains
56
- },
57
- storage: {
58
- ...DEFAULT_CONFIG.storage,
59
- ...config.storage
60
- },
61
- wagmiConfig: config.wagmiConfig
62
- };
63
- if (cfg.embeddedWallet?.enabled) {
64
- await createUPProvider(cfg.embeddedWallet);
65
- }
66
- const wagmiConfig = cfg.wagmiConfig || await createWagmiConfig(cfg);
67
- setupWagmi({
68
- wagmiConfig,
69
- chainId: cfg.chains.defaultChainId,
70
- embeddedWalletId: cfg.embeddedWallet.enabled ? EMBEDDED_WALLET_ID : void 0
71
- });
72
- return { wagmiConfig };
73
- }
74
- async function createWagmiConfig(cfg) {
75
- try {
76
- const [
77
- { createConfig, createStorage, injected },
78
- { walletConnect },
79
- { createClient, http },
80
- { lukso, luksoTestnet }
81
- ] = await Promise.all([
82
- import("@wagmi/core"),
83
- import("@wagmi/connectors"),
84
- import("viem"),
85
- import("viem/chains")
86
- ]);
87
- const storage = createStorage({
88
- key: cfg.storage.key,
89
- storage: getDefaultStorage()
90
- });
91
- const chains = cfg.chains.enableTestnet ? [luksoTestnet, lukso] : [lukso];
92
- const connectors = [];
93
- if (cfg.walletConnect.enabled) {
94
- connectors.push(
95
- walletConnect({
96
- projectId: cfg.walletConnect.projectId,
97
- showQrModal: cfg.walletConnect.showQrModal
98
- })
99
- );
100
- }
101
- connectors.push(injected());
102
- return createConfig({
103
- storage,
104
- multiInjectedProviderDiscovery: true,
105
- // Enable EIP-6963
106
- connectors,
107
- chains,
108
- client({ chain }) {
109
- return createClient({ chain, transport: http() });
110
- }
111
- });
112
- } catch (error) {
113
- console.error("Failed to create wagmi config:", error);
114
- throw new Error(
115
- "Failed to create wagmi config. Make sure @wagmi/core, @wagmi/connectors, and viem are installed."
116
- );
117
- }
118
- }
119
- async function createUPProvider(config) {
120
- if (config.url != null && config.url.trim() === "") {
121
- throw new Error(
122
- "UP Provider URL is defined but empty. Please set WALLET_URL environment variable to a valid URL or leave it undefined."
123
- );
124
- }
125
- try {
126
- const { createClientUPProvider } = await import("@lukso/up-provider");
127
- createClientUPProvider({
128
- url: config.url,
129
- mode: "iframe",
130
- get: async () => {
131
- const stored = localStorage.getItem(config.storageKey);
132
- return stored ? JSON.parse(stored) : {};
133
- },
134
- set: async (value) => {
135
- localStorage.setItem(config.storageKey, JSON.stringify(value));
136
- },
137
- name: config.name
138
- });
139
- await new Promise((resolve) => setTimeout(resolve, 100));
140
- } catch (error) {
141
- console.warn("\u26A0\uFE0F Failed to create UP Provider:", error);
142
- throw error;
143
- }
144
- }
145
- function getDefaultStorage() {
146
- const storage = (() => {
147
- if (typeof window !== "undefined" && window.localStorage) {
148
- return window.localStorage;
149
- }
150
- return {
151
- getItem: () => null,
152
- setItem: () => {
153
- },
154
- removeItem: () => {
155
- }
156
- };
157
- })();
158
- return {
159
- getItem(key) {
160
- return storage.getItem(key);
161
- },
162
- removeItem(key) {
163
- storage.removeItem(key);
164
- },
165
- setItem(key, value) {
166
- try {
167
- storage.setItem(key, value);
168
- } catch {
169
- }
170
- }
171
- };
172
- }
173
-
174
- export {
175
- EMBEDDED_WALLET_ID,
176
- EMBEDDED_WALLET_URL_DEV,
177
- EMBEDDED_WALLET_URL_PROD,
178
- UP_EXTENSION_ID,
179
- setupLuksoConnector
180
- };
181
- //# sourceMappingURL=chunk-XR4C6P3Z.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/auto-setup.ts"],"sourcesContent":["/**\n * Auto-setup utilities for LUKSO products\n *\n * Provides zero-config setup for:\n * - Embedded Wallet (passkey-based)\n * - UP Extension (browser extension)\n * - UP Mobile (WalletConnect)\n */\n\nimport type { Config } from '@wagmi/core'\nimport { setupConnectModal } from './connect-modal/index.js'\n\n/**\n * Embedded wallet constants\n */\nexport const EMBEDDED_WALLET_ID = 'dev.lukso.auth'\nexport const EMBEDDED_WALLET_URL_DEV = 'http://localhost:9100'\nexport const EMBEDDED_WALLET_URL_PROD =\n 'https://feed.api.universalprofile.cloud'\n\n/**\n * UP Extension ID\n */\nexport const UP_EXTENSION_ID = 'cloud.universalprofile'\n\n/**\n * Get default wallet URL based on environment\n */\nfunction getDefaultWalletUrl(): string {\n // Check for environment variable (CI builds)\n if (typeof process !== 'undefined' && process.env?.WALLET_URL) {\n return process.env.WALLET_URL\n }\n\n // Check if we're in production (browser)\n if (typeof window !== 'undefined') {\n const isLocalhost =\n window.location.hostname === 'localhost' ||\n window.location.hostname === '127.0.0.1'\n return isLocalhost ? EMBEDDED_WALLET_URL_DEV : EMBEDDED_WALLET_URL_PROD\n }\n\n // Default to dev\n return EMBEDDED_WALLET_URL_DEV\n}\n\nexport interface LuksoConnectorConfig {\n /**\n * Embedded wallet configuration\n */\n embeddedWallet?: {\n /**\n * Enable embedded wallet option (default: true)\n */\n enabled?: boolean\n\n /**\n * URL to the wallet service\n * @default 'http://localhost:9100'\n */\n url?: string\n\n /**\n * Storage key for UP Provider state\n * @default 'up-provider'\n */\n storageKey?: string\n\n /**\n * Display name for the wallet\n * @default 'Create Passkey Wallet'\n */\n name?: string\n }\n\n /**\n * WalletConnect configuration for mobile app\n */\n walletConnect?: {\n /**\n * Enable WalletConnect (default: true)\n */\n enabled?: boolean\n\n /**\n * WalletConnect Project ID\n * @default LUKSO's default project ID\n */\n projectId?: string\n\n /**\n * Show QR code modal on mobile devices (default: false)\n */\n showQrModal?: boolean\n }\n\n /**\n * Chain configuration\n */\n chains?: {\n /**\n * Default chain ID\n * @default 42 (LUKSO mainnet)\n */\n defaultChainId?: number\n\n /**\n * Enable testnet (default: true)\n */\n enableTestnet?: boolean\n }\n\n /**\n * Storage configuration\n */\n storage?: {\n /**\n * Storage key prefix for wagmi state\n * @default 'up-wagmi'\n */\n key?: string\n }\n\n /**\n * Pass an existing wagmi config instead of auto-creating one\n */\n wagmiConfig?: any\n}\n\nconst DEFAULT_CONFIG: Required<LuksoConnectorConfig> = {\n embeddedWallet: {\n enabled: true,\n url: getDefaultWalletUrl(),\n storageKey: 'up-provider',\n name: 'UE Embedded Wallet',\n },\n walletConnect: {\n enabled: true,\n projectId: '7d1af65dc2722192d9914b5d6eaeb421', // LUKSO's default\n showQrModal: false,\n },\n chains: {\n defaultChainId: 42, // LUKSO mainnet\n enableTestnet: true,\n },\n storage: {\n key: 'up-wagmi',\n },\n wagmiConfig: undefined,\n}\n\n/**\n * Auto-setup LUKSO connector with sensible defaults\n *\n * This function creates a wagmi config and sets up the connect modal\n * with support for:\n * - Embedded Wallet (passkey-based)\n * - UP Extension (auto-detected via EIP-6963)\n * - UP Mobile (WalletConnect)\n *\n * @example\n * ```typescript\n * // Zero config - uses all defaults\n * setupLuksoConnector()\n *\n * // Custom configuration\n * setupLuksoConnector({\n * embeddedWallet: {\n * url: 'https://wallet.example.com'\n * },\n * chains: {\n * defaultChainId: 4201 // LUKSO Testnet\n * }\n * })\n * ```\n */\nexport async function setupLuksoConnector(\n config: LuksoConnectorConfig = {}\n): Promise<{ wagmiConfig: Config }> {\n const cfg = {\n embeddedWallet: {\n ...DEFAULT_CONFIG.embeddedWallet,\n ...config.embeddedWallet,\n } as Required<typeof DEFAULT_CONFIG.embeddedWallet>,\n walletConnect: {\n ...DEFAULT_CONFIG.walletConnect,\n ...config.walletConnect,\n } as Required<typeof DEFAULT_CONFIG.walletConnect>,\n chains: {\n ...DEFAULT_CONFIG.chains,\n ...config.chains,\n } as Required<typeof DEFAULT_CONFIG.chains>,\n storage: {\n ...DEFAULT_CONFIG.storage,\n ...config.storage,\n } as Required<typeof DEFAULT_CONFIG.storage>,\n wagmiConfig: config.wagmiConfig,\n }\n\n // IMPORTANT: Create UP Provider BEFORE wagmi config\n // The UP Provider registers via EIP-6963, and wagmi's injected() will detect it\n // This matches the order in demo-app: UP Provider first, then wagmi config\n\n // Step 1: Create UP Provider (if enabled)\n if (cfg.embeddedWallet?.enabled) {\n await createUPProvider(cfg.embeddedWallet)\n }\n\n // Step 2: Create or use provided wagmi config\n const wagmiConfig = cfg.wagmiConfig || (await createWagmiConfig(cfg))\n\n // Note: Wagmi will auto-reconnect in the background\n // The connector's watchWagmiAccount will detect the connection when it completes\n\n // Step 3: Setup connect modal\n // The UP Provider is already registered via EIP-6963 and will appear in wagmi connectors\n // Use the embedded wallet ID to identify it in the connector list\n setupConnectModal({\n wagmiConfig,\n chainId: cfg.chains.defaultChainId,\n embeddedWalletId: cfg.embeddedWallet.enabled\n ? EMBEDDED_WALLET_ID\n : undefined,\n })\n\n return { wagmiConfig }\n}\n\n/**\n * Create wagmi config with LUKSO chains and connectors\n */\nasync function createWagmiConfig(cfg: any): Promise<any> {\n try {\n // Dynamic imports to keep dependencies optional\n const [\n { createConfig, createStorage, injected },\n { walletConnect },\n { createClient, http },\n { lukso, luksoTestnet },\n ] = await Promise.all([\n import('@wagmi/core'),\n import('@wagmi/connectors'),\n import('viem'),\n import('viem/chains'),\n ])\n\n // Create storage adapter\n const storage = createStorage({\n key: cfg.storage.key,\n storage: getDefaultStorage(),\n })\n\n // Build chains array\n const chains = cfg.chains.enableTestnet\n ? ([luksoTestnet, lukso] as const)\n : ([lukso] as const)\n\n // Build connectors array\n const connectors = []\n\n // Add WalletConnect if enabled\n if (cfg.walletConnect.enabled) {\n connectors.push(\n walletConnect({\n projectId: cfg.walletConnect.projectId,\n showQrModal: cfg.walletConnect.showQrModal,\n })\n )\n }\n\n // Add injected (for UP Extension and other EIP-6963 wallets)\n connectors.push(injected())\n\n // Create wagmi config\n return createConfig({\n storage,\n multiInjectedProviderDiscovery: true, // Enable EIP-6963\n connectors,\n chains,\n client({ chain }: any) {\n return createClient({ chain, transport: http() })\n },\n })\n } catch (error) {\n console.error('Failed to create wagmi config:', error)\n throw new Error(\n 'Failed to create wagmi config. Make sure @wagmi/core, @wagmi/connectors, and viem are installed.'\n )\n }\n}\n\n/**\n * Create UP Provider (registers via EIP-6963)\n */\nasync function createUPProvider(config: {\n url: string\n storageKey: string\n name: string\n}): Promise<void> {\n // Validate URL - throw error if explicitly set to empty string\n if (config.url != null && config.url.trim() === '') {\n throw new Error(\n 'UP Provider URL is defined but empty. Please set WALLET_URL environment variable to a valid URL or leave it undefined.'\n )\n }\n\n try {\n const { createClientUPProvider } = await import('@lukso/up-provider')\n\n // Create UP Provider - it automatically registers via EIP-6963\n createClientUPProvider({\n url: config.url,\n mode: 'iframe',\n get: async () => {\n const stored = localStorage.getItem(config.storageKey)\n return stored ? JSON.parse(stored) : {}\n },\n set: async (value: Record<string, unknown>) => {\n localStorage.setItem(config.storageKey, JSON.stringify(value))\n },\n name: config.name,\n })\n\n // Wait for EIP-6963 registration\n await new Promise((resolve) => setTimeout(resolve, 100))\n } catch (error) {\n console.warn('⚠️ Failed to create UP Provider:', error)\n throw error\n }\n}\n\n/**\n * Default storage adapter (localStorage with error handling)\n */\nfunction getDefaultStorage() {\n const storage = (() => {\n if (typeof window !== 'undefined' && window.localStorage) {\n return window.localStorage\n }\n return {\n getItem: () => null,\n setItem: () => {},\n removeItem: () => {},\n }\n })()\n\n return {\n getItem(key: string) {\n return storage.getItem(key)\n },\n removeItem(key: string) {\n storage.removeItem(key)\n },\n setItem(key: string, value: string) {\n try {\n storage.setItem(key, value)\n } catch {\n // Silence QuotaExceededError, SecurityError, etc.\n }\n },\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,22 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
- var _chunk455JZ6IZcjs = require('../chunk-455JZ6IZ.cjs');
11
- require('../chunk-ZBDE64SD.cjs');
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
- exports.ConnectModal = _chunk455JZ6IZcjs.ConnectModal; exports.ConnectModalBase = _chunk455JZ6IZcjs.ConnectModalBase; exports.disconnect = _chunk455JZ6IZcjs.disconnect; exports.getConnection = _chunk455JZ6IZcjs.getConnection; exports.getWagmiSetup = _chunk455JZ6IZcjs.getWagmiSetup; exports.setupConnectModal = _chunk455JZ6IZcjs.setupWagmi; exports.wagmi = _chunk455JZ6IZcjs.wagmiService; exports.watchConnection = _chunk455JZ6IZcjs.watchConnection;
22
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/service-auth-simple/service-auth-simple/packages/up-connector/dist/connect-modal/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,icAAC","file":"/home/runner/work/service-auth-simple/service-auth-simple/packages/up-connector/dist/connect-modal/index.cjs"}
@@ -1,3 +0,0 @@
1
- export { C as ConnectModal, l as ConnectModalBase, a as ConnectModalSetup, b as ConnectModalTheme, c as ConnectionModalView, d as WagmiConnection, e as WagmiConnector, m as Wallet, W as WalletConnector, f as disconnect, i as getConnection, j as getWagmiSetup, s as setupConnectModal, w as wagmi, k as watchConnection } from '../index-2LsIVyuU.cjs';
2
- import 'lit';
3
- import '@lukso/core';
@@ -1,3 +0,0 @@
1
- export { C as ConnectModal, l as ConnectModalBase, a as ConnectModalSetup, b as ConnectModalTheme, c as ConnectionModalView, d as WagmiConnection, e as WagmiConnector, m as Wallet, W as WalletConnector, f as disconnect, i as getConnection, j as getWagmiSetup, s as setupConnectModal, w as wagmi, k as watchConnection } from '../index-2LsIVyuU.js';
2
- import 'lit';
3
- import '@lukso/core';
@@ -1,22 +0,0 @@
1
- import {
2
- ConnectModal,
3
- ConnectModalBase,
4
- disconnect,
5
- getConnection,
6
- getWagmiSetup,
7
- setupWagmi,
8
- wagmiService,
9
- watchConnection
10
- } from "../chunk-2BZE2DLW.js";
11
- import "../chunk-EUXUH3YW.js";
12
- export {
13
- ConnectModal,
14
- ConnectModalBase,
15
- disconnect,
16
- getConnection,
17
- getWagmiSetup,
18
- setupWagmi as setupConnectModal,
19
- wagmiService as wagmi,
20
- watchConnection
21
- };
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,413 +0,0 @@
1
- import * as lit from 'lit';
2
- import { LitElement, TemplateResult } from 'lit';
3
- import * as _lukso_core from '@lukso/core';
4
-
5
- declare class ConnectModalBase extends LitElement {
6
- static styles: lit.CSSResult[];
7
- }
8
-
9
- interface WalletConnector {
10
- id: string;
11
- name?: string;
12
- rdns?: string;
13
- slug?: string;
14
- type: 'embedded' | 'extension' | 'mobile' | 'injected' | 'walletconnect';
15
- connect: () => Promise<void>;
16
- getProvider?: () => Promise<any>;
17
- switchChain?: (params: {
18
- chainId?: number;
19
- addEthereumChainParameter?: any;
20
- }) => Promise<void>;
21
- }
22
- interface ConnectModalSetup {
23
- /**
24
- * Wagmi config instance
25
- */
26
- wagmiConfig: any;
27
- /**
28
- * Optional chain ID to use for connections (defaults to first chain in config)
29
- */
30
- chainId?: number;
31
- /**
32
- * Optional embedded wallet ID (to identify it in wagmi connectors)
33
- * If provided, this connector will be shown first as "Create Passkey Wallet"
34
- * Example: 'dev.lukso.auth'
35
- */
36
- embeddedWalletId?: string;
37
- }
38
- interface WagmiConnector {
39
- uid: string;
40
- name: string;
41
- id: string;
42
- type: string;
43
- icon?: string;
44
- [key: string]: any;
45
- }
46
- type ConnectModalTheme = 'light' | 'dark' | 'auto';
47
- type ConnectionModalView = 'up_connection' | 'qr_code' | 'eoa_connection';
48
- type Wallet = {
49
- id: string;
50
- name: string;
51
- slug: string;
52
- description: string;
53
- homepage: string;
54
- chains: string[];
55
- versions: string[];
56
- sdks: string[];
57
- app_type: string;
58
- category: string;
59
- image_id: string;
60
- image_url: WalletImageUrl;
61
- app: WalletApp;
62
- rdns: string;
63
- mobile: WalletMobile;
64
- desktop: WalletDesktop;
65
- isInstalled: boolean;
66
- connector: WalletConnector | undefined;
67
- };
68
- type WalletImageUrl = {
69
- sm: string;
70
- md: string;
71
- lg: string;
72
- };
73
- type WalletAppType = 'browser' | 'ios' | 'android' | 'mac' | 'windows' | 'linux' | 'chrome' | 'firefox' | 'safari' | 'edge' | 'opera';
74
- type WalletApp = {
75
- [key in WalletAppType]?: string;
76
- };
77
- interface WalletMobile {
78
- native?: string;
79
- universal?: string;
80
- }
81
- interface WalletDesktop {
82
- native?: string;
83
- universal?: string;
84
- }
85
-
86
- declare const EoaConnectionView_base: _lukso_core.ThemeMixinConstructor<_lukso_core.IntlServiceMixinConstructor<_lukso_core.DeviceServiceMixinConstructor<typeof ConnectModalBase>>>;
87
- declare class EoaConnectionView extends EoaConnectionView_base {
88
- connectors: WalletConnector[];
89
- private isConnecting;
90
- private connectingRdns;
91
- /**
92
- * Get WalletConnect connector
93
- */
94
- private get walletConnectConnector();
95
- /**
96
- * Get EOA connectors
97
- */
98
- private get eoaConnectors();
99
- /**
100
- * Get supported wallet IDs based on device type
101
- *
102
- * @returns
103
- */
104
- private supportedWalletIds;
105
- /**
106
- * Task to fetch EOA wallets - handles loading/error states automatically
107
- */
108
- private walletsTask;
109
- /**
110
- * Get device type
111
- */
112
- private deviceType;
113
- /**
114
- * Close modal
115
- */
116
- private handleClose;
117
- /**
118
- * Back to initial screen
119
- */
120
- private handleBack;
121
- /**
122
- * Handle wallet connect click
123
- *
124
- * @param wallet
125
- */
126
- private handleConnect;
127
- /**
128
- * Connect to wallet on desktop using selected connector
129
- *
130
- * @param wallet
131
- */
132
- private connectDesktop;
133
- /**
134
- * Connect to wallet on mobile using WalletConnect
135
- */
136
- private connectMobile;
137
- /**
138
- * Render the list of EOA wallets
139
- */
140
- private renderWalletsList;
141
- /**
142
- * Main render method
143
- */
144
- render(): TemplateResult<1>;
145
- }
146
- declare global {
147
- interface HTMLElementTagNameMap {
148
- 'eoa-connection-view': EoaConnectionView;
149
- }
150
- }
151
-
152
- declare const ConnectionView_base: _lukso_core.ThemeMixinConstructor<_lukso_core.IntlServiceMixinConstructor<_lukso_core.DeviceServiceMixinConstructor<typeof ConnectModalBase>>>;
153
- declare class ConnectionView extends ConnectionView_base {
154
- isConnecting: boolean;
155
- connectingRdns: string | undefined;
156
- connectors: WalletConnector[];
157
- /**
158
- * Get WalletConnect connector
159
- */
160
- private get walletConnectConnector();
161
- /**
162
- * Universal Profile browser extension connector
163
- */
164
- private get upExtensionConnector();
165
- /**
166
- * Passkey / Embedded wallet connector
167
- */
168
- private get embeddedWalletConnector();
169
- /**
170
- * Get browser extension store info
171
- */
172
- private get extensionStore();
173
- /**
174
- * Check if browser supports extension installation
175
- */
176
- private get browserSupportExtension();
177
- /**
178
- * Handle connect via embedded wallet
179
- */
180
- private handleConnectEmbedded;
181
- /**
182
- * Handle connect via UP Extension
183
- */
184
- private handleConnectExtension;
185
- /**
186
- * Handle connect via UP Mobile (WalletConnect)
187
- */
188
- private handleConnectMobile;
189
- /**
190
- * Close modal
191
- */
192
- private handleClose;
193
- /**
194
- * Handle showing EOA connections
195
- */
196
- private handleShowEoaConnections;
197
- /**
198
- * Handle showing QR code
199
- */
200
- private handleShowQrCode;
201
- /**
202
- * Render connector button
203
- *
204
- * @param iconName
205
- * @param label
206
- * @param onClick
207
- * @param isLoading
208
- * @param isDisabled
209
- */
210
- private renderConnectorButton;
211
- private renderConnectors;
212
- /**
213
- * Render divider with text
214
- */
215
- private renderDivider;
216
- render(): TemplateResult<1>;
217
- }
218
- declare global {
219
- interface Window {
220
- lukso?: any;
221
- }
222
- interface HTMLElementTagNameMap {
223
- 'connection-view': ConnectionView;
224
- }
225
- }
226
-
227
- declare const QrCodeView_base: _lukso_core.ThemeMixinConstructor<_lukso_core.IntlServiceMixinConstructor<typeof ConnectModalBase>>;
228
- declare class QrCodeView extends QrCodeView_base {
229
- data: string | undefined;
230
- /**
231
- * Back to initial screen
232
- */
233
- private handleBack;
234
- /**
235
- * Close modal
236
- */
237
- private handleClose;
238
- private get qrCodeOptions();
239
- render(): TemplateResult<1>;
240
- }
241
- declare global {
242
- interface HTMLElementTagNameMap {
243
- 'qr-code-view': QrCodeView;
244
- }
245
- }
246
-
247
- declare const ConnectModal_base: _lukso_core.ThemeMixinConstructor<_lukso_core.DeviceServiceMixinConstructor<typeof ConnectModalBase>>;
248
- declare class ConnectModal extends ConnectModal_base {
249
- open: boolean;
250
- private connectors;
251
- private modalView;
252
- private qrCodeData;
253
- updated(changedProperties: Map<string, any>): void;
254
- /**
255
- * Close modal
256
- */
257
- handleClose(): void;
258
- private loadConnectors;
259
- /**
260
- * Successful connection handler
261
- *
262
- * @param connector
263
- */
264
- private handleOnConnectSuccess;
265
- /**
266
- * Error connection handler
267
- *
268
- * @param error
269
- */
270
- private handleOnConnectError;
271
- private handleBackToConnectionView;
272
- private handleShowEoaConnectionsView;
273
- private handleShowQrCodeView;
274
- /**
275
- * Render modal content based on current view flag
276
- */
277
- private renderModalContent;
278
- render(): TemplateResult<1>;
279
- }
280
- declare global {
281
- interface HTMLElementTagNameMap {
282
- 'connect-modal': ConnectModal;
283
- }
284
- }
285
-
286
- /**
287
- * Wagmi Service
288
- * Centralized service for wagmi interactions with proxy pattern
289
- */
290
-
291
- /**
292
- * Wagmi connection state from getConnection/watchConnection
293
- */
294
- type WagmiConnection = {
295
- address?: string;
296
- addresses?: readonly string[];
297
- chainId?: number;
298
- chain?: any;
299
- connector?: any;
300
- status: 'connecting' | 'reconnecting' | 'connected' | 'disconnected';
301
- isConnecting?: boolean;
302
- isReconnecting?: boolean;
303
- isConnected?: boolean;
304
- isDisconnected?: boolean;
305
- };
306
- /**
307
- * Wagmi Service Class
308
- * Provides centralized access to wagmi core functions
309
- */
310
- declare class WagmiService {
311
- private setup;
312
- private wagmiCore;
313
- configure(setup: ConnectModalSetup): void;
314
- getSetup(): ConnectModalSetup | null;
315
- /**
316
- * Ensure wagmi/core is loaded and return initialized state
317
- * Returns { core, config } if ready, null otherwise
318
- */
319
- private init;
320
- getConnection(): Promise<any>;
321
- watchConnection(callback: (connection: WagmiConnection) => void): Promise<(() => void) | null>;
322
- disconnect(): Promise<boolean>;
323
- }
324
- declare const wagmiService: WagmiService;
325
- /**
326
- * Convert a wagmi connector to our WalletConnector format
327
- * @param connector - Wagmi connector instance
328
- * @param connectFn - Function to call connect (from wagmi's useConnect)
329
- * @param chainId - Optional chain ID to use for connection
330
- */
331
- declare function fromWagmiConnector(connector: WagmiConnector, connectFn: (options: {
332
- connector: WagmiConnector;
333
- chainId?: number;
334
- }) => Promise<any>, chainId?: number): WalletConnector;
335
- /**
336
- * Convert array of wagmi connectors to WalletConnector array
337
- * @param connectors - Array of wagmi connectors
338
- * @param connectFn - Function to call connect (from wagmi's useConnect)
339
- * @param chainId - Optional chain ID to use for connection
340
- * @param embeddedWalletId - Optional embedded wallet ID to identify it (e.g., 'dev.lukso.auth')
341
- */
342
- declare function fromWagmiConnectors(connectors: WagmiConnector[], connectFn: (options: {
343
- connector: WagmiConnector;
344
- chainId?: number;
345
- }) => Promise<any>, chainId?: number, embeddedWalletId?: string): WalletConnector[];
346
- /**
347
- * Setup wagmi for connect modal
348
- * Call this once from your app initialization with wagmi config
349
- *
350
- * @example
351
- * ```typescript
352
- * import { setupWagmi } from '@lukso/up-connector'
353
- * import { wagmiConfig } from './wagmi-config'
354
- *
355
- * setupWagmi({
356
- * wagmiConfig,
357
- * chainId: 42, // Optional: LUKSO mainnet
358
- * embeddedWalletConnect: async () => {
359
- * // Your passkey wallet logic
360
- * }
361
- * })
362
- * ```
363
- */
364
- declare function setupWagmi(setup: ConnectModalSetup): void;
365
- /**
366
- * Get the current wagmi setup (for internal use by connector)
367
- */
368
- declare function getWagmiSetup(): ConnectModalSetup | null;
369
- /**
370
- * Get current wagmi connection state
371
- * Returns null if wagmi is not set up
372
- *
373
- * @example
374
- * ```typescript
375
- * import { getConnection } from '@lukso/up-connector'
376
- *
377
- * const connection = await getConnection()
378
- * if (connection?.status === 'connected') {
379
- * console.log(connection.address, connection.chainId)
380
- * }
381
- * ```
382
- */
383
- declare function getConnection(): Promise<any>;
384
- /**
385
- * Watch for wagmi connection changes
386
- * Returns unsubscribe function
387
- *
388
- * @example
389
- * ```typescript
390
- * import { watchConnection } from '@lukso/up-connector'
391
- *
392
- * const unwatch = await watchConnection((connection) => {
393
- * console.log('Connection changed:', connection.status, connection.address)
394
- * })
395
- *
396
- * // Later: unwatch()
397
- * ```
398
- */
399
- declare function watchConnection(callback: (connection: WagmiConnection) => void): Promise<(() => void) | null>;
400
- /**
401
- * Disconnect from wagmi
402
- * Returns true if disconnect was successful
403
- *
404
- * @example
405
- * ```typescript
406
- * import { disconnect } from '@lukso/up-connector'
407
- *
408
- * await disconnect()
409
- * ```
410
- */
411
- declare function disconnect(): Promise<boolean>;
412
-
413
- export { ConnectModal as C, type WalletConnector as W, type ConnectModalSetup as a, type ConnectModalTheme as b, type ConnectionModalView as c, type WagmiConnection as d, type WagmiConnector as e, disconnect as f, fromWagmiConnector as g, fromWagmiConnectors as h, getConnection as i, getWagmiSetup as j, watchConnection as k, ConnectModalBase as l, type Wallet as m, setupWagmi as s, wagmiService as w };