signer-test-sdk-react 0.0.11 → 0.0.13
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.d.ts +2 -5
- package/dist/src/AbstraxnProvider.js +550 -50
- package/dist/src/AbstraxnProvider.js.map +1 -1
- package/dist/src/WalletModal.css +1973 -23
- package/dist/src/WalletModal.d.ts +2 -1
- package/dist/src/WalletModal.js +200 -30
- 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 +24 -3
- package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +1 -1
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.d.ts +11 -2
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.js +266 -36
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.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/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/components/WalletModal/components/ChainSelector.css +180 -0
- package/dist/src/components/WalletModal/components/ChainSelector.d.ts +10 -0
- package/dist/src/components/WalletModal/components/ChainSelector.js +34 -0
- package/dist/src/components/WalletModal/components/ChainSelector.js.map +1 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.css +133 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.d.ts +9 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.js +31 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.css +2 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.d.ts +11 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.js +18 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.css +160 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.d.ts +12 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.js +21 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.css +128 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.d.ts +17 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.js +10 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.css +101 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.d.ts +8 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.js +22 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/SendModal.css +234 -0
- package/dist/src/components/WalletModal/components/SendModal.d.ts +18 -0
- package/dist/src/components/WalletModal/components/SendModal.js +127 -0
- package/dist/src/components/WalletModal/components/SendModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/SuccessModal.css +86 -0
- package/dist/src/components/WalletModal/components/SuccessModal.d.ts +13 -0
- package/dist/src/components/WalletModal/components/SuccessModal.js +8 -0
- package/dist/src/components/WalletModal/components/SuccessModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/UserAvatar.d.ts +9 -0
- package/dist/src/components/WalletModal/components/UserAvatar.js +31 -0
- package/dist/src/components/WalletModal/components/UserAvatar.js.map +1 -0
- package/dist/src/components/WalletModal/components/index.d.ts +21 -0
- package/dist/src/components/WalletModal/components/index.js +13 -0
- package/dist/src/components/WalletModal/components/index.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/index.d.ts +6 -0
- package/dist/src/components/WalletModal/hooks/index.js +7 -0
- package/dist/src/components/WalletModal/hooks/index.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/useAddressValidation.d.ts +4 -0
- package/dist/src/components/WalletModal/hooks/useAddressValidation.js +17 -0
- package/dist/src/components/WalletModal/hooks/useAddressValidation.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/useAmountValidation.d.ts +4 -0
- package/dist/src/components/WalletModal/hooks/useAmountValidation.js +29 -0
- package/dist/src/components/WalletModal/hooks/useAmountValidation.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/useSendTransaction.d.ts +20 -0
- package/dist/src/components/WalletModal/hooks/useSendTransaction.js +55 -0
- package/dist/src/components/WalletModal/hooks/useSendTransaction.js.map +1 -0
- package/dist/src/components/WalletModal/index.d.ts +5 -0
- package/dist/src/components/WalletModal/index.js +7 -0
- package/dist/src/components/WalletModal/index.js.map +1 -0
- package/dist/src/components/WalletModal/utils/addressUtils.d.ts +19 -0
- package/dist/src/components/WalletModal/utils/addressUtils.js +62 -0
- package/dist/src/components/WalletModal/utils/addressUtils.js.map +1 -0
- package/dist/src/components/WalletModal/utils/formatUtils.d.ts +20 -0
- package/dist/src/components/WalletModal/utils/formatUtils.js +47 -0
- package/dist/src/components/WalletModal/utils/formatUtils.js.map +1 -0
- package/dist/src/components/WalletModal/utils/index.d.ts +5 -0
- package/dist/src/components/WalletModal/utils/index.js +6 -0
- package/dist/src/components/WalletModal/utils/index.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/src/wagmiConfig.js +6 -2
- package/dist/src/wagmiConfig.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -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
|
@@ -1,31 +1,91 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* WalletModal Component
|
|
4
|
-
*
|
|
3
|
+
* WalletModal Component - Refactored
|
|
4
|
+
* Main wallet management interface
|
|
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 { useExportWallet } from './hooks';
|
|
12
|
+
import { generateP256KeyPair } from '@turnkey/crypto';
|
|
13
|
+
import { formatAddress, formatBalance } from './components/WalletModal/utils';
|
|
14
|
+
import { SendModal, ReceiveModal, ManageWalletModal, ChainSelector, ExportWarningModal, ExportKeyModal, UserAvatar, } from './components/WalletModal/components';
|
|
11
15
|
import './WalletModal.css';
|
|
12
|
-
export function WalletModal({ isOpen, onClose }) {
|
|
16
|
+
export function WalletModal({ isOpen, onClose, onRampUrl }) {
|
|
13
17
|
const contextValue = useAbstraxnWallet();
|
|
14
|
-
const { address, user, disconnect, whoami, uiConfig, availableConnectors } = contextValue;
|
|
18
|
+
const { address, user, disconnect, whoami, uiConfig, availableConnectors, sendTransaction, isExternalWalletConnected, switchChainEnhanced, currentChain, availableChains, externalWalletBalance, walletBalance, } = contextValue;
|
|
19
|
+
const { exportWallet } = useExportWallet();
|
|
15
20
|
const theme = uiConfig?.theme || 'light';
|
|
16
21
|
const externalWalletsEnabled = availableConnectors && availableConnectors.length > 0;
|
|
17
22
|
const externalWalletContainerRef = useRef(null);
|
|
18
23
|
const externalWalletRootRef = useRef(null);
|
|
24
|
+
// Modal states
|
|
25
|
+
const [showReceiveModal, setShowReceiveModal] = useState(false);
|
|
26
|
+
const [showSendModal, setShowSendModal] = useState(false);
|
|
27
|
+
const [showManageModal, setShowManageModal] = useState(false);
|
|
28
|
+
const [showChainSelector, setShowChainSelector] = useState(false);
|
|
29
|
+
const [selectedChainType, setSelectedChainType] = useState('evm');
|
|
30
|
+
// Export states
|
|
31
|
+
const [showExportWarning, setShowExportWarning] = useState(false);
|
|
32
|
+
const [showExportKey, setShowExportKey] = useState(false);
|
|
33
|
+
const [exportedWalletResult, setExportedWalletResult] = useState(null);
|
|
34
|
+
const [isExporting, setIsExporting] = useState(false);
|
|
35
|
+
const [copied, setCopied] = useState(false);
|
|
36
|
+
// Get dynamic address based on selected chain
|
|
37
|
+
const displayAddress = useMemo(() => {
|
|
38
|
+
if (!currentChain)
|
|
39
|
+
return address;
|
|
40
|
+
if (currentChain.type === 'solana' && whoami?.solanaAddress) {
|
|
41
|
+
return whoami.solanaAddress;
|
|
42
|
+
}
|
|
43
|
+
return address;
|
|
44
|
+
}, [currentChain, address, whoami?.solanaAddress]);
|
|
45
|
+
// Get balance with dynamic symbol
|
|
46
|
+
const balanceDisplay = useMemo(() => {
|
|
47
|
+
const balance = externalWalletBalance || walletBalance;
|
|
48
|
+
if (!currentChain) {
|
|
49
|
+
// If no chain selected, show default
|
|
50
|
+
if (!balance || balance === 0n)
|
|
51
|
+
return '0';
|
|
52
|
+
return formatBalance(balance, 18, 'ETH');
|
|
53
|
+
}
|
|
54
|
+
const symbol = currentChain.nativeCurrency?.symbol || 'ETH';
|
|
55
|
+
const decimals = currentChain.nativeCurrency?.decimals || 18;
|
|
56
|
+
if (!balance || balance === 0n) {
|
|
57
|
+
return `0 ${symbol}`;
|
|
58
|
+
}
|
|
59
|
+
return formatBalance(balance, decimals, symbol);
|
|
60
|
+
}, [currentChain, externalWalletBalance, walletBalance]);
|
|
19
61
|
// Close on Escape key
|
|
20
62
|
useEffect(() => {
|
|
21
63
|
const handleEscape = (e) => {
|
|
22
64
|
if (e.key === 'Escape' && isOpen) {
|
|
23
|
-
|
|
65
|
+
if (showExportKey) {
|
|
66
|
+
setShowExportKey(false);
|
|
67
|
+
setExportedWalletResult(null);
|
|
68
|
+
}
|
|
69
|
+
else if (showExportWarning) {
|
|
70
|
+
setShowExportWarning(false);
|
|
71
|
+
}
|
|
72
|
+
else if (showReceiveModal) {
|
|
73
|
+
setShowReceiveModal(false);
|
|
74
|
+
}
|
|
75
|
+
else if (showSendModal) {
|
|
76
|
+
setShowSendModal(false);
|
|
77
|
+
}
|
|
78
|
+
else if (showManageModal) {
|
|
79
|
+
setShowManageModal(false);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
onClose();
|
|
83
|
+
}
|
|
24
84
|
}
|
|
25
85
|
};
|
|
26
86
|
window.addEventListener('keydown', handleEscape);
|
|
27
87
|
return () => window.removeEventListener('keydown', handleEscape);
|
|
28
|
-
}, [isOpen, onClose]);
|
|
88
|
+
}, [isOpen, onClose, showReceiveModal, showSendModal, showManageModal, showExportWarning, showExportKey]);
|
|
29
89
|
// Prevent body scroll when modal is open
|
|
30
90
|
useEffect(() => {
|
|
31
91
|
if (isOpen) {
|
|
@@ -38,28 +98,75 @@ export function WalletModal({ isOpen, onClose }) {
|
|
|
38
98
|
document.body.style.overflow = '';
|
|
39
99
|
};
|
|
40
100
|
}, [isOpen]);
|
|
41
|
-
//
|
|
101
|
+
// Reset sub-modals when main modal closes
|
|
102
|
+
useEffect(() => {
|
|
103
|
+
if (!isOpen) {
|
|
104
|
+
setShowReceiveModal(false);
|
|
105
|
+
setShowSendModal(false);
|
|
106
|
+
setShowManageModal(false);
|
|
107
|
+
setShowChainSelector(false);
|
|
108
|
+
setShowExportWarning(false);
|
|
109
|
+
setShowExportKey(false);
|
|
110
|
+
setExportedWalletResult(null);
|
|
111
|
+
}
|
|
112
|
+
}, [isOpen]);
|
|
113
|
+
// Close chain selector when clicking outside
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
if (!showChainSelector)
|
|
116
|
+
return;
|
|
117
|
+
const handleClickOutside = (e) => {
|
|
118
|
+
if (e.target instanceof Element) {
|
|
119
|
+
const target = e.target;
|
|
120
|
+
if (!target.closest('.wallet-modal-chain-selector')) {
|
|
121
|
+
setShowChainSelector(false);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
126
|
+
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
127
|
+
}, [showChainSelector]);
|
|
128
|
+
// Mount external wallet buttons
|
|
42
129
|
useEffect(() => {
|
|
43
130
|
if (!isOpen || !externalWalletsEnabled || !externalWalletContainerRef.current) {
|
|
44
131
|
return;
|
|
45
132
|
}
|
|
46
133
|
const container = externalWalletContainerRef.current;
|
|
47
|
-
// Create root if it doesn't exist
|
|
48
134
|
if (!externalWalletRootRef.current) {
|
|
49
135
|
externalWalletRootRef.current = createRoot(container);
|
|
50
136
|
}
|
|
51
|
-
|
|
52
|
-
externalWalletRootRef.current.render(_jsx(AbstraxnContext.Provider, { value: contextValue, children: _jsx(ExternalWalletButtons, { onConnect: async (_connectorId, _address) => {
|
|
53
|
-
// console.log('External wallet connected from WalletModal:', connectorId, address);
|
|
54
|
-
} }) }));
|
|
137
|
+
externalWalletRootRef.current.render(_jsx(AbstraxnContext.Provider, { value: contextValue, children: _jsx(ExternalWalletButtons, { onConnect: async () => { } }) }));
|
|
55
138
|
return () => {
|
|
56
|
-
// Cleanup on unmount
|
|
57
139
|
if (externalWalletRootRef.current) {
|
|
58
140
|
externalWalletRootRef.current.unmount();
|
|
59
141
|
externalWalletRootRef.current = null;
|
|
60
142
|
}
|
|
61
143
|
};
|
|
62
|
-
}, [isOpen, externalWalletsEnabled]);
|
|
144
|
+
}, [isOpen, externalWalletsEnabled, contextValue]);
|
|
145
|
+
const handleCopyAddress = useCallback(() => {
|
|
146
|
+
const addrToCopy = displayAddress || address;
|
|
147
|
+
if (addrToCopy) {
|
|
148
|
+
navigator.clipboard.writeText(addrToCopy);
|
|
149
|
+
setCopied(true);
|
|
150
|
+
setTimeout(() => setCopied(false), 2000);
|
|
151
|
+
}
|
|
152
|
+
}, [displayAddress, address]);
|
|
153
|
+
const handleSend = useCallback(() => {
|
|
154
|
+
setShowSendModal(true);
|
|
155
|
+
}, []);
|
|
156
|
+
const handleReceive = useCallback(() => {
|
|
157
|
+
setShowReceiveModal(true);
|
|
158
|
+
}, []);
|
|
159
|
+
const handleBuy = useCallback(() => {
|
|
160
|
+
if (onRampUrl) {
|
|
161
|
+
window.open(onRampUrl, '_blank', 'noopener,noreferrer');
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
window.open('https://global.transak.com/', '_blank', 'noopener,noreferrer');
|
|
165
|
+
}
|
|
166
|
+
}, [onRampUrl]);
|
|
167
|
+
const handleManageWallet = useCallback(() => {
|
|
168
|
+
setShowManageModal(true);
|
|
169
|
+
}, []);
|
|
63
170
|
const handleDisconnect = useCallback(async () => {
|
|
64
171
|
try {
|
|
65
172
|
await disconnect();
|
|
@@ -69,21 +176,84 @@ export function WalletModal({ isOpen, onClose }) {
|
|
|
69
176
|
console.error('Failed to disconnect:', error);
|
|
70
177
|
}
|
|
71
178
|
}, [disconnect, onClose]);
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
179
|
+
const handleExportPrivateKey = useCallback(() => {
|
|
180
|
+
setShowManageModal(false); // Close manage modal first
|
|
181
|
+
setShowExportWarning(true);
|
|
182
|
+
}, []);
|
|
183
|
+
const handleAcknowledgeExport = useCallback(async (acknowledged) => {
|
|
184
|
+
if (!acknowledged || isExporting)
|
|
185
|
+
return;
|
|
186
|
+
const requiredAddress = currentChain?.type === 'solana'
|
|
187
|
+
? whoami?.solanaAddress || displayAddress
|
|
188
|
+
: address || displayAddress;
|
|
189
|
+
if (!requiredAddress) {
|
|
190
|
+
console.error('Address not available for export');
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
setIsExporting(true);
|
|
194
|
+
try {
|
|
195
|
+
const keyPair = await generateP256KeyPair();
|
|
196
|
+
const pvtKey = keyPair.privateKey;
|
|
197
|
+
const publicKey = keyPair.publicKeyUncompressed;
|
|
198
|
+
const blockchainType = currentChain?.type === 'solana' ? 'solana' : 'evm';
|
|
199
|
+
const res = await exportWallet(publicKey, pvtKey, blockchainType);
|
|
200
|
+
setExportedWalletResult(`${res}`);
|
|
201
|
+
setShowExportWarning(false);
|
|
202
|
+
setShowExportKey(true);
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
console.error('Failed to export wallet:', error);
|
|
206
|
+
setExportedWalletResult(null);
|
|
207
|
+
setShowExportWarning(false);
|
|
208
|
+
}
|
|
209
|
+
finally {
|
|
210
|
+
setIsExporting(false);
|
|
211
|
+
}
|
|
212
|
+
}, [address, displayAddress, whoami?.solanaAddress, currentChain, exportWallet, isExporting]);
|
|
83
213
|
if (!isOpen)
|
|
84
214
|
return null;
|
|
85
|
-
//
|
|
86
|
-
|
|
87
|
-
|
|
215
|
+
// Render sub-modals in priority order
|
|
216
|
+
// ExportKeyModal has highest priority (shown after export)
|
|
217
|
+
if (showExportKey && exportedWalletResult) {
|
|
218
|
+
return (_jsx(ExportKeyModal, { isOpen: true, onClose: () => {
|
|
219
|
+
setShowExportKey(false);
|
|
220
|
+
setExportedWalletResult(null);
|
|
221
|
+
setShowExportWarning(false); // Ensure warning modal is also closed
|
|
222
|
+
setShowManageModal(true); // Go back to manage modal
|
|
223
|
+
}, privateKey: exportedWalletResult, theme: theme }));
|
|
224
|
+
}
|
|
225
|
+
// ExportWarningModal (shown before export)
|
|
226
|
+
if (showExportWarning) {
|
|
227
|
+
return (_jsx(ExportWarningModal, { isOpen: true, onClose: () => {
|
|
228
|
+
setShowExportWarning(false);
|
|
229
|
+
setShowManageModal(true); // Go back to manage modal when closing warning
|
|
230
|
+
}, onAcknowledge: handleAcknowledgeExport, currentChain: currentChain || null, isExporting: isExporting, theme: theme }));
|
|
231
|
+
}
|
|
232
|
+
// SendModal
|
|
233
|
+
if (showSendModal) {
|
|
234
|
+
return (_jsx(SendModal, { isOpen: true, onClose: () => setShowSendModal(false), currentChain: currentChain || null, availableChains: availableChains || [], displayAddress: displayAddress, availableBalance: externalWalletBalance || walletBalance || null, externalWalletBalance: externalWalletBalance || null, walletBalance: walletBalance || null, sendTransaction: sendTransaction, switchChainEnhanced: switchChainEnhanced, theme: theme }));
|
|
235
|
+
}
|
|
236
|
+
if (showReceiveModal) {
|
|
237
|
+
return (_jsx(ReceiveModal, { isOpen: true, onClose: () => setShowReceiveModal(false), address: displayAddress, theme: theme }));
|
|
238
|
+
}
|
|
239
|
+
// ManageWalletModal
|
|
240
|
+
if (showManageModal) {
|
|
241
|
+
return (_jsx(ManageWalletModal, { isOpen: true, onClose: () => setShowManageModal(false), displayAddress: displayAddress, userEmail: user?.email, organizationName: whoami?.organizationName, isExternalWalletConnected: isExternalWalletConnected || false, onExportPrivateKey: handleExportPrivateKey, theme: theme }));
|
|
242
|
+
}
|
|
243
|
+
// Main Modal
|
|
244
|
+
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: _jsx(UserAvatar, { user: user, isExternalWalletConnected: isExternalWalletConnected || false }) }), _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" }) }) }) })] }), !isExternalWalletConnected && (_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" })] })] })), !isExternalWalletConnected && availableChains && availableChains.length > 0 && (_jsx("div", { className: "wallet-modal-chain-selector-section", children: _jsx(ChainSelector, { currentChain: currentChain || null, availableChains: availableChains, onChainSelect: async (chainId) => {
|
|
245
|
+
if (switchChainEnhanced && chainId !== currentChain?.id) {
|
|
246
|
+
try {
|
|
247
|
+
await switchChainEnhanced(chainId);
|
|
248
|
+
setShowChainSelector(false);
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
console.error('Failed to switch chain:', error);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
setShowChainSelector(false);
|
|
256
|
+
}
|
|
257
|
+
}, theme: theme }) })), !isExternalWalletConnected && (_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" })] })] })), _jsxs("div", { className: "wallet-modal-menu", children: [!isExternalWalletConnected && (_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" })] })), _jsxs("button", { className: "wallet-modal-menu-item wallet-modal-menu-item-disconnect", onClick: handleDisconnect, children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M7 3H4C3.44772 3 3 3.44772 3 4V16C3 16.5523 3.44772 17 4 17H7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M13 7L17 10L13 13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M17 10H9", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "Disconnect" })] })] })] }) }));
|
|
88
258
|
}
|
|
89
259
|
//# 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;
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Constants
|
|
3
|
+
* Complete chain data for EVM and Solana networks
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* EVM Chains
|
|
7
|
+
*/
|
|
8
|
+
export const EVM_CHAINS = {
|
|
9
|
+
ethereum: {
|
|
10
|
+
id: 1,
|
|
11
|
+
name: 'ethereum',
|
|
12
|
+
displayName: 'Ethereum',
|
|
13
|
+
rpcUrl: 'https://eth.llamarpc.com',
|
|
14
|
+
explorerUrl: 'https://etherscan.io',
|
|
15
|
+
nativeCurrency: {
|
|
16
|
+
name: 'Ether',
|
|
17
|
+
symbol: 'ETH',
|
|
18
|
+
decimals: 18,
|
|
19
|
+
},
|
|
20
|
+
type: 'evm',
|
|
21
|
+
isTestnet: false,
|
|
22
|
+
blockExplorer: {
|
|
23
|
+
name: 'Etherscan',
|
|
24
|
+
url: 'https://etherscan.io',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
sepolia: {
|
|
28
|
+
id: 11155111,
|
|
29
|
+
name: 'sepolia',
|
|
30
|
+
displayName: 'Sepolia',
|
|
31
|
+
rpcUrl: 'https://sepolia.infura.io/v3/',
|
|
32
|
+
explorerUrl: 'https://sepolia.etherscan.io',
|
|
33
|
+
nativeCurrency: {
|
|
34
|
+
name: 'Sepolia Ether',
|
|
35
|
+
symbol: 'ETH',
|
|
36
|
+
decimals: 18,
|
|
37
|
+
},
|
|
38
|
+
type: 'evm',
|
|
39
|
+
isTestnet: true,
|
|
40
|
+
blockExplorer: {
|
|
41
|
+
name: 'Etherscan',
|
|
42
|
+
url: 'https://sepolia.etherscan.io',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
polygon: {
|
|
46
|
+
id: 137,
|
|
47
|
+
name: 'polygon',
|
|
48
|
+
displayName: 'Polygon',
|
|
49
|
+
rpcUrl: 'https://polygon-rpc.com',
|
|
50
|
+
explorerUrl: 'https://polygonscan.com',
|
|
51
|
+
nativeCurrency: {
|
|
52
|
+
name: 'MATIC',
|
|
53
|
+
symbol: 'MATIC',
|
|
54
|
+
decimals: 18,
|
|
55
|
+
},
|
|
56
|
+
type: 'evm',
|
|
57
|
+
isTestnet: false,
|
|
58
|
+
blockExplorer: {
|
|
59
|
+
name: 'Polygonscan',
|
|
60
|
+
url: 'https://polygonscan.com',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
polygonAmoy: {
|
|
64
|
+
id: 80002,
|
|
65
|
+
name: 'polygon-amoy',
|
|
66
|
+
displayName: 'Polygon Amoy',
|
|
67
|
+
rpcUrl: 'https://rpc-amoy.polygon.technology',
|
|
68
|
+
explorerUrl: 'https://amoy.polygonscan.com',
|
|
69
|
+
nativeCurrency: {
|
|
70
|
+
name: 'MATIC',
|
|
71
|
+
symbol: 'MATIC',
|
|
72
|
+
decimals: 18,
|
|
73
|
+
},
|
|
74
|
+
type: 'evm',
|
|
75
|
+
isTestnet: true,
|
|
76
|
+
blockExplorer: {
|
|
77
|
+
name: 'Polygonscan',
|
|
78
|
+
url: 'https://amoy.polygonscan.com',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
base: {
|
|
82
|
+
id: 8453,
|
|
83
|
+
name: 'base',
|
|
84
|
+
displayName: 'Base',
|
|
85
|
+
rpcUrl: 'https://mainnet.base.org',
|
|
86
|
+
explorerUrl: 'https://basescan.org',
|
|
87
|
+
nativeCurrency: {
|
|
88
|
+
name: 'Ether',
|
|
89
|
+
symbol: 'ETH',
|
|
90
|
+
decimals: 18,
|
|
91
|
+
},
|
|
92
|
+
type: 'evm',
|
|
93
|
+
isTestnet: false,
|
|
94
|
+
blockExplorer: {
|
|
95
|
+
name: 'Basescan',
|
|
96
|
+
url: 'https://basescan.org',
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
baseSepolia: {
|
|
100
|
+
id: 84532,
|
|
101
|
+
name: 'base-sepolia',
|
|
102
|
+
displayName: 'Base Sepolia',
|
|
103
|
+
rpcUrl: 'https://sepolia.base.org',
|
|
104
|
+
explorerUrl: 'https://sepolia.basescan.org',
|
|
105
|
+
nativeCurrency: {
|
|
106
|
+
name: 'Sepolia Ether',
|
|
107
|
+
symbol: 'ETH',
|
|
108
|
+
decimals: 18,
|
|
109
|
+
},
|
|
110
|
+
type: 'evm',
|
|
111
|
+
isTestnet: true,
|
|
112
|
+
blockExplorer: {
|
|
113
|
+
name: 'Basescan',
|
|
114
|
+
url: 'https://sepolia.basescan.org',
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Solana Chains
|
|
120
|
+
*/
|
|
121
|
+
export const SOLANA_CHAINS = {
|
|
122
|
+
solana: {
|
|
123
|
+
id: 101,
|
|
124
|
+
name: 'solana',
|
|
125
|
+
displayName: 'Solana',
|
|
126
|
+
rpcUrl: 'https://api.mainnet-beta.solana.com',
|
|
127
|
+
explorerUrl: 'https://solscan.io',
|
|
128
|
+
nativeCurrency: {
|
|
129
|
+
name: 'SOL',
|
|
130
|
+
symbol: 'SOL',
|
|
131
|
+
decimals: 9,
|
|
132
|
+
},
|
|
133
|
+
type: 'solana',
|
|
134
|
+
isTestnet: false,
|
|
135
|
+
blockExplorer: {
|
|
136
|
+
name: 'Solscan',
|
|
137
|
+
url: 'https://solscan.io',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
solanaDevnet: {
|
|
141
|
+
id: 103,
|
|
142
|
+
name: 'solana-devnet',
|
|
143
|
+
displayName: 'Solana Devnet',
|
|
144
|
+
rpcUrl: 'https://api.devnet.solana.com',
|
|
145
|
+
explorerUrl: 'https://solscan.io/?cluster=devnet',
|
|
146
|
+
nativeCurrency: {
|
|
147
|
+
name: 'SOL',
|
|
148
|
+
symbol: 'SOL',
|
|
149
|
+
decimals: 9,
|
|
150
|
+
},
|
|
151
|
+
type: 'solana',
|
|
152
|
+
isTestnet: true,
|
|
153
|
+
blockExplorer: {
|
|
154
|
+
name: 'Solscan',
|
|
155
|
+
url: 'https://solscan.io/?cluster=devnet',
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* All available chains
|
|
161
|
+
*/
|
|
162
|
+
export const ALL_CHAINS = {
|
|
163
|
+
...EVM_CHAINS,
|
|
164
|
+
...SOLANA_CHAINS,
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Get chain by ID
|
|
168
|
+
*/
|
|
169
|
+
export function getChainById(chainId) {
|
|
170
|
+
return Object.values(ALL_CHAINS).find(chain => chain.id === chainId);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get chains by type
|
|
174
|
+
*/
|
|
175
|
+
export function getChainsByType(type) {
|
|
176
|
+
return Object.values(ALL_CHAINS).filter(chain => chain.type === type);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get default chains (Ethereum, Polygon, Base for EVM; Solana for Solana)
|
|
180
|
+
*/
|
|
181
|
+
export function getDefaultChains() {
|
|
182
|
+
return [
|
|
183
|
+
EVM_CHAINS.ethereum,
|
|
184
|
+
EVM_CHAINS.polygon,
|
|
185
|
+
EVM_CHAINS.base,
|
|
186
|
+
SOLANA_CHAINS.solana,
|
|
187
|
+
];
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Convert ChainData to Core Chain format for SDK compatibility
|
|
191
|
+
*/
|
|
192
|
+
export function toCoreChain(chainData) {
|
|
193
|
+
return {
|
|
194
|
+
id: chainData.id,
|
|
195
|
+
name: chainData.name,
|
|
196
|
+
rpcUrl: chainData.rpcUrl,
|
|
197
|
+
nativeCurrency: chainData.nativeCurrency,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Get chain icon SVG path (placeholder - can be replaced with actual icons)
|
|
202
|
+
*/
|
|
203
|
+
export function getChainIcon(chainId) {
|
|
204
|
+
const chain = getChainById(chainId);
|
|
205
|
+
if (!chain)
|
|
206
|
+
return '';
|
|
207
|
+
// Return SVG path based on chain
|
|
208
|
+
switch (chain.name) {
|
|
209
|
+
case 'ethereum':
|
|
210
|
+
return 'M12 0L8 4L12 8L16 4L12 0ZM8 4L4 8L8 12L12 8L8 4ZM16 4L20 8L16 12L12 8L16 4ZM8 12L12 16L16 12L12 8L8 12Z';
|
|
211
|
+
case 'polygon':
|
|
212
|
+
return 'M12 2L2 7L12 12L22 7L12 2ZM2 17L12 22L22 17M2 12L12 17L22 12';
|
|
213
|
+
case 'base':
|
|
214
|
+
return 'M12 0L0 6L0 18L12 24L24 18L24 6L12 0Z';
|
|
215
|
+
case 'solana':
|
|
216
|
+
return 'M12 0C5.373 0 0 5.373 0 12C0 18.627 5.373 24 12 24C18.627 24 24 18.627 24 12C24 5.373 18.627 0 12 0Z';
|
|
217
|
+
default:
|
|
218
|
+
return '';
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=chains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/chains.ts"],"names":[],"mappings":"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"}
|