@n1xyz/wallet-widget 0.0.9 → 0.0.11

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 (180) hide show
  1. package/dist/Logic/transactionManager.d.ts +1 -1
  2. package/dist/Logic/transactionManager.js +1 -1
  3. package/dist/Logic/transactionManager.js.map +1 -1
  4. package/dist/Modal/LoadingFallback.js +1 -1
  5. package/dist/Modal/LoadingFallback.js.map +1 -1
  6. package/dist/Modal/NTSFlow/LoadingFallback.js +1 -1
  7. package/dist/Modal/NTSFlow/LoadingFallback.js.map +1 -1
  8. package/dist/Modal/NTSFlow/components/BackButton.js +2 -2
  9. package/dist/Modal/NTSFlow/components/BackButton.js.map +1 -1
  10. package/dist/Modal/NTSFlow/components/ModalHeader.js +1 -1
  11. package/dist/Modal/NTSFlow/components/ModalHeader.js.map +1 -1
  12. package/dist/Modal/NTSFlow/views/ConnectView.js +2 -2
  13. package/dist/Modal/NTSFlow/views/ConnectView.js.map +1 -1
  14. package/dist/Modal/NTSFlow/views/CreateSessionView.js +5 -5
  15. package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +1 -1
  16. package/dist/Modal/NTSFlow/views/CreateUserView.js +1 -1
  17. package/dist/Modal/NTSFlow/views/CreateUserView.js.map +1 -1
  18. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +3 -3
  19. package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +1 -1
  20. package/dist/Modal/NTSFlow/views/SigningView.js +1 -1
  21. package/dist/Modal/NTSFlow/views/SigningView.js.map +1 -1
  22. package/dist/Modal/NordFlow/NordFlow.js +22 -228
  23. package/dist/Modal/NordFlow/NordFlow.js.map +1 -1
  24. package/dist/Modal/NordFlow/components/ChainButton.js +5 -5
  25. package/dist/Modal/NordFlow/components/ChainButton.js.map +1 -1
  26. package/dist/Modal/NordFlow/components/EVMChainsButton.js +4 -4
  27. package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +1 -1
  28. package/dist/Modal/NordFlow/components/Header.d.ts +10 -0
  29. package/dist/Modal/NordFlow/components/Header.js +11 -0
  30. package/dist/Modal/NordFlow/components/Header.js.map +1 -0
  31. package/dist/Modal/NordFlow/components/ImageWithFallback.js +1 -1
  32. package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +1 -1
  33. package/dist/Modal/NordFlow/components/LoadingSquares.js +1 -1
  34. package/dist/Modal/NordFlow/components/LoadingSquares.js.map +1 -1
  35. package/dist/Modal/NordFlow/components/MoreButton.js +4 -4
  36. package/dist/Modal/NordFlow/components/MoreButton.js.map +1 -1
  37. package/dist/Modal/NordFlow/components/TransactionTable.js +7 -10
  38. package/dist/Modal/NordFlow/components/TransactionTable.js.map +1 -1
  39. package/dist/Modal/NordFlow/components/WaitingMessage.js +1 -1
  40. package/dist/Modal/NordFlow/components/WaitingMessage.js.map +1 -1
  41. package/dist/Modal/NordFlow/components/index.d.ts +1 -0
  42. package/dist/Modal/NordFlow/components/index.js +1 -0
  43. package/dist/Modal/NordFlow/components/index.js.map +1 -1
  44. package/dist/Modal/NordFlow/constants.js +116 -95
  45. package/dist/Modal/NordFlow/constants.js.map +1 -1
  46. package/dist/Modal/NordFlow/context/DepositContext.d.ts +27 -0
  47. package/dist/Modal/NordFlow/context/DepositContext.js +308 -0
  48. package/dist/Modal/NordFlow/context/DepositContext.js.map +1 -0
  49. package/dist/Modal/NordFlow/context/FlowContext.d.ts +23 -0
  50. package/dist/Modal/NordFlow/context/FlowContext.js +125 -0
  51. package/dist/Modal/NordFlow/context/FlowContext.js.map +1 -0
  52. package/dist/Modal/NordFlow/context/NordProvider.d.ts +10 -0
  53. package/dist/Modal/NordFlow/context/NordProvider.js +14 -0
  54. package/dist/Modal/NordFlow/context/NordProvider.js.map +1 -0
  55. package/dist/Modal/NordFlow/context/WalletConnectContext.d.ts +20 -0
  56. package/dist/Modal/NordFlow/context/WalletConnectContext.js +214 -0
  57. package/dist/Modal/NordFlow/context/WalletConnectContext.js.map +1 -0
  58. package/dist/Modal/NordFlow/context/deposit/types.d.ts +26 -0
  59. package/dist/Modal/NordFlow/context/deposit/types.js +2 -0
  60. package/dist/Modal/NordFlow/context/deposit/types.js.map +1 -0
  61. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.d.ts +7 -0
  62. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.js +113 -0
  63. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.js.map +1 -0
  64. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.d.ts +20 -0
  65. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.js +235 -0
  66. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.js.map +1 -0
  67. package/dist/Modal/NordFlow/context/index.d.ts +5 -0
  68. package/dist/Modal/NordFlow/context/index.js +8 -0
  69. package/dist/Modal/NordFlow/context/index.js.map +1 -0
  70. package/dist/Modal/NordFlow/hooks/index.d.ts +3 -5
  71. package/dist/Modal/NordFlow/hooks/index.js +3 -5
  72. package/dist/Modal/NordFlow/hooks/index.js.map +1 -1
  73. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +2 -4
  74. package/dist/Modal/NordFlow/hooks/useDepositFlow.js.map +1 -1
  75. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +0 -6
  76. package/dist/Modal/NordFlow/hooks/useNordInstance.js +2 -358
  77. package/dist/Modal/NordFlow/hooks/useNordInstance.js.map +1 -1
  78. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +0 -1
  79. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +0 -1
  80. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js.map +1 -1
  81. package/dist/Modal/NordFlow/screens/00-IdleScreen.d.ts +6 -0
  82. package/dist/Modal/NordFlow/screens/00-IdleScreen.js +9 -0
  83. package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +1 -0
  84. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +1 -6
  85. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +12 -6
  86. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +1 -1
  87. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +1 -5
  88. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +13 -16
  89. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +1 -1
  90. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +1 -7
  91. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +11 -9
  92. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +1 -1
  93. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +1 -13
  94. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +59 -31
  95. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +1 -1
  96. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +1 -6
  97. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +9 -4
  98. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +1 -1
  99. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +1 -8
  100. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +18 -7
  101. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +1 -1
  102. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +1 -6
  103. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +15 -121
  104. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +1 -1
  105. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +1 -1
  106. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +10 -5
  107. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +1 -1
  108. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +1 -7
  109. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +9 -9
  110. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +1 -1
  111. package/dist/Modal/NordFlow/screens/index.d.ts +1 -0
  112. package/dist/Modal/NordFlow/screens/index.js +1 -0
  113. package/dist/Modal/NordFlow/screens/index.js.map +1 -1
  114. package/dist/Modal/NordFlow/types.d.ts +0 -5
  115. package/dist/Modal/NordFlow/types.js +0 -1
  116. package/dist/Modal/NordFlow/types.js.map +1 -1
  117. package/dist/Modal/NordFlow/utils/index.d.ts +0 -1
  118. package/dist/Modal/NordFlow/utils/index.js +0 -1
  119. package/dist/Modal/NordFlow/utils/index.js.map +1 -1
  120. package/dist/Modal/Sidebar/N1Sidebar.js +10 -10
  121. package/dist/Modal/Sidebar/N1Sidebar.js.map +1 -1
  122. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +5 -5
  123. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +1 -1
  124. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +3 -3
  125. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +1 -1
  126. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +2 -2
  127. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +1 -1
  128. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +2 -2
  129. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +1 -1
  130. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +1 -1
  131. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +1 -1
  132. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +4 -4
  133. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +1 -1
  134. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +6 -6
  135. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +1 -1
  136. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +1 -1
  137. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +1 -1
  138. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +3 -3
  139. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +1 -1
  140. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +7 -7
  141. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +1 -1
  142. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +13 -13
  143. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +1 -1
  144. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +1 -1
  145. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +1 -1
  146. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +2 -2
  147. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +1 -1
  148. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +1 -1
  149. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +1 -1
  150. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +5 -5
  151. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +1 -1
  152. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +1 -1
  153. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +1 -1
  154. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +5 -5
  155. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +1 -1
  156. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +4 -4
  157. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +1 -1
  158. package/dist/Provider/LazyWalletProvider.js +2 -0
  159. package/dist/Provider/LazyWalletProvider.js.map +1 -1
  160. package/dist/Provider/N1WalletProvider.js +48 -63
  161. package/dist/Provider/N1WalletProvider.js.map +1 -1
  162. package/dist/Provider/WalletErrorBoundary.d.ts +10 -0
  163. package/dist/Provider/WalletErrorBoundary.js +39 -0
  164. package/dist/Provider/WalletErrorBoundary.js.map +1 -0
  165. package/dist/Provider/hooks/useNordUserInitialization.d.ts +20 -0
  166. package/dist/Provider/hooks/useNordUserInitialization.js +293 -0
  167. package/dist/Provider/hooks/useNordUserInitialization.js.map +1 -0
  168. package/dist/Provider/types.d.ts +2 -0
  169. package/dist/Provider/types.js.map +1 -1
  170. package/dist/Provider/useN1WalletProvider.d.ts +37 -0
  171. package/dist/Provider/useN1WalletProvider.js +398 -0
  172. package/dist/Provider/useN1WalletProvider.js.map +1 -0
  173. package/dist/components/QRCodeLoader.js +1 -1
  174. package/dist/components/QRCodeLoader.js.map +1 -1
  175. package/dist/components/logos/EVMChainsGroup.js +1 -1
  176. package/dist/components/logos/EVMChainsGroup.js.map +1 -1
  177. package/dist/components/logos/MoreChainsGroup.js +1 -1
  178. package/dist/components/logos/MoreChainsGroup.js.map +1 -1
  179. package/dist/main.css +1 -1
  180. package/package.json +1 -1
@@ -0,0 +1,398 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useState, useEffect, useCallback } from 'react';
38
+ import { logger } from '../utils/logger';
39
+ import { WalletError, WalletErrorCode } from '../errors/types';
40
+ import { generateSessionKeyPair, signEd25519 } from '@n1xyz/nts-sdk';
41
+ import { getSessionKeysFromLocalStorage, storeSessionKeysInLocalStorage } from '../Logic/utils';
42
+ import { PublicKey, Transaction } from '@solana/web3.js';
43
+ import { N1SessionMode, N1ModalViewMode } from './types';
44
+ import { NordUser } from '@n1xyz/nord-ts';
45
+ export function useN1WalletProvider(_a) {
46
+ var _this = this;
47
+ var providedSessionMode = _a.providedSessionMode, onError = _a.onError, nord = _a.nord, address = _a.address, dynamicWallet = _a.dynamicWallet;
48
+ var _b = useState(false), isConnected = _b[0], setIsConnected = _b[1];
49
+ var _c = useState(null), ntsInterface = _c[0], setNtsInterface = _c[1];
50
+ var _d = useState(null), sessionPubKey = _d[0], setSessionPubKey = _d[1];
51
+ var _e = useState(null), walletPubKey = _e[0], setWalletPubKey = _e[1];
52
+ var _f = useState(null), userChain = _f[0], setUserChain = _f[1];
53
+ var _g = useState(''), username = _g[0], setUsername = _g[1];
54
+ var _h = useState(null), signMessageWithSessionKey = _h[0], setSignMessageWithSessionKey = _h[1];
55
+ var _j = useState(null), signMessageWithWalletKey = _j[0], setSignMessageWithWalletKey = _j[1];
56
+ var _k = useState(null), signTransactionWithWalletKey = _k[0], setSignTransactionWithWalletKey = _k[1];
57
+ var _l = useState(false), loading = _l[0], setLoading = _l[1];
58
+ var _m = useState(N1ModalViewMode.Connect), viewMode = _m[0], setViewMode = _m[1];
59
+ var _o = useState(null), nordUser = _o[0], setNordUser = _o[1];
60
+ // dynamic
61
+ var _p = useState([]), balances = _p[0], setBalances = _p[1];
62
+ var _q = useState(''), chain = _q[0], setChain = _q[1];
63
+ var _r = useState(null), dynamicSdkHasLoaded = _r[0], setDynamicSdkHasLoaded = _r[1];
64
+ var _s = useState(null), sessionMode = _s[0], setSessionMode = _s[1];
65
+ // Combine SDK loading and initialization into a single effect
66
+ useEffect(function () {
67
+ var mounted = true;
68
+ // Set the session mode from props
69
+ setSessionMode(providedSessionMode);
70
+ // Load the appropriate SDK
71
+ var loadSDK = function () { return __awaiter(_this, void 0, void 0, function () {
72
+ var NTSInterface, error_1;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ // eslint-disable-next-line no-console
77
+ logger.debug('Loading NTS SDK');
78
+ if (providedSessionMode === N1SessionMode.Nord) {
79
+ return [2 /*return*/];
80
+ }
81
+ _a.label = 1;
82
+ case 1:
83
+ _a.trys.push([1, 3, , 4]);
84
+ return [4 /*yield*/, import('@n1xyz/nts-sdk')];
85
+ case 2:
86
+ NTSInterface = (_a.sent()).NTSInterface;
87
+ if (mounted) {
88
+ // eslint-disable-next-line no-console
89
+ logger.debug('NTS SDK loaded successfully');
90
+ setNtsInterface(new NTSInterface(process.env.NTS_URL));
91
+ }
92
+ return [3 /*break*/, 4];
93
+ case 3:
94
+ error_1 = _a.sent();
95
+ if (mounted) {
96
+ // eslint-disable-next-line no-console
97
+ logger.error('Error loading NTS SDK:', error_1);
98
+ }
99
+ return [3 /*break*/, 4];
100
+ case 4: return [2 /*return*/];
101
+ }
102
+ });
103
+ }); };
104
+ loadSDK();
105
+ return function () {
106
+ mounted = false;
107
+ };
108
+ }, [providedSessionMode, onError]);
109
+ // Separate effect to handle loading state based on both SDKs
110
+ useEffect(function () {
111
+ var isDynamicReady = dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;
112
+ var isNtsReady = ntsInterface || providedSessionMode === N1SessionMode.Nord;
113
+ setLoading(!isDynamicReady || !isNtsReady);
114
+ }, [dynamicSdkHasLoaded, ntsInterface, providedSessionMode]);
115
+ var handleError = useCallback(function (error) {
116
+ onError === null || onError === void 0 ? void 0 : onError(error);
117
+ }, [onError]);
118
+ // Add logic to create wallet sign functions, session functions, and NordUser instance
119
+ useEffect(function () {
120
+ var createWalletSignFunction = function () {
121
+ if (!dynamicWallet) {
122
+ return null;
123
+ }
124
+ var signWithWallet = function (msg) { return __awaiter(_this, void 0, void 0, function () {
125
+ var hexMsg, signature, binaryString, signatureUint8Array, i, error_2;
126
+ return __generator(this, function (_a) {
127
+ switch (_a.label) {
128
+ case 0:
129
+ _a.trys.push([0, 2, , 3]);
130
+ hexMsg = Buffer.from(msg).toString('hex');
131
+ return [4 /*yield*/, dynamicWallet.signMessage(hexMsg)];
132
+ case 1:
133
+ signature = _a.sent();
134
+ binaryString = atob(signature);
135
+ signatureUint8Array = new Uint8Array(binaryString.length);
136
+ for (i = 0; i < binaryString.length; i++) {
137
+ signatureUint8Array[i] = binaryString.charCodeAt(i);
138
+ }
139
+ return [2 /*return*/, signatureUint8Array];
140
+ case 2:
141
+ error_2 = _a.sent();
142
+ console.error('Error signing with wallet:', error_2);
143
+ throw new WalletError(WalletErrorCode.USER_REJECTED, 'Failed to sign message with wallet', { originalError: error_2 });
144
+ case 3: return [2 /*return*/];
145
+ }
146
+ });
147
+ }); };
148
+ setSignMessageWithWalletKey(function () { return signWithWallet; });
149
+ return signWithWallet;
150
+ };
151
+ var createTransactionSignFunction = function () {
152
+ if (!dynamicWallet) {
153
+ return null;
154
+ }
155
+ var signTransactionWithWallet = function (transaction) { return __awaiter(_this, void 0, void 0, function () {
156
+ var signedTransaction, serializedTx, error_3;
157
+ return __generator(this, function (_a) {
158
+ switch (_a.label) {
159
+ case 0:
160
+ _a.trys.push([0, 4, , 5]);
161
+ if (!(dynamicWallet.chain === 'SOL')) return [3 /*break*/, 3];
162
+ return [4 /*yield*/, dynamicWallet.getSigner()];
163
+ case 1: return [4 /*yield*/, (_a.sent()).signTransaction(transaction)];
164
+ case 2:
165
+ signedTransaction = _a.sent();
166
+ logger.debug('Solana transaction signature received');
167
+ serializedTx = signedTransaction.serialize();
168
+ return [2 /*return*/, Transaction.from(serializedTx)];
169
+ case 3: throw new WalletError(WalletErrorCode.USER_REJECTED, 'Unsupported chain', { originalError: new Error('Unsupported chain') });
170
+ case 4:
171
+ error_3 = _a.sent();
172
+ console.error('Error signing transaction with wallet:', error_3);
173
+ throw new WalletError(WalletErrorCode.USER_REJECTED, 'Failed to sign transaction with wallet', { originalError: error_3 });
174
+ case 5: return [2 /*return*/];
175
+ }
176
+ });
177
+ }); };
178
+ setSignTransactionWithWalletKey(function () { return signTransactionWithWallet; });
179
+ return signTransactionWithWallet;
180
+ };
181
+ var createSession = function () { return __awaiter(_this, void 0, void 0, function () {
182
+ var sessionKeyPair_1, storedKeys, tempKeyPair, error_4, signFn_1, error_5;
183
+ var _this = this;
184
+ return __generator(this, function (_a) {
185
+ switch (_a.label) {
186
+ case 0:
187
+ _a.trys.push([0, 7, , 8]);
188
+ sessionKeyPair_1 = null;
189
+ if (!address) return [3 /*break*/, 4];
190
+ storedKeys = getSessionKeysFromLocalStorage(address);
191
+ if (!storedKeys) return [3 /*break*/, 4];
192
+ _a.label = 1;
193
+ case 1:
194
+ _a.trys.push([1, 3, , 4]);
195
+ return [4 /*yield*/, generateSessionKeyPair()];
196
+ case 2:
197
+ tempKeyPair = _a.sent();
198
+ sessionKeyPair_1 = {
199
+ privateKey: storedKeys.ed25519PrivateKey,
200
+ publicKey: tempKeyPair.publicKey,
201
+ };
202
+ return [3 /*break*/, 4];
203
+ case 3:
204
+ error_4 = _a.sent();
205
+ console.error('Error reconstructing key pair from stored keys:', error_4);
206
+ sessionKeyPair_1 = null;
207
+ return [3 /*break*/, 4];
208
+ case 4:
209
+ if (!!sessionKeyPair_1) return [3 /*break*/, 6];
210
+ return [4 /*yield*/, generateSessionKeyPair()];
211
+ case 5:
212
+ sessionKeyPair_1 = _a.sent();
213
+ _a.label = 6;
214
+ case 6:
215
+ signFn_1 = function (message) { return __awaiter(_this, void 0, void 0, function () {
216
+ var error_6;
217
+ return __generator(this, function (_a) {
218
+ switch (_a.label) {
219
+ case 0:
220
+ _a.trys.push([0, 2, , 3]);
221
+ return [4 /*yield*/, signEd25519(message, sessionKeyPair_1.privateKey)];
222
+ case 1: return [2 /*return*/, _a.sent()];
223
+ case 2:
224
+ error_6 = _a.sent();
225
+ console.error('Error signing with session key:', error_6);
226
+ throw error_6;
227
+ case 3: return [2 /*return*/];
228
+ }
229
+ });
230
+ }); };
231
+ storeSessionKeysInLocalStorage({
232
+ privKey: sessionKeyPair_1.privateKey,
233
+ walletPublicKey: address,
234
+ chainName: (dynamicWallet === null || dynamicWallet === void 0 ? void 0 : dynamicWallet.chain) || 'ETH',
235
+ });
236
+ setSessionPubKey(sessionKeyPair_1.publicKey);
237
+ setSignMessageWithSessionKey(function () { return signFn_1; });
238
+ return [2 /*return*/, signFn_1];
239
+ case 7:
240
+ error_5 = _a.sent();
241
+ console.error('Error creating session:', error_5);
242
+ return [2 /*return*/, null];
243
+ case 8: return [2 /*return*/];
244
+ }
245
+ });
246
+ }); };
247
+ var createNordUser = function () { return __awaiter(_this, void 0, void 0, function () {
248
+ var walletSignFn, sessionSignFn, createdSignFn, sessionId, sessionKeyData, sessionIdKey, storedSessionId, user, _1, error_7;
249
+ return __generator(this, function (_a) {
250
+ switch (_a.label) {
251
+ case 0:
252
+ _a.trys.push([0, 7, , 8]);
253
+ walletSignFn = signMessageWithWalletKey;
254
+ if (!walletSignFn && dynamicWallet) {
255
+ walletSignFn = createWalletSignFunction();
256
+ if (!walletSignFn) {
257
+ console.error('Failed to create wallet sign function');
258
+ return [2 /*return*/, null];
259
+ }
260
+ }
261
+ if (!walletSignFn) {
262
+ console.error('Cannot create NordUser, no wallet sign function available');
263
+ return [2 /*return*/, null];
264
+ }
265
+ if (!signTransactionWithWalletKey && dynamicWallet) {
266
+ createTransactionSignFunction();
267
+ }
268
+ sessionSignFn = signMessageWithSessionKey;
269
+ if (!!sessionSignFn) return [3 /*break*/, 2];
270
+ return [4 /*yield*/, createSession()];
271
+ case 1:
272
+ createdSignFn = _a.sent();
273
+ if (!createdSignFn) {
274
+ console.error('Failed to create session sign function');
275
+ return [2 /*return*/, null];
276
+ }
277
+ sessionSignFn = createdSignFn;
278
+ _a.label = 2;
279
+ case 2:
280
+ sessionId = undefined;
281
+ if (address) {
282
+ try {
283
+ sessionKeyData = getSessionKeysFromLocalStorage(address);
284
+ if (sessionKeyData) {
285
+ sessionIdKey = "n1_sessionId_".concat(address);
286
+ storedSessionId = localStorage.getItem(sessionIdKey);
287
+ if (storedSessionId !== null) {
288
+ sessionId = BigInt(storedSessionId);
289
+ logger.debug('Found existing sessionId in localStorage', {
290
+ sessionId: storedSessionId,
291
+ });
292
+ }
293
+ }
294
+ }
295
+ catch (error) {
296
+ console.error('Error retrieving sessionId from localStorage:', error);
297
+ }
298
+ }
299
+ if (!nord || !address || !sessionPubKey) {
300
+ return [2 /*return*/, null];
301
+ }
302
+ user = new NordUser({
303
+ nord: nord,
304
+ address: address,
305
+ walletSignFn: walletSignFn,
306
+ sessionSignFn: sessionSignFn,
307
+ transactionSignFn: signTransactionWithWalletKey,
308
+ sessionId: sessionId,
309
+ sessionPubKey: sessionPubKey,
310
+ publicKey: new PublicKey(address),
311
+ });
312
+ _a.label = 3;
313
+ case 3:
314
+ _a.trys.push([3, 5, , 6]);
315
+ return [4 /*yield*/, user.updateAccountId()];
316
+ case 4:
317
+ _a.sent();
318
+ return [3 /*break*/, 6];
319
+ case 5:
320
+ _1 = _a.sent();
321
+ return [3 /*break*/, 6];
322
+ case 6:
323
+ setNordUser(user);
324
+ return [2 /*return*/, user];
325
+ case 7:
326
+ error_7 = _a.sent();
327
+ console.error('Error creating NordUser:', error_7);
328
+ setNordUser(null);
329
+ return [2 /*return*/, null];
330
+ case 8: return [2 /*return*/];
331
+ }
332
+ });
333
+ }); };
334
+ var initNordUser = function () { return __awaiter(_this, void 0, void 0, function () {
335
+ return __generator(this, function (_a) {
336
+ switch (_a.label) {
337
+ case 0:
338
+ if (!(signMessageWithWalletKey &&
339
+ signMessageWithSessionKey &&
340
+ signTransactionWithWalletKey &&
341
+ nordUser == null)) return [3 /*break*/, 2];
342
+ logger.debug('Dependencies available, initializing NordUser');
343
+ return [4 /*yield*/, createNordUser()];
344
+ case 1:
345
+ _a.sent();
346
+ _a.label = 2;
347
+ case 2: return [2 /*return*/];
348
+ }
349
+ });
350
+ }); };
351
+ initNordUser();
352
+ }, [
353
+ dynamicWallet,
354
+ address,
355
+ nord,
356
+ signMessageWithSessionKey,
357
+ signMessageWithWalletKey,
358
+ signTransactionWithWalletKey,
359
+ sessionPubKey,
360
+ setNordUser,
361
+ ]);
362
+ return {
363
+ isConnected: isConnected,
364
+ ntsInterface: ntsInterface,
365
+ sessionPubKey: sessionPubKey,
366
+ walletPubKey: walletPubKey,
367
+ userChain: userChain,
368
+ username: username,
369
+ signMessageWithSessionKey: signMessageWithSessionKey,
370
+ signMessageWithWalletKey: signMessageWithWalletKey,
371
+ signTransactionWithWalletKey: signTransactionWithWalletKey,
372
+ loading: loading,
373
+ viewMode: viewMode,
374
+ nordUser: nordUser,
375
+ balances: balances,
376
+ chain: chain,
377
+ dynamicSdkHasLoaded: dynamicSdkHasLoaded,
378
+ sessionMode: sessionMode,
379
+ handleError: handleError,
380
+ setIsConnected: setIsConnected,
381
+ setNtsInterface: setNtsInterface,
382
+ setSessionPubKey: setSessionPubKey,
383
+ setWalletPubKey: setWalletPubKey,
384
+ setUserChain: setUserChain,
385
+ setUsername: setUsername,
386
+ setSignMessageWithSessionKey: setSignMessageWithSessionKey,
387
+ setSignMessageWithWalletKey: setSignMessageWithWalletKey,
388
+ setSignTransactionWithWalletKey: setSignTransactionWithWalletKey,
389
+ setLoading: setLoading,
390
+ setViewMode: setViewMode,
391
+ setNordUser: setNordUser,
392
+ setBalances: setBalances,
393
+ setChain: setChain,
394
+ setDynamicSdkHasLoaded: setDynamicSdkHasLoaded,
395
+ setSessionMode: setSessionMode,
396
+ };
397
+ }
398
+ //# sourceMappingURL=useN1WalletProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useN1WalletProvider.js","sourceRoot":"","sources":["../../src/Provider/useN1WalletProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useCallback } from 'react';\nimport { logger } from '../utils/logger';\nimport { WalletError, WalletErrorCode } from '../errors/types';\nimport { generateSessionKeyPair, signEd25519 } from '@n1xyz/nts-sdk';\nimport { getSessionKeysFromLocalStorage, storeSessionKeysInLocalStorage } from '../Logic/utils';\nimport { PublicKey, Transaction } from '@solana/web3.js';\nimport { N1SessionMode, Balance, N1ModalViewMode, N1WalletProviderProps } from './types';\nimport { NordUser } from '@n1xyz/nord-ts';\n\nexport function useN1WalletProvider({\n providedSessionMode,\n onError,\n nord,\n address,\n dynamicWallet,\n}: N1WalletProviderProps) {\n const [isConnected, setIsConnected] = useState<boolean>(false);\n const [ntsInterface, setNtsInterface] = useState<any>(null);\n const [sessionPubKey, setSessionPubKey] = useState<Uint8Array | null>(null);\n const [walletPubKey, setWalletPubKey] = useState<Uint8Array | null>(null);\n const [userChain, setUserChain] = useState<string | null>(null);\n const [username, setUsername] = useState<string>('');\n const [signMessageWithSessionKey, setSignMessageWithSessionKey] = useState<\n ((message: any) => Promise<any>) | null\n >(null);\n const [signMessageWithWalletKey, setSignMessageWithWalletKey] = useState<\n ((message: any) => Promise<any>) | null\n >(null);\n const [signTransactionWithWalletKey, setSignTransactionWithWalletKey] =\n useState<((transaction: any) => Promise<any>) | null>(null);\n const [loading, setLoading] = useState<boolean>(false);\n const [viewMode, setViewMode] = useState<N1ModalViewMode>(\n N1ModalViewMode.Connect\n );\n const [nordUser, setNordUser] = useState<any>(null);\n\n // dynamic\n const [balances, setBalances] = useState<Balance[]>([]);\n const [chain, setChain] = useState<string>('');\n const [dynamicSdkHasLoaded, setDynamicSdkHasLoaded] = useState<any>(null);\n const [sessionMode, setSessionMode] = useState<N1SessionMode | null>(null);\n\n // Combine SDK loading and initialization into a single effect\n useEffect(() => {\n let mounted = true;\n\n // Set the session mode from props\n setSessionMode(providedSessionMode);\n\n // Load the appropriate SDK\n const loadSDK = async () => {\n // eslint-disable-next-line no-console\n logger.debug('Loading NTS SDK');\n\n if (providedSessionMode === N1SessionMode.Nord) {\n return;\n }\n\n try {\n const { NTSInterface } = await import('@n1xyz/nts-sdk');\n if (mounted) {\n // eslint-disable-next-line no-console\n logger.debug('NTS SDK loaded successfully');\n setNtsInterface(new NTSInterface(process.env.NTS_URL!));\n }\n } catch (error) {\n if (mounted) {\n // eslint-disable-next-line no-console\n logger.error('Error loading NTS SDK:', error);\n }\n }\n };\n\n loadSDK();\n\n return () => {\n mounted = false;\n };\n }, [providedSessionMode, onError]);\n\n // Separate effect to handle loading state based on both SDKs\n useEffect(() => {\n const isDynamicReady =\n dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;\n const isNtsReady =\n ntsInterface || providedSessionMode === N1SessionMode.Nord;\n\n setLoading(!isDynamicReady || !isNtsReady);\n }, [dynamicSdkHasLoaded, ntsInterface, providedSessionMode]);\n\n const handleError = useCallback(\n (error: WalletError) => {\n onError?.(error);\n },\n [onError]\n );\n\n // Add logic to create wallet sign functions, session functions, and NordUser instance\n useEffect(() => {\n const createWalletSignFunction = () => {\n if (!dynamicWallet) {\n return null;\n }\n\n const signWithWallet = async (msg: Uint8Array): Promise<Uint8Array> => {\n try {\n const hexMsg = Buffer.from(msg).toString('hex');\n const signature = await dynamicWallet.signMessage(hexMsg);\n const binaryString = atob(signature);\n const signatureUint8Array = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n signatureUint8Array[i] = binaryString.charCodeAt(i);\n }\n return signatureUint8Array;\n } catch (error) {\n console.error('Error signing with wallet:', error);\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Failed to sign message with wallet',\n { originalError: error }\n );\n }\n };\n\n setSignMessageWithWalletKey(() => signWithWallet);\n return signWithWallet;\n };\n\n const createTransactionSignFunction = () => {\n if (!dynamicWallet) {\n return null;\n }\n\n const signTransactionWithWallet = async (\n transaction: any\n ): Promise<any> => {\n try {\n if (dynamicWallet.chain === 'SOL') {\n const signedTransaction = await (\n await dynamicWallet.getSigner()\n ).signTransaction(transaction);\n logger.debug('Solana transaction signature received');\n\n const serializedTx = signedTransaction.serialize();\n return Transaction.from(serializedTx);\n }\n\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Unsupported chain',\n { originalError: new Error('Unsupported chain') }\n );\n } catch (error) {\n console.error('Error signing transaction with wallet:', error);\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Failed to sign transaction with wallet',\n { originalError: error }\n );\n }\n };\n\n setSignTransactionWithWalletKey(() => signTransactionWithWallet);\n return signTransactionWithWallet;\n };\n\n const createSession = async () => {\n try {\n let sessionKeyPair = null;\n if (address) {\n const storedKeys = getSessionKeysFromLocalStorage(address);\n if (storedKeys) {\n try {\n const tempKeyPair = await generateSessionKeyPair();\n sessionKeyPair = {\n privateKey: storedKeys.ed25519PrivateKey,\n publicKey: tempKeyPair.publicKey,\n };\n } catch (error) {\n console.error(\n 'Error reconstructing key pair from stored keys:',\n error\n );\n sessionKeyPair = null;\n }\n }\n }\n\n if (!sessionKeyPair) {\n sessionKeyPair = await generateSessionKeyPair();\n }\n\n const signFn = async (message: any): Promise<any> => {\n try {\n return await signEd25519(message, sessionKeyPair.privateKey);\n } catch (error) {\n console.error('Error signing with session key:', error);\n throw error;\n }\n };\n\n storeSessionKeysInLocalStorage({\n privKey: sessionKeyPair.privateKey,\n walletPublicKey: address,\n chainName: dynamicWallet?.chain || 'ETH',\n });\n\n setSessionPubKey(sessionKeyPair.publicKey);\n setSignMessageWithSessionKey(() => signFn);\n return signFn;\n } catch (error) {\n console.error('Error creating session:', error);\n return null;\n }\n };\n\n const createNordUser = async () => {\n try {\n let walletSignFn = signMessageWithWalletKey;\n if (!walletSignFn && dynamicWallet) {\n walletSignFn = createWalletSignFunction();\n\n if (!walletSignFn) {\n console.error('Failed to create wallet sign function');\n return null;\n }\n }\n\n if (!walletSignFn) {\n console.error(\n 'Cannot create NordUser, no wallet sign function available'\n );\n return null;\n }\n\n if (!signTransactionWithWalletKey && dynamicWallet) {\n createTransactionSignFunction();\n }\n\n let sessionSignFn = signMessageWithSessionKey;\n if (!sessionSignFn) {\n const createdSignFn = await createSession();\n\n if (!createdSignFn) {\n console.error('Failed to create session sign function');\n return null;\n }\n\n sessionSignFn = createdSignFn;\n }\n\n let sessionId = undefined;\n if (address) {\n try {\n const sessionKeyData = getSessionKeysFromLocalStorage(address);\n if (sessionKeyData) {\n const sessionIdKey = `n1_sessionId_${address}`;\n const storedSessionId = localStorage.getItem(sessionIdKey);\n if (storedSessionId !== null) {\n sessionId = BigInt(storedSessionId);\n logger.debug('Found existing sessionId in localStorage', {\n sessionId: storedSessionId,\n });\n }\n }\n } catch (error) {\n console.error('Error retrieving sessionId from localStorage:', error);\n }\n }\n\n if (!nord || !address || !sessionPubKey) {\n return null;\n }\n\n const user = new NordUser({\n nord: nord,\n address,\n walletSignFn,\n sessionSignFn,\n transactionSignFn: signTransactionWithWalletKey!,\n sessionId,\n sessionPubKey: sessionPubKey!,\n publicKey: new PublicKey(address),\n });\n\n try {\n await user.updateAccountId();\n } catch (_) {}\n\n setNordUser(user);\n return user;\n } catch (error) {\n console.error('Error creating NordUser:', error);\n setNordUser(null);\n return null;\n }\n };\n\n const initNordUser = async () => {\n if (\n signMessageWithWalletKey &&\n signMessageWithSessionKey &&\n signTransactionWithWalletKey &&\n nordUser == null\n ) {\n logger.debug('Dependencies available, initializing NordUser');\n await createNordUser();\n }\n };\n\n initNordUser();\n }, [\n dynamicWallet,\n address,\n nord,\n signMessageWithSessionKey,\n signMessageWithWalletKey,\n signTransactionWithWalletKey,\n sessionPubKey,\n setNordUser,\n ]);\n\n return {\n isConnected,\n ntsInterface,\n sessionPubKey,\n walletPubKey,\n userChain,\n username,\n signMessageWithSessionKey,\n signMessageWithWalletKey,\n signTransactionWithWalletKey,\n loading,\n viewMode,\n nordUser,\n balances,\n chain,\n dynamicSdkHasLoaded,\n sessionMode,\n handleError,\n setIsConnected,\n setNtsInterface,\n setSessionPubKey,\n setWalletPubKey,\n setUserChain,\n setUsername,\n setSignMessageWithSessionKey,\n setSignMessageWithWalletKey,\n setSignTransactionWithWalletKey,\n setLoading,\n setViewMode,\n setNordUser,\n setBalances,\n setChain,\n setDynamicSdkHasLoaded,\n setSessionMode,\n };\n} "]}
@@ -3,7 +3,7 @@ import { useState } from 'react';
3
3
  var QRCodeLoader = function (_a) {
4
4
  var address = _a.address;
5
5
  var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
6
- return (_jsxs("div", { className: "relative w-36 h-36", children: [isLoading && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: _jsx("div", { className: "w-8 h-8 border-4 border-orange-500 border-t-transparent rounded-full animate-spin" }) })), _jsx("img", { src: "https://api.qrserver.com/v1/create-qr-code/?data=".concat(address, "&size=150x150"), alt: "QR Code", className: "w-full h-full", onLoad: function () { return setIsLoading(false); } })] }));
6
+ return (_jsxs("div", { className: "relative w-36 h-36", children: [isLoading && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: _jsx("div", { className: "w-8 h-8 border-4 border-orange-500 border-t-transparent rounded-full n1-animate-spin-slow" }) })), _jsx("img", { src: "https://api.qrserver.com/v1/create-qr-code/?data=".concat(address, "&size=150x150"), alt: "QR Code", className: "w-full h-full", onLoad: function () { return setIsLoading(false); } })] }));
7
7
  };
8
8
  export default QRCodeLoader;
9
9
  //# sourceMappingURL=QRCodeLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QRCodeLoader.js","sourceRoot":"","sources":["../../src/components/QRCodeLoader.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,IAAM,YAAY,GAAG,UAAC,EAAgC;QAA9B,OAAO,aAAA;IACvB,IAAA,KAA4B,QAAQ,CAAC,IAAI,CAAC,EAAzC,SAAS,QAAA,EAAE,YAAY,QAAkB,CAAC;IAEjD,OAAO,CACL,eAAK,SAAS,EAAC,oBAAoB,aAChC,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,mDAAmD,YAChE,cAAK,SAAS,EAAC,mFAAmF,GAAG,GACjG,CACP,EACD,cACE,GAAG,EAAE,2DAAoD,OAAO,kBAAe,EAC/E,GAAG,EAAC,SAAS,EACb,SAAS,EAAC,eAAe,EACzB,MAAM,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,GACjC,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import React, { useState } from 'react';\n\nconst QRCodeLoader = ({ address }: { address: string }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n return (\n <div className=\"relative w-36 h-36\">\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <div className=\"w-8 h-8 border-4 border-orange-500 border-t-transparent rounded-full animate-spin\" />\n </div>\n )}\n <img\n src={`https://api.qrserver.com/v1/create-qr-code/?data=${address}&size=150x150`}\n alt=\"QR Code\"\n className=\"w-full h-full\"\n onLoad={() => setIsLoading(false)}\n />\n </div>\n );\n};\n\nexport default QRCodeLoader;\n"]}
1
+ {"version":3,"file":"QRCodeLoader.js","sourceRoot":"","sources":["../../src/components/QRCodeLoader.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,IAAM,YAAY,GAAG,UAAC,EAAgC;QAA9B,OAAO,aAAA;IACvB,IAAA,KAA4B,QAAQ,CAAC,IAAI,CAAC,EAAzC,SAAS,QAAA,EAAE,YAAY,QAAkB,CAAC;IAEjD,OAAO,CACL,eAAK,SAAS,EAAC,oBAAoB,aAChC,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,mDAAmD,YAChE,cAAK,SAAS,EAAC,2FAA2F,GAAG,GACzG,CACP,EACD,cACE,GAAG,EAAE,2DAAoD,OAAO,kBAAe,EAC/E,GAAG,EAAC,SAAS,EACb,SAAS,EAAC,eAAe,EACzB,MAAM,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,GACjC,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import React, { useState } from 'react';\n\nconst QRCodeLoader = ({ address }: { address: string }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n return (\n <div className=\"relative w-36 h-36\">\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <div className=\"w-8 h-8 border-4 border-orange-500 border-t-transparent rounded-full n1-animate-spin-slow\" />\n </div>\n )}\n <img\n src={`https://api.qrserver.com/v1/create-qr-code/?data=${address}&size=150x150`}\n alt=\"QR Code\"\n className=\"w-full h-full\"\n onLoad={() => setIsLoading(false)}\n />\n </div>\n );\n};\n\nexport default QRCodeLoader;\n"]}
@@ -14,6 +14,6 @@ export var EVMChainsGroup = function (_a) {
14
14
  { id: 'base', name: 'Base', Logo: BaseLogo },
15
15
  { id: 'bera', name: 'Berachain', Logo: BeraLogo },
16
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)); }) }));
17
+ return (_jsx("div", { className: "flex ".concat(className), children: evmChains.map(function (evmChain, index) { return (_jsx("div", { className: "rounded-full border-2 border-n1-gray-100 dark:border-n1-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
18
  };
19
19
  //# sourceMappingURL=EVMChainsGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EVMChainsGroup.js","sourceRoot":"","sources":["../../../src/components/logos/EVMChainsGroup.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,MAAM,CAAC,IAAM,cAAc,GAAkC,UAAC,EAG7D;QAFC,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EACT,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAEd,kBAAkB;IAClB,IAAM,SAAS,GAAG;QAChB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE;QAClD,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE;QACnD,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE;QACnD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5C,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClD,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,eAAQ,SAAS,CAAE,YAChC,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,EAAE,KAAK,IAAK,OAAA,CAClC,cAEE,SAAS,EAAE,qEAA8D,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,EACnG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,YAE5B,KAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,cAAc,GAAG,IAJhE,QAAQ,CAAC,EAAE,CAKZ,CACP,EARmC,CAQnC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { OptimismLogo } from './OptimismLogo';\nimport { ArbitrumLogo } from './ArbitrumLogo';\nimport { EthereumLogo } from './EthereumLogo';\nimport { BaseLogo } from './BaseLogo';\nimport { BeraLogo } from './BeraLogo';\n\ninterface EVMChainsGroupProps {\n size?: number;\n className?: string;\n}\n\nexport const EVMChainsGroup: React.FC<EVMChainsGroupProps> = ({\n size = 32,\n className = '',\n}) => {\n // EVM chain logos\n const evmChains = [\n { id: 'op', name: 'Optimism', Logo: OptimismLogo },\n { id: 'arb', name: 'Arbitrum', Logo: ArbitrumLogo },\n { id: 'eth', name: 'Ethereum', Logo: EthereumLogo },\n { id: 'base', name: 'Base', Logo: BaseLogo },\n { id: 'bera', name: 'Berachain', Logo: BeraLogo },\n ];\n\n return (\n <div className={`flex ${className}`}>\n {evmChains.map((evmChain, index) => (\n <div\n key={evmChain.id}\n className={`rounded-full border-2 border-gray-100 dark:border-gray-800 ${index > 0 ? '-ml-3' : ''}`}\n style={{ zIndex: 5 - index }}\n >\n <evmChain.Logo width={size} height={size} className=\"rounded-full\" />\n </div>\n ))}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"EVMChainsGroup.js","sourceRoot":"","sources":["../../../src/components/logos/EVMChainsGroup.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,MAAM,CAAC,IAAM,cAAc,GAAkC,UAAC,EAG7D;QAFC,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EACT,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAEd,kBAAkB;IAClB,IAAM,SAAS,GAAG;QAChB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE;QAClD,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE;QACnD,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE;QACnD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5C,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClD,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,eAAQ,SAAS,CAAE,YAChC,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,EAAE,KAAK,IAAK,OAAA,CAClC,cAEE,SAAS,EAAE,2EAAoE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,EACzG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,YAE5B,KAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,cAAc,GAAG,IAJhE,QAAQ,CAAC,EAAE,CAKZ,CACP,EARmC,CAQnC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { OptimismLogo } from './OptimismLogo';\nimport { ArbitrumLogo } from './ArbitrumLogo';\nimport { EthereumLogo } from './EthereumLogo';\nimport { BaseLogo } from './BaseLogo';\nimport { BeraLogo } from './BeraLogo';\n\ninterface EVMChainsGroupProps {\n size?: number;\n className?: string;\n}\n\nexport const EVMChainsGroup: React.FC<EVMChainsGroupProps> = ({\n size = 32,\n className = '',\n}) => {\n // EVM chain logos\n const evmChains = [\n { id: 'op', name: 'Optimism', Logo: OptimismLogo },\n { id: 'arb', name: 'Arbitrum', Logo: ArbitrumLogo },\n { id: 'eth', name: 'Ethereum', Logo: EthereumLogo },\n { id: 'base', name: 'Base', Logo: BaseLogo },\n { id: 'bera', name: 'Berachain', Logo: BeraLogo },\n ];\n\n return (\n <div className={`flex ${className}`}>\n {evmChains.map((evmChain, index) => (\n <div\n key={evmChain.id}\n className={`rounded-full border-2 border-n1-gray-100 dark:border-n1-gray-800 ${index > 0 ? '-ml-3' : ''}`}\n style={{ zIndex: 5 - index }}\n >\n <evmChain.Logo width={size} height={size} className=\"rounded-full\" />\n </div>\n ))}\n </div>\n );\n};\n"]}
@@ -14,6 +14,6 @@ export var MoreChainsGroup = function (_a) {
14
14
  { id: 'btc', name: 'Bitcoin', Logo: BitcoinLogo },
15
15
  { id: 'plus', name: 'More', Logo: PlusIcon },
16
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)); }) }));
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-n1-gray-100 dark:border-n1-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
18
  };
19
19
  //# sourceMappingURL=MoreChainsGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MoreChainsGroup.js","sourceRoot":"","sources":["../../../src/components/logos/MoreChainsGroup.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,sBAAsB;AACtB,IAAM,QAAQ,GAIT,UAAC,EAA2C;QAAzC,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA,EAAE,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAAO,OAAA,CACpD,eACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,aAElC,iBACE,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,SAAS,EACd,WAAW,EAAC,KAAK,EACjB,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,KAAK,GACjB,EACF,eACE,CAAC,EAAC,kBAAkB,EACpB,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,MAAM,EAClB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,IACE,CACP;AAzBqD,CAyBrD,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAmC,UAAC,EAG/D;QAFC,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EACT,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAEd,oBAAoB;IACpB,IAAM,UAAU,GAAG;QACjB,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE;QAC1D,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;QACjD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7C,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,eAAQ,SAAS,CAAE,YAChC,UAAU,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,CAChC,cAEE,SAAS,EAAE,uBAAgB,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,cAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,EACnI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,YAE5B,KAAC,KAAK,CAAC,IAAI,IAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,cAAc,GAAG,IAJ7D,KAAK,CAAC,EAAE,CAKT,CACP,EARiC,CAQjC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { HyperliquidLogo } from './HyperliquidLogo';\nimport { BitcoinLogo } from './BitcoinLogo';\n\ninterface MoreChainsGroupProps {\n size?: number;\n className?: string;\n}\n\n// Plus icon component\nconst PlusIcon: React.FC<{\n width?: number;\n height?: number;\n className?: string;\n}> = ({ width = 32, height = 32, className = '' }) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"11\"\n fill=\"#F9FAFB\"\n fillOpacity=\"0.7\"\n stroke=\"#E5E7EB\"\n strokeWidth=\"0.5\"\n />\n <path\n d=\"M12 8V16M8 12H16\"\n stroke=\"#9CA3AF\"\n strokeWidth=\"1.25\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport const MoreChainsGroup: React.FC<MoreChainsGroupProps> = ({\n size = 32,\n className = '',\n}) => {\n // More chains logos\n const moreChains = [\n { id: 'hype', name: 'Hyperliquid', Logo: HyperliquidLogo },\n { id: 'btc', name: 'Bitcoin', Logo: BitcoinLogo },\n { id: 'plus', name: 'More', Logo: PlusIcon },\n ];\n\n return (\n <div className={`flex ${className}`}>\n {moreChains.map((chain, index) => (\n <div\n key={chain.id}\n className={`rounded-full ${chain.id !== 'plus' ? 'border-2 border-gray-100 dark:border-gray-800' : ''} ${index > 0 ? '-ml-3' : ''}`}\n style={{ zIndex: 3 - index }}\n >\n <chain.Logo width={size} height={size} className=\"rounded-full\" />\n </div>\n ))}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"MoreChainsGroup.js","sourceRoot":"","sources":["../../../src/components/logos/MoreChainsGroup.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,sBAAsB;AACtB,IAAM,QAAQ,GAIT,UAAC,EAA2C;QAAzC,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA,EAAE,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAAO,OAAA,CACpD,eACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,aAElC,iBACE,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,SAAS,EACd,WAAW,EAAC,KAAK,EACjB,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,KAAK,GACjB,EACF,eACE,CAAC,EAAC,kBAAkB,EACpB,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,MAAM,EAClB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,IACE,CACP;AAzBqD,CAyBrD,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAmC,UAAC,EAG/D;QAFC,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EACT,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAEd,oBAAoB;IACpB,IAAM,UAAU,GAAG;QACjB,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE;QAC1D,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;QACjD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7C,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,eAAQ,SAAS,CAAE,YAChC,UAAU,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,CAChC,cAEE,SAAS,EAAE,uBAAgB,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,EAAE,cAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,EACzI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,YAE5B,KAAC,KAAK,CAAC,IAAI,IAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,cAAc,GAAG,IAJ7D,KAAK,CAAC,EAAE,CAKT,CACP,EARiC,CAQjC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { HyperliquidLogo } from './HyperliquidLogo';\nimport { BitcoinLogo } from './BitcoinLogo';\n\ninterface MoreChainsGroupProps {\n size?: number;\n className?: string;\n}\n\n// Plus icon component\nconst PlusIcon: React.FC<{\n width?: number;\n height?: number;\n className?: string;\n}> = ({ width = 32, height = 32, className = '' }) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"11\"\n fill=\"#F9FAFB\"\n fillOpacity=\"0.7\"\n stroke=\"#E5E7EB\"\n strokeWidth=\"0.5\"\n />\n <path\n d=\"M12 8V16M8 12H16\"\n stroke=\"#9CA3AF\"\n strokeWidth=\"1.25\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport const MoreChainsGroup: React.FC<MoreChainsGroupProps> = ({\n size = 32,\n className = '',\n}) => {\n // More chains logos\n const moreChains = [\n { id: 'hype', name: 'Hyperliquid', Logo: HyperliquidLogo },\n { id: 'btc', name: 'Bitcoin', Logo: BitcoinLogo },\n { id: 'plus', name: 'More', Logo: PlusIcon },\n ];\n\n return (\n <div className={`flex ${className}`}>\n {moreChains.map((chain, index) => (\n <div\n key={chain.id}\n className={`rounded-full ${chain.id !== 'plus' ? 'border-2 border-n1-gray-100 dark:border-n1-gray-800' : ''} ${index > 0 ? '-ml-3' : ''}`}\n style={{ zIndex: 3 - index }}\n >\n <chain.Logo width={size} height={size} className=\"rounded-full\" />\n </div>\n ))}\n </div>\n );\n};\n"]}