signer-test-sdk-react 0.0.10 → 0.0.12
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.
- package/README.md +1 -1
- package/dist/src/AbstraxnProvider.js +361 -32
- package/dist/src/AbstraxnProvider.js.map +1 -1
- package/dist/src/WalletModal.css +1438 -14
- package/dist/src/WalletModal.d.ts +2 -1
- package/dist/src/WalletModal.js +249 -13
- package/dist/src/WalletModal.js.map +1 -1
- package/dist/src/chains.d.ts +55 -0
- package/dist/src/chains.js +221 -0
- package/dist/src/chains.js.map +1 -0
- package/dist/src/components/OnboardingUI/OnboardingUIReact.js +49 -9
- package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +1 -1
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.d.ts +4 -2
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.js +97 -16
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.js.map +1 -1
- package/dist/src/components/OnboardingUI/components/OtpForm.js +3 -3
- package/dist/src/components/OnboardingUI/components/OtpForm.js.map +1 -1
- package/dist/src/components/OnboardingUI/components/PasskeyButton.js +1 -1
- package/dist/src/components/OnboardingUI/components/PasskeyButton.js.map +1 -1
- package/dist/src/components/OnboardingUI/hooks/useOnboarding.js +2 -0
- package/dist/src/components/OnboardingUI/hooks/useOnboarding.js.map +1 -1
- package/dist/src/components/QRCode.d.ts +13 -0
- package/dist/src/components/QRCode.js +6 -0
- package/dist/src/components/QRCode.js.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +29 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
|
@@ -2,5 +2,6 @@ import './WalletModal.css';
|
|
|
2
2
|
export interface WalletModalProps {
|
|
3
3
|
isOpen: boolean;
|
|
4
4
|
onClose: () => void;
|
|
5
|
+
onRampUrl?: string;
|
|
5
6
|
}
|
|
6
|
-
export declare function WalletModal({ isOpen, onClose }: WalletModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export declare function WalletModal({ isOpen, onClose, onRampUrl }: WalletModalProps): import("react/jsx-runtime").JSX.Element | null;
|
package/dist/src/WalletModal.js
CHANGED
|
@@ -3,29 +3,68 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
* WalletModal Component
|
|
4
4
|
* Displays wallet management interface when wallet is connected
|
|
5
5
|
*/
|
|
6
|
-
import { useCallback, useEffect, useRef } from 'react';
|
|
6
|
+
import { useCallback, useEffect, useRef, useState, useMemo } from 'react';
|
|
7
7
|
import { useAbstraxnWallet } from './AbstraxnProvider';
|
|
8
8
|
import { ExternalWalletButtons } from './ExternalWalletButtons';
|
|
9
9
|
import { AbstraxnContext } from './AbstraxnProvider';
|
|
10
10
|
import { createRoot } from 'react-dom/client';
|
|
11
|
+
import { QRCode } from './components/QRCode';
|
|
12
|
+
import { useExportWallet } from './hooks';
|
|
13
|
+
import { generateP256KeyPair } from '@turnkey/crypto';
|
|
11
14
|
import './WalletModal.css';
|
|
12
|
-
export function WalletModal({ isOpen, onClose }) {
|
|
15
|
+
export function WalletModal({ isOpen, onClose, onRampUrl }) {
|
|
13
16
|
const contextValue = useAbstraxnWallet();
|
|
14
|
-
const { address, user, disconnect, whoami, uiConfig, availableConnectors } = contextValue;
|
|
17
|
+
const { address, user, disconnect, whoami, uiConfig, availableConnectors, sendTransaction, isExternalWalletConnected, chainId, switchChainEnhanced, currentChain, availableChains, externalWalletBalance, walletBalance } = contextValue;
|
|
18
|
+
const { exportWallet } = useExportWallet();
|
|
15
19
|
const theme = uiConfig?.theme || 'light';
|
|
16
20
|
const externalWalletsEnabled = availableConnectors && availableConnectors.length > 0;
|
|
17
21
|
const externalWalletContainerRef = useRef(null);
|
|
18
22
|
const externalWalletRootRef = useRef(null);
|
|
23
|
+
// Chain selector state
|
|
24
|
+
const [showChainSelector, setShowChainSelector] = useState(false);
|
|
25
|
+
const [selectedChainType, setSelectedChainType] = useState('evm');
|
|
26
|
+
// Modal states
|
|
27
|
+
const [showReceiveModal, setShowReceiveModal] = useState(false);
|
|
28
|
+
const [showSendModal, setShowSendModal] = useState(false);
|
|
29
|
+
const [showManageModal, setShowManageModal] = useState(false);
|
|
30
|
+
const [copied, setCopied] = useState(false);
|
|
31
|
+
const [copiedManageAddress, setCopiedManageAddress] = useState(false);
|
|
32
|
+
const [exportedWalletResult, setExportedWalletResult] = useState(null);
|
|
33
|
+
const [copiedResult, setCopiedResult] = useState(false);
|
|
34
|
+
const [showExportWarning, setShowExportWarning] = useState(false);
|
|
35
|
+
const [showExportKey, setShowExportKey] = useState(false);
|
|
36
|
+
const [exportAcknowledged, setExportAcknowledged] = useState(false);
|
|
37
|
+
const [isExporting, setIsExporting] = useState(false);
|
|
38
|
+
const [showPrivateKey, setShowPrivateKey] = useState(false);
|
|
19
39
|
// Close on Escape key
|
|
20
40
|
useEffect(() => {
|
|
21
41
|
const handleEscape = (e) => {
|
|
22
42
|
if (e.key === 'Escape' && isOpen) {
|
|
23
|
-
|
|
43
|
+
if (showExportKey) {
|
|
44
|
+
setShowExportKey(false);
|
|
45
|
+
setExportedWalletResult(null);
|
|
46
|
+
}
|
|
47
|
+
else if (showExportWarning) {
|
|
48
|
+
setShowExportWarning(false);
|
|
49
|
+
setExportAcknowledged(false);
|
|
50
|
+
}
|
|
51
|
+
else if (showReceiveModal) {
|
|
52
|
+
setShowReceiveModal(false);
|
|
53
|
+
}
|
|
54
|
+
else if (showSendModal) {
|
|
55
|
+
setShowSendModal(false);
|
|
56
|
+
}
|
|
57
|
+
else if (showManageModal) {
|
|
58
|
+
setShowManageModal(false);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
onClose();
|
|
62
|
+
}
|
|
24
63
|
}
|
|
25
64
|
};
|
|
26
65
|
window.addEventListener('keydown', handleEscape);
|
|
27
66
|
return () => window.removeEventListener('keydown', handleEscape);
|
|
28
|
-
}, [isOpen, onClose]);
|
|
67
|
+
}, [isOpen, onClose, showReceiveModal, showSendModal, showManageModal, showExportWarning, showExportKey]);
|
|
29
68
|
// Prevent body scroll when modal is open
|
|
30
69
|
useEffect(() => {
|
|
31
70
|
if (isOpen) {
|
|
@@ -38,6 +77,36 @@ export function WalletModal({ isOpen, onClose }) {
|
|
|
38
77
|
document.body.style.overflow = '';
|
|
39
78
|
};
|
|
40
79
|
}, [isOpen]);
|
|
80
|
+
// Reset sub-modals when main modal closes
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
if (!isOpen) {
|
|
83
|
+
setShowReceiveModal(false);
|
|
84
|
+
setShowSendModal(false);
|
|
85
|
+
setShowManageModal(false);
|
|
86
|
+
setExportedWalletResult(null);
|
|
87
|
+
setShowExportWarning(false);
|
|
88
|
+
setShowExportKey(false);
|
|
89
|
+
setExportAcknowledged(false);
|
|
90
|
+
setIsExporting(false);
|
|
91
|
+
setShowPrivateKey(false);
|
|
92
|
+
setShowChainSelector(false);
|
|
93
|
+
}
|
|
94
|
+
}, [isOpen]);
|
|
95
|
+
// Close chain selector when clicking outside
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
if (!showChainSelector)
|
|
98
|
+
return;
|
|
99
|
+
const handleClickOutside = (e) => {
|
|
100
|
+
if (e.target instanceof Element) {
|
|
101
|
+
const target = e.target;
|
|
102
|
+
if (!target.closest('.wallet-modal-chain-selector')) {
|
|
103
|
+
setShowChainSelector(false);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
108
|
+
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
109
|
+
}, [showChainSelector]);
|
|
41
110
|
// Mount external wallet buttons in WalletModal
|
|
42
111
|
useEffect(() => {
|
|
43
112
|
if (!isOpen || !externalWalletsEnabled || !externalWalletContainerRef.current) {
|
|
@@ -59,7 +128,35 @@ export function WalletModal({ isOpen, onClose }) {
|
|
|
59
128
|
externalWalletRootRef.current = null;
|
|
60
129
|
}
|
|
61
130
|
};
|
|
62
|
-
}, [isOpen, externalWalletsEnabled]);
|
|
131
|
+
}, [isOpen, externalWalletsEnabled, contextValue]);
|
|
132
|
+
// Get dynamic address based on selected chain
|
|
133
|
+
const displayAddress = useMemo(() => {
|
|
134
|
+
if (!currentChain)
|
|
135
|
+
return address;
|
|
136
|
+
if (currentChain.type === 'solana' && whoami?.solanaAddress) {
|
|
137
|
+
return whoami.solanaAddress;
|
|
138
|
+
}
|
|
139
|
+
return address;
|
|
140
|
+
}, [currentChain, address, whoami?.solanaAddress]);
|
|
141
|
+
// Get balance with dynamic symbol based on current chain
|
|
142
|
+
const balanceDisplay = useMemo(() => {
|
|
143
|
+
if (!currentChain) {
|
|
144
|
+
// Default to ETH if no chain selected
|
|
145
|
+
const balance = externalWalletBalance || walletBalance;
|
|
146
|
+
const balanceValue = balance
|
|
147
|
+
? (Number(balance) / 1e18).toFixed(4)
|
|
148
|
+
: '0';
|
|
149
|
+
return `${balanceValue} ETH`;
|
|
150
|
+
}
|
|
151
|
+
const symbol = currentChain.nativeCurrency.symbol;
|
|
152
|
+
const decimals = currentChain.nativeCurrency.decimals;
|
|
153
|
+
// Get balance from external wallet or Abstraxn wallet
|
|
154
|
+
const balance = externalWalletBalance || walletBalance;
|
|
155
|
+
const balanceValue = balance
|
|
156
|
+
? (Number(balance) / Math.pow(10, decimals)).toFixed(4)
|
|
157
|
+
: '0';
|
|
158
|
+
return `${balanceValue} ${symbol}`;
|
|
159
|
+
}, [currentChain, externalWalletBalance, walletBalance]);
|
|
63
160
|
const handleDisconnect = useCallback(async () => {
|
|
64
161
|
try {
|
|
65
162
|
await disconnect();
|
|
@@ -70,20 +167,159 @@ export function WalletModal({ isOpen, onClose }) {
|
|
|
70
167
|
}
|
|
71
168
|
}, [disconnect, onClose]);
|
|
72
169
|
const handleCopyAddress = useCallback(() => {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
170
|
+
const addrToCopy = displayAddress || address;
|
|
171
|
+
if (addrToCopy) {
|
|
172
|
+
navigator.clipboard.writeText(addrToCopy);
|
|
173
|
+
setCopied(true);
|
|
174
|
+
setTimeout(() => setCopied(false), 2000);
|
|
76
175
|
}
|
|
77
|
-
}, [address]);
|
|
176
|
+
}, [displayAddress, address]);
|
|
177
|
+
const handleCopyManageAddress = useCallback(() => {
|
|
178
|
+
const addrToCopy = displayAddress || address;
|
|
179
|
+
if (addrToCopy) {
|
|
180
|
+
navigator.clipboard.writeText(addrToCopy);
|
|
181
|
+
setCopiedManageAddress(true);
|
|
182
|
+
setTimeout(() => setCopiedManageAddress(false), 2000);
|
|
183
|
+
}
|
|
184
|
+
}, [displayAddress, address]);
|
|
78
185
|
const formatAddress = (addr) => {
|
|
79
186
|
if (!addr)
|
|
80
187
|
return '';
|
|
81
188
|
return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
|
|
82
189
|
};
|
|
190
|
+
const handleSend = useCallback(() => {
|
|
191
|
+
setShowSendModal(true);
|
|
192
|
+
}, []);
|
|
193
|
+
const handleReceive = useCallback(() => {
|
|
194
|
+
setShowReceiveModal(true);
|
|
195
|
+
}, []);
|
|
196
|
+
const handleBuy = useCallback(() => {
|
|
197
|
+
// Redirect to third-party on-ramp
|
|
198
|
+
if (onRampUrl) {
|
|
199
|
+
window.open(onRampUrl, '_blank', 'noopener,noreferrer');
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
// Use Transak's default widget
|
|
203
|
+
window.open('https://global.transak.com/', '_blank', 'noopener,noreferrer');
|
|
204
|
+
}
|
|
205
|
+
}, [onRampUrl]);
|
|
206
|
+
const handleManageWallet = useCallback(() => {
|
|
207
|
+
setShowManageModal(true);
|
|
208
|
+
}, []);
|
|
209
|
+
const handleExportPrivateKey = useCallback(() => {
|
|
210
|
+
// Show warning modal first
|
|
211
|
+
setShowExportWarning(true);
|
|
212
|
+
}, []);
|
|
213
|
+
const handleAcknowledgeExport = useCallback(async () => {
|
|
214
|
+
if (!exportAcknowledged || !address || isExporting) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
setIsExporting(true);
|
|
218
|
+
try {
|
|
219
|
+
const keyPair = await generateP256KeyPair();
|
|
220
|
+
const pvtKey = keyPair.privateKey;
|
|
221
|
+
const publicKey = keyPair.publicKeyUncompressed;
|
|
222
|
+
const res = await exportWallet(publicKey, pvtKey, 'evm');
|
|
223
|
+
const resultString = `${res}`;
|
|
224
|
+
setExportedWalletResult(resultString);
|
|
225
|
+
setShowExportWarning(false);
|
|
226
|
+
setShowExportKey(true);
|
|
227
|
+
setShowPrivateKey(false);
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
console.error('Failed to export wallet:', error);
|
|
231
|
+
setExportedWalletResult(null);
|
|
232
|
+
setShowExportWarning(false);
|
|
233
|
+
}
|
|
234
|
+
finally {
|
|
235
|
+
setIsExporting(false);
|
|
236
|
+
}
|
|
237
|
+
}, [exportAcknowledged, address, exportWallet, isExporting]);
|
|
238
|
+
const handleCopyResult = useCallback(() => {
|
|
239
|
+
if (exportedWalletResult) {
|
|
240
|
+
navigator.clipboard.writeText(exportedWalletResult);
|
|
241
|
+
setCopiedResult(true);
|
|
242
|
+
setTimeout(() => setCopiedResult(false), 2000);
|
|
243
|
+
}
|
|
244
|
+
}, [exportedWalletResult]);
|
|
83
245
|
if (!isOpen)
|
|
84
246
|
return null;
|
|
85
|
-
//
|
|
86
|
-
|
|
87
|
-
|
|
247
|
+
// Receive Modal
|
|
248
|
+
if (showReceiveModal) {
|
|
249
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: () => setShowReceiveModal(false), children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-receive`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-receive-header", children: [_jsx("button", { className: "wallet-modal-back", onClick: () => setShowReceiveModal(false), children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M12.5 15L7.5 10L12.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("h2", { className: "wallet-modal-receive-title", children: "Receive" }), _jsx("div", { style: { width: '40px' } })] }), _jsxs("div", { className: "wallet-modal-receive-content", children: [_jsx("div", { className: "wallet-modal-qr-container", children: address && (_jsx(QRCode, { value: address, size: 240, bgColor: theme === 'dark' ? '#ffffff' : '#ffffff', fgColor: theme === 'dark' ? '#000000' : '#000000' })) }), _jsxs("div", { className: "wallet-modal-address-section", children: [_jsx("p", { className: "wallet-modal-address-label", children: "Your Wallet Address" }), _jsxs("div", { className: "wallet-modal-address-display", children: [_jsx("span", { className: "wallet-modal-address-full", children: displayAddress || address }), _jsx("button", { className: `wallet-modal-copy-btn ${copied ? 'copied' : ''}`, onClick: handleCopyAddress, "aria-label": "Copy address", children: copied ? (_jsxs(_Fragment, { children: [_jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Copied!" })] })) : (_jsxs(_Fragment, { children: [_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: [_jsx("path", { d: "M5.5 3.5H3.5C2.67157 3.5 2 4.17157 2 5V12.5C2 13.3284 2.67157 14 3.5 14H11C11.8284 14 12.5 13.3284 12.5 12.5V10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M5.5 3.5C5.5 2.67157 6.17157 2 7 2H12.5C13.3284 2 14 2.67157 14 3.5V9C14 9.82843 13.3284 10.5 12.5 10.5H7C6.17157 10.5 5.5 9.82843 5.5 9V3.5Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "Copy" })] })) })] }), _jsx("p", { className: "wallet-modal-address-hint", children: "Scan this QR code or copy the address to receive funds" })] })] })] }) }));
|
|
250
|
+
}
|
|
251
|
+
// Send Modal (placeholder for now)
|
|
252
|
+
if (showSendModal) {
|
|
253
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: () => setShowSendModal(false), children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-send`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-receive-header", children: [_jsx("button", { className: "wallet-modal-back", onClick: () => setShowSendModal(false), children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M12.5 15L7.5 10L12.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("h2", { className: "wallet-modal-receive-title", children: "Send" }), _jsx("div", { style: { width: '40px' } })] }), _jsxs("div", { className: "wallet-modal-send-content", children: [_jsxs("p", { className: "wallet-modal-send-placeholder", children: ["Send functionality will be implemented here.", _jsx("br", {}), "This will allow users to send tokens to other addresses."] }), _jsx("button", { className: "wallet-modal-action-btn-primary", onClick: () => setShowSendModal(false), children: "Close" })] })] }) }));
|
|
254
|
+
}
|
|
255
|
+
// Export Key Modal
|
|
256
|
+
if (showExportKey && exportedWalletResult) {
|
|
257
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: () => { setShowExportKey(false); setExportedWalletResult(null); }, children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-export-key`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-export-header", children: [_jsx("h2", { className: "wallet-modal-export-title", children: "Export Key" }), _jsx("button", { className: "wallet-modal-close", onClick: () => { setShowExportKey(false); setExportedWalletResult(null); }, "aria-label": "Close", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M18 6L6 18M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), _jsxs("div", { className: "wallet-modal-export-content", children: [_jsx("div", { className: `wallet-modal-export-key-display ${!showPrivateKey ? 'blurred' : ''}`, onClick: () => {
|
|
258
|
+
if (!showPrivateKey) {
|
|
259
|
+
setShowPrivateKey(true);
|
|
260
|
+
}
|
|
261
|
+
}, style: { cursor: showPrivateKey ? 'text' : 'pointer' }, children: exportedWalletResult }), !showPrivateKey && (_jsx("p", { className: "wallet-modal-export-key-hint", children: "Click to reveal private key" })), _jsx("button", { className: "wallet-modal-export-copy-btn", onClick: handleCopyResult, disabled: !showPrivateKey, children: copiedResult ? (_jsxs(_Fragment, { children: [_jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Copied!" })] })) : (_jsxs(_Fragment, { children: [_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: [_jsx("path", { d: "M5.5 3.5H3.5C2.67157 3.5 2 4.17157 2 5V12.5C2 13.3284 2.67157 14 3.5 14H11C11.8284 14 12.5 13.3284 12.5 12.5V10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M5.5 3.5C5.5 2.67157 6.17157 2 7 2H12.5C13.3284 2 14 2.67157 14 3.5V9C14 9.82843 13.3284 10.5 12.5 10.5H7C6.17157 10.5 5.5 9.82843 5.5 9V3.5Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "Copy" })] })) }), _jsx("button", { className: `wallet-modal-export-done-btn wallet-modal-theme-${theme}`, onClick: () => { setShowExportKey(false); setExportedWalletResult(null); setShowPrivateKey(false); }, children: "I'm Done" })] })] }) }));
|
|
262
|
+
}
|
|
263
|
+
// Export Warning Modal
|
|
264
|
+
if (showExportWarning) {
|
|
265
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: () => setShowExportWarning(false), children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-export-warning`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-receive-header", children: [_jsx("button", { className: "wallet-modal-back", onClick: () => setShowExportWarning(false), children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M12.5 15L7.5 10L12.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("h2", { className: "wallet-modal-receive-title", children: "Agree to continue" }), _jsx("button", { className: "wallet-modal-close", onClick: () => setShowExportWarning(false), "aria-label": "Close", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M18 6L6 18M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), _jsxs("div", { className: "wallet-modal-export-warning-content", children: [_jsx("div", { className: "wallet-modal-export-warning-illustration", children: _jsx("div", { className: "wallet-modal-export-warning-icon-bg", children: _jsxs("svg", { width: "48", height: "48", viewBox: "0 0 48 48", fill: "none", children: [_jsx("path", { d: "M24 12L12 18L24 24L36 18L24 12Z", fill: "currentColor" }), _jsx("path", { d: "M12 30L24 36L36 30M12 24L24 30L36 24", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }) }), _jsx("div", { className: "wallet-modal-export-warning-badge", children: "Sensitive information" }), _jsx("h3", { className: "wallet-modal-export-warning-heading", children: "Your wallet is ready. Back up your key to protect your assets." }), _jsxs("div", { className: "wallet-modal-export-warning-info-cards", children: [_jsxs("div", { className: "wallet-modal-export-warning-info-card", children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M3 6C3 4.89543 3.89543 4 5 4H15C16.1046 4 17 4.89543 17 6V16C17 17.1046 16.1046 18 15 18H5C3.89543 18 3 17.1046 3 16V6Z", stroke: "currentColor", strokeWidth: "2" }), _jsx("path", { d: "M7 8H13M7 12H13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }), _jsx("span", { children: "Non-custodial wallet: You're always in control" })] }), _jsxs("div", { className: "wallet-modal-export-warning-info-card", children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M10 2L2 6L10 10L18 6L10 2Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2 14L10 18L18 14M2 10L10 14L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M10 10V18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "Keep your key private. It controls your account and assets." })] })] }), _jsxs("label", { className: "wallet-modal-export-warning-checkbox", children: [_jsx("input", { type: "checkbox", checked: exportAcknowledged, onChange: (e) => setExportAcknowledged(e.target.checked), className: "wallet-modal-export-warning-checkbox-input" }), _jsx("span", { children: "I am responsible for safeguarding and using my wallet key information." })] }), _jsx("button", { className: `wallet-modal-export-warning-reveal ${!exportAcknowledged || isExporting ? 'disabled' : ''}`, onClick: handleAcknowledgeExport, disabled: !exportAcknowledged || isExporting, children: isExporting ? (_jsxs(_Fragment, { children: [_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: "wallet-modal-loading-spinner", children: [_jsx("circle", { cx: "8", cy: "8", r: "6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeDasharray: "37.7", strokeDashoffset: "37.7", fill: "none", opacity: "0.3" }), _jsx("circle", { cx: "8", cy: "8", r: "6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeDasharray: "37.7", fill: "none", children: _jsx("animate", { attributeName: "stroke-dashoffset", from: "37.7", to: "0", dur: "1s", repeatCount: "indefinite" }) })] }), _jsx("span", { children: "Loading..." })] })) : ('Reveal') })] })] }) }));
|
|
266
|
+
}
|
|
267
|
+
// Account & Settings Modal
|
|
268
|
+
if (showManageModal) {
|
|
269
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: () => setShowManageModal(false), children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-manage`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-receive-header", children: [_jsx("button", { className: "wallet-modal-back", onClick: () => setShowManageModal(false), children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M12.5 15L7.5 10L12.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("h2", { className: "wallet-modal-receive-title", children: "Account & Settings" }), _jsx("div", { style: { width: '40px' } })] }), _jsxs("div", { className: "wallet-modal-manage-content", children: [_jsxs("div", { className: "wallet-modal-manage-section", children: [_jsx("h3", { className: "wallet-modal-manage-section-title", children: "Wallet Information" }), _jsxs("div", { className: "wallet-modal-manage-item", children: [_jsx("span", { className: "wallet-modal-manage-label", children: "Address" }), _jsxs("div", { className: "wallet-modal-manage-value", children: [_jsx("span", { className: "wallet-modal-manage-address-text", children: formatAddress(displayAddress || address) }), _jsx("button", { className: `wallet-modal-manage-copy-btn ${copiedManageAddress ? 'copied' : ''}`, onClick: handleCopyManageAddress, children: copiedManageAddress ? (_jsxs(_Fragment, { children: [_jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: _jsx("path", { d: "M11.5 3.5L5.5 9.5L2.5 6.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Copied!" })] })) : (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: [_jsx("path", { d: "M4.5 3H2.5C1.67157 3 1 3.67157 1 4.5V11C1 11.8284 1.67157 12.5 2.5 12.5H9C9.82843 12.5 10.5 11.8284 10.5 11V9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M4.5 3C4.5 2.17157 5.17157 1.5 6 1.5H11.5C12.3284 1.5 13 2.17157 13 3V7.5C13 8.32843 12.3284 9 11.5 9H6C5.17157 9 4.5 8.32843 4.5 7.5V3Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] })) })] })] }), user?.email && (_jsxs("div", { className: "wallet-modal-manage-item", children: [_jsx("span", { className: "wallet-modal-manage-label", children: "Email" }), _jsx("span", { className: "wallet-modal-manage-value", children: user.email })] })), whoami?.organizationName && (_jsxs("div", { className: "wallet-modal-manage-item", children: [_jsx("span", { className: "wallet-modal-manage-label", children: "Organization" }), _jsx("span", { className: "wallet-modal-manage-value", children: whoami.organizationName })] }))] }), !isExternalWalletConnected && (_jsxs("div", { className: "wallet-modal-manage-section", children: [_jsx("h3", { className: "wallet-modal-manage-section-title", children: "Export & Backup" }), _jsxs("button", { className: "wallet-modal-manage-action-item", onClick: handleExportPrivateKey, children: [_jsx("div", { className: "wallet-modal-manage-action-icon", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M10 2L2 6L10 10L18 6L10 2Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2 14L10 18L18 14M2 10L10 14L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M10 10V18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }), _jsx("span", { className: "wallet-modal-manage-action-label", children: "Export Private Key" }), _jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: "wallet-modal-manage-action-arrow", children: _jsx("path", { d: "M6 12L10 8L6 4", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })] })] }))] })] }) }));
|
|
270
|
+
}
|
|
271
|
+
// Main Modal
|
|
272
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: onClose, children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme}`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-header", children: [_jsx("div", { className: "wallet-modal-header-left", children: _jsxs("div", { className: "wallet-modal-user-info", children: [_jsx("div", { className: "wallet-modal-avatar", children: (() => {
|
|
273
|
+
const authProvider = (user?.authProvider || '').toLowerCase();
|
|
274
|
+
// Check for external wallet first
|
|
275
|
+
if (isExternalWalletConnected) {
|
|
276
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M12 2L2 7L12 12L22 7L12 2Z", fill: "#9333ea" }), _jsx("path", { d: "M2 17L12 22L22 17M2 12L12 17L22 12", stroke: "#9333ea", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }));
|
|
277
|
+
}
|
|
278
|
+
// Google
|
|
279
|
+
if (authProvider === 'google') {
|
|
280
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z", fill: "#4285F4" }), _jsx("path", { d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z", fill: "#34A853" }), _jsx("path", { d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z", fill: "#FBBC05" }), _jsx("path", { d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z", fill: "#EA4335" })] }) }));
|
|
281
|
+
}
|
|
282
|
+
// Discord
|
|
283
|
+
if (authProvider === 'discord') {
|
|
284
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C2.451 6.018 1.9 7.765 1.6 9.515a.082.082 0 0 0 .031.084 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.084c-.334-1.847-.93-3.591-1.679-5.118a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z", fill: "#5865F2" }) }) }));
|
|
285
|
+
}
|
|
286
|
+
// Twitter/X
|
|
287
|
+
if (authProvider === 'twitter' || authProvider === 'x') {
|
|
288
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z", fill: "#000000" }) }) }));
|
|
289
|
+
}
|
|
290
|
+
// Passkey
|
|
291
|
+
if (authProvider === 'passkey' || authProvider === 'webauthn') {
|
|
292
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M12 2C8.13 2 5 5.13 5 9C5 14.25 12 22 12 22C12 22 19 14.25 19 9C19 5.13 15.87 2 12 2ZM12 11.5C10.62 11.5 9.5 10.38 9.5 9C9.5 7.62 10.62 6.5 12 6.5C13.38 6.5 14.5 7.62 14.5 9C14.5 10.38 13.38 11.5 12 11.5Z", fill: "currentColor" }) }) }));
|
|
293
|
+
}
|
|
294
|
+
// Email/OTP - check if user has email but no OAuth provider
|
|
295
|
+
if (user?.email && !authProvider) {
|
|
296
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M4 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4Z", stroke: "#9333ea", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M22 6L12 13L2 6", stroke: "#9333ea", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }));
|
|
297
|
+
}
|
|
298
|
+
// OTP/Email (explicit provider)
|
|
299
|
+
if (authProvider === 'otp' || authProvider === 'email') {
|
|
300
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M4 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4Z", stroke: "#9333ea", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M22 6L12 13L2 6", stroke: "#9333ea", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }));
|
|
301
|
+
}
|
|
302
|
+
// Passkey
|
|
303
|
+
if (authProvider === 'passkey' || authProvider === 'webauthn') {
|
|
304
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M12 2C8.13 2 5 5.13 5 9C5 14.25 12 22 12 22C12 22 19 14.25 19 9C19 5.13 15.87 2 12 2ZM12 11.5C10.62 11.5 9.5 10.38 9.5 9C9.5 7.62 10.62 6.5 12 6.5C13.38 6.5 14.5 7.62 14.5 9C14.5 10.38 13.38 11.5 12 11.5Z", fill: "#9333ea" }) }) }));
|
|
305
|
+
}
|
|
306
|
+
// Default fallback: generic user icon
|
|
307
|
+
return (_jsx("div", { className: "wallet-modal-avatar-icon", children: _jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M12 12C14.21 12 16 10.21 16 8C16 5.79 14.21 4 12 4C9.79 4 8 5.79 8 8C8 10.21 9.79 12 12 12Z", fill: "#9333ea" }), _jsx("path", { d: "M12 14C7.58 14 4 15.79 4 18V20H20V18C20 15.79 16.42 14 12 14Z", fill: "#9333ea" })] }) }));
|
|
308
|
+
})() }), _jsxs("div", { className: "wallet-modal-user-details", children: [_jsxs("div", { className: "wallet-modal-address", onClick: handleCopyAddress, children: [formatAddress(displayAddress || address), copied ? (_jsx("span", { className: "wallet-modal-copy-notification", children: "Copied!" })) : (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: "wallet-modal-copy-icon", children: [_jsx("path", { d: "M5.5 3.5H3.5C2.67157 3.5 2 4.17157 2 5V12.5C2 13.3284 2.67157 14 3.5 14H11C11.8284 14 12.5 13.3284 12.5 12.5V10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M5.5 3.5C5.5 2.67157 6.17157 2 7 2H12.5C13.3284 2 14 2.67157 14 3.5V9C14 9.82843 13.3284 10.5 12.5 10.5H7C6.17157 10.5 5.5 9.82843 5.5 9V3.5Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }))] }), user?.email && (_jsx("div", { className: "wallet-modal-email", children: user.email }))] })] }) }), _jsx("div", { className: "wallet-modal-header-right", children: _jsx("button", { className: "wallet-modal-close", onClick: onClose, "aria-label": "Close", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M18 6L6 18M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }) })] }), _jsxs("div", { className: "wallet-modal-actions", children: [_jsxs("button", { className: "wallet-modal-action-btn", onClick: handleSend, children: [_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M2.5 10L17.5 10M17.5 10L12.5 5M17.5 10L12.5 15", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Send" })] }), _jsxs("button", { className: "wallet-modal-action-btn", onClick: handleReceive, children: [_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M2.5 10L17.5 10M2.5 10L7.5 5M2.5 10L7.5 15", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Receive" })] }), _jsxs("button", { className: "wallet-modal-action-btn", onClick: handleBuy, children: [_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M10 4V16M4 10H16", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Buy" })] })] }), availableChains && availableChains.length > 0 && (_jsx("div", { className: "wallet-modal-chain-selector-section", children: _jsxs("div", { className: "wallet-modal-chain-selector", children: [currentChain ? (_jsxs("button", { className: "wallet-modal-chain-selector-btn", onClick: () => setShowChainSelector(!showChainSelector), children: [_jsxs("div", { className: "wallet-modal-chain-selector-current", children: [_jsx("div", { className: "wallet-modal-chain-icon", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "2", fill: "none" }), _jsx("path", { d: "M10 2L10 6M10 14L10 18M2 10L6 10M14 10L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }) }), _jsx("span", { className: "wallet-modal-chain-name", children: currentChain.displayName })] }), _jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: `wallet-modal-chain-arrow ${showChainSelector ? 'open' : ''}`, children: _jsx("path", { d: "M4 6L8 10L12 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })] })) : (_jsx("div", { className: "wallet-modal-chain-selector-placeholder", children: _jsx("span", { children: "Select Chain" }) })), showChainSelector && availableChains && availableChains.length > 0 && (_jsxs("div", { className: "wallet-modal-chain-dropdown", children: [_jsxs("div", { className: "wallet-modal-chain-tabs", children: [_jsx("button", { className: `wallet-modal-chain-tab ${selectedChainType === 'evm' ? 'active' : ''}`, onClick: () => setSelectedChainType('evm'), children: "EVM" }), availableChains.some(c => c.type === 'solana') && (_jsx("button", { className: `wallet-modal-chain-tab ${selectedChainType === 'solana' ? 'active' : ''}`, onClick: () => setSelectedChainType('solana'), children: "Solana" }))] }), _jsx("div", { className: "wallet-modal-chain-list", children: availableChains
|
|
309
|
+
.filter(chain => chain.type === selectedChainType)
|
|
310
|
+
.map((chain) => (_jsxs("button", { className: `wallet-modal-chain-item ${currentChain?.id === chain.id ? 'active' : ''}`, onClick: async () => {
|
|
311
|
+
if (switchChainEnhanced && chain.id !== currentChain?.id) {
|
|
312
|
+
try {
|
|
313
|
+
await switchChainEnhanced(chain.id);
|
|
314
|
+
setShowChainSelector(false);
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
console.error('Failed to switch chain:', error);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
setShowChainSelector(false);
|
|
322
|
+
}
|
|
323
|
+
}, children: [_jsx("div", { className: "wallet-modal-chain-icon", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "2", fill: "none" }), _jsx("path", { d: "M10 2L10 6M10 14L10 18M2 10L6 10M14 10L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }) }), _jsxs("div", { className: "wallet-modal-chain-info", children: [_jsx("span", { className: "wallet-modal-chain-name", children: chain.displayName }), chain.isTestnet && (_jsx("span", { className: "wallet-modal-chain-badge", children: "Testnet" }))] }), currentChain?.id === chain.id && (_jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))] }, chain.id))) })] }))] }) })), _jsxs("div", { className: "wallet-modal-balance", children: [_jsx("div", { className: "wallet-modal-balance-label", children: "Balance" }), _jsxs("div", { className: "wallet-modal-balance-value", children: [balanceDisplay, _jsx("span", { className: "wallet-modal-asset-status" })] })] }), _jsx("div", { className: "wallet-modal-menu", children: _jsxs("button", { className: "wallet-modal-menu-item", onClick: handleManageWallet, children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M3 6C3 4.89543 3.89543 4 5 4H15C16.1046 4 17 4.89543 17 6V16C17 17.1046 16.1046 18 15 18H5C3.89543 18 3 17.1046 3 16V6Z", stroke: "currentColor", strokeWidth: "2" }), _jsx("path", { d: "M7 8H13M7 12H13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }), _jsx("span", { children: "Account & Settings" })] }) }), externalWalletsEnabled && (_jsxs(_Fragment, { children: [_jsx("div", { className: "wallet-modal-divider" }), _jsxs("div", { className: "wallet-modal-external-wallets", children: [_jsx("div", { className: "wallet-modal-external-wallets-label", children: "Connect External Wallet" }), _jsx("div", { ref: externalWalletContainerRef })] })] })), _jsx("div", { className: "wallet-modal-divider" }), _jsxs("button", { className: "wallet-modal-disconnect", onClick: handleDisconnect, children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M7.5 15L12.5 10L7.5 5M12.5 10H2.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2.5 4V16", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "Disconnect Wallet" })] })] }) }));
|
|
88
324
|
}
|
|
89
325
|
//# sourceMappingURL=WalletModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletModal.js","sourceRoot":"","sources":["../../src/WalletModal.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WalletModal.js","sourceRoot":"","sources":["../../src/WalletModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Constants
|
|
3
|
+
* Complete chain data for EVM and Solana networks
|
|
4
|
+
*/
|
|
5
|
+
export interface ChainData {
|
|
6
|
+
id: number;
|
|
7
|
+
name: string;
|
|
8
|
+
displayName: string;
|
|
9
|
+
rpcUrl: string;
|
|
10
|
+
explorerUrl: string;
|
|
11
|
+
icon?: string;
|
|
12
|
+
nativeCurrency: {
|
|
13
|
+
name: string;
|
|
14
|
+
symbol: string;
|
|
15
|
+
decimals: number;
|
|
16
|
+
};
|
|
17
|
+
type: 'evm' | 'solana';
|
|
18
|
+
isTestnet: boolean;
|
|
19
|
+
blockExplorer?: {
|
|
20
|
+
name: string;
|
|
21
|
+
url: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* EVM Chains
|
|
26
|
+
*/
|
|
27
|
+
export declare const EVM_CHAINS: Record<string, ChainData>;
|
|
28
|
+
/**
|
|
29
|
+
* Solana Chains
|
|
30
|
+
*/
|
|
31
|
+
export declare const SOLANA_CHAINS: Record<string, ChainData>;
|
|
32
|
+
/**
|
|
33
|
+
* All available chains
|
|
34
|
+
*/
|
|
35
|
+
export declare const ALL_CHAINS: Record<string, ChainData>;
|
|
36
|
+
/**
|
|
37
|
+
* Get chain by ID
|
|
38
|
+
*/
|
|
39
|
+
export declare function getChainById(chainId: number): ChainData | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Get chains by type
|
|
42
|
+
*/
|
|
43
|
+
export declare function getChainsByType(type: 'evm' | 'solana'): ChainData[];
|
|
44
|
+
/**
|
|
45
|
+
* Get default chains (Ethereum, Polygon, Base for EVM; Solana for Solana)
|
|
46
|
+
*/
|
|
47
|
+
export declare function getDefaultChains(): ChainData[];
|
|
48
|
+
/**
|
|
49
|
+
* Convert ChainData to Core Chain format for SDK compatibility
|
|
50
|
+
*/
|
|
51
|
+
export declare function toCoreChain(chainData: ChainData): import('signer-test-sdk-core').Chain;
|
|
52
|
+
/**
|
|
53
|
+
* Get chain icon SVG path (placeholder - can be replaced with actual icons)
|
|
54
|
+
*/
|
|
55
|
+
export declare function getChainIcon(chainId: number): string;
|