@n1xyz/wallet-widget 0.0.5 → 0.0.8
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/dist/Logic/sessionManager.d.ts +1 -1
- package/dist/Logic/sessionManager.js +9 -5
- package/dist/Logic/transactionManager.js +7 -3
- package/dist/Logic/utils.js +9 -12
- package/dist/Modal/N1WalletModal.js +2 -3
- package/dist/Modal/NTSFlow/NTSFlow.js +7 -3
- package/dist/Modal/NTSFlow/components/BackButton.js +0 -1
- package/dist/Modal/NTSFlow/views/CreateSessionView.js +1 -1
- package/dist/Modal/NordFlow/NordFlow.js +27 -22
- package/dist/Modal/NordFlow/components/ChainButton.d.ts +1 -1
- package/dist/Modal/NordFlow/components/ChainButton.js +8 -8
- package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +8 -0
- package/dist/Modal/NordFlow/components/EVMChainsButton.js +18 -0
- package/dist/Modal/NordFlow/components/MoreButton.d.ts +8 -0
- package/dist/Modal/NordFlow/components/MoreButton.js +18 -0
- package/dist/Modal/NordFlow/components/TransactionTable.d.ts +1 -1
- package/dist/Modal/NordFlow/components/TransactionTable.js +8 -6
- package/dist/Modal/NordFlow/constants.js +9 -4
- package/dist/Modal/NordFlow/hooks/useDepositFlow.js +39 -18
- package/dist/Modal/NordFlow/hooks/useFlowState.js +5 -4
- package/dist/Modal/NordFlow/hooks/useNordInstance.js +17 -8
- package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +28 -20
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +1 -1
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +39 -23
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +4 -1
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +38 -16
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +3 -2
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +3 -1
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +19 -10
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +3 -3
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +11 -6
- package/dist/Modal/NordFlow/types.d.ts +4 -1
- package/dist/Modal/NordFlow/types.js +1 -0
- package/dist/Modal/NordFlow/utils/imageUtils.js +3 -3
- package/dist/Modal/NordFlow/utils/nordUtils.js +3 -1
- package/dist/Modal/Sidebar/N1Sidebar.js +11 -5
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +7 -3
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +7 -7
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +27 -16
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +3 -2
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +2 -3
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +2 -2
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +16 -13
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +17 -11
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +2 -2
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +3 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +21 -11
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +11 -6
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +14 -7
- package/dist/Provider/LazyWalletProvider.js +11 -5
- package/dist/Provider/N1WalletProvider.js +6 -5
- package/dist/components/logos/ArbitrumLogo.d.ts +8 -0
- package/dist/components/logos/ArbitrumLogo.js +5 -0
- package/dist/components/logos/BaseLogo.d.ts +8 -0
- package/dist/components/logos/BaseLogo.js +5 -0
- package/dist/components/logos/BeraLogo.d.ts +8 -0
- package/dist/components/logos/BeraLogo.js +5 -0
- package/dist/components/logos/BitcoinLogo.d.ts +8 -0
- package/dist/components/logos/BitcoinLogo.js +5 -0
- package/dist/components/logos/EVMChainsGroup.d.ts +7 -0
- package/dist/components/logos/EVMChainsGroup.js +18 -0
- package/dist/components/logos/EthereumLogo.d.ts +8 -0
- package/dist/components/logos/EthereumLogo.js +5 -0
- package/dist/components/logos/HyperliquidLogo.d.ts +8 -0
- package/dist/components/logos/HyperliquidLogo.js +5 -0
- package/dist/components/logos/MoreChainsGroup.d.ts +7 -0
- package/dist/components/logos/MoreChainsGroup.js +18 -0
- package/dist/components/logos/OptimismLogo.d.ts +8 -0
- package/dist/components/logos/OptimismLogo.js +5 -0
- package/dist/components/logos/SolanaLogo.d.ts +8 -0
- package/dist/components/logos/SolanaLogo.js +5 -0
- package/dist/components/logos/index.d.ts +10 -0
- package/dist/components/logos/index.js +10 -0
- package/dist/main.css +1 -1
- package/package.json +1 -1
|
@@ -90,9 +90,12 @@ export default function UserPositions() {
|
|
|
90
90
|
if (position.perp && Math.abs(position.perp.baseSize) > 0) {
|
|
91
91
|
// Find market info to get symbol
|
|
92
92
|
var market = nord.markets.find(function (m) { return m.marketId === position.marketId; });
|
|
93
|
-
var symbol = market
|
|
93
|
+
var symbol = market
|
|
94
|
+
? market.symbol
|
|
95
|
+
: "Market-".concat(position.marketId);
|
|
94
96
|
// Calculate PnL
|
|
95
|
-
var totalPnl = position.perp.sizePricePnl +
|
|
97
|
+
var totalPnl = position.perp.sizePricePnl +
|
|
98
|
+
position.perp.fundingPaymentPnl;
|
|
96
99
|
var entryValue = Math.abs(position.perp.baseSize) * position.perp.price;
|
|
97
100
|
var pnlPercentage = entryValue > 0 ? (totalPnl / entryValue) * 100 : 0;
|
|
98
101
|
// Get mark price from market stats or use entry price as fallback
|
|
@@ -101,12 +104,14 @@ export default function UserPositions() {
|
|
|
101
104
|
realPositions.push({
|
|
102
105
|
marketId: position.marketId,
|
|
103
106
|
symbol: symbol,
|
|
104
|
-
size: position.perp.isLong
|
|
107
|
+
size: position.perp.isLong
|
|
108
|
+
? position.perp.baseSize
|
|
109
|
+
: -position.perp.baseSize,
|
|
105
110
|
entryPrice: position.perp.price,
|
|
106
111
|
markPrice: markPrice,
|
|
107
112
|
pnl: totalPnl,
|
|
108
113
|
pnlPercentage: pnlPercentage,
|
|
109
|
-
accountId: accountId
|
|
114
|
+
accountId: accountId,
|
|
110
115
|
});
|
|
111
116
|
}
|
|
112
117
|
};
|
|
@@ -158,7 +163,7 @@ export default function UserPositions() {
|
|
|
158
163
|
fillMode: 'market', // Market order to ensure it gets filled
|
|
159
164
|
isReduceOnly: true, // Reduce-only to ensure it only closes the position
|
|
160
165
|
size: Math.abs(position.size), // Absolute size value
|
|
161
|
-
accountId: accountId
|
|
166
|
+
accountId: accountId,
|
|
162
167
|
})];
|
|
163
168
|
case 2:
|
|
164
169
|
// Place an order to close the position (opposite side, same size)
|
|
@@ -182,7 +187,9 @@ export default function UserPositions() {
|
|
|
182
187
|
}); };
|
|
183
188
|
return (_jsx("div", { className: "bg-white dark:bg-gray-950 overflow-hidden", children: _jsxs("div", { className: "p-4", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100 mb-4", children: "Positions" }), loading && positions.length === 0 ? (_jsx("div", { className: "flex items-center justify-center h-32", children: _jsx(RefreshCw, { size: 20, className: "text-gray-400 animate-spin" }) })) : error ? (_jsx("div", { className: "p-3 bg-red-50 dark:bg-red-900/20 rounded-lg text-red-600 dark:text-red-400 text-sm", children: error })) : positions.length === 0 ? (_jsx("div", { className: "p-3 bg-gray-50 dark:bg-gray-950 rounded-lg text-gray-500 dark:text-gray-400 text-sm text-center", children: "No open positions" })) : (_jsxs("div", { className: "space-y-3", children: [positions.map(function (position, index) { return (_jsxs("div", { className: "p-3 bg-gray-50 dark:bg-gray-950 rounded-lg", children: [_jsx("div", { className: "flex items-center justify-between mb-2", children: _jsxs("div", { className: "flex items-center", children: [_jsx("span", { className: "font-medium text-gray-900 dark:text-gray-100 mr-2", children: position.symbol }), _jsxs("span", { className: "text-xs px-2 py-0.5 rounded ".concat(position.size > 0
|
|
184
189
|
? 'bg-green-100 dark:bg-green-900/20 text-green-600 dark:text-green-400'
|
|
185
|
-
: 'bg-red-100 dark:bg-red-900/20 text-red-600 dark:text-red-400'), children: [position.size > 0 ? 'Long' : 'Short',
|
|
190
|
+
: 'bg-red-100 dark:bg-red-900/20 text-red-600 dark:text-red-400'), children: [position.size > 0 ? 'Long' : 'Short', ' ', Math.abs(position.size)] })] }) }), _jsxs("div", { className: "grid grid-cols-2 gap-2 text-sm", children: [_jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Entry Price" }), _jsx("div", { className: "font-medium text-gray-900 dark:text-gray-100 font-mono", children: position.entryPrice.toFixed(2) })] }), _jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Mark Price" }), _jsx("div", { className: "font-medium text-gray-900 dark:text-gray-100 font-mono", children: position.markPrice.toFixed(2) })] }), _jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "PnL" }), _jsxs("div", { className: "font-medium font-mono ".concat(position.pnl >= 0
|
|
186
191
|
? 'text-green-600 dark:text-green-400'
|
|
187
|
-
: 'text-red-600 dark:text-red-400'), children: [position.pnl >= 0 ? '+' : '', position.pnl.toFixed(2), " (", position.pnlPercentage.toFixed(2), "%)"] })] }), _jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Liquidation" }), _jsx("div", { className: "font-medium text-gray-900 dark:text-gray-100 font-mono", children: position.liquidationPrice
|
|
192
|
+
: 'text-red-600 dark:text-red-400'), children: [position.pnl >= 0 ? '+' : '', position.pnl.toFixed(2), " (", position.pnlPercentage.toFixed(2), "%)"] })] }), _jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Liquidation" }), _jsx("div", { className: "font-medium text-gray-900 dark:text-gray-100 font-mono", children: position.liquidationPrice
|
|
193
|
+
? position.liquidationPrice.toFixed(2)
|
|
194
|
+
: 'N/A' })] })] })] }, index)); }), loading && positions.length > 0 && (_jsx("div", { className: "flex justify-center mt-2", children: _jsx(RefreshCw, { size: 16, className: "text-gray-400 animate-spin" }) }))] }))] }) }));
|
|
188
195
|
}
|
|
@@ -49,6 +49,7 @@ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
|
49
49
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
50
50
|
import { useN1WalletInternalContext } from './hooks';
|
|
51
51
|
import { N1SessionMode } from './types';
|
|
52
|
+
import { logger } from '../utils/logger';
|
|
52
53
|
function DynamicContextConsumer(_a) {
|
|
53
54
|
var children = _a.children;
|
|
54
55
|
var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
|
|
@@ -67,7 +68,9 @@ function DynamicContextConsumer(_a) {
|
|
|
67
68
|
setDynamicContext(function () { return useDynamicContext; });
|
|
68
69
|
}
|
|
69
70
|
});
|
|
70
|
-
return function () {
|
|
71
|
+
return function () {
|
|
72
|
+
isMounted = false;
|
|
73
|
+
};
|
|
71
74
|
}, []);
|
|
72
75
|
// Set up a stable widget function that uses the ref - only once
|
|
73
76
|
useEffect(function () {
|
|
@@ -126,7 +129,7 @@ function DynamicContextConsumer(_a) {
|
|
|
126
129
|
}
|
|
127
130
|
var getSettings = function (darkMode) { return ({
|
|
128
131
|
initialAuthenticationMode: 'connect-only',
|
|
129
|
-
environmentId: '
|
|
132
|
+
environmentId: '61fe6031-545b-4e27-bc05-03c8a09f190b',
|
|
130
133
|
silentAuthentication: true,
|
|
131
134
|
silentAuth: true,
|
|
132
135
|
theme: {
|
|
@@ -134,7 +137,7 @@ var getSettings = function (darkMode) { return ({
|
|
|
134
137
|
},
|
|
135
138
|
events: {
|
|
136
139
|
onAuthSuccess: function (args) {
|
|
137
|
-
|
|
140
|
+
logger.debug('onAuthSuccess was called', args);
|
|
138
141
|
},
|
|
139
142
|
},
|
|
140
143
|
}); };
|
|
@@ -171,12 +174,15 @@ function LazyInternal(props) {
|
|
|
171
174
|
}
|
|
172
175
|
else {
|
|
173
176
|
// Use all wallet connectors for NTS mode
|
|
174
|
-
setWalletConnectors([
|
|
177
|
+
setWalletConnectors([
|
|
178
|
+
EthereumWalletConnectors,
|
|
179
|
+
SolanaWalletConnectors,
|
|
180
|
+
]);
|
|
175
181
|
}
|
|
176
182
|
return [3 /*break*/, 3];
|
|
177
183
|
case 2:
|
|
178
184
|
error_1 = _b.sent();
|
|
179
|
-
|
|
185
|
+
logger.error('Failed to load Dynamic dependencies:', error_1);
|
|
180
186
|
return [3 /*break*/, 3];
|
|
181
187
|
case 3: return [2 /*return*/];
|
|
182
188
|
}
|
|
@@ -59,6 +59,7 @@ import { N1ModalViewMode, N1SessionMode, } from './types';
|
|
|
59
59
|
import { useNordWalletConnect } from '../Modal/NordFlow/hooks/useNordWalletConnect';
|
|
60
60
|
import { useNordInstance } from '../Modal/NordFlow/hooks/useNordInstance';
|
|
61
61
|
import { FlowState } from '../Modal/NordFlow/types';
|
|
62
|
+
import { logger } from '../utils/logger';
|
|
62
63
|
var LazyWalletProvider = React.lazy(function () {
|
|
63
64
|
return import('./LazyWalletProvider').then(function (mod) { return ({
|
|
64
65
|
default: mod.LazyWalletProvider,
|
|
@@ -114,8 +115,8 @@ export function N1WalletProvider(_a) {
|
|
|
114
115
|
// Create a separate component for Nord hooks to avoid conditional hook calls
|
|
115
116
|
var NordHooks = function () {
|
|
116
117
|
useNordInstance();
|
|
117
|
-
useNordWalletConnect(FlowState.IDLE, function (newState) { return
|
|
118
|
-
function (updates) { return
|
|
118
|
+
useNordWalletConnect(FlowState.IDLE, function (newState) { return logger.debug('State transition:', newState); }, {}, // context
|
|
119
|
+
function (updates) { return logger.debug('Context updates:', updates); }, providedSessionMode);
|
|
119
120
|
return null;
|
|
120
121
|
};
|
|
121
122
|
// Combine SDK loading and initialization into a single effect
|
|
@@ -130,7 +131,7 @@ export function N1WalletProvider(_a) {
|
|
|
130
131
|
switch (_a.label) {
|
|
131
132
|
case 0:
|
|
132
133
|
// eslint-disable-next-line no-console
|
|
133
|
-
|
|
134
|
+
logger.debug('Loading NTS SDK');
|
|
134
135
|
if (providedSessionMode === N1SessionMode.Nord) {
|
|
135
136
|
return [2 /*return*/];
|
|
136
137
|
}
|
|
@@ -142,7 +143,7 @@ export function N1WalletProvider(_a) {
|
|
|
142
143
|
NTSInterface = (_a.sent()).NTSInterface;
|
|
143
144
|
if (mounted) {
|
|
144
145
|
// eslint-disable-next-line no-console
|
|
145
|
-
|
|
146
|
+
logger.debug('NTS SDK loaded successfully');
|
|
146
147
|
setNtsInterface(new NTSInterface(process.env.NTS_URL));
|
|
147
148
|
}
|
|
148
149
|
return [3 /*break*/, 4];
|
|
@@ -150,7 +151,7 @@ export function N1WalletProvider(_a) {
|
|
|
150
151
|
error_1 = _a.sent();
|
|
151
152
|
if (mounted) {
|
|
152
153
|
// eslint-disable-next-line no-console
|
|
153
|
-
|
|
154
|
+
logger.error('Error loading NTS SDK:', error_1);
|
|
154
155
|
}
|
|
155
156
|
return [3 /*break*/, 4];
|
|
156
157
|
case 4: return [2 /*return*/];
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var ArbitrumLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsx("svg", { width: width, height: height, viewBox: "0 0 2500 2500", className: className, xmlns: "http://www.w3.org/2000/svg", children: _jsxs("g", { children: [_jsx("rect", { className: "st0", width: "2500", height: "2500", fill: "none" }), _jsx("g", { children: _jsxs("g", { children: [_jsx("path", { fill: "#213147", d: "M226,760v980c0,63,33,120,88,152l849,490c54,31,121,31,175,0l849-490c54-31,88-89,88-152V760\n c0-63-33-120-88-152l-849-490c-54-31-121-31-175,0L314,608c-54,31-87,89-87,152H226z" }), _jsx("g", { children: _jsxs("g", { children: [_jsx("g", { children: _jsx("path", { fill: "#12AAFF", d: "M1435,1440l-121,332c-3,9-3,19,0,29l208,571l241-139l-289-793C1467,1422,1442,1422,1435,1440z" }) }), _jsx("g", { children: _jsx("path", { fill: "#12AAFF", d: "M1678,882c-7-18-32-18-39,0l-121,332c-3,9-3,19,0,29l341,935l241-139L1678,883V882z" }) })] }) }), _jsx("g", { children: _jsx("path", { fill: "#9DCCED", d: "M1250,155c6,0,12,2,17,5l918,530c11,6,17,18,17,30v1060c0,12-7,24-17,30l-918,530c-5,3-11,5-17,5\n s-12-2-17-5l-918-530c-11-6-17-18-17-30V719c0-12,7-24,17-30l918-530c5-3,11-5,17-5l0,0V155z M1250,0c-33,0-65,8-95,25L237,555\n c-59,34-95,96-95,164v1060c0,68,36,130,95,164l918,530c29,17,62,25,95,25s65-8,95-25l918-530c59-34,95-96,95-164V719\n c0-68-36-130-95-164L1344,25c-29-17-62-25-95-25l0,0H1250z" }) }), _jsx("polygon", { fill: "#213147", points: "642,2179 727,1947 897,2088 738,2234" }), _jsxs("g", { children: [_jsx("path", { fill: "#FFFFFF", d: "M1172,644H939c-17,0-33,11-39,27L401,2039l241,139l550-1507c5-14-5-28-19-28L1172,644z" }), _jsx("path", { fill: "#FFFFFF", d: "M1580,644h-233c-17,0-33,11-39,27L738,2233l241,139l620-1701c5-14-5-28-19-28V644z" })] })] }) })] }) }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var BaseLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsxs("svg", { width: width, height: height, viewBox: "0 0 24 24", className: className, xmlns: "http://www.w3.org/2000/svg", children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#0052FF" }), _jsx("path", { d: "M12 5.5L18.5 12L12 18.5L5.5 12L12 5.5Z", fill: "white" })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var BeraLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsxs("svg", { width: width, height: height, viewBox: "0 0 24 24", className: className, xmlns: "http://www.w3.org/2000/svg", children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#000000" }), _jsx("path", { d: "M7.5 7.5C7.5 6.67157 8.17157 6 9 6H15C15.8284 6 16.5 6.67157 16.5 7.5V9C16.5 9.82843 15.8284 10.5 15 10.5H9C8.17157 10.5 7.5 9.82843 7.5 9V7.5Z", fill: "#FFD700" }), _jsx("path", { d: "M7.5 15C7.5 14.1716 8.17157 13.5 9 13.5H15C15.8284 13.5 16.5 14.1716 16.5 15V16.5C16.5 17.3284 15.8284 18 15 18H9C8.17157 18 7.5 17.3284 7.5 16.5V15Z", fill: "#FFD700" }), _jsx("path", { d: "M12 10.5V13.5", stroke: "#FFD700", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var BitcoinLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsx("svg", { width: width, height: height, viewBox: "0 0 4091.27 4091.73", className: className, xmlns: "http://www.w3.org/2000/svg", children: _jsxs("g", { children: [_jsx("path", { fill: "#F7931A", fillRule: "nonzero", d: "M4030.06 2540.77c-273.24,1096.01 -1383.32,1763.02 -2479.46,1489.71 -1095.68,-273.24 -1762.69,-1383.39 -1489.33,-2479.31 273.12,-1096.13 1383.2,-1763.19 2479,-1489.95 1096.06,273.24 1763.03,1383.51 1489.76,2479.57l0.02 -0.02z" }), _jsx("path", { fill: "white", fillRule: "nonzero", d: "M2947.77 1754.38c40.72,-272.26 -166.56,-418.61 -450,-516.24l91.95 -368.8 -224.5 -55.94 -89.51 359.09c-59.02,-14.72 -119.63,-28.59 -179.87,-42.34l90.16 -361.46 -224.36 -55.94 -92 368.68c-48.84,-11.12 -96.81,-22.11 -143.35,-33.69l0.26 -1.16 -309.59 -77.31 -59.72 239.78c0,0 166.56,38.18 163.05,40.53 90.91,22.69 107.35,82.87 104.62,130.57l-104.74 420.15c6.26,1.59 14.38,3.89 23.34,7.49 -7.49,-1.86 -15.46,-3.89 -23.73,-5.87l-146.81 588.57c-11.11,27.62 -39.31,69.07 -102.87,53.33 2.25,3.26 -163.17,-40.72 -163.17,-40.72l-111.46 256.98 292.15 72.83c54.35,13.63 107.61,27.89 160.06,41.3l-92.9 373.03 224.24 55.94 92 -369.07c61.26,16.63 120.71,31.97 178.91,46.43l-91.69 367.33 224.51 55.94 92.89 -372.33c382.82,72.45 670.67,43.24 791.83,-303.02 97.63,-278.78 -4.86,-439.58 -206.26,-544.44 146.69,-33.83 257.18,-130.31 286.64,-329.61l-0.07 -0.05zm-512.93 719.26c-69.38,278.78 -538.76,128.08 -690.94,90.29l123.28 -494.2c152.17,37.99 640.17,113.17 567.67,403.91zm69.43 -723.3c-63.29,253.58 -453.96,124.75 -580.69,93.16l111.77 -448.21c126.73,31.59 534.85,90.55 468.94,355.05l-0.02 0z" })] }) }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { OptimismLogo } from './OptimismLogo';
|
|
3
|
+
import { ArbitrumLogo } from './ArbitrumLogo';
|
|
4
|
+
import { EthereumLogo } from './EthereumLogo';
|
|
5
|
+
import { BaseLogo } from './BaseLogo';
|
|
6
|
+
import { BeraLogo } from './BeraLogo';
|
|
7
|
+
export var EVMChainsGroup = function (_a) {
|
|
8
|
+
var _b = _a.size, size = _b === void 0 ? 32 : _b, _c = _a.className, className = _c === void 0 ? '' : _c;
|
|
9
|
+
// EVM chain logos
|
|
10
|
+
var evmChains = [
|
|
11
|
+
{ id: 'op', name: 'Optimism', Logo: OptimismLogo },
|
|
12
|
+
{ id: 'arb', name: 'Arbitrum', Logo: ArbitrumLogo },
|
|
13
|
+
{ id: 'eth', name: 'Ethereum', Logo: EthereumLogo },
|
|
14
|
+
{ id: 'base', name: 'Base', Logo: BaseLogo },
|
|
15
|
+
{ id: 'bera', name: 'Berachain', Logo: BeraLogo },
|
|
16
|
+
];
|
|
17
|
+
return (_jsx("div", { className: "flex ".concat(className), children: evmChains.map(function (evmChain, index) { return (_jsx("div", { className: "rounded-full border-2 border-gray-100 dark:border-gray-800 ".concat(index > 0 ? '-ml-3' : ''), style: { zIndex: 5 - index }, children: _jsx(evmChain.Logo, { width: size, height: size, className: "rounded-full" }) }, evmChain.id)); }) }));
|
|
18
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var EthereumLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsx("svg", { width: width, height: height, viewBox: "0 0 784.37 1277.39", className: className, xmlns: "http://www.w3.org/2000/svg", children: _jsxs("g", { children: [_jsx("polygon", { fill: "#343434", fillRule: "nonzero", points: "392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54" }), _jsx("polygon", { fill: "#8C8C8C", fillRule: "nonzero", points: "392.07,0 -0,650.54 392.07,882.29 392.07,472.33" }), _jsx("polygon", { fill: "#3C3C3B", fillRule: "nonzero", points: "392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89" }), _jsx("polygon", { fill: "#8C8C8C", fillRule: "nonzero", points: "392.07,1277.38 392.07,956.52 -0,724.89" }), _jsx("polygon", { fill: "#141414", fillRule: "nonzero", points: "392.07,882.29 784.13,650.54 392.07,472.33" }), _jsx("polygon", { fill: "#393939", fillRule: "nonzero", points: "0,650.54 392.07,882.29 392.07,472.33" })] }) }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var HyperliquidLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsxs("svg", { width: width, height: height, viewBox: "3 0 28 28", className: className, xmlns: "http://www.w3.org/2000/svg", children: [_jsx("g", { clipPath: "url(#clip0_975_1209)", children: _jsx("path", { d: "M31.8056 11.727C31.8346 14.3384 31.2881 16.8337 30.2146 19.2178C28.6816 22.6126 25.0063 25.3885 21.6501 22.4337C18.913 20.0254 18.4052 15.1363 14.3044 14.4206C8.87845 13.7629 8.74788 20.0544 5.20315 20.7653C1.2522 21.5681 -0.0583338 14.9235 -0.000302664 11.9059C0.0577284 8.88828 0.860492 4.64717 4.294 4.64717C8.24495 4.64717 8.51092 10.6292 13.5258 10.3052C18.4923 9.96669 18.5793 3.74285 21.8242 1.07826C24.6242 -1.22364 27.9175 0.464096 29.5665 3.23508C31.0947 5.79812 31.7669 8.80606 31.8007 11.727H31.8056Z", fill: "#072723" }) }), _jsx("defs", { children: _jsx("clipPath", { id: "clip0_975_1209", children: _jsx("rect", { width: "32", height: "24", fill: "white" }) }) })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { HyperliquidLogo } from './HyperliquidLogo';
|
|
3
|
+
import { BitcoinLogo } from './BitcoinLogo';
|
|
4
|
+
// Plus icon component
|
|
5
|
+
var PlusIcon = function (_a) {
|
|
6
|
+
var _b = _a.width, width = _b === void 0 ? 32 : _b, _c = _a.height, height = _c === void 0 ? 32 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
7
|
+
return (_jsxs("svg", { width: width, height: height, viewBox: "0 0 24 24", className: className, xmlns: "http://www.w3.org/2000/svg", children: [_jsx("circle", { cx: "12", cy: "12", r: "11", fill: "#F9FAFB", fillOpacity: "0.7", stroke: "#E5E7EB", strokeWidth: "0.5" }), _jsx("path", { d: "M12 8V16M8 12H16", stroke: "#9CA3AF", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
8
|
+
};
|
|
9
|
+
export var MoreChainsGroup = function (_a) {
|
|
10
|
+
var _b = _a.size, size = _b === void 0 ? 32 : _b, _c = _a.className, className = _c === void 0 ? '' : _c;
|
|
11
|
+
// More chains logos
|
|
12
|
+
var moreChains = [
|
|
13
|
+
{ id: 'hype', name: 'Hyperliquid', Logo: HyperliquidLogo },
|
|
14
|
+
{ id: 'btc', name: 'Bitcoin', Logo: BitcoinLogo },
|
|
15
|
+
{ id: 'plus', name: 'More', Logo: PlusIcon },
|
|
16
|
+
];
|
|
17
|
+
return (_jsx("div", { className: "flex ".concat(className), children: moreChains.map(function (chain, index) { return (_jsx("div", { className: "rounded-full ".concat(chain.id !== 'plus' ? 'border-2 border-gray-100 dark:border-gray-800' : '', " ").concat(index > 0 ? '-ml-3' : ''), style: { zIndex: 3 - index }, children: _jsx(chain.Logo, { width: size, height: size, className: "rounded-full" }) }, chain.id)); }) }));
|
|
18
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var OptimismLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsxs("svg", { width: width, height: height, viewBox: "0 0 500 500", className: className, xmlns: "http://www.w3.org/2000/svg", children: [_jsx("circle", { fill: "#FF0420", cx: "250", cy: "250", r: "250" }), _jsx("path", { fill: "#FFFFFF", d: "M177.1,316.4c-14.9,0-27.1-3.5-36.6-10.5c-9.4-7.1-14.1-17.3-14.1-30.4c0-2.8,0.3-6.1,0.9-10.1\n c1.6-9,3.9-19.8,6.9-32.5c8.5-34.4,30.5-51.6,65.9-51.6c9.6,0,18.3,1.6,25.9,4.9c7.6,3.1,13.6,7.9,18,14.3\n c4.4,6.3,6.6,13.8,6.6,22.5c0,2.6-0.3,5.9-0.9,9.9c-1.9,11.1-4.1,22-6.8,32.5c-4.4,17.1-11.9,30-22.7,38.5\n C209.5,312.3,195.1,316.4,177.1,316.4z M179.8,289.4c7,0,12.9-2.1,17.8-6.2c5-4.1,8.6-10.4,10.7-19c2.9-11.8,5.1-22,6.6-30.8\n c0.5-2.6,0.8-5.3,0.8-8.1c0-11.4-5.9-17.1-17.8-17.1c-7,0-13,2.1-18,6.2c-4.9,4.1-8.4,10.4-10.5,19c-2.3,8.4-4.5,18.6-6.8,30.8\n c-0.5,2.5-0.8,5.1-0.8,7.9C161.7,283.7,167.8,289.4,179.8,289.4z" }), _jsx("path", { fill: "#FFFFFF", d: "M259.3,314.6c-1.4,0-2.4-0.4-3.2-1.3c-0.6-1-0.8-2.1-0.6-3.4l25.9-122c0.2-1.4,0.9-2.5,2.1-3.4\n c1.1-0.9,2.3-1.3,3.6-1.3H337c13.9,0,25,2.9,33.4,8.6c8.5,5.8,12.8,14.1,12.8,25c0,3.1-0.4,6.4-1.1,9.8c-3.1,14.4-9.4,25-19,31.9\n c-9.4,6.9-22.3,10.3-38.7,10.3h-25.3l-8.6,41.1c-0.3,1.4-0.9,2.5-2.1,3.4c-1.1,0.9-2.3,1.3-3.6,1.3H259.3z M325.7,242.9\n c5.3,0,9.8-1.4,13.7-4.3c4-2.9,6.6-7,7.9-12.4c0.4-2.1,0.6-4,0.6-5.6c0-3.6-1.1-6.4-3.2-8.3c-2.1-2-5.8-3-10.9-3h-22.5l-7.1,33.6\n H325.7z" })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export var SolanaLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 48 : _b, _c = _a.height, height = _c === void 0 ? 48 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsxs("svg", { width: width, height: height, viewBox: "0 0 397.7 311.7", className: className, xmlns: "http://www.w3.org/2000/svg", children: [_jsxs("linearGradient", { id: "solana-gradient-1", gradientUnits: "userSpaceOnUse", x1: "360.8791", y1: "351.4553", x2: "141.213", y2: "-69.2936", gradientTransform: "matrix(1 0 0 -1 0 314)", children: [_jsx("stop", { offset: "0", style: { stopColor: '#00FFA3' } }), _jsx("stop", { offset: "1", style: { stopColor: '#DC1FFF' } })] }), _jsx("path", { fill: "url(#solana-gradient-1)", d: "M64.6,237.9c2.4-2.4,5.7-3.8,9.2-3.8h317.4c5.8,0,8.7,7,4.6,11.1l-62.7,62.7c-2.4,2.4-5.7,3.8-9.2,3.8H6.5\n c-5.8,0-8.7-7-4.6-11.1L64.6,237.9z" }), _jsxs("linearGradient", { id: "solana-gradient-2", gradientUnits: "userSpaceOnUse", x1: "264.8291", y1: "401.6014", x2: "45.163", y2: "-19.1475", gradientTransform: "matrix(1 0 0 -1 0 314)", children: [_jsx("stop", { offset: "0", style: { stopColor: '#00FFA3' } }), _jsx("stop", { offset: "1", style: { stopColor: '#DC1FFF' } })] }), _jsx("path", { fill: "url(#solana-gradient-2)", d: "M64.6,3.8C67.1,1.4,70.4,0,73.8,0h317.4c5.8,0,8.7,7,4.6,11.1l-62.7,62.7c-2.4,2.4-5.7,3.8-9.2,3.8H6.5\n c-5.8,0-8.7-7-4.6-11.1L64.6,3.8z" }), _jsxs("linearGradient", { id: "solana-gradient-3", gradientUnits: "userSpaceOnUse", x1: "312.5484", y1: "376.688", x2: "92.8822", y2: "-44.061", gradientTransform: "matrix(1 0 0 -1 0 314)", children: [_jsx("stop", { offset: "0", style: { stopColor: '#00FFA3' } }), _jsx("stop", { offset: "1", style: { stopColor: '#DC1FFF' } })] }), _jsx("path", { fill: "url(#solana-gradient-3)", d: "M333.1,120.1c-2.4-2.4-5.7-3.8-9.2-3.8H6.5c-5.8,0-8.7,7-4.6,11.1l62.7,62.7c2.4,2.4,5.7,3.8,9.2,3.8h317.4\n c5.8,0,8.7-7,4.6-11.1L333.1,120.1z" })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './SolanaLogo';
|
|
2
|
+
export * from './EthereumLogo';
|
|
3
|
+
export * from './OptimismLogo';
|
|
4
|
+
export * from './ArbitrumLogo';
|
|
5
|
+
export * from './BitcoinLogo';
|
|
6
|
+
export * from './HyperliquidLogo';
|
|
7
|
+
export * from './BaseLogo';
|
|
8
|
+
export * from './BeraLogo';
|
|
9
|
+
export * from './EVMChainsGroup';
|
|
10
|
+
export * from './MoreChainsGroup';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './SolanaLogo';
|
|
2
|
+
export * from './EthereumLogo';
|
|
3
|
+
export * from './OptimismLogo';
|
|
4
|
+
export * from './ArbitrumLogo';
|
|
5
|
+
export * from './BitcoinLogo';
|
|
6
|
+
export * from './HyperliquidLogo';
|
|
7
|
+
export * from './BaseLogo';
|
|
8
|
+
export * from './BeraLogo';
|
|
9
|
+
export * from './EVMChainsGroup';
|
|
10
|
+
export * from './MoreChainsGroup';
|