@n1xyz/wallet-widget 0.0.30 → 0.0.33-alpha.0

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 (415) hide show
  1. package/README.md +117 -208
  2. package/dist/components/LoadingFallback.js.map +1 -0
  3. package/dist/{WidgetButton → components}/N1ConnectButton.js +3 -3
  4. package/dist/components/N1ConnectButton.js.map +1 -0
  5. package/dist/components/logos/ZeroOneLogo.d.ts +8 -0
  6. package/dist/components/logos/ZeroOneLogo.js +6 -0
  7. package/dist/components/logos/ZeroOneLogo.js.map +1 -0
  8. package/dist/components/logos/index.d.ts +1 -0
  9. package/dist/components/logos/index.js +1 -0
  10. package/dist/components/logos/index.js.map +1 -1
  11. package/dist/config/chains.js +2 -0
  12. package/dist/config/chains.js.map +1 -0
  13. package/dist/config/solana.js +1 -1
  14. package/dist/config/solana.js.map +1 -1
  15. package/dist/{Provider/context.d.ts → context/n1-wallet-context.d.ts} +2 -2
  16. package/dist/{Provider/context.js → context/n1-wallet-context.js} +1 -1
  17. package/dist/context/n1-wallet-context.js.map +1 -0
  18. package/dist/{Modal → features/onboarding-flow}/N1WalletModal.d.ts +1 -1
  19. package/dist/{Modal → features/onboarding-flow}/N1WalletModal.js +18 -15
  20. package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -0
  21. package/dist/features/onboarding-flow/OnboardingFlow.d.ts +9 -0
  22. package/dist/features/onboarding-flow/OnboardingFlow.js +98 -0
  23. package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -0
  24. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ChainButton.d.ts +1 -2
  25. package/dist/features/onboarding-flow/components/ChainButton.js +21 -0
  26. package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -0
  27. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.js +1 -1
  28. package/dist/features/onboarding-flow/components/Header.js.map +1 -0
  29. package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -0
  30. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.js +1 -1
  31. package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -0
  32. package/dist/features/onboarding-flow/components/WaitingMessage.js +17 -0
  33. package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -0
  34. package/dist/features/onboarding-flow/components/index.js.map +1 -0
  35. package/dist/features/onboarding-flow/index.d.ts +1 -0
  36. package/dist/features/onboarding-flow/index.js +2 -0
  37. package/dist/features/onboarding-flow/index.js.map +1 -0
  38. package/dist/{Modal/NordFlow/context/DepositContext.d.ts → features/onboarding-flow/providers/DepositFlowProvider.d.ts} +9 -7
  39. package/dist/{Modal/NordFlow/context/DepositContext.js → features/onboarding-flow/providers/DepositFlowProvider.js} +228 -78
  40. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -0
  41. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.d.ts +48 -0
  42. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +185 -0
  43. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -0
  44. package/dist/features/onboarding-flow/providers/StateProvider.d.ts +10 -0
  45. package/dist/features/onboarding-flow/providers/StateProvider.js +14 -0
  46. package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -0
  47. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.d.ts +21 -0
  48. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +394 -0
  49. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -0
  50. package/dist/features/onboarding-flow/providers/debug.d.ts +6 -0
  51. package/dist/features/onboarding-flow/providers/debug.js +63 -0
  52. package/dist/features/onboarding-flow/providers/debug.js.map +1 -0
  53. package/dist/features/onboarding-flow/providers/index.d.ts +5 -0
  54. package/dist/features/onboarding-flow/providers/index.js +8 -0
  55. package/dist/features/onboarding-flow/providers/index.js.map +1 -0
  56. package/dist/features/onboarding-flow/providers/onboardingStateMachine.d.ts +48 -0
  57. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +83 -0
  58. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -0
  59. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.js +2 -2
  60. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -0
  61. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts +31 -0
  62. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +100 -0
  63. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -0
  64. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.d.ts +2 -0
  65. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.js +123 -61
  66. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -0
  67. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.d.ts +3 -0
  68. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +31 -0
  69. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -0
  70. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.js +31 -26
  71. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -0
  72. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +31 -0
  73. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -0
  74. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +14 -0
  75. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -0
  76. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.d.ts +1 -0
  77. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.js +1 -0
  78. package/dist/features/onboarding-flow/screens/index.js.map +1 -0
  79. package/dist/{Modal/NordFlow → features/onboarding-flow}/types.d.ts +13 -16
  80. package/dist/features/onboarding-flow/types.js +34 -0
  81. package/dist/features/onboarding-flow/types.js.map +1 -0
  82. package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -0
  83. package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -0
  84. package/dist/{utils/dynamicNord.d.ts → features/onboarding-flow/utils/nordUser.d.ts} +0 -1
  85. package/dist/{utils/dynamicNord.js → features/onboarding-flow/utils/nordUser.js} +2 -13
  86. package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -0
  87. package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -0
  88. package/dist/{Logic/sessionManager.d.ts → features/onboarding-flow/utils/session.d.ts} +2 -2
  89. package/dist/{Logic/sessionManager.js → features/onboarding-flow/utils/session.js} +36 -5
  90. package/dist/features/onboarding-flow/utils/session.js.map +1 -0
  91. package/dist/{Logic/transactionManager.js → features/onboarding-flow/utils/transaction.js} +1 -1
  92. package/dist/features/onboarding-flow/utils/transaction.js.map +1 -0
  93. package/dist/{Logic → features/onboarding-flow/utils}/utils.d.ts +1 -1
  94. package/dist/{Logic → features/onboarding-flow/utils}/utils.js +1 -1
  95. package/dist/features/onboarding-flow/utils/utils.js.map +1 -0
  96. package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -0
  97. package/dist/hooks/index.d.ts +2 -0
  98. package/dist/hooks/index.js +3 -0
  99. package/dist/hooks/index.js.map +1 -0
  100. package/dist/hooks/useN1Wallet.d.ts +2 -0
  101. package/dist/{Provider/hooks.js → hooks/useN1Wallet.js} +2 -2
  102. package/dist/hooks/useN1Wallet.js.map +1 -0
  103. package/dist/{Provider/hooks → hooks}/useNordUserInitialization.js +7 -7
  104. package/dist/hooks/useNordUserInitialization.js.map +1 -0
  105. package/dist/index.d.ts +4 -4
  106. package/dist/index.js +4 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/{Provider → providers}/LazyWalletProvider.js +34 -8
  109. package/dist/providers/LazyWalletProvider.js.map +1 -0
  110. package/dist/providers/N1WalletProvider.d.ts +3 -0
  111. package/dist/{Provider → providers}/N1WalletProvider.js +51 -22
  112. package/dist/providers/N1WalletProvider.js.map +1 -0
  113. package/dist/providers/ShadowRootWrapper.js.map +1 -0
  114. package/dist/providers/WalletErrorBoundary.js.map +1 -0
  115. package/dist/styles/embedded-main-css.d.ts +2 -0
  116. package/dist/styles/embedded-main-css.js +3 -0
  117. package/dist/styles/embedded-main-css.js.map +1 -0
  118. package/dist/styles/main.css +2 -0
  119. package/dist/{Provider/types.d.ts → types/wallet.d.ts} +7 -8
  120. package/dist/{Provider/types.js → types/wallet.js} +1 -1
  121. package/dist/types/wallet.js.map +1 -0
  122. package/dist/{Logic → utils}/getPseudoName.js.map +1 -1
  123. package/dist/{Logic → utils}/words.js.map +1 -1
  124. package/package.json +25 -21
  125. package/dist/Logic/sessionManager.js.map +0 -1
  126. package/dist/Logic/transactionManager.js.map +0 -1
  127. package/dist/Logic/utils.js.map +0 -1
  128. package/dist/Modal/LoadingFallback.js.map +0 -1
  129. package/dist/Modal/N1WalletModal.js.map +0 -1
  130. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +0 -2
  131. package/dist/Modal/NTSFlow/LoadingFallback.js +0 -3
  132. package/dist/Modal/NTSFlow/LoadingFallback.js.map +0 -1
  133. package/dist/Modal/NTSFlow/NTSFlow.d.ts +0 -4
  134. package/dist/Modal/NTSFlow/NTSFlow.js +0 -35
  135. package/dist/Modal/NTSFlow/NTSFlow.js.map +0 -1
  136. package/dist/Modal/NTSFlow/components/BackButton.d.ts +0 -3
  137. package/dist/Modal/NTSFlow/components/BackButton.js +0 -26
  138. package/dist/Modal/NTSFlow/components/BackButton.js.map +0 -1
  139. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +0 -1
  140. package/dist/Modal/NTSFlow/components/ModalHeader.js +0 -21
  141. package/dist/Modal/NTSFlow/components/ModalHeader.js.map +0 -1
  142. package/dist/Modal/NTSFlow/index.d.ts +0 -1
  143. package/dist/Modal/NTSFlow/index.js +0 -2
  144. package/dist/Modal/NTSFlow/index.js.map +0 -1
  145. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +0 -1
  146. package/dist/Modal/NTSFlow/views/ConnectView.js +0 -68
  147. package/dist/Modal/NTSFlow/views/ConnectView.js.map +0 -1
  148. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +0 -1
  149. package/dist/Modal/NTSFlow/views/CreateSessionView.js +0 -246
  150. package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +0 -1
  151. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +0 -1
  152. package/dist/Modal/NTSFlow/views/CreateUserView.js +0 -106
  153. package/dist/Modal/NTSFlow/views/CreateUserView.js.map +0 -1
  154. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +0 -1
  155. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +0 -43
  156. package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +0 -1
  157. package/dist/Modal/NTSFlow/views/SigningView.d.ts +0 -1
  158. package/dist/Modal/NTSFlow/views/SigningView.js +0 -6
  159. package/dist/Modal/NTSFlow/views/SigningView.js.map +0 -1
  160. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +0 -1
  161. package/dist/Modal/NTSFlow/views/SuccessView.js +0 -11
  162. package/dist/Modal/NTSFlow/views/SuccessView.js.map +0 -1
  163. package/dist/Modal/NordFlow/NordFlow.d.ts +0 -9
  164. package/dist/Modal/NordFlow/NordFlow.js +0 -84
  165. package/dist/Modal/NordFlow/NordFlow.js.map +0 -1
  166. package/dist/Modal/NordFlow/components/ChainButton.js +0 -25
  167. package/dist/Modal/NordFlow/components/ChainButton.js.map +0 -1
  168. package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +0 -9
  169. package/dist/Modal/NordFlow/components/EVMChainsButton.js +0 -21
  170. package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +0 -1
  171. package/dist/Modal/NordFlow/components/Header.js.map +0 -1
  172. package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +0 -1
  173. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +0 -1
  174. package/dist/Modal/NordFlow/components/LoadingSquares.js +0 -6
  175. package/dist/Modal/NordFlow/components/LoadingSquares.js.map +0 -1
  176. package/dist/Modal/NordFlow/components/MoreButton.d.ts +0 -8
  177. package/dist/Modal/NordFlow/components/MoreButton.js +0 -19
  178. package/dist/Modal/NordFlow/components/MoreButton.js.map +0 -1
  179. package/dist/Modal/NordFlow/components/TransactionTable.js.map +0 -1
  180. package/dist/Modal/NordFlow/components/WaitingMessage.js +0 -18
  181. package/dist/Modal/NordFlow/components/WaitingMessage.js.map +0 -1
  182. package/dist/Modal/NordFlow/components/index.js.map +0 -1
  183. package/dist/Modal/NordFlow/constants.d.ts +0 -37
  184. package/dist/Modal/NordFlow/constants.js +0 -183
  185. package/dist/Modal/NordFlow/constants.js.map +0 -1
  186. package/dist/Modal/NordFlow/context/DepositContext.js.map +0 -1
  187. package/dist/Modal/NordFlow/context/FlowContext.d.ts +0 -24
  188. package/dist/Modal/NordFlow/context/FlowContext.js +0 -218
  189. package/dist/Modal/NordFlow/context/FlowContext.js.map +0 -1
  190. package/dist/Modal/NordFlow/context/NordProvider.d.ts +0 -10
  191. package/dist/Modal/NordFlow/context/NordProvider.js +0 -14
  192. package/dist/Modal/NordFlow/context/NordProvider.js.map +0 -1
  193. package/dist/Modal/NordFlow/context/WalletConnectContext.d.ts +0 -20
  194. package/dist/Modal/NordFlow/context/WalletConnectContext.js +0 -269
  195. package/dist/Modal/NordFlow/context/WalletConnectContext.js.map +0 -1
  196. package/dist/Modal/NordFlow/context/index.d.ts +0 -5
  197. package/dist/Modal/NordFlow/context/index.js +0 -8
  198. package/dist/Modal/NordFlow/context/index.js.map +0 -1
  199. package/dist/Modal/NordFlow/hoc/index.d.ts +0 -1
  200. package/dist/Modal/NordFlow/hoc/index.js +0 -2
  201. package/dist/Modal/NordFlow/hoc/index.js.map +0 -1
  202. package/dist/Modal/NordFlow/hoc/withImageFallback.js.map +0 -1
  203. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.d.ts +0 -18
  204. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js +0 -181
  205. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js.map +0 -1
  206. package/dist/Modal/NordFlow/index.d.ts +0 -1
  207. package/dist/Modal/NordFlow/index.js +0 -2
  208. package/dist/Modal/NordFlow/index.js.map +0 -1
  209. package/dist/Modal/NordFlow/screens/00-IdleScreen.d.ts +0 -6
  210. package/dist/Modal/NordFlow/screens/00-IdleScreen.js +0 -9
  211. package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +0 -1
  212. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +0 -1
  213. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.d.ts +0 -1
  214. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js +0 -115
  215. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js.map +0 -1
  216. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +0 -2
  217. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +0 -45
  218. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +0 -1
  219. package/dist/Modal/NordFlow/screens/03-AmountInputScreen.js.map +0 -1
  220. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +0 -1
  221. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +0 -66
  222. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +0 -1
  223. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +0 -1
  224. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +0 -204
  225. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +0 -1
  226. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.d.ts +0 -1
  227. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js +0 -29
  228. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js.map +0 -1
  229. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +0 -1
  230. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +0 -51
  231. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +0 -1
  232. package/dist/Modal/NordFlow/screens/05-DepositSuccessScreen.js.map +0 -1
  233. package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js +0 -37
  234. package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js.map +0 -1
  235. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +0 -1
  236. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +0 -132
  237. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +0 -1
  238. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +0 -1
  239. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +0 -30
  240. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +0 -1
  241. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.d.ts +0 -5
  242. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js +0 -39
  243. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js.map +0 -1
  244. package/dist/Modal/NordFlow/screens/08-ErrorScreen.js +0 -68
  245. package/dist/Modal/NordFlow/screens/08-ErrorScreen.js.map +0 -1
  246. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +0 -5
  247. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +0 -52
  248. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +0 -1
  249. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +0 -1
  250. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +0 -68
  251. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +0 -1
  252. package/dist/Modal/NordFlow/screens/index.js.map +0 -1
  253. package/dist/Modal/NordFlow/types.js +0 -34
  254. package/dist/Modal/NordFlow/types.js.map +0 -1
  255. package/dist/Modal/NordFlow/utils/depositStorage.js.map +0 -1
  256. package/dist/Modal/NordFlow/utils/imageUtils.js.map +0 -1
  257. package/dist/Modal/NordFlow/utils/index.d.ts +0 -2
  258. package/dist/Modal/NordFlow/utils/index.js +0 -3
  259. package/dist/Modal/NordFlow/utils/index.js.map +0 -1
  260. package/dist/Modal/NordFlow/utils/nordUtils.js.map +0 -1
  261. package/dist/Modal/Sidebar/N1Sidebar.d.ts +0 -1
  262. package/dist/Modal/Sidebar/N1Sidebar.js +0 -203
  263. package/dist/Modal/Sidebar/N1Sidebar.js.map +0 -1
  264. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +0 -12
  265. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +0 -90
  266. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js.map +0 -1
  267. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +0 -6
  268. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +0 -43
  269. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +0 -1
  270. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +0 -11
  271. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +0 -20
  272. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +0 -1
  273. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +0 -1
  274. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +0 -143
  275. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +0 -1
  276. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +0 -248
  277. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +0 -1
  278. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +0 -10
  279. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +0 -62
  280. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +0 -1
  281. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +0 -7
  282. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +0 -30
  283. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +0 -1
  284. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +0 -11
  285. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +0 -22
  286. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +0 -1
  287. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +0 -7
  288. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +0 -20
  289. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +0 -1
  290. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +0 -7
  291. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +0 -24
  292. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +0 -1
  293. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +0 -7
  294. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +0 -80
  295. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +0 -1
  296. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +0 -9
  297. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +0 -110
  298. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +0 -1
  299. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +0 -7
  300. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +0 -30
  301. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +0 -1
  302. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +0 -9
  303. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +0 -40
  304. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +0 -1
  305. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +0 -7
  306. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +0 -10
  307. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +0 -1
  308. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +0 -13
  309. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +0 -264
  310. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +0 -1
  311. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +0 -5
  312. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +0 -113
  313. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +0 -1
  314. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +0 -1
  315. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +0 -183
  316. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +0 -1
  317. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +0 -0
  318. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +0 -278
  319. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +0 -1
  320. package/dist/Provider/LazyWalletProvider.js.map +0 -1
  321. package/dist/Provider/N1WalletProvider.d.ts +0 -3
  322. package/dist/Provider/N1WalletProvider.js.map +0 -1
  323. package/dist/Provider/ShadowRootWrapper.js.map +0 -1
  324. package/dist/Provider/WalletErrorBoundary.js.map +0 -1
  325. package/dist/Provider/context.js.map +0 -1
  326. package/dist/Provider/hooks/useNordUserInitialization.js.map +0 -1
  327. package/dist/Provider/hooks.d.ts +0 -2
  328. package/dist/Provider/hooks.js.map +0 -1
  329. package/dist/Provider/icons/CoinbaseWalletIcon.d.ts +0 -1
  330. package/dist/Provider/icons/CoinbaseWalletIcon.js +0 -5
  331. package/dist/Provider/icons/CoinbaseWalletIcon.js.map +0 -1
  332. package/dist/Provider/icons/ConnectionDotsSVG.d.ts +0 -1
  333. package/dist/Provider/icons/ConnectionDotsSVG.js +0 -5
  334. package/dist/Provider/icons/ConnectionDotsSVG.js.map +0 -1
  335. package/dist/Provider/icons/MetamaskIcon.d.ts +0 -1
  336. package/dist/Provider/icons/MetamaskIcon.js +0 -5
  337. package/dist/Provider/icons/MetamaskIcon.js.map +0 -1
  338. package/dist/Provider/icons/PhantomIcon.d.ts +0 -1
  339. package/dist/Provider/icons/PhantomIcon.js +0 -5
  340. package/dist/Provider/icons/PhantomIcon.js.map +0 -1
  341. package/dist/Provider/icons/UserIcon.d.ts +0 -1
  342. package/dist/Provider/icons/UserIcon.js +0 -5
  343. package/dist/Provider/icons/UserIcon.js.map +0 -1
  344. package/dist/Provider/icons/WalletConnectIcon.d.ts +0 -1
  345. package/dist/Provider/icons/WalletConnectIcon.js +0 -5
  346. package/dist/Provider/icons/WalletConnectIcon.js.map +0 -1
  347. package/dist/Provider/index.d.ts +0 -3
  348. package/dist/Provider/index.js +0 -4
  349. package/dist/Provider/index.js.map +0 -1
  350. package/dist/Provider/types.js.map +0 -1
  351. package/dist/WidgetButton/N1ConnectButton.js.map +0 -1
  352. package/dist/components/QRCodeLoader.d.ts +0 -4
  353. package/dist/components/QRCodeLoader.js +0 -9
  354. package/dist/components/QRCodeLoader.js.map +0 -1
  355. package/dist/components/logos/EVMChainsGroup.d.ts +0 -7
  356. package/dist/components/logos/EVMChainsGroup.js +0 -19
  357. package/dist/components/logos/EVMChainsGroup.js.map +0 -1
  358. package/dist/components/logos/MoreChainsGroup.d.ts +0 -7
  359. package/dist/components/logos/MoreChainsGroup.js +0 -19
  360. package/dist/components/logos/MoreChainsGroup.js.map +0 -1
  361. package/dist/embedded-main-css.d.ts +0 -2
  362. package/dist/embedded-main-css.js +0 -3
  363. package/dist/embedded-main-css.js.map +0 -1
  364. package/dist/main.css +0 -2
  365. package/dist/utils/dynamicImports.js +0 -42
  366. package/dist/utils/dynamicImports.js.map +0 -1
  367. package/dist/utils/dynamicNord.js.map +0 -1
  368. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf +0 -0
  369. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Trial.otf +0 -0
  370. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf +0 -0
  371. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf +0 -0
  372. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Italic-Trial.otf +0 -0
  373. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Trial.otf +0 -0
  374. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf +0 -0
  375. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Trial.otf +0 -0
  376. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf +0 -0
  377. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Trial.otf +0 -0
  378. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf +0 -0
  379. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf +0 -0
  380. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf +0 -0
  381. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Trial.otf +0 -0
  382. /package/dist/{Modal → components}/LoadingFallback.d.ts +0 -0
  383. /package/dist/{Modal → components}/LoadingFallback.js +0 -0
  384. /package/dist/{WidgetButton → components}/N1ConnectButton.d.ts +0 -0
  385. /package/dist/{Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts → config/chains.d.ts} +0 -0
  386. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.d.ts +0 -0
  387. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.d.ts +0 -0
  388. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.js +0 -0
  389. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.d.ts +0 -0
  390. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/WaitingMessage.d.ts +0 -0
  391. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.d.ts +0 -0
  392. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.js +0 -0
  393. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.d.ts +0 -0
  394. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.d.ts +0 -0
  395. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/06-AuthLoadingScreen.d.ts +0 -0
  396. /package/dist/{Modal/NordFlow/screens/08-ErrorScreen.d.ts → features/onboarding-flow/screens/07-ErrorScreen.d.ts} +0 -0
  397. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.d.ts +0 -0
  398. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.js +0 -0
  399. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.d.ts +0 -0
  400. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.js +0 -0
  401. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.d.ts +0 -0
  402. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.js +0 -0
  403. /package/dist/{Logic/transactionManager.d.ts → features/onboarding-flow/utils/transaction.d.ts} +0 -0
  404. /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.d.ts +0 -0
  405. /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.js +0 -0
  406. /package/dist/{Provider/hooks → hooks}/useNordUserInitialization.d.ts +0 -0
  407. /package/dist/{Provider → providers}/LazyWalletProvider.d.ts +0 -0
  408. /package/dist/{Provider → providers}/ShadowRootWrapper.d.ts +0 -0
  409. /package/dist/{Provider → providers}/ShadowRootWrapper.js +0 -0
  410. /package/dist/{Provider → providers}/WalletErrorBoundary.d.ts +0 -0
  411. /package/dist/{Provider → providers}/WalletErrorBoundary.js +0 -0
  412. /package/dist/{Logic → utils}/getPseudoName.d.ts +0 -0
  413. /package/dist/{Logic → utils}/getPseudoName.js +0 -0
  414. /package/dist/{Logic → utils}/words.d.ts +0 -0
  415. /package/dist/{Logic → utils}/words.js +0 -0
@@ -1,34 +0,0 @@
1
- /**
2
- * Types for the wallet connection flow state machine
3
- */
4
- /**
5
- * Enum representing all possible states in the wallet connection flow
6
- */
7
- export var FlowState;
8
- (function (FlowState) {
9
- FlowState["CONNECTING_WALLET"] = "CONNECTING_WALLET";
10
- FlowState["CHAIN_SELECTION"] = "CHAIN_SELECTION";
11
- FlowState["AMOUNT_INPUT"] = "AMOUNT_INPUT";
12
- FlowState["DEPOSIT_PROGRESS"] = "DEPOSIT_PROGRESS";
13
- FlowState["DEPOSIT_SUCCESS"] = "DEPOSIT_SUCCESS";
14
- FlowState["AUTH_LOADING"] = "AUTH_LOADING";
15
- FlowState["FINAL_SUCCESS"] = "FINAL_SUCCESS";
16
- FlowState["ERROR"] = "ERROR";
17
- })(FlowState || (FlowState = {}));
18
- /**
19
- * Initial flow context with default values
20
- */
21
- export var initialFlowContext = {
22
- hasNordAccount: false,
23
- hasActiveSession: false,
24
- selectedChain: null,
25
- selectedChainId: null,
26
- selectedChainNetwork: null,
27
- amount: '',
28
- transactionId: null,
29
- error: null,
30
- depositError: undefined,
31
- isDepositOnlyFlow: false,
32
- lastDeposit: null,
33
- };
34
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Modal/NordFlow/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,4BAAe,CAAA;AACjB,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAyCD;;GAEG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAgB;IAC7C,cAAc,EAAE,KAAK;IACrB,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,IAAI;IAC1B,MAAM,EAAE,EAAE;IACV,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,SAAS;IACvB,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,IAAI;CAClB,CAAC","sourcesContent":["import React from 'react';\n\n/**\n * Types for the wallet connection flow state machine\n */\n\n/**\n * Enum representing all possible states in the wallet connection flow\n */\nexport enum FlowState {\n CONNECTING_WALLET = 'CONNECTING_WALLET',\n CHAIN_SELECTION = 'CHAIN_SELECTION',\n AMOUNT_INPUT = 'AMOUNT_INPUT',\n DEPOSIT_PROGRESS = 'DEPOSIT_PROGRESS',\n DEPOSIT_SUCCESS = 'DEPOSIT_SUCCESS',\n AUTH_LOADING = 'AUTH_LOADING',\n FINAL_SUCCESS = 'FINAL_SUCCESS',\n ERROR = 'ERROR',\n}\n\n\n\n/**\n * Interface representing the flow context, containing all data necessary\n * for the wallet connection flow\n */\nexport interface StoredDepositRecord {\n transactionId: string;\n amount: string;\n tokenSymbol: string;\n chainId: string;\n chainName: string;\n chainNetwork: string | null;\n timestamp: number;\n}\n\nexport interface FlowContext {\n hasNordAccount: boolean;\n hasActiveSession: boolean;\n selectedChain: string | null;\n selectedChainId: string | null;\n selectedChainNetwork: string | null;\n amount: string;\n transactionId: string | null;\n error: Error | null;\n depositError?: string;\n isDepositOnlyFlow: boolean;\n lastDeposit: StoredDepositRecord | null;\n}\n\n/**\n * Interface for state transitions in the flow\n */\nexport interface StateTransition {\n from: FlowState | FlowState[];\n to: FlowState;\n condition?: (context: FlowContext) => boolean;\n}\n\n/**\n * Initial flow context with default values\n */\nexport const initialFlowContext: FlowContext = {\n hasNordAccount: false,\n hasActiveSession: false,\n selectedChain: null,\n selectedChainId: null,\n selectedChainNetwork: null,\n amount: '',\n transactionId: null,\n error: null,\n depositError: undefined,\n isDepositOnlyFlow: false,\n lastDeposit: null,\n};\n\nexport interface TableValues {\n amount?: { text: string; visible: boolean; typing: boolean };\n tx: { text: string; visible: boolean; typing: boolean };\n from: { text: string; visible: boolean; typing: boolean };\n to: { text: string; visible: boolean; typing: boolean };\n network: { text: string; visible: boolean; typing: boolean };\n status: { text: string; visible: boolean; typing: boolean };\n}\n\nexport interface WaitingMessageState {\n title: string;\n subtitle: string;\n visible: boolean;\n isTyping: boolean;\n}\n\n/**\n * Interface for a blockchain network\n */\nexport interface Chain {\n id: string;\n name: string;\n logo: string | React.ReactNode;\n disabled?: boolean;\n network?: string;\n description?: string;\n}\n\nexport interface App {\n name: string;\n color: string;\n progress: number;\n}\n\nexport type ButtonKey = 'deposit' | 'continue' | 'openApp';\n\nexport interface ButtonState {\n text: string;\n isTyping: boolean;\n showCursor: boolean;\n}\n\nexport type ButtonStates = Record<ButtonKey, ButtonState>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"depositStorage.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/utils/depositStorage.ts"],"names":[],"mappings":"AAEA,IAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEnD,IAAM,UAAU,GAAG;IACjB,OAAA,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY;AAA1D,CAA0D,CAAC;AAE7D,IAAM,MAAM,GAAG,UAAC,OAAe;IAC7B,OAAA,UAAG,uBAAuB,SAAG,OAAO,CAAC,WAAW,EAAE,CAAE;AAApD,CAAoD,CAAC;AAEvD,MAAM,UAAU,qBAAqB,CACnC,OAAkC,EAClC,MAA2B;IAE3B,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IAED,IAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAkC;IAElC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,IAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;IAChD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAkC;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC","sourcesContent":["import { StoredDepositRecord } from '../types';\n\nconst LAST_DEPOSIT_KEY_PREFIX = 'n1_last_deposit_';\n\nconst getStorage = () =>\n typeof window === 'undefined' ? null : window.localStorage;\n\nconst getKey = (address: string) =>\n `${LAST_DEPOSIT_KEY_PREFIX}${address.toLowerCase()}`;\n\nexport function saveLastDepositRecord(\n address: string | null | undefined,\n record: StoredDepositRecord\n) {\n if (!address || !record || !record.transactionId) {\n return;\n }\n\n const storage = getStorage();\n if (!storage) {\n return;\n }\n\n storage.setItem(getKey(address), JSON.stringify(record));\n}\n\nexport function readLastDepositRecord(\n address: string | null | undefined\n): StoredDepositRecord | null {\n if (!address) {\n return null;\n }\n\n const storage = getStorage();\n if (!storage) {\n return null;\n }\n\n try {\n const raw = storage.getItem(getKey(address));\n if (!raw) {\n return null;\n }\n return JSON.parse(raw) as StoredDepositRecord;\n } catch {\n storage.removeItem(getKey(address));\n return null;\n }\n}\n\nexport function clearLastDepositRecord(address: string | null | undefined) {\n if (!address) {\n return;\n }\n\n const storage = getStorage();\n if (!storage) {\n return;\n }\n\n storage.removeItem(getKey(address));\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageUtils.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/utils/imageUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,MAAM,CAAC,IAAM,YAAY,GAAG,UAAO,GAAW;;QAC5C,IAAI,CAAC,GAAG;YAAE,sBAAO,KAAK,EAAC;QAEvB,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO;gBACzB,IAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,GAAG,CAAC,MAAM,GAAG,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,EAAb,CAAa,CAAC;gBACjC,GAAG,CAAC,OAAO,GAAG,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,CAAC;gBACnC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;YAChB,CAAC,CAAC,EAAC;;KACJ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,OAAwB,EACxB,WAAoB;IAEpB,IAAI,CAAC;QACH,qDAAqD;QACrD,IAAM,OAAO,GACX,yEAAyE,CAAC;QAE5E,6CAA6C;QAC7C,IAAM,UAAU,GAA2B;YACzC,GAAG,EAAE,wBAAwB;YAC7B,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,uBAAuB;YAC9B,4BAA4B;SAC7B,CAAC;QAEF,IAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAG,OAAO,cAAI,UAAU,CAAC,UAAU,CAAC,CAAE,CAAC;QAChD,CAAC;QAED,OAAO,WAAW,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,WAAW,IAAI,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,WAAmB,EACnB,WAAoB;IAEpB,IAAI,CAAC;QACH,qDAAqD;QACrD,IAAM,OAAO,GACX,yFAAyF,CAAC;QAE5F,8DAA8D;QAC9D,IAAM,cAAc,GAA2B;YAC7C,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,4CAA4C;YAClD,GAAG,EAAE,4CAA4C;YACjD,4BAA4B;SAC7B,CAAC;QAEF,IAAI,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,UAAG,OAAO,cAAI,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,cAAW,CAAC;QAC5E,CAAC;QAED,OAAO,WAAW,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,WAAW,IAAI,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC","sourcesContent":["/**\n * Checks if an image URL is valid and accessible\n * @param url The image URL to check\n * @returns A promise that resolves to true if the image is valid, false otherwise\n */\nexport const isImageValid = async (url: string): Promise<boolean> => {\n if (!url) return false;\n\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => resolve(true);\n img.onerror = () => resolve(false);\n img.src = url;\n });\n};\n\n/**\n * Gets chain icon URL with fallback\n * @param chainId The chain ID\n * @param fallbackUrl Optional fallback URL\n * @returns The chain icon URL or fallback\n */\nexport const getChainIconUrl = (\n chainId: string | number,\n fallbackUrl?: string\n): string => {\n try {\n // Example implementation - replace with actual logic\n const baseUrl =\n 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains';\n\n // Map of chain IDs to their respective paths\n const chainPaths: Record<string, string> = {\n '1': 'ethereum/info/logo.png',\n '56': 'smartchain/info/logo.png',\n '137': 'polygon/info/logo.png',\n // Add more chains as needed\n };\n\n const chainIdStr = chainId.toString();\n if (chainPaths[chainIdStr]) {\n return `${baseUrl}/${chainPaths[chainIdStr]}`;\n }\n\n return fallbackUrl || '';\n } catch (error) {\n console.error('Error getting chain icon URL:', error);\n return fallbackUrl || '';\n }\n};\n\n/**\n * Gets token icon URL with fallback\n * @param tokenSymbol The token symbol (e.g., 'ETH', 'USDC')\n * @param chainId Optional chain ID for chain-specific tokens\n * @param fallbackUrl Optional fallback URL\n * @returns The token icon URL or fallback\n */\nexport const getTokenIconUrl = (\n tokenSymbol: string,\n fallbackUrl?: string\n): string => {\n try {\n // Example implementation - replace with actual logic\n const baseUrl =\n 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets';\n\n // Map of token symbols to their respective contract addresses\n const tokenAddresses: Record<string, string> = {\n USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',\n USDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7',\n DAI: '0x6B175474E89094C44Da98b954EedeAC495271d0F',\n // Add more tokens as needed\n };\n\n if (tokenAddresses[tokenSymbol.toUpperCase()]) {\n return `${baseUrl}/${tokenAddresses[tokenSymbol.toUpperCase()]}/logo.png`;\n }\n\n return fallbackUrl || '';\n } catch (error) {\n console.error('Error getting token icon URL:', error);\n return fallbackUrl || '';\n }\n};\n"]}
@@ -1,2 +0,0 @@
1
- export * from './imageUtils';
2
- export * from './nordUtils';
@@ -1,3 +0,0 @@
1
- export * from './imageUtils';
2
- export * from './nordUtils';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC","sourcesContent":["export * from './imageUtils';\nexport * from './nordUtils';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nordUtils.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/utils/nordUtils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAO;IAC3C,OAAO,EAAE,CAAC,EAAE;QACV,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAyB,EACzB,WAAmB;IAEnB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrD,OAAO,aAAa,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,OAAO,IAAK,OAAA,KAAK,GAAG,OAAO,CAAC,OAAO,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAS;IACxC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAuB,EACvB,QAAoB;IAApB,yBAAA,EAAA,YAAoB;IAEpB,IAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,OAAO,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,UAAsB,EACtB,QAAoB;IADpB,2BAAA,EAAA,cAAsB;IACtB,yBAAA,EAAA,YAAoB;IAEpB,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,GAAG,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE5D,OAAO,UAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAE,CAAC;AACjG,CAAC","sourcesContent":["import type { NordUser } from '@n1xyz/nord-ts';\n\n/**\n * Format a Nord transaction for display\n *\n * @param tx Transaction object\n * @returns Formatted transaction ID\n */\nexport function formatNordTransaction(tx: any): string {\n return tx.id\n ? tx.id.substring(0, 8) + '...' + tx.id.substring(tx.id.length - 8)\n : 'Unknown';\n}\n\n/**\n * Get token balance for a specific token\n *\n * @param nordUser NordUser instance\n * @param tokenSymbol Token symbol\n * @returns Token balance\n */\nexport function getTokenBalance(\n nordUser: NordUser | null,\n tokenSymbol: string\n): number {\n if (!nordUser || !nordUser.balances || !nordUser.balances[tokenSymbol]) {\n return 0;\n }\n\n const tokenBalances = nordUser.balances[tokenSymbol];\n return tokenBalances.reduce((total, balance) => total + balance.balance, 0);\n}\n\n/**\n * Check if Nord is properly configured\n *\n * @param nord Nord instance\n * @returns Whether Nord is properly configured\n */\nexport function isNordConfigured(nord: any): boolean {\n return !!nord && !!nord.webServerUrl && (!!nord.solanaConnection || !!nord.protonClient);\n}\n\n/**\n * Format an amount with the appropriate number of decimal places\n *\n * @param amount Amount to format\n * @param decimals Number of decimal places\n * @returns Formatted amount\n */\nexport function formatAmount(\n amount: number | string,\n decimals: number = 2\n): string {\n const numAmount = typeof amount === 'string' ? parseFloat(amount) : amount;\n return numAmount.toFixed(decimals);\n}\n\n/**\n * Shorten an address for display\n *\n * @param address Address to shorten\n * @param startChars Number of characters to show at the start\n * @param endChars Number of characters to show at the end\n * @returns Shortened address\n */\nexport function shortenAddress(\n address: string,\n startChars: number = 6,\n endChars: number = 4\n): string {\n if (!address) return '';\n if (address.length <= startChars + endChars) return address;\n\n return `${address.substring(0, startChars)}...${address.substring(address.length - endChars)}`;\n}\n"]}
@@ -1 +0,0 @@
1
- export declare function N1Sidebar(_: any): JSX.Element;
@@ -1,203 +0,0 @@
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 { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
38
- import BlockiesSvg from 'blockies-react-svg';
39
- import QRCodeLoader from '../../components/QRCodeLoader';
40
- import { ArrowDown, ArrowUp, X, ArrowLeft, Maximize2, Minimize2, } from 'lucide-react';
41
- import { useEffect, useState } from 'react';
42
- import { N1ModalViewMode, N1SessionMode } from '../../Provider/types';
43
- import { shortenAddress } from '../../utils/shortenString';
44
- import { useN1WalletContext, useN1WalletInternalContext, } from '../../Provider/hooks';
45
- import { importNTSSDK } from '../../utils/dynamicImports';
46
- import { getUserBalances } from '../../Logic/utils';
47
- import { logger } from '../../utils/logger';
48
- // DEPRECATED: NordTradingView has been deprecated due to errors and lack of use
49
- // import NordTradingView from './NordTradingView/NordTradingView';
50
- export function N1Sidebar(_) {
51
- var _this = this;
52
- // State management
53
- var _a = useState(false), closing = _a[0], setClosing = _a[1];
54
- var _b = useState(false), sending = _b[0], setSending = _b[1];
55
- var _c = useState(false), receiving = _c[0], setReceiving = _c[1];
56
- var _d = useState(''), success = _d[0], setSuccess = _d[1];
57
- var _e = useState(false), activeSending = _e[0], setActiveSending = _e[1];
58
- var _f = useState(''), tokenToSend = _f[0], setTokenToSend = _f[1];
59
- var _g = useState(''), appIdAction = _g[0], setAppIdAction = _g[1];
60
- var _h = useState(''), amount = _h[0], setAmount = _h[1];
61
- var _j = useState(''), recipientAddress = _j[0], setRecipientAddress = _j[1];
62
- var _k = useState(''), error = _k[0], setError = _k[1];
63
- var _l = useState(false), isFullscreen = _l[0], setIsFullscreen = _l[1];
64
- var _m = useState('balances'), currentView = _m[0], setCurrentView = _m[1];
65
- // Context hooks
66
- var _o = useN1WalletContext(), username = _o.username, isConnected = _o.isConnected, address = _o.address, balances = _o.balances, walletPubKey = _o.walletPubKey, sessionPubKey = _o.sessionPubKey, signMessageWithSessionKey = _o.signMessageWithSessionKey, sessionMode = _o.sessionMode;
67
- var _p = useN1WalletInternalContext(), setShowSidebar = _p.setShowSidebar, showSidebar = _p.showSidebar, setStartClosingLogin = _p.setStartClosingLogin, dynamicHandleLogOut = _p.dynamicHandleLogOut, setBalances = _p.setBalances, setViewMode = _p.setViewMode, setIsConnected = _p.setIsConnected;
68
- // Utility functions
69
- var clearSendingForm = function () {
70
- setAmount('');
71
- setTokenToSend('');
72
- setRecipientAddress('');
73
- setAppIdAction('');
74
- setSuccess('');
75
- setError('');
76
- };
77
- var handleClose = function () {
78
- setClosing(true);
79
- setStartClosingLogin(true);
80
- window.location.reload();
81
- };
82
- var disconnect = function () {
83
- dynamicHandleLogOut();
84
- setViewMode(N1ModalViewMode.Connect);
85
- setIsConnected(false);
86
- handleClose();
87
- };
88
- var toggleFullscreen = function () {
89
- setIsFullscreen(!isFullscreen);
90
- };
91
- // Effects
92
- useEffect(function () {
93
- if (showSidebar) {
94
- setClosing(false);
95
- }
96
- }, [showSidebar]);
97
- useEffect(function () {
98
- var timeout;
99
- if (closing) {
100
- timeout = setTimeout(function () {
101
- setShowSidebar(false);
102
- setClosing(false);
103
- }, 700);
104
- }
105
- return function () { return clearTimeout(timeout); };
106
- }, [closing, setShowSidebar]);
107
- useEffect(function () {
108
- if (!isConnected && showSidebar) {
109
- setShowSidebar(false);
110
- }
111
- }, [isConnected, showSidebar]);
112
- // Send tokens handler
113
- var handleSend = function (e) { return __awaiter(_this, void 0, void 0, function () {
114
- var sdk, nts, idl, appClient, balances_1, error_1;
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0:
118
- e.preventDefault();
119
- setError('');
120
- if (!sessionPubKey || !signMessageWithSessionKey || !walletPubKey)
121
- return [2 /*return*/];
122
- if (!tokenToSend || !amount || !recipientAddress) {
123
- setError('All fields are required.');
124
- setTimeout(function () { return setError(''); }, 2000);
125
- return [2 /*return*/];
126
- }
127
- if (isNaN(Number(amount)) || Number(amount) <= 0) {
128
- setError('Amount must be a positive number.');
129
- setTimeout(function () { return setError(''); }, 2000);
130
- return [2 /*return*/];
131
- }
132
- setActiveSending(true);
133
- _a.label = 1;
134
- case 1:
135
- _a.trys.push([1, 6, , 7]);
136
- return [4 /*yield*/, importNTSSDK()];
137
- case 2:
138
- sdk = _a.sent();
139
- nts = new sdk.NTSInterface(process.env.NTS_URL);
140
- return [4 /*yield*/, nts.getAppIdl(appIdAction)];
141
- case 3:
142
- idl = _a.sent();
143
- appClient = sdk.NAppClient.fromSignFn(process.env.NTS_URL, appIdAction, idl, walletPubKey, sessionPubKey, signMessageWithSessionKey);
144
- return [4 /*yield*/, appClient['transfer'](amount, tokenToSend, recipientAddress)];
145
- case 4:
146
- _a.sent();
147
- return [4 /*yield*/, getUserBalances(address)];
148
- case 5:
149
- balances_1 = _a.sent();
150
- setBalances(balances_1);
151
- setActiveSending(false);
152
- setSuccess('Tokens sent successfully!');
153
- setTimeout(function () {
154
- setSending(false);
155
- clearSendingForm();
156
- }, 2000);
157
- return [3 /*break*/, 7];
158
- case 6:
159
- error_1 = _a.sent();
160
- logger.error('Error sending tokens:', error_1);
161
- setError('Error sending tokens. Please try again.');
162
- setActiveSending(false);
163
- setTimeout(function () { return setError(''); }, 2000);
164
- return [3 /*break*/, 7];
165
- case 7: return [2 /*return*/];
166
- }
167
- });
168
- }); };
169
- return (_jsxs("div", { className: "fixed inset-0 bg-white/45 dark:bg-black/45 h-screen w-screen duration-500 ease-[cubic-bezier(0.16,1,0.3,1)] z-[9999] flex items-stretch justify-end backdrop-blur-sm ".concat(!showSidebar ? 'hidden pointer-events-none' : '', " ").concat(closing ? 'opacity-0' : 'opacity-100'), children: [showSidebar && (_jsx("div", { className: "w-screen h-screen fixed top-0 left-0", onClick: function () { return setClosing(true); } })), showSidebar && (_jsxs("div", { className: "relative h-screen bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 shadow-xl border-l border-n1-ww-gray-200 dark:border-n1-ww-gray-800 duration-500 ease-[cubic-bezier(0.16,1,0.3,1)] overflow-hidden ".concat(closing ? 'translate-x-full' : 'translate-x-0', " ").concat(isFullscreen ? 'w-screen' : 'w-[420px]'), children: [_jsxs("div", { className: "flex justify-between items-center px-6 py-4 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800", children: [_jsxs("div", { className: "flex items-center gap-4", children: [currentView !== 'balances' && (_jsx("button", { onClick: function () {
170
- setCurrentView('balances');
171
- clearSendingForm();
172
- }, className: "text-n1-ww-gray-500 hover:text-red-500 dark:text-n1-ww-gray-400 dark:hover:text-red-500 transition-colors duration-200", children: _jsx(ArrowLeft, { size: 20 }) })), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(BlockiesSvg, { address: address, className: "w-10 h-10 rounded-full" }), _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-50", children: username }), _jsx("span", { className: "text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400", children: shortenAddress(address) })] })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { onClick: toggleFullscreen, className: "text-n1-ww-gray-400 hover:text-red-500 transition-colors duration-200 h-6 flex items-center", "aria-label": isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen', children: isFullscreen ? (_jsx(Minimize2, { size: 20 })) : (_jsx(Maximize2, { size: 20 })) }), _jsx("button", { onClick: handleClose, className: "text-n1-ww-gray-400 hover:text-red-500 transition-colors duration-200 h-6 flex items-center", children: _jsx(X, { size: 20 }) })] })] }), _jsx("div", { className: "p-6 overflow-y-auto h-[calc(100vh-144px)]", children: _jsx("div", { className: "space-y-4", children: sessionMode === N1SessionMode.Nord ? (
173
- // DEPRECATED: NordTradingView has been deprecated due to errors
174
- // <NordTradingView />
175
- _jsxs("div", { className: "p-4 bg-yellow-50 dark:bg-yellow-900/20 rounded-xl text-yellow-600 dark:text-yellow-400 text-center", children: [_jsx("h3", { className: "font-semibold mb-2", children: "Nord Trading View Deprecated" }), _jsx("p", { className: "text-sm", children: "The Nord Trading View has been temporarily disabled due to technical issues. Please use the standard wallet features below." })] })) : (_jsxs(_Fragment, { children: [currentView === 'balances' && (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("h2", { className: "text-xl font-semibold text-n1-ww-gray-900 dark:text-n1-ww-gray-50", children: "Balances" }), _jsxs("div", { className: "flex space-x-2", children: [_jsxs("button", { onClick: function () {
176
- setReceiving(true);
177
- setSending(false);
178
- setCurrentView('receive');
179
- }, className: "px-3 py-1.5 bg-blue-100 dark:bg-blue-900/20 hover:bg-blue-200 dark:hover:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded-lg transition-colors duration-200 flex items-center", children: [_jsx(ArrowDown, { size: 16, className: "mr-1.5" }), "Receive"] }), _jsxs("button", { onClick: function () {
180
- setSending(true);
181
- setReceiving(false);
182
- setCurrentView('send');
183
- }, className: "px-3 py-1.5 bg-blue-100 dark:bg-blue-900/20 hover:bg-blue-200 dark:hover:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded-lg transition-colors duration-200 flex items-center", children: [_jsx(ArrowUp, { size: 16, className: "mr-1.5" }), "Send"] })] })] }), balances && balances.length > 0 ? (_jsx("div", { className: "space-y-3", children: balances.map(function (balance, index) { return (_jsxs("div", { className: "p-4 bg-white dark:bg-n1-ww-gray-900 rounded-xl shadow-sm border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 flex justify-between items-center", children: [_jsxs("div", { children: [_jsx("div", { className: "font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-50", children: balance.appType }), _jsx("div", { className: "text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400", children: balance.appId })] }), _jsxs("div", { className: "text-right", children: [_jsx("div", { className: "font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-50", children: balance.balance.toString() }), _jsx("div", { className: "text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400", children: "Available" })] })] }, index)); }) })) : (_jsx("div", { className: "p-4 bg-n1-ww-gray-50 dark:bg-n1-ww-gray-800 rounded-xl text-n1-ww-gray-500 dark:text-n1-ww-gray-400 text-center", children: "No balances found" }))] })), currentView === 'send' && (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center", children: [_jsx("button", { onClick: function () {
184
- setCurrentView('balances');
185
- clearSendingForm();
186
- }, className: "mr-3 text-n1-ww-gray-500 hover:text-n1-ww-gray-700 dark:text-n1-ww-gray-400 dark:hover:text-n1-ww-gray-200", children: _jsx(ArrowLeft, { size: 20 }) }), _jsx("h2", { className: "text-xl font-semibold text-n1-ww-gray-900 dark:text-n1-ww-gray-50", children: "Send Tokens" })] }), error && (_jsx("div", { className: "p-4 bg-red-50 dark:bg-red-900/20 rounded-xl text-red-600 dark:text-red-400 text-sm", children: error })), success && (_jsx("div", { className: "p-4 bg-green-50 dark:bg-green-900/20 rounded-xl text-green-600 dark:text-green-400 text-sm", children: success })), _jsxs("form", { onSubmit: handleSend, className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1", children: "Token" }), _jsxs("select", { value: tokenToSend, onChange: function (e) { return setTokenToSend(e.target.value); }, className: "w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800", required: true, children: [_jsx("option", { value: "", children: "Select Token" }), balances &&
187
- balances.map(function (balance, index) { return (_jsxs("option", { value: balance.mint, children: [balance.appType, " (", balance.balance.toString(), ")"] }, index)); })] })] }), tokenToSend && (_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1", children: "App ID" }), _jsxs("select", { value: appIdAction, onChange: function (e) { return setAppIdAction(e.target.value); }, className: "w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800", required: true, children: [_jsx("option", { value: "", children: "Select App ID" }), balances &&
188
- balances
189
- .filter(function (balance) {
190
- return balance.mint === tokenToSend;
191
- })
192
- .map(function (balance, index) { return (_jsx("option", { value: balance.appId, children: balance.appId }, index)); })] })] })), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1", children: "Amount" }), _jsx("input", { type: "text", value: amount, onChange: function (e) { return setAmount(e.target.value); }, className: "w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800", placeholder: "Enter amount", required: true })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1", children: "Recipient Address" }), _jsx("input", { type: "text", value: recipientAddress, onChange: function (e) {
193
- return setRecipientAddress(e.target.value);
194
- }, className: "w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800", placeholder: "Enter recipient address", required: true })] }), _jsx("button", { type: "submit", disabled: activeSending, className: "w-full py-3 rounded-xl font-medium transition-colors duration-200 ".concat(activeSending
195
- ? 'bg-n1-ww-gray-300 dark:bg-n1-ww-gray-700 text-n1-ww-gray-500 dark:text-n1-ww-gray-400 cursor-not-allowed'
196
- : 'bg-blue-600 hover:bg-blue-700 text-white'), children: activeSending ? 'Sending...' : 'Send Tokens' })] })] })), currentView === 'receive' && (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center", children: [_jsx("button", { onClick: function () {
197
- setCurrentView('balances');
198
- setReceiving(false);
199
- }, className: "mr-3 text-n1-ww-gray-500 hover:text-n1-ww-gray-700 dark:text-n1-ww-gray-400 dark:hover:text-n1-ww-gray-200", children: _jsx(ArrowLeft, { size: 20 }) }), _jsx("h2", { className: "text-xl font-semibold text-n1-ww-gray-900 dark:text-n1-ww-gray-50", children: "Receive Tokens" })] }), _jsxs("div", { className: "p-4 bg-white dark:bg-n1-ww-gray-900 rounded-xl shadow-sm border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 flex flex-col items-center", children: [_jsx("div", { className: "mb-4 bg-white p-2 rounded-lg", children: _jsx(QRCodeLoader, { address: address }) }), _jsx("div", { className: "text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400 mb-2", children: "Your wallet address:" }), _jsx("div", { className: "font-mono text-sm text-n1-ww-gray-900 dark:text-n1-ww-gray-100 mb-4 break-all text-center", children: address }), _jsx("button", { onClick: function () {
200
- navigator.clipboard.writeText(address);
201
- }, className: "px-4 py-2 bg-blue-100 dark:bg-blue-900/20 hover:bg-blue-200 dark:hover:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded-lg transition-colors duration-200", children: "Copy Address" })] })] }))] })) }) }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 p-6 border-t border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950", children: _jsxs("button", { onClick: disconnect, className: "group relative w-full px-6 py-3 rounded-sm bg-white dark:bg-n1-ww-gray-900 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 font-medium transition-all duration-300 ease-in-out overflow-hidden", children: [_jsx("div", { className: "relative z-10 flex items-center justify-center", children: _jsx("span", { className: "text-n1-ww-gray-900 dark:text-n1-ww-gray-100 group-hover:text-white dark:group-hover:text-white transition-colors duration-300 ease-in-out", children: "Disconnect" }) }), _jsx("div", { className: "absolute inset-0 bg-red-700 transform scale-x-0 group-hover:scale-x-100 transition-transform duration-300 ease-in-out origin-left" })] }) })] }))] }));
202
- }
203
- //# sourceMappingURL=N1Sidebar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"N1Sidebar.js","sourceRoot":"","sources":["../../../src/Modal/Sidebar/N1Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import BlockiesSvg from 'blockies-react-svg';\nimport QRCodeLoader from '../../components/QRCodeLoader';\nimport {\n ArrowDown,\n ArrowUp,\n X,\n ArrowLeft,\n Maximize2,\n Minimize2,\n} from 'lucide-react';\nimport { useEffect, useState } from 'react';\nimport { Balance, N1ModalViewMode, N1SessionMode } from '../../Provider/types';\nimport { shortenAddress } from '../../utils/shortenString';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../Provider/hooks';\nimport { importNTSSDK } from '../../utils/dynamicImports';\nimport { getUserBalances } from '../../Logic/utils';\nimport { logger } from '../../utils/logger';\n// DEPRECATED: NordTradingView has been deprecated due to errors and lack of use\n// import NordTradingView from './NordTradingView/NordTradingView';\n\nexport function N1Sidebar(_: any) {\n // State management\n const [closing, setClosing] = useState(false);\n const [sending, setSending] = useState(false);\n const [receiving, setReceiving] = useState(false);\n const [success, setSuccess] = useState('');\n const [activeSending, setActiveSending] = useState(false);\n const [tokenToSend, setTokenToSend] = useState('');\n const [appIdAction, setAppIdAction] = useState('');\n const [amount, setAmount] = useState('');\n const [recipientAddress, setRecipientAddress] = useState('');\n const [error, setError] = useState('');\n const [isFullscreen, setIsFullscreen] = useState(false);\n const [currentView, setCurrentView] = useState<\n 'balances' | 'send' | 'receive'\n >('balances');\n\n // Context hooks\n const {\n username,\n isConnected,\n address,\n balances,\n walletPubKey,\n sessionPubKey,\n signMessageWithSessionKey,\n sessionMode,\n } = useN1WalletContext();\n\n const {\n setShowSidebar,\n showSidebar,\n setStartClosingLogin,\n dynamicHandleLogOut,\n setBalances,\n setViewMode,\n setIsConnected,\n } = useN1WalletInternalContext();\n\n // Utility functions\n const clearSendingForm = () => {\n setAmount('');\n setTokenToSend('');\n setRecipientAddress('');\n setAppIdAction('');\n setSuccess('');\n setError('');\n };\n\n const handleClose = () => {\n setClosing(true);\n setStartClosingLogin(true);\n window.location.reload();\n };\n\n const disconnect = () => {\n dynamicHandleLogOut();\n setViewMode(N1ModalViewMode.Connect);\n setIsConnected(false);\n handleClose();\n };\n\n const toggleFullscreen = () => {\n setIsFullscreen(!isFullscreen);\n };\n\n // Effects\n useEffect(() => {\n if (showSidebar) {\n setClosing(false);\n }\n }, [showSidebar]);\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n if (closing) {\n timeout = setTimeout(() => {\n setShowSidebar(false);\n setClosing(false);\n }, 700);\n }\n return () => clearTimeout(timeout);\n }, [closing, setShowSidebar]);\n\n useEffect(() => {\n if (!isConnected && showSidebar) {\n setShowSidebar(false);\n }\n }, [isConnected, showSidebar]);\n\n // Send tokens handler\n const handleSend = async (e: React.FormEvent) => {\n e.preventDefault();\n setError('');\n\n if (!sessionPubKey || !signMessageWithSessionKey || !walletPubKey) return;\n\n if (!tokenToSend || !amount || !recipientAddress) {\n setError('All fields are required.');\n setTimeout(() => setError(''), 2000);\n return;\n }\n\n if (isNaN(Number(amount)) || Number(amount) <= 0) {\n setError('Amount must be a positive number.');\n setTimeout(() => setError(''), 2000);\n return;\n }\n\n setActiveSending(true);\n\n try {\n const sdk = await importNTSSDK();\n const nts = new sdk.NTSInterface(process.env.NTS_URL!);\n const idl = await nts.getAppIdl(appIdAction);\n const appClient = sdk.NAppClient.fromSignFn(\n process.env.NTS_URL!,\n appIdAction,\n idl,\n walletPubKey,\n sessionPubKey,\n signMessageWithSessionKey\n );\n\n await (appClient as any)['transfer'](\n amount,\n tokenToSend,\n recipientAddress\n );\n\n const balances = await getUserBalances(address);\n setBalances(balances);\n\n setActiveSending(false);\n setSuccess('Tokens sent successfully!');\n setTimeout(() => {\n setSending(false);\n clearSendingForm();\n }, 2000);\n } catch (error) {\n logger.error('Error sending tokens:', error);\n setError('Error sending tokens. Please try again.');\n setActiveSending(false);\n setTimeout(() => setError(''), 2000);\n }\n };\n\n return (\n <div\n className={`fixed inset-0 bg-white/45 dark:bg-black/45 h-screen w-screen duration-500 ease-[cubic-bezier(0.16,1,0.3,1)] z-[9999] flex items-stretch justify-end backdrop-blur-sm ${\n !showSidebar ? 'hidden pointer-events-none' : ''\n } ${closing ? 'opacity-0' : 'opacity-100'}`}\n >\n {showSidebar && (\n <div\n className=\"w-screen h-screen fixed top-0 left-0\"\n onClick={() => setClosing(true)}\n />\n )}\n {showSidebar && (\n <div\n className={`relative h-screen bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 shadow-xl border-l border-n1-ww-gray-200 dark:border-n1-ww-gray-800 duration-500 ease-[cubic-bezier(0.16,1,0.3,1)] overflow-hidden ${\n closing ? 'translate-x-full' : 'translate-x-0'\n } ${isFullscreen ? 'w-screen' : 'w-[420px]'}`}\n >\n {/* Header */}\n <div className=\"flex justify-between items-center px-6 py-4 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800\">\n <div className=\"flex items-center gap-4\">\n {currentView !== 'balances' && (\n <button\n onClick={() => {\n setCurrentView('balances');\n clearSendingForm();\n }}\n className=\"text-n1-ww-gray-500 hover:text-red-500 dark:text-n1-ww-gray-400 dark:hover:text-red-500 transition-colors duration-200\"\n >\n <ArrowLeft size={20} />\n </button>\n )}\n <div className=\"flex items-center gap-3\">\n <BlockiesSvg\n address={address}\n className=\"w-10 h-10 rounded-full\"\n />\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-50\">\n {username}\n </span>\n <span className=\"text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400\">\n {shortenAddress(address)}\n </span>\n </div>\n </div>\n </div>\n <div className=\"flex items-center gap-3\">\n <button\n onClick={toggleFullscreen}\n className=\"text-n1-ww-gray-400 hover:text-red-500 transition-colors duration-200 h-6 flex items-center\"\n aria-label={\n isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'\n }\n >\n {isFullscreen ? (\n <Minimize2 size={20} />\n ) : (\n <Maximize2 size={20} />\n )}\n </button>\n <button\n onClick={handleClose}\n className=\"text-n1-ww-gray-400 hover:text-red-500 transition-colors duration-200 h-6 flex items-center\"\n >\n <X size={20} />\n </button>\n </div>\n </div>\n\n {/* Main Content */}\n <div className=\"p-6 overflow-y-auto h-[calc(100vh-144px)]\">\n {/* Views */}\n <div className=\"space-y-4\">\n {sessionMode === N1SessionMode.Nord ? (\n // DEPRECATED: NordTradingView has been deprecated due to errors\n // <NordTradingView />\n <div className=\"p-4 bg-yellow-50 dark:bg-yellow-900/20 rounded-xl text-yellow-600 dark:text-yellow-400 text-center\">\n <h3 className=\"font-semibold mb-2\">Nord Trading View Deprecated</h3>\n <p className=\"text-sm\">The Nord Trading View has been temporarily disabled due to technical issues. Please use the standard wallet features below.</p>\n </div>\n ) : (\n <>\n {currentView === 'balances' && (\n <div className=\"space-y-4\">\n {/* Balances View */}\n <div className=\"flex justify-between items-center\">\n <h2 className=\"text-xl font-semibold text-n1-ww-gray-900 dark:text-n1-ww-gray-50\">\n Balances\n </h2>\n <div className=\"flex space-x-2\">\n <button\n onClick={() => {\n setReceiving(true);\n setSending(false);\n setCurrentView('receive');\n }}\n className=\"px-3 py-1.5 bg-blue-100 dark:bg-blue-900/20 hover:bg-blue-200 dark:hover:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded-lg transition-colors duration-200 flex items-center\"\n >\n <ArrowDown size={16} className=\"mr-1.5\" />\n Receive\n </button>\n <button\n onClick={() => {\n setSending(true);\n setReceiving(false);\n setCurrentView('send');\n }}\n className=\"px-3 py-1.5 bg-blue-100 dark:bg-blue-900/20 hover:bg-blue-200 dark:hover:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded-lg transition-colors duration-200 flex items-center\"\n >\n <ArrowUp size={16} className=\"mr-1.5\" />\n Send\n </button>\n </div>\n </div>\n\n {/* Balance List */}\n {balances && balances.length > 0 ? (\n <div className=\"space-y-3\">\n {balances.map((balance: Balance, index: number) => (\n <div\n key={index}\n className=\"p-4 bg-white dark:bg-n1-ww-gray-900 rounded-xl shadow-sm border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 flex justify-between items-center\"\n >\n <div>\n <div className=\"font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-50\">\n {balance.appType}\n </div>\n <div className=\"text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400\">\n {balance.appId}\n </div>\n </div>\n <div className=\"text-right\">\n <div className=\"font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-50\">\n {balance.balance.toString()}\n </div>\n <div className=\"text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400\">\n Available\n </div>\n </div>\n </div>\n ))}\n </div>\n ) : (\n <div className=\"p-4 bg-n1-ww-gray-50 dark:bg-n1-ww-gray-800 rounded-xl text-n1-ww-gray-500 dark:text-n1-ww-gray-400 text-center\">\n No balances found\n </div>\n )}\n </div>\n )}\n\n {/* Send View */}\n {currentView === 'send' && (\n <div className=\"space-y-4\">\n <div className=\"flex items-center\">\n <button\n onClick={() => {\n setCurrentView('balances');\n clearSendingForm();\n }}\n className=\"mr-3 text-n1-ww-gray-500 hover:text-n1-ww-gray-700 dark:text-n1-ww-gray-400 dark:hover:text-n1-ww-gray-200\"\n >\n <ArrowLeft size={20} />\n </button>\n <h2 className=\"text-xl font-semibold text-n1-ww-gray-900 dark:text-n1-ww-gray-50\">\n Send Tokens\n </h2>\n </div>\n\n {error && (\n <div className=\"p-4 bg-red-50 dark:bg-red-900/20 rounded-xl text-red-600 dark:text-red-400 text-sm\">\n {error}\n </div>\n )}\n\n {success && (\n <div className=\"p-4 bg-green-50 dark:bg-green-900/20 rounded-xl text-green-600 dark:text-green-400 text-sm\">\n {success}\n </div>\n )}\n\n <form onSubmit={handleSend} className=\"space-y-4\">\n {/* Token Selection */}\n <div>\n <label className=\"block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1\">\n Token\n </label>\n <select\n value={tokenToSend}\n onChange={(e) => setTokenToSend(e.target.value)}\n className=\"w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800\"\n required\n >\n <option value=\"\">Select Token</option>\n {balances &&\n balances.map(\n (balance: Balance, index: number) => (\n <option key={index} value={balance.mint}>\n {balance.appType} (\n {balance.balance.toString()})\n </option>\n )\n )}\n </select>\n </div>\n\n {/* App ID Selection */}\n {tokenToSend && (\n <div>\n <label className=\"block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1\">\n App ID\n </label>\n <select\n value={appIdAction}\n onChange={(e) => setAppIdAction(e.target.value)}\n className=\"w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800\"\n required\n >\n <option value=\"\">Select App ID</option>\n {balances &&\n balances\n .filter(\n (balance: Balance) =>\n balance.mint === tokenToSend\n )\n .map((balance: Balance, index: number) => (\n <option key={index} value={balance.appId}>\n {balance.appId}\n </option>\n ))}\n </select>\n </div>\n )}\n\n {/* Amount Input */}\n <div>\n <label className=\"block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1\">\n Amount\n </label>\n <input\n type=\"text\"\n value={amount}\n onChange={(e) => setAmount(e.target.value)}\n className=\"w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800\"\n placeholder=\"Enter amount\"\n required\n />\n </div>\n\n {/* Recipient Address */}\n <div>\n <label className=\"block text-sm font-medium text-n1-ww-gray-700 dark:text-n1-ww-gray-300 mb-1\">\n Recipient Address\n </label>\n <input\n type=\"text\"\n value={recipientAddress}\n onChange={(e) =>\n setRecipientAddress(e.target.value)\n }\n className=\"w-full px-3 py-2 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-800 rounded-lg text-n1-ww-gray-900 dark:text-n1-ww-gray-100 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800\"\n placeholder=\"Enter recipient address\"\n required\n />\n </div>\n\n {/* Submit Button */}\n <button\n type=\"submit\"\n disabled={activeSending}\n className={`w-full py-3 rounded-xl font-medium transition-colors duration-200 ${\n activeSending\n ? 'bg-n1-ww-gray-300 dark:bg-n1-ww-gray-700 text-n1-ww-gray-500 dark:text-n1-ww-gray-400 cursor-not-allowed'\n : 'bg-blue-600 hover:bg-blue-700 text-white'\n }`}\n >\n {activeSending ? 'Sending...' : 'Send Tokens'}\n </button>\n </form>\n </div>\n )}\n\n {/* Receive View */}\n {currentView === 'receive' && (\n <div className=\"space-y-4\">\n <div className=\"flex items-center\">\n <button\n onClick={() => {\n setCurrentView('balances');\n setReceiving(false);\n }}\n className=\"mr-3 text-n1-ww-gray-500 hover:text-n1-ww-gray-700 dark:text-n1-ww-gray-400 dark:hover:text-n1-ww-gray-200\"\n >\n <ArrowLeft size={20} />\n </button>\n <h2 className=\"text-xl font-semibold text-n1-ww-gray-900 dark:text-n1-ww-gray-50\">\n Receive Tokens\n </h2>\n </div>\n\n <div className=\"p-4 bg-white dark:bg-n1-ww-gray-900 rounded-xl shadow-sm border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 flex flex-col items-center\">\n <div className=\"mb-4 bg-white p-2 rounded-lg\">\n <QRCodeLoader address={address} />\n </div>\n <div className=\"text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400 mb-2\">\n Your wallet address:\n </div>\n <div className=\"font-mono text-sm text-n1-ww-gray-900 dark:text-n1-ww-gray-100 mb-4 break-all text-center\">\n {address}\n </div>\n <button\n onClick={() => {\n navigator.clipboard.writeText(address);\n }}\n className=\"px-4 py-2 bg-blue-100 dark:bg-blue-900/20 hover:bg-blue-200 dark:hover:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded-lg transition-colors duration-200\"\n >\n Copy Address\n </button>\n </div>\n </div>\n )}\n </>\n )}\n </div>\n </div>\n\n {/* Footer */}\n <div className=\"absolute bottom-0 left-0 right-0 p-6 border-t border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950\">\n <button\n onClick={disconnect}\n className=\"group relative w-full px-6 py-3 rounded-sm bg-white dark:bg-n1-ww-gray-900 border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 font-medium transition-all duration-300 ease-in-out overflow-hidden\"\n >\n <div className=\"relative z-10 flex items-center justify-center\">\n <span className=\"text-n1-ww-gray-900 dark:text-n1-ww-gray-100 group-hover:text-white dark:group-hover:text-white transition-colors duration-300 ease-in-out\">\n Disconnect\n </span>\n </div>\n <div className=\"absolute inset-0 bg-red-700 transform scale-x-0 group-hover:scale-x-100 transition-transform duration-300 ease-in-out origin-left\"></div>\n </button>\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1,12 +0,0 @@
1
- /**
2
- * @deprecated This component is deprecated due to technical issues.
3
- * Please refer to DEPRECATED.md for more information.
4
- */
5
- interface MarketOverviewProps {
6
- selectedMarketSymbol: string | null;
7
- selectedMarketId: number | null;
8
- onMarketChange: (market: string) => void;
9
- className?: string;
10
- }
11
- export default function MarketOverview({ selectedMarketSymbol, selectedMarketId, onMarketChange, className, }: MarketOverviewProps): JSX.Element;
12
- export {};
@@ -1,90 +0,0 @@
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 { jsx as _jsx } from "react/jsx-runtime";
38
- /**
39
- * @deprecated This component is deprecated due to technical issues.
40
- * Please refer to DEPRECATED.md for more information.
41
- */
42
- import { useEffect, useState } from 'react';
43
- import { useN1WalletContext } from '../../../../Provider/hooks';
44
- import MarketSelector from '../MarketOverview/MarketSelector';
45
- export default function MarketOverview(_a) {
46
- var _this = this;
47
- var selectedMarketSymbol = _a.selectedMarketSymbol, selectedMarketId = _a.selectedMarketId, onMarketChange = _a.onMarketChange, _b = _a.className, className = _b === void 0 ? '' : _b;
48
- var nord = useN1WalletContext().nord;
49
- var _c = useState(null), marketStats = _c[0], setMarketStats = _c[1];
50
- var _d = useState(false), loading = _d[0], setLoading = _d[1];
51
- var _e = useState(null), error = _e[0], setError = _e[1];
52
- // Fetch market stats when selected market changes
53
- useEffect(function () {
54
- if (!selectedMarketId || !nord)
55
- return;
56
- var fetchMarketStats = function () { return __awaiter(_this, void 0, void 0, function () {
57
- var stats, err_1;
58
- return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0:
61
- setLoading(true);
62
- setError(null);
63
- _a.label = 1;
64
- case 1:
65
- _a.trys.push([1, 3, 4, 5]);
66
- return [4 /*yield*/, nord.getMarketStats({ marketId: selectedMarketId })];
67
- case 2:
68
- stats = _a.sent();
69
- setMarketStats(stats || null);
70
- return [3 /*break*/, 5];
71
- case 3:
72
- err_1 = _a.sent();
73
- console.error('Error fetching market stats:', err_1);
74
- setError('Failed to load market statistics');
75
- return [3 /*break*/, 5];
76
- case 4:
77
- setLoading(false);
78
- return [7 /*endfinally*/];
79
- case 5: return [2 /*return*/];
80
- }
81
- });
82
- }); };
83
- fetchMarketStats();
84
- // Set up polling for market stats updates
85
- var intervalId = setInterval(fetchMarketStats, 30000); // Update every 30 seconds
86
- return function () { return clearInterval(intervalId); };
87
- }, [selectedMarketId, nord]);
88
- return (_jsx("div", { className: "".concat(className), children: _jsx(MarketSelector, { selectedMarketSymbol: selectedMarketSymbol, onMarketChange: onMarketChange }) }));
89
- }
90
- //# sourceMappingURL=MarketOverview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketOverview.js","sourceRoot":"","sources":["../../../../../src/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAS9D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAKjB;IALtB,iBA8CC;QA7CC,oBAAoB,0BAAA,EACpB,gBAAgB,sBAAA,EAChB,cAAc,oBAAA,EACd,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAEN,IAAA,IAAI,GAAK,kBAAkB,EAAE,KAAzB,CAA0B;IAChC,IAAA,KAAgC,QAAQ,CAAM,IAAI,CAAC,EAAlD,WAAW,QAAA,EAAE,cAAc,QAAuB,CAAC;IACpD,IAAA,KAAwB,QAAQ,CAAC,KAAK,CAAC,EAAtC,OAAO,QAAA,EAAE,UAAU,QAAmB,CAAC;IACxC,IAAA,KAAoB,QAAQ,CAAgB,IAAI,CAAC,EAAhD,KAAK,QAAA,EAAE,QAAQ,QAAiC,CAAC;IAExD,kDAAkD;IAClD,SAAS,CAAC;QACR,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI;YAAE,OAAO;QAEvC,IAAM,gBAAgB,GAAG;;;;;wBACvB,UAAU,CAAC,IAAI,CAAC,CAAC;wBACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;wBAGC,qBAAM,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAA;;wBAAjE,KAAK,GAAG,SAAyD;wBACvE,cAAc,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;;;;wBAE9B,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAG,CAAC,CAAC;wBACnD,QAAQ,CAAC,kCAAkC,CAAC,CAAC;;;wBAE7C,UAAU,CAAC,KAAK,CAAC,CAAC;;;;;aAErB,CAAC;QAEF,gBAAgB,EAAE,CAAC;QAEnB,0CAA0C;QAC1C,IAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,0BAA0B;QAEnF,OAAO,cAAM,OAAA,aAAa,CAAC,UAAU,CAAC,EAAzB,CAAyB,CAAC;IACzC,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAE7B,OAAO,CACL,cAAK,SAAS,EAAE,UAAG,SAAS,CAAE,YAC5B,KAAC,cAAc,IACb,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE,cAAc,GAC9B,GACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @deprecated This component is deprecated due to technical issues.\n * Please refer to DEPRECATED.md for more information.\n */\n\nimport { useEffect, useState } from 'react';\nimport { useN1WalletContext } from '../../../../Provider/hooks';\nimport MarketSelector from '../MarketOverview/MarketSelector';\n\ninterface MarketOverviewProps {\n selectedMarketSymbol: string | null;\n selectedMarketId: number | null;\n onMarketChange: (market: string) => void;\n className?: string;\n}\n\nexport default function MarketOverview({\n selectedMarketSymbol,\n selectedMarketId,\n onMarketChange,\n className = '',\n}: MarketOverviewProps) {\n const { nord } = useN1WalletContext();\n const [marketStats, setMarketStats] = useState<any>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n // Fetch market stats when selected market changes\n useEffect(() => {\n if (!selectedMarketId || !nord) return;\n\n const fetchMarketStats = async () => {\n setLoading(true);\n setError(null);\n\n try {\n const stats = await nord.getMarketStats({ marketId: selectedMarketId });\n setMarketStats(stats || null);\n } catch (err) {\n console.error('Error fetching market stats:', err);\n setError('Failed to load market statistics');\n } finally {\n setLoading(false);\n }\n };\n\n fetchMarketStats();\n\n // Set up polling for market stats updates\n const intervalId = setInterval(fetchMarketStats, 30000); // Update every 30 seconds\n\n return () => clearInterval(intervalId);\n }, [selectedMarketId, nord]);\n\n return (\n <div className={`${className}`}>\n <MarketSelector\n selectedMarketSymbol={selectedMarketSymbol}\n onMarketChange={onMarketChange}\n />\n </div>\n );\n}\n"]}
@@ -1,6 +0,0 @@
1
- interface MarketSelectorProps {
2
- selectedMarketSymbol: string | null;
3
- onMarketChange: (market: string) => void;
4
- }
5
- export default function MarketSelector({ selectedMarketSymbol, onMarketChange, }: MarketSelectorProps): JSX.Element;
6
- export {};
@@ -1,43 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useRef } from 'react';
3
- import { useN1WalletContext } from '../../../../Provider/hooks';
4
- import { ChevronDown } from 'lucide-react';
5
- export default function MarketSelector(_a) {
6
- var _b;
7
- var selectedMarketSymbol = _a.selectedMarketSymbol, onMarketChange = _a.onMarketChange;
8
- var nord = useN1WalletContext().nord;
9
- var _c = useState(false), isOpen = _c[0], setIsOpen = _c[1];
10
- var _d = useState(''), searchQuery = _d[0], setSearchQuery = _d[1];
11
- var dropdownRef = useRef(null);
12
- var buttonRef = useRef(null);
13
- var containerRef = useRef(null);
14
- // Close dropdown when clicking outside
15
- useEffect(function () {
16
- function handleClickOutside(event) {
17
- if (dropdownRef.current &&
18
- !dropdownRef.current.contains(event.target) &&
19
- buttonRef.current &&
20
- !buttonRef.current.contains(event.target)) {
21
- setIsOpen(false);
22
- }
23
- }
24
- document.addEventListener('mousedown', handleClickOutside);
25
- return function () {
26
- document.removeEventListener('mousedown', handleClickOutside);
27
- };
28
- }, []);
29
- // Filter markets based on search query
30
- var filteredMarkets = ((_b = nord === null || nord === void 0 ? void 0 : nord.markets) === null || _b === void 0 ? void 0 : _b.filter(function (market) {
31
- return market.symbol.toLowerCase().includes(searchQuery.toLowerCase());
32
- })) || [];
33
- return (_jsxs("div", { className: "relative w-full", ref: containerRef, children: [_jsxs("button", { ref: buttonRef, onClick: function () { return setIsOpen(!isOpen); }, className: "w-full flex items-center justify-between font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-100 transition-colors duration-200", children: [_jsx("span", { className: "truncate", children: selectedMarketSymbol || 'Select Market' }), _jsx(ChevronDown, { size: 16, className: "ml-2 transition-transform duration-200 ".concat(isOpen ? 'rotate-180 text-n1-ww-main' : 'text-n1-ww-gray-500 dark:text-n1-ww-gray-400') })] }), isOpen && (_jsx("div", { ref: dropdownRef, className: "absolute right-0 top-full mt-1 bg-white dark:bg-n1-ww-gray-950 rounded-[2px] shadow-lg border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 overflow-hidden z-50 w-[250px] max-h-[300px]", children: _jsx("div", { className: "overflow-y-auto max-h-[300px]", children: filteredMarkets.length > 0 ? (filteredMarkets.map(function (market) { return (_jsx("button", { onClick: function () {
34
- onMarketChange(market.symbol);
35
- setIsOpen(false);
36
- setSearchQuery('');
37
- }, className: "w-full text-left px-4 py-2 hover:bg-n1-ww-gray-50 dark:hover:bg-n1-ww-gray-900 transition-colors duration-200 ".concat(selectedMarketSymbol === market.symbol
38
- ? 'border-l-2 border-n1-ww-main text-n1-ww-main dark:text-n1-ww-main bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950'
39
- : 'text-n1-ww-gray-900 dark:text-n1-ww-gray-100'), children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "font-medium", children: market.symbol }), market.change24h !== undefined && (_jsxs("span", { className: "text-sm ".concat(market.change24h >= 0
40
- ? 'text-green-500'
41
- : 'text-red-500'), children: [market.change24h >= 0 ? '+' : '', market.change24h.toFixed(2), "%"] }))] }) }, market.symbol)); })) : (_jsx("div", { className: "px-4 py-3 text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400", children: "No markets found" })) }) }))] }));
42
- }
43
- //# sourceMappingURL=MarketSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketSelector.js","sourceRoot":"","sources":["../../../../../src/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { useN1WalletContext } from '../../../../Provider/hooks';\nimport { ChevronDown } from 'lucide-react';\n\ninterface MarketSelectorProps {\n selectedMarketSymbol: string | null;\n onMarketChange: (market: string) => void;\n}\n\nexport default function MarketSelector({\n selectedMarketSymbol,\n onMarketChange,\n}: MarketSelectorProps) {\n const { nord } = useN1WalletContext();\n const [isOpen, setIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const dropdownRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Close dropdown when clicking outside\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node) &&\n buttonRef.current &&\n !buttonRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false);\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n\n // Filter markets based on search query\n const filteredMarkets =\n nord?.markets?.filter((market) =>\n market.symbol.toLowerCase().includes(searchQuery.toLowerCase())\n ) || [];\n\n return (\n <div className=\"relative w-full\" ref={containerRef}>\n <button\n ref={buttonRef}\n onClick={() => setIsOpen(!isOpen)}\n className=\"w-full flex items-center justify-between font-medium text-n1-ww-gray-900 dark:text-n1-ww-gray-100 transition-colors duration-200\"\n >\n <span className=\"truncate\">{selectedMarketSymbol || 'Select Market'}</span>\n <ChevronDown\n size={16}\n className={`ml-2 transition-transform duration-200 ${isOpen ? 'rotate-180 text-n1-ww-main' : 'text-n1-ww-gray-500 dark:text-n1-ww-gray-400'}`}\n />\n </button>\n\n {isOpen && (\n <div\n ref={dropdownRef}\n className=\"absolute right-0 top-full mt-1 bg-white dark:bg-n1-ww-gray-950 rounded-[2px] shadow-lg border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 overflow-hidden z-50 w-[250px] max-h-[300px]\"\n >\n {/* Market list */}\n <div className=\"overflow-y-auto max-h-[300px]\">\n {filteredMarkets.length > 0 ? (\n filteredMarkets.map((market) => (\n <button\n key={market.symbol}\n onClick={() => {\n onMarketChange(market.symbol);\n setIsOpen(false);\n setSearchQuery('');\n }}\n className={`w-full text-left px-4 py-2 hover:bg-n1-ww-gray-50 dark:hover:bg-n1-ww-gray-900 transition-colors duration-200 ${\n selectedMarketSymbol === market.symbol\n ? 'border-l-2 border-n1-ww-main text-n1-ww-main dark:text-n1-ww-main bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950'\n : 'text-n1-ww-gray-900 dark:text-n1-ww-gray-100'\n }`}\n >\n <div className=\"flex items-center justify-between\">\n <span className=\"font-medium\">{market.symbol}</span>\n {(market as any).change24h !== undefined && (\n <span\n className={`text-sm ${\n (market as any).change24h >= 0\n ? 'text-green-500'\n : 'text-red-500'\n }`}\n >\n {(market as any).change24h >= 0 ? '+' : ''}\n {(market as any).change24h.toFixed(2)}%\n </span>\n )}\n </div>\n </button>\n ))\n ) : (\n <div className=\"px-4 py-3 text-sm text-n1-ww-gray-500 dark:text-n1-ww-gray-400\">\n No markets found\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1,11 +0,0 @@
1
- /**
2
- * @deprecated This component is deprecated due to technical issues.
3
- * Please refer to DEPRECATED.md for more information.
4
- */
5
- interface MarketStatsProps {
6
- marketStats: any;
7
- loading: boolean;
8
- error: string | null;
9
- }
10
- export default function MarketStats({ marketStats, loading, error, }: MarketStatsProps): JSX.Element;
11
- export {};