@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.
Files changed (92) hide show
  1. package/dist/Logic/sessionManager.d.ts +1 -1
  2. package/dist/Logic/sessionManager.js +9 -5
  3. package/dist/Logic/transactionManager.js +7 -3
  4. package/dist/Logic/utils.js +9 -12
  5. package/dist/Modal/N1WalletModal.js +2 -3
  6. package/dist/Modal/NTSFlow/NTSFlow.js +7 -3
  7. package/dist/Modal/NTSFlow/components/BackButton.js +0 -1
  8. package/dist/Modal/NTSFlow/views/CreateSessionView.js +1 -1
  9. package/dist/Modal/NordFlow/NordFlow.js +27 -22
  10. package/dist/Modal/NordFlow/components/ChainButton.d.ts +1 -1
  11. package/dist/Modal/NordFlow/components/ChainButton.js +8 -8
  12. package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +8 -0
  13. package/dist/Modal/NordFlow/components/EVMChainsButton.js +18 -0
  14. package/dist/Modal/NordFlow/components/MoreButton.d.ts +8 -0
  15. package/dist/Modal/NordFlow/components/MoreButton.js +18 -0
  16. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +1 -1
  17. package/dist/Modal/NordFlow/components/TransactionTable.js +8 -6
  18. package/dist/Modal/NordFlow/constants.js +9 -4
  19. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +39 -18
  20. package/dist/Modal/NordFlow/hooks/useFlowState.js +5 -4
  21. package/dist/Modal/NordFlow/hooks/useNordInstance.js +17 -8
  22. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +28 -20
  23. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +1 -1
  24. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +39 -23
  25. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +4 -1
  26. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +38 -16
  27. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +1 -1
  28. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +3 -2
  29. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +3 -1
  30. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +1 -1
  31. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +19 -10
  32. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +1 -1
  33. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +3 -3
  34. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +1 -1
  35. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +11 -6
  36. package/dist/Modal/NordFlow/types.d.ts +4 -1
  37. package/dist/Modal/NordFlow/types.js +1 -0
  38. package/dist/Modal/NordFlow/utils/imageUtils.js +3 -3
  39. package/dist/Modal/NordFlow/utils/nordUtils.js +3 -1
  40. package/dist/Modal/Sidebar/N1Sidebar.js +11 -5
  41. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +1 -1
  42. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +1 -1
  43. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +7 -3
  44. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +1 -1
  45. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +7 -7
  46. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +27 -16
  47. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +1 -1
  48. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +1 -1
  49. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +3 -2
  50. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +1 -1
  51. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +2 -3
  52. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +1 -1
  53. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +2 -2
  54. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +1 -1
  55. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +16 -13
  56. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +1 -1
  57. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +17 -11
  58. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +1 -1
  59. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +1 -1
  60. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +2 -2
  61. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +1 -1
  62. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +3 -1
  63. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +21 -11
  64. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +1 -1
  65. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +11 -6
  66. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +14 -7
  67. package/dist/Provider/LazyWalletProvider.js +11 -5
  68. package/dist/Provider/N1WalletProvider.js +6 -5
  69. package/dist/components/logos/ArbitrumLogo.d.ts +8 -0
  70. package/dist/components/logos/ArbitrumLogo.js +5 -0
  71. package/dist/components/logos/BaseLogo.d.ts +8 -0
  72. package/dist/components/logos/BaseLogo.js +5 -0
  73. package/dist/components/logos/BeraLogo.d.ts +8 -0
  74. package/dist/components/logos/BeraLogo.js +5 -0
  75. package/dist/components/logos/BitcoinLogo.d.ts +8 -0
  76. package/dist/components/logos/BitcoinLogo.js +5 -0
  77. package/dist/components/logos/EVMChainsGroup.d.ts +7 -0
  78. package/dist/components/logos/EVMChainsGroup.js +18 -0
  79. package/dist/components/logos/EthereumLogo.d.ts +8 -0
  80. package/dist/components/logos/EthereumLogo.js +5 -0
  81. package/dist/components/logos/HyperliquidLogo.d.ts +8 -0
  82. package/dist/components/logos/HyperliquidLogo.js +5 -0
  83. package/dist/components/logos/MoreChainsGroup.d.ts +7 -0
  84. package/dist/components/logos/MoreChainsGroup.js +18 -0
  85. package/dist/components/logos/OptimismLogo.d.ts +8 -0
  86. package/dist/components/logos/OptimismLogo.js +5 -0
  87. package/dist/components/logos/SolanaLogo.d.ts +8 -0
  88. package/dist/components/logos/SolanaLogo.js +5 -0
  89. package/dist/components/logos/index.d.ts +10 -0
  90. package/dist/components/logos/index.js +10 -0
  91. package/dist/main.css +1 -1
  92. 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 ? market.symbol : "Market-".concat(position.marketId);
93
+ var symbol = market
94
+ ? market.symbol
95
+ : "Market-".concat(position.marketId);
94
96
  // Calculate PnL
95
- var totalPnl = position.perp.sizePricePnl + position.perp.fundingPaymentPnl;
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 ? position.perp.baseSize : -position.perp.baseSize,
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', " ", 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
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 ? position.liquidationPrice.toFixed(2) : '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" }) }))] }))] }) }));
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 () { isMounted = false; };
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: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
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
- console.log('onAuthSuccess was called', args);
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([EthereumWalletConnectors, SolanaWalletConnectors]);
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
- console.error('Failed to load Dynamic dependencies:', error_1);
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 console.log('State transition:', newState); }, {}, // context
118
- function (updates) { return console.log('Context updates:', updates); }, providedSessionMode);
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
- console.log('Loading NTS SDK');
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
- console.log('NTS SDK loaded successfully');
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
- console.error('Error loading NTS SDK:', error_1);
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,8 @@
1
+ import React from 'react';
2
+ interface ArbitrumLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const ArbitrumLogo: React.FC<ArbitrumLogoProps>;
8
+ export {};
@@ -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,8 @@
1
+ import React from 'react';
2
+ interface BaseLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const BaseLogo: React.FC<BaseLogoProps>;
8
+ export {};
@@ -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,8 @@
1
+ import React from 'react';
2
+ interface BeraLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const BeraLogo: React.FC<BeraLogoProps>;
8
+ export {};
@@ -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,8 @@
1
+ import React from 'react';
2
+ interface BitcoinLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const BitcoinLogo: React.FC<BitcoinLogoProps>;
8
+ export {};
@@ -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,7 @@
1
+ import React from 'react';
2
+ interface EVMChainsGroupProps {
3
+ size?: number;
4
+ className?: string;
5
+ }
6
+ export declare const EVMChainsGroup: React.FC<EVMChainsGroupProps>;
7
+ export {};
@@ -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,8 @@
1
+ import React from 'react';
2
+ interface EthereumLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const EthereumLogo: React.FC<EthereumLogoProps>;
8
+ export {};
@@ -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,8 @@
1
+ import React from 'react';
2
+ interface HyperliquidLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const HyperliquidLogo: React.FC<HyperliquidLogoProps>;
8
+ export {};
@@ -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,7 @@
1
+ import React from 'react';
2
+ interface MoreChainsGroupProps {
3
+ size?: number;
4
+ className?: string;
5
+ }
6
+ export declare const MoreChainsGroup: React.FC<MoreChainsGroupProps>;
7
+ export {};
@@ -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,8 @@
1
+ import React from 'react';
2
+ interface OptimismLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const OptimismLogo: React.FC<OptimismLogoProps>;
8
+ export {};
@@ -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,8 @@
1
+ import React from 'react';
2
+ interface SolanaLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const SolanaLogo: React.FC<SolanaLogoProps>;
8
+ export {};
@@ -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';