@n1xyz/wallet-widget 0.0.4 → 0.0.7

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 (428) hide show
  1. package/README.md +184 -19
  2. package/dist/Logic/sessionManager.d.ts +53 -0
  3. package/dist/Logic/sessionManager.js +182 -0
  4. package/dist/Logic/transactionManager.d.ts +41 -0
  5. package/dist/Logic/transactionManager.js +196 -0
  6. package/dist/Logic/utils.js +9 -12
  7. package/dist/Modal/BackButton.js +1 -1
  8. package/dist/Modal/ConnectView.js +1 -1
  9. package/dist/Modal/CreateSessionView.js +1 -1
  10. package/dist/Modal/LoadingFallback.d.ts +2 -0
  11. package/dist/Modal/LoadingFallback.js +2 -0
  12. package/dist/Modal/ModalHeader.js +1 -1
  13. package/dist/Modal/N1WalletModal.js +88 -82
  14. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
  15. package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
  16. package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
  17. package/dist/Modal/NTSFlow/NTSFlow.js +34 -0
  18. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
  19. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
  20. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
  21. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
  22. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
  23. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
  24. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
  25. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
  26. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
  27. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
  28. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
  29. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
  30. package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
  31. package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
  32. package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
  33. package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
  34. package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
  35. package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
  36. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  37. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
  38. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  39. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
  40. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
  41. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
  42. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  43. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
  44. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
  45. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
  46. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
  47. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
  48. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  49. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
  50. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  51. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
  52. package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
  53. package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
  54. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  55. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  56. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  57. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  58. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  59. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  60. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  61. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
  62. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  63. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  64. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  65. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  66. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  67. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
  68. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  69. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  70. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  71. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  72. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  73. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
  74. package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
  75. package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
  76. package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
  77. package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
  78. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
  79. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
  80. package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
  81. package/dist/Modal/NTSFlow/components/BackButton.js +25 -0
  82. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
  83. package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
  84. package/dist/Modal/NTSFlow/index.d.ts +1 -0
  85. package/dist/Modal/NTSFlow/index.js +1 -0
  86. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
  87. package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
  88. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
  89. package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
  90. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
  91. package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
  92. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
  93. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
  94. package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
  95. package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
  96. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
  97. package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
  98. package/dist/Modal/NoWhitelistView.js +1 -1
  99. package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
  100. package/dist/Modal/NordFlow/NordFlow.js +267 -0
  101. package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
  102. package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
  103. package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
  104. package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
  105. package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
  106. package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
  107. package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
  108. package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
  109. package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +8 -0
  110. package/dist/Modal/NordFlow/components/EVMChainsButton.js +18 -0
  111. package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
  112. package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
  113. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
  114. package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
  115. package/dist/Modal/NordFlow/components/MoreButton.d.ts +8 -0
  116. package/dist/Modal/NordFlow/components/MoreButton.js +18 -0
  117. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
  118. package/dist/Modal/NordFlow/components/TransactionTable.js +85 -0
  119. package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
  120. package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
  121. package/dist/Modal/NordFlow/components/index.d.ts +5 -0
  122. package/dist/Modal/NordFlow/components/index.js +5 -0
  123. package/dist/Modal/NordFlow/constants.d.ts +37 -0
  124. package/dist/Modal/NordFlow/constants.js +192 -0
  125. package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
  126. package/dist/Modal/NordFlow/hoc/index.js +1 -0
  127. package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
  128. package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
  129. package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
  130. package/dist/Modal/NordFlow/hooks/index.js +5 -0
  131. package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  132. package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
  133. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
  134. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +380 -0
  135. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
  136. package/dist/Modal/NordFlow/hooks/useFlowState.js +167 -0
  137. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
  138. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
  139. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
  140. package/dist/Modal/NordFlow/hooks/useNordInstance.js +319 -0
  141. package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
  142. package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
  143. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
  144. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +239 -0
  145. package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
  146. package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
  147. package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  148. package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
  149. package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
  150. package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
  151. package/dist/Modal/NordFlow/index copy.d.ts +1 -0
  152. package/dist/Modal/NordFlow/index copy.js +1 -0
  153. package/dist/Modal/NordFlow/index.d.ts +1 -0
  154. package/dist/Modal/NordFlow/index.js +1 -0
  155. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  156. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  157. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  158. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  159. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  160. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +63 -0
  161. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +12 -0
  162. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +186 -0
  163. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
  164. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +45 -0
  165. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  166. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +121 -0
  167. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
  168. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +135 -0
  169. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
  170. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
  171. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  172. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
  173. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
  174. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
  175. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
  176. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +67 -0
  177. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  178. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
  179. package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  180. package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
  181. package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
  182. package/dist/Modal/NordFlow/screens/index.js +9 -0
  183. package/dist/Modal/NordFlow/types.d.ts +110 -0
  184. package/dist/Modal/NordFlow/types.js +32 -0
  185. package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
  186. package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
  187. package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
  188. package/dist/Modal/NordFlow/utils/index.js +3 -0
  189. package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
  190. package/dist/Modal/NordFlow/utils/nordUtils.js +63 -0
  191. package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
  192. package/dist/Modal/NordFlow/utils/persistence.js +83 -0
  193. package/dist/Modal/Sidebar/N1Sidebar.js +38 -18
  194. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
  195. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
  196. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
  197. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
  198. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
  199. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +42 -0
  200. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
  201. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
  202. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
  203. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
  204. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
  205. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +208 -0
  206. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
  207. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
  208. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
  209. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +29 -0
  210. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
  211. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +21 -0
  212. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
  213. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
  214. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
  215. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
  216. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
  217. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +79 -0
  218. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
  219. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +109 -0
  220. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
  221. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
  222. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
  223. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
  224. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
  225. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +9 -0
  226. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
  227. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +259 -0
  228. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
  229. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
  230. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
  231. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
  232. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
  233. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +182 -0
  234. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
  235. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +195 -0
  236. package/dist/NordFlow/WalletConnectionFlow.d.ts +9 -0
  237. package/dist/NordFlow/WalletConnectionFlow.js +145 -0
  238. package/dist/NordFlow/components/AnimatedButton.d.ts +14 -0
  239. package/dist/NordFlow/components/AnimatedButton.js +75 -0
  240. package/dist/NordFlow/components/ChainButton.d.ts +7 -0
  241. package/dist/NordFlow/components/ChainButton.js +5 -0
  242. package/dist/NordFlow/components/LoadingSquares.d.ts +1 -0
  243. package/dist/NordFlow/components/LoadingSquares.js +5 -0
  244. package/dist/NordFlow/components/TransactionTable.d.ts +13 -0
  245. package/dist/NordFlow/components/TransactionTable.js +58 -0
  246. package/dist/NordFlow/components/WaitingMessage.d.ts +6 -0
  247. package/dist/NordFlow/components/WaitingMessage.js +6 -0
  248. package/dist/NordFlow/components/index.d.ts +5 -0
  249. package/dist/NordFlow/components/index.js +5 -0
  250. package/dist/NordFlow/constants.d.ts +37 -0
  251. package/dist/NordFlow/constants.js +223 -0
  252. package/dist/NordFlow/hooks/index.d.ts +8 -0
  253. package/dist/NordFlow/hooks/index.js +8 -0
  254. package/dist/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  255. package/dist/NordFlow/hooks/useButtonTyping.js +43 -0
  256. package/dist/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  257. package/dist/NordFlow/hooks/useDepositFlow.js +166 -0
  258. package/dist/NordFlow/hooks/useFlowState.d.ts +32 -0
  259. package/dist/NordFlow/hooks/useFlowState.js +163 -0
  260. package/dist/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  261. package/dist/NordFlow/hooks/useInterruptHandler.js +101 -0
  262. package/dist/NordFlow/hooks/useNordSession.d.ts +32 -0
  263. package/dist/NordFlow/hooks/useNordSession.js +193 -0
  264. package/dist/NordFlow/hooks/useTableValues.d.ts +2 -0
  265. package/dist/NordFlow/hooks/useTableValues.js +69 -0
  266. package/dist/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  267. package/dist/NordFlow/hooks/useWaitingMessage.js +89 -0
  268. package/dist/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  269. package/dist/NordFlow/hooks/useWalletConnect.js +132 -0
  270. package/dist/NordFlow/index.d.ts +3 -0
  271. package/dist/NordFlow/index.js +3 -0
  272. package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  273. package/dist/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  274. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  275. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  276. package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  277. package/dist/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  278. package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  279. package/dist/NordFlow/screens/04-AmountInputScreen.js +20 -0
  280. package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  281. package/dist/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  282. package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  283. package/dist/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  284. package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  285. package/dist/NordFlow/screens/07-NordAuthScreen.js +14 -0
  286. package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  287. package/dist/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  288. package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  289. package/dist/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  290. package/dist/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  291. package/dist/NordFlow/screens/10-ErrorScreen.js +13 -0
  292. package/dist/NordFlow/screens/index.d.ts +10 -0
  293. package/dist/NordFlow/screens/index.js +10 -0
  294. package/dist/NordFlow/types.d.ts +105 -0
  295. package/dist/NordFlow/types.js +34 -0
  296. package/dist/NordFlow/utils/persistence.d.ts +24 -0
  297. package/dist/NordFlow/utils/persistence.js +83 -0
  298. package/dist/Provider/LazyWalletProvider.js +81 -42
  299. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  300. package/dist/Provider/N1WalletProvider.js +65 -46
  301. package/dist/Provider/types.d.ts +61 -0
  302. package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +9 -0
  303. package/dist/WalletConnectionFlow/WalletConnectionFlow.js +145 -0
  304. package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +14 -0
  305. package/dist/WalletConnectionFlow/components/AnimatedButton.js +75 -0
  306. package/dist/WalletConnectionFlow/components/ChainButton.d.ts +7 -0
  307. package/dist/WalletConnectionFlow/components/ChainButton.js +5 -0
  308. package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +1 -0
  309. package/dist/WalletConnectionFlow/components/LoadingSquares.js +5 -0
  310. package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +13 -0
  311. package/dist/WalletConnectionFlow/components/TransactionTable.js +58 -0
  312. package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +6 -0
  313. package/dist/WalletConnectionFlow/components/WaitingMessage.js +6 -0
  314. package/dist/WalletConnectionFlow/components/index.d.ts +5 -0
  315. package/dist/WalletConnectionFlow/components/index.js +5 -0
  316. package/dist/WalletConnectionFlow/constants.d.ts +37 -0
  317. package/dist/WalletConnectionFlow/constants.js +223 -0
  318. package/dist/WalletConnectionFlow/hooks/index.d.ts +8 -0
  319. package/dist/WalletConnectionFlow/hooks/index.js +8 -0
  320. package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +7 -0
  321. package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +43 -0
  322. package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +38 -0
  323. package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +166 -0
  324. package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +32 -0
  325. package/dist/WalletConnectionFlow/hooks/useFlowState.js +163 -0
  326. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +27 -0
  327. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +101 -0
  328. package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +32 -0
  329. package/dist/WalletConnectionFlow/hooks/useNordSession.js +193 -0
  330. package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +2 -0
  331. package/dist/WalletConnectionFlow/hooks/useTableValues.js +69 -0
  332. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +6 -0
  333. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +89 -0
  334. package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +30 -0
  335. package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +132 -0
  336. package/dist/WalletConnectionFlow/index.d.ts +3 -0
  337. package/dist/WalletConnectionFlow/index.js +3 -0
  338. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  339. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +17 -0
  340. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  341. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  342. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  343. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +7 -0
  344. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +8 -0
  345. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +20 -0
  346. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  347. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +6 -0
  348. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  349. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +99 -0
  350. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +7 -0
  351. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +14 -0
  352. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  353. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +20 -0
  354. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  355. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +18 -0
  356. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +7 -0
  357. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +13 -0
  358. package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +8 -0
  359. package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +20 -0
  360. package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +8 -0
  361. package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +28 -0
  362. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +6 -0
  363. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +20 -0
  364. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +7 -0
  365. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +7 -0
  366. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +6 -0
  367. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +17 -0
  368. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +7 -0
  369. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +6 -0
  370. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +8 -0
  371. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +99 -0
  372. package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +7 -0
  373. package/dist/WalletConnectionFlow/screens/ErrorScreen.js +13 -0
  374. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +6 -0
  375. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +47 -0
  376. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +6 -0
  377. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +47 -0
  378. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +5 -0
  379. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +18 -0
  380. package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +7 -0
  381. package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +14 -0
  382. package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +6 -0
  383. package/dist/WalletConnectionFlow/screens/SigningScreen.js +6 -0
  384. package/dist/WalletConnectionFlow/screens/index.d.ts +10 -0
  385. package/dist/WalletConnectionFlow/screens/index.js +10 -0
  386. package/dist/WalletConnectionFlow/types.d.ts +105 -0
  387. package/dist/WalletConnectionFlow/types.js +34 -0
  388. package/dist/WalletConnectionFlow/utils/persistence.d.ts +24 -0
  389. package/dist/WalletConnectionFlow/utils/persistence.js +83 -0
  390. package/dist/components/WalletDeposit/components/TransactionTable.d.ts +9 -2
  391. package/dist/components/WalletDeposit/components/TransactionTable.js +55 -5
  392. package/dist/components/WalletDeposit/types.d.ts +5 -0
  393. package/dist/components/logos/ArbitrumLogo.d.ts +8 -0
  394. package/dist/components/logos/ArbitrumLogo.js +5 -0
  395. package/dist/components/logos/BaseLogo.d.ts +8 -0
  396. package/dist/components/logos/BaseLogo.js +5 -0
  397. package/dist/components/logos/BeraLogo.d.ts +8 -0
  398. package/dist/components/logos/BeraLogo.js +5 -0
  399. package/dist/components/logos/BitcoinLogo.d.ts +8 -0
  400. package/dist/components/logos/BitcoinLogo.js +5 -0
  401. package/dist/components/logos/EVMChainsGroup.d.ts +7 -0
  402. package/dist/components/logos/EVMChainsGroup.js +18 -0
  403. package/dist/components/logos/EthereumLogo.d.ts +8 -0
  404. package/dist/components/logos/EthereumLogo.js +5 -0
  405. package/dist/components/logos/HyperliquidLogo.d.ts +8 -0
  406. package/dist/components/logos/HyperliquidLogo.js +5 -0
  407. package/dist/components/logos/MoreChainsGroup.d.ts +7 -0
  408. package/dist/components/logos/MoreChainsGroup.js +18 -0
  409. package/dist/components/logos/OptimismLogo.d.ts +8 -0
  410. package/dist/components/logos/OptimismLogo.js +5 -0
  411. package/dist/components/logos/SolanaLogo.d.ts +8 -0
  412. package/dist/components/logos/SolanaLogo.js +5 -0
  413. package/dist/components/logos/index.d.ts +10 -0
  414. package/dist/components/logos/index.js +10 -0
  415. package/dist/config/dynamic.d.ts +20 -0
  416. package/dist/config/dynamic.js +47 -0
  417. package/dist/config/solana.d.ts +25 -0
  418. package/dist/config/solana.js +41 -0
  419. package/dist/errors/types.d.ts +5 -1
  420. package/dist/errors/types.js +12 -0
  421. package/dist/hooks/useSolanaSession.d.ts +17 -0
  422. package/dist/hooks/useSolanaSession.js +180 -0
  423. package/dist/index.d.ts +1 -2
  424. package/dist/index.js +1 -2
  425. package/dist/main.css +1 -1
  426. package/dist/utils/solana-session.d.ts +84 -0
  427. package/dist/utils/solana-session.js +230 -0
  428. package/package.json +14 -11
@@ -0,0 +1,182 @@
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 { RefreshCw, X } from 'lucide-react';
39
+ import { useEffect, useState, useRef } from 'react';
40
+ import { useN1WalletContext } from '../../../../Provider/hooks';
41
+ import { logger } from '../../../../utils/logger';
42
+ export default function UserOrders() {
43
+ var _this = this;
44
+ var _a = useN1WalletContext(), nord = _a.nord, nordUser = _a.nordUser;
45
+ var _b = useState([]), activeOrders = _b[0], setActiveOrders = _b[1];
46
+ var _c = useState([]), orderHistory = _c[0], setOrderHistory = _c[1];
47
+ var _d = useState(false), loading = _d[0], setLoading = _d[1];
48
+ var _e = useState(null), error = _e[0], setError = _e[1];
49
+ var _f = useState(null), cancellingOrderId = _f[0], setCancellingOrderId = _f[1];
50
+ var _g = useState(false), compactView = _g[0], setCompactView = _g[1];
51
+ var containerRef = useRef(null);
52
+ // Fetch user orders
53
+ useEffect(function () {
54
+ if (!nordUser)
55
+ return;
56
+ var fetchOrders = function () { return __awaiter(_this, void 0, void 0, function () {
57
+ var allOrders_1, 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
+ // Refresh user info to get latest orders
67
+ return [4 /*yield*/, nordUser.fetchInfo()];
68
+ case 2:
69
+ // Refresh user info to get latest orders
70
+ _a.sent();
71
+ allOrders_1 = [];
72
+ // This is a simplified approach - in a real implementation, you would
73
+ // properly extract and format orders from the nordUser object
74
+ logger.debug(nord === null || nord === void 0 ? void 0 : nord.markets, nordUser.orders);
75
+ Object.values(nordUser.orders || {}).forEach(function (accountOrders) {
76
+ if (Array.isArray(accountOrders)) {
77
+ accountOrders.forEach(function (order) {
78
+ var _a;
79
+ // Get market name from nord object
80
+ var market = (_a = nord === null || nord === void 0 ? void 0 : nord.markets) === null || _a === void 0 ? void 0 : _a.find(function (m) { return m.marketId === order.marketId; });
81
+ var marketName = (market === null || market === void 0 ? void 0 : market.symbol) || "Unknown Market";
82
+ // Convert to our Order interface format
83
+ var formattedOrder = {
84
+ orderId: order.orderId,
85
+ marketId: order.marketId,
86
+ symbol: marketName,
87
+ isLong: order.isLong,
88
+ size: order.size,
89
+ price: order.price,
90
+ status: order.status || 'OPEN',
91
+ createdAt: order.createdAt || Date.now(),
92
+ };
93
+ allOrders_1.push(formattedOrder);
94
+ });
95
+ }
96
+ });
97
+ // Split into active and historical orders
98
+ setActiveOrders(allOrders_1.filter(function (order) { return order.status === 'OPEN'; }));
99
+ setOrderHistory(allOrders_1.filter(function (order) { return order.status !== 'OPEN'; }));
100
+ return [3 /*break*/, 5];
101
+ case 3:
102
+ err_1 = _a.sent();
103
+ logger.error('Error fetching orders:', err_1);
104
+ setError('Failed to load orders');
105
+ return [3 /*break*/, 5];
106
+ case 4:
107
+ setLoading(false);
108
+ return [7 /*endfinally*/];
109
+ case 5: return [2 /*return*/];
110
+ }
111
+ });
112
+ }); };
113
+ fetchOrders();
114
+ // Set up polling for order updates
115
+ var intervalId = setInterval(fetchOrders, 10000); // Update every 10 seconds
116
+ return function () { return clearInterval(intervalId); };
117
+ }, [nordUser, nord]);
118
+ // Check container width and update layout
119
+ useEffect(function () {
120
+ if (!containerRef.current)
121
+ return;
122
+ var checkWidth = function () {
123
+ if (containerRef.current) {
124
+ setCompactView(containerRef.current.offsetWidth < 400);
125
+ }
126
+ };
127
+ // Initial check
128
+ checkWidth();
129
+ // Set up resize observer
130
+ var resizeObserver = new ResizeObserver(checkWidth);
131
+ resizeObserver.observe(containerRef.current);
132
+ return function () {
133
+ if (containerRef.current) {
134
+ resizeObserver.unobserve(containerRef.current);
135
+ }
136
+ };
137
+ }, []);
138
+ // Handle order cancellation
139
+ var handleCancelOrder = function (orderId) { return __awaiter(_this, void 0, void 0, function () {
140
+ var err_2;
141
+ return __generator(this, function (_a) {
142
+ switch (_a.label) {
143
+ case 0:
144
+ if (!nordUser)
145
+ return [2 /*return*/];
146
+ _a.label = 1;
147
+ case 1:
148
+ _a.trys.push([1, 4, 5, 6]);
149
+ setCancellingOrderId(orderId); // Set the cancelling order ID to show animation
150
+ return [4 /*yield*/, nordUser.cancelOrder(orderId)];
151
+ case 2:
152
+ _a.sent();
153
+ // Refresh orders after cancellation
154
+ return [4 /*yield*/, nordUser.fetchInfo()];
155
+ case 3:
156
+ // Refresh orders after cancellation
157
+ _a.sent();
158
+ // Update state (simplified - would be better to wait for the fetchOrders to run)
159
+ setActiveOrders(activeOrders.filter(function (order) { return order.orderId !== orderId; }));
160
+ return [3 /*break*/, 6];
161
+ case 4:
162
+ err_2 = _a.sent();
163
+ logger.error('Error cancelling order:', err_2);
164
+ setError('Failed to cancel order');
165
+ return [3 /*break*/, 6];
166
+ case 5:
167
+ setCancellingOrderId(null); // Reset cancelling order ID
168
+ return [7 /*endfinally*/];
169
+ case 6: return [2 /*return*/];
170
+ }
171
+ });
172
+ }); };
173
+ return (_jsx("div", { className: "bg-white dark:bg-gray-950 shadow-sm border border-gray-200 dark:border-gray-800 overflow-hidden", children: _jsxs("div", { className: "p-4", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100 mb-4", children: "Orders" }), _jsxs("div", { className: "overflow-hidden", ref: containerRef, children: [loading && activeOrders.length === 0 && orderHistory.length === 0 ? (_jsx("div", { className: "flex items-center justify-center h-32", children: _jsx(RefreshCw, { size: 20, className: "text-gray-400 animate-spin" }) })) : error ? (_jsx("div", { className: "p-3 bg-red-50 dark:bg-red-900/20 text-red-600 dark:text-red-400 text-sm", children: error })) : activeOrders.length === 0 ? (_jsx("div", { className: "p-3 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 text-sm text-center", children: "No active orders" })) : !compactView ? (
174
+ // Standard table view for larger containers
175
+ _jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "min-w-full divide-y divide-gray-200 dark:divide-gray-800", children: [_jsx("thead", { className: "bg-gray-50 dark:bg-gray-800", children: _jsxs("tr", { children: [_jsx("th", { className: "px-3 py-2 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Market" }), _jsx("th", { className: "px-3 py-2 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Side" }), _jsx("th", { className: "px-3 py-2 text-right text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Size" }), _jsx("th", { className: "px-3 py-2 text-right text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Price" }), _jsx("th", { className: "px-3 py-2 text-right text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Action" })] }) }), _jsx("tbody", { className: "bg-white dark:bg-gray-950 divide-y divide-gray-200 dark:divide-gray-800", children: activeOrders.map(function (order) { return (_jsxs("tr", { className: "hover:bg-gray-50 dark:hover:bg-gray-800", children: [_jsx("td", { className: "px-3 py-2 whitespace-nowrap text-sm text-gray-900 dark:text-gray-100", children: order.symbol }), _jsx("td", { className: "px-3 py-2 whitespace-nowrap text-sm", children: _jsx("span", { className: "font-medium ".concat(order.isLong ? 'text-green-600 dark:text-green-400' : 'text-red-600 dark:text-red-400'), children: order.isLong ? 'BUY' : 'SELL' }) }), _jsx("td", { className: "px-3 py-2 whitespace-nowrap text-sm text-gray-900 dark:text-gray-100 text-right font-mono", children: order.size }), _jsx("td", { className: "px-3 py-2 whitespace-nowrap text-sm text-gray-900 dark:text-gray-100 text-right font-mono", children: order.price }), _jsx("td", { className: "px-3 py-2 whitespace-nowrap text-sm text-right", children: _jsx("button", { onClick: function () { return handleCancelOrder(order.orderId); }, disabled: cancellingOrderId === order.orderId, className: "text-red-600 dark:text-red-400 hover:text-red-800 dark:hover:text-red-300 relative ".concat(cancellingOrderId === order.orderId
176
+ ? 'cursor-not-allowed'
177
+ : ''), children: cancellingOrderId === order.orderId ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "opacity-0", children: "Cancel" }), _jsx(X, { size: 16, className: "absolute inset-0 m-auto animate-pulse text-red-500" })] })) : ('Cancel') }) })] }, order.orderId)); }) })] }) })) : (
178
+ // Compact card view for smaller containers
179
+ _jsx("div", { className: "grid gap-2", children: activeOrders.map(function (order) { return (_jsxs("div", { className: "bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 rounded p-2 hover:bg-gray-50 dark:hover:bg-gray-800", children: [_jsxs("div", { className: "flex justify-between items-start mb-1", children: [_jsx("div", { className: "font-medium text-sm text-gray-900 dark:text-gray-100", children: order.symbol }), _jsx("button", { onClick: function () { return handleCancelOrder(order.orderId); }, disabled: cancellingOrderId === order.orderId, className: "text-red-600 dark:text-red-400 hover:text-red-800 dark:hover:text-red-300 text-xs relative ".concat(cancellingOrderId === order.orderId
180
+ ? 'cursor-not-allowed'
181
+ : ''), children: cancellingOrderId === order.orderId ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "opacity-0", children: "Cancel" }), _jsx(X, { size: 14, className: "absolute inset-0 m-auto animate-pulse text-red-500" })] })) : ('Cancel') })] }), _jsxs("div", { className: "grid grid-cols-3 gap-1 text-xs", children: [_jsx("div", { children: _jsx("span", { className: "font-medium ".concat(order.isLong ? 'text-green-600 dark:text-green-400' : 'text-red-600 dark:text-red-400'), children: order.isLong ? 'BUY' : 'SELL' }) }), _jsx("div", { className: "text-right font-mono text-gray-700 dark:text-gray-300", children: order.size }), _jsx("div", { className: "text-right font-mono text-gray-700 dark:text-gray-300", children: order.price })] })] }, order.orderId)); }) })), loading && (activeOrders.length > 0 || orderHistory.length > 0) && (_jsx("div", { className: "flex justify-center mt-2", children: _jsx(RefreshCw, { size: 16, className: "text-gray-400 animate-spin" }) }))] })] }) }));
182
+ }
@@ -0,0 +1 @@
1
+ export default function UserPositions(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,195 @@
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 } from "react/jsx-runtime";
38
+ import { useState, useEffect } from 'react';
39
+ import { useN1WalletContext } from '../../../../Provider/hooks';
40
+ import { RefreshCw } from 'lucide-react';
41
+ export default function UserPositions() {
42
+ var _this = this;
43
+ var _a = useN1WalletContext(), nord = _a.nord, nordUser = _a.nordUser;
44
+ var _b = useState([]), positions = _b[0], setPositions = _b[1];
45
+ var _c = useState(false), loading = _c[0], setLoading = _c[1];
46
+ var _d = useState(null), error = _d[0], setError = _d[1];
47
+ var _e = useState([]), marketStats = _e[0], setMarketStats = _e[1];
48
+ // Fetch user positions
49
+ useEffect(function () {
50
+ if (!nordUser || !nord)
51
+ return;
52
+ var fetchPositions = function () { return __awaiter(_this, void 0, void 0, function () {
53
+ var stats, statsErr_1, realPositions, _i, _a, accountId, accountPositions, _loop_1, _b, accountPositions_1, position, err_1;
54
+ var _c;
55
+ return __generator(this, function (_d) {
56
+ switch (_d.label) {
57
+ case 0:
58
+ setLoading(true);
59
+ setError(null);
60
+ _d.label = 1;
61
+ case 1:
62
+ _d.trys.push([1, 7, , 8]);
63
+ // Refresh user info to get latest positions
64
+ return [4 /*yield*/, nordUser.fetchInfo()];
65
+ case 2:
66
+ // Refresh user info to get latest positions
67
+ _d.sent();
68
+ _d.label = 3;
69
+ case 3:
70
+ _d.trys.push([3, 5, , 6]);
71
+ return [4 /*yield*/, nord.marketsStats()];
72
+ case 4:
73
+ stats = _d.sent();
74
+ setMarketStats(stats.markets);
75
+ return [3 /*break*/, 6];
76
+ case 5:
77
+ statsErr_1 = _d.sent();
78
+ console.error('Error fetching market stats:', statsErr_1);
79
+ return [3 /*break*/, 6];
80
+ case 6:
81
+ realPositions = [];
82
+ // Loop through all accounts
83
+ if (nordUser.accountIds) {
84
+ for (_i = 0, _a = nordUser.accountIds; _i < _a.length; _i++) {
85
+ accountId = _a[_i];
86
+ accountPositions = nordUser.positions[accountId];
87
+ if (accountPositions && accountPositions.length > 0) {
88
+ _loop_1 = function (position) {
89
+ // Only include positions with perp data and non-zero size
90
+ if (position.perp && Math.abs(position.perp.baseSize) > 0) {
91
+ // Find market info to get symbol
92
+ var market = nord.markets.find(function (m) { return m.marketId === position.marketId; });
93
+ var symbol = market
94
+ ? market.symbol
95
+ : "Market-".concat(position.marketId);
96
+ // Calculate PnL
97
+ var totalPnl = position.perp.sizePricePnl +
98
+ position.perp.fundingPaymentPnl;
99
+ var entryValue = Math.abs(position.perp.baseSize) * position.perp.price;
100
+ var pnlPercentage = entryValue > 0 ? (totalPnl / entryValue) * 100 : 0;
101
+ // Get mark price from market stats or use entry price as fallback
102
+ var stats = marketStats.find(function (m) { return m.market_id === position.marketId; });
103
+ var markPrice = ((_c = stats === null || stats === void 0 ? void 0 : stats.perp_stats) === null || _c === void 0 ? void 0 : _c.mark_price) || position.perp.price;
104
+ realPositions.push({
105
+ marketId: position.marketId,
106
+ symbol: symbol,
107
+ size: position.perp.isLong
108
+ ? position.perp.baseSize
109
+ : -position.perp.baseSize,
110
+ entryPrice: position.perp.price,
111
+ markPrice: markPrice,
112
+ pnl: totalPnl,
113
+ pnlPercentage: pnlPercentage,
114
+ accountId: accountId,
115
+ });
116
+ }
117
+ };
118
+ // Process each position
119
+ for (_b = 0, accountPositions_1 = accountPositions; _b < accountPositions_1.length; _b++) {
120
+ position = accountPositions_1[_b];
121
+ _loop_1(position);
122
+ }
123
+ }
124
+ }
125
+ }
126
+ setPositions(realPositions);
127
+ setLoading(false); // Explicitly set loading to false on success
128
+ return [3 /*break*/, 8];
129
+ case 7:
130
+ err_1 = _d.sent();
131
+ console.error('Error fetching positions:', err_1);
132
+ setError('Failed to load positions');
133
+ setLoading(false); // Ensure loading is set to false on error
134
+ return [3 /*break*/, 8];
135
+ case 8: return [2 /*return*/];
136
+ }
137
+ });
138
+ }); };
139
+ fetchPositions();
140
+ // Set up polling for position updates
141
+ var intervalId = setInterval(fetchPositions, 10000); // Update every 10 seconds
142
+ return function () { return clearInterval(intervalId); };
143
+ }, [nordUser, nord]); // Remove marketStats from dependency array to prevent infinite loops
144
+ // Handle position close
145
+ var handleClosePosition = function (marketId, accountId) { return __awaiter(_this, void 0, void 0, function () {
146
+ var position, err_2;
147
+ return __generator(this, function (_a) {
148
+ switch (_a.label) {
149
+ case 0:
150
+ if (!nordUser)
151
+ return [2 /*return*/];
152
+ _a.label = 1;
153
+ case 1:
154
+ _a.trys.push([1, 4, , 5]);
155
+ position = positions.find(function (pos) { return pos.marketId === marketId && pos.accountId === accountId; });
156
+ if (!position) {
157
+ throw new Error('Position not found');
158
+ }
159
+ // Place an order to close the position (opposite side, same size)
160
+ return [4 /*yield*/, nordUser.placeOrder({
161
+ marketId: marketId,
162
+ side: position.size > 0 ? 'ask' : 'bid', // Opposite side to close
163
+ fillMode: 'market', // Market order to ensure it gets filled
164
+ isReduceOnly: true, // Reduce-only to ensure it only closes the position
165
+ size: Math.abs(position.size), // Absolute size value
166
+ accountId: accountId,
167
+ })];
168
+ case 2:
169
+ // Place an order to close the position (opposite side, same size)
170
+ _a.sent();
171
+ // Refresh positions after closing
172
+ return [4 /*yield*/, nordUser.fetchInfo()];
173
+ case 3:
174
+ // Refresh positions after closing
175
+ _a.sent();
176
+ // Remove the position from the local state
177
+ setPositions(positions.filter(function (pos) { return !(pos.marketId === marketId && pos.accountId === accountId); }));
178
+ return [3 /*break*/, 5];
179
+ case 4:
180
+ err_2 = _a.sent();
181
+ console.error('Error closing position:', err_2);
182
+ setError('Failed to close position');
183
+ return [3 /*break*/, 5];
184
+ case 5: return [2 /*return*/];
185
+ }
186
+ });
187
+ }); };
188
+ return (_jsx("div", { className: "bg-white dark:bg-gray-950 overflow-hidden", children: _jsxs("div", { className: "p-4", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100 mb-4", children: "Positions" }), loading && positions.length === 0 ? (_jsx("div", { className: "flex items-center justify-center h-32", children: _jsx(RefreshCw, { size: 20, className: "text-gray-400 animate-spin" }) })) : error ? (_jsx("div", { className: "p-3 bg-red-50 dark:bg-red-900/20 rounded-lg text-red-600 dark:text-red-400 text-sm", children: error })) : positions.length === 0 ? (_jsx("div", { className: "p-3 bg-gray-50 dark:bg-gray-950 rounded-lg text-gray-500 dark:text-gray-400 text-sm text-center", children: "No open positions" })) : (_jsxs("div", { className: "space-y-3", children: [positions.map(function (position, index) { return (_jsxs("div", { className: "p-3 bg-gray-50 dark:bg-gray-950 rounded-lg", children: [_jsx("div", { className: "flex items-center justify-between mb-2", children: _jsxs("div", { className: "flex items-center", children: [_jsx("span", { className: "font-medium text-gray-900 dark:text-gray-100 mr-2", children: position.symbol }), _jsxs("span", { className: "text-xs px-2 py-0.5 rounded ".concat(position.size > 0
189
+ ? 'bg-green-100 dark:bg-green-900/20 text-green-600 dark:text-green-400'
190
+ : 'bg-red-100 dark:bg-red-900/20 text-red-600 dark:text-red-400'), children: [position.size > 0 ? 'Long' : 'Short', ' ', Math.abs(position.size)] })] }) }), _jsxs("div", { className: "grid grid-cols-2 gap-2 text-sm", children: [_jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Entry Price" }), _jsx("div", { className: "font-medium text-gray-900 dark:text-gray-100 font-mono", children: position.entryPrice.toFixed(2) })] }), _jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Mark Price" }), _jsx("div", { className: "font-medium text-gray-900 dark:text-gray-100 font-mono", children: position.markPrice.toFixed(2) })] }), _jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "PnL" }), _jsxs("div", { className: "font-medium font-mono ".concat(position.pnl >= 0
191
+ ? 'text-green-600 dark:text-green-400'
192
+ : 'text-red-600 dark:text-red-400'), children: [position.pnl >= 0 ? '+' : '', position.pnl.toFixed(2), " (", position.pnlPercentage.toFixed(2), "%)"] })] }), _jsxs("div", { children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Liquidation" }), _jsx("div", { className: "font-medium text-gray-900 dark:text-gray-100 font-mono", children: position.liquidationPrice
193
+ ? position.liquidationPrice.toFixed(2)
194
+ : 'N/A' })] })] })] }, index)); }), loading && positions.length > 0 && (_jsx("div", { className: "flex justify-center mt-2", children: _jsx(RefreshCw, { size: 16, className: "text-gray-400 animate-spin" }) }))] }))] }) }));
195
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface WalletConnectionFlowProps {
3
+ onClose?: () => void;
4
+ }
5
+ /**
6
+ * Main component for the wallet connection flow
7
+ */
8
+ export declare const WalletConnectionFlow: React.FC<WalletConnectionFlowProps>;
9
+ export {};
@@ -0,0 +1,145 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useCallback, useState } from 'react';
3
+ import Logo from '../components/Logo';
4
+ import { CHAINS } from './constants';
5
+ import { useDepositFlow, useFlowState, useInterruptHandler, useNordSession, useWalletConnect } from './hooks';
6
+ import { AmountInputScreen, AuthLoadingScreen, ChainSelectionScreen, ConnectWalletScreen, DepositProgressScreen, DepositSuccessScreen, ErrorScreen, EvmWalletAuthScreen, FinalSuccessScreen, NordAuthScreen } from './screens';
7
+ import { FlowState } from './types';
8
+ var ConfirmationDialog = function (_a) {
9
+ var onConfirm = _a.onConfirm, onCancel = _a.onCancel;
10
+ return (_jsx("div", { className: "fixed inset-0 bg-gray-50 dark:bg-gray-950 flex items-center justify-center z-50 font-era overflow-auto", children: _jsxs("div", { className: "bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity] animate-fade-in", children: [_jsx("div", { className: "p-6 border-b border-gray-200 dark:border-gray-800", children: _jsx("div", { className: "flex items-center justify-between", children: _jsx("div", { className: "flex items-center gap-3", children: _jsx("h2", { className: "text-xl text-gray-700 dark:text-gray-300", children: "Confirm Close" }) }) }) }), _jsxs("div", { className: "p-6 overflow-hidden relative", children: [_jsx("p", { className: "text-gray-700 dark:text-gray-300 text-center mb-6", children: "Are you sure you want to close? This operation is in progress." }), _jsxs("div", { className: "flex flex-col space-y-3", children: [_jsx("button", { onClick: onConfirm, className: "group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center \n transition-all duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n cursor-pointer border-gray-200 dark:border-neutral-800 hover:border-gray-400 dark:hover:border-white/60\n text-gray-800 dark:text-gray-200", children: "Yes, close" }), _jsx("button", { onClick: onCancel, className: "group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center \n transition-all duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n cursor-pointer border-gray-200 dark:border-neutral-800 hover:border-gray-400 dark:hover:border-white/60\n text-gray-800 dark:text-gray-200", children: "No, continue" })] })] })] }) }));
11
+ };
12
+ /**
13
+ * Main component for the wallet connection flow
14
+ */
15
+ export var WalletConnectionFlow = function (_a) {
16
+ var onClose = _a.onClose;
17
+ // Handle state changes
18
+ var handleStateChange = useCallback(function (newState, prevState) {
19
+ console.log("State changed from ".concat(prevState, " to ").concat(newState));
20
+ }, []);
21
+ // Handle errors
22
+ var handleError = useCallback(function (error) {
23
+ console.error('Flow error:', error);
24
+ }, []);
25
+ // Initialize flow state
26
+ var _b = useFlowState({
27
+ autoRecover: false, // We'll handle recovery with a prompt
28
+ onStateChange: handleStateChange,
29
+ onError: handleError,
30
+ }), state = _b.state, context = _b.context, transition = _b.transition, updateContext = _b.updateContext, recover = _b.recover, recordInterruption = _b.recordInterruption, handleFlowError = _b.handleError, isRecoveryAvailable = _b.isRecoveryAvailable;
31
+ // Initialize wallet connection
32
+ var _c = useWalletConnect({
33
+ state: state,
34
+ context: context,
35
+ transition: transition,
36
+ handleError: handleFlowError,
37
+ }), isConnecting = _c.isConnecting, connectWallet = _c.connectWallet;
38
+ // Initialize Nord session
39
+ var hasNordAccount = useNordSession({
40
+ state: state,
41
+ context: context,
42
+ transition: transition,
43
+ handleError: handleFlowError,
44
+ }).hasNordAccount;
45
+ // Initialize deposit flow
46
+ var _d = useDepositFlow({
47
+ state: state,
48
+ context: context,
49
+ transition: transition,
50
+ handleError: handleFlowError,
51
+ updateContext: updateContext,
52
+ }), selectedChain = _d.selectedChain, amount = _d.amount, isDepositing = _d.isDepositing, transactionId = _d.transactionId, selectChain = _d.selectChain, updateAmount = _d.updateAmount, startDeposit = _d.startDeposit, goBackToChainSelection = _d.goBackToChainSelection;
53
+ // Initialize interrupt handler
54
+ var _e = useInterruptHandler({
55
+ state: state,
56
+ recordInterruption: recordInterruption,
57
+ onClose: onClose,
58
+ }), isClosing = _e.isClosing, showConfirmation = _e.showConfirmation, handleCloseRequest = _e.handleCloseRequest, confirmClose = _e.confirmClose, cancelClose = _e.cancelClose;
59
+ // Check for recovery on mount
60
+ var _f = useState(false), hasAttemptedRecovery = _f[0], setHasAttemptedRecovery = _f[1];
61
+ React.useEffect(function () {
62
+ if (!hasAttemptedRecovery) {
63
+ if (isRecoveryAvailable) {
64
+ // Automatically recover without showing a prompt
65
+ recover();
66
+ }
67
+ else {
68
+ // Start at CONNECTING_WALLET so we show the wallet selection screen
69
+ // The actual connection will only happen when the user clicks the button
70
+ transition(FlowState.CONNECTING_WALLET);
71
+ }
72
+ setHasAttemptedRecovery(true);
73
+ }
74
+ }, [hasAttemptedRecovery, isRecoveryAvailable, transition, recover]);
75
+ // For deposit progress message
76
+ var _g = useState({
77
+ visible: true,
78
+ title: 'Processing Deposit',
79
+ subtitle: 'Please wait while we process your deposit',
80
+ isTyping: false
81
+ }), depositMessage = _g[0], setDepositMessage = _g[1];
82
+ // Mock table values for success screen
83
+ var tableValues = {
84
+ tx: { text: transactionId || '0x123...456', visible: true, typing: false },
85
+ from: { text: 'Your Wallet', visible: true, typing: false },
86
+ to: { text: 'Nord Account', visible: true, typing: false },
87
+ network: { text: 'Ethereum', visible: true, typing: false },
88
+ status: { text: 'Completed', visible: true, typing: false }
89
+ };
90
+ var handleFinish = function () {
91
+ if (onClose) {
92
+ onClose();
93
+ }
94
+ };
95
+ // Render confirmation dialog if needed
96
+ var renderConfirmationDialog = function () {
97
+ if (!showConfirmation)
98
+ return null;
99
+ return (_jsx(ConfirmationDialog, { onConfirm: confirmClose, onCancel: cancelClose }));
100
+ };
101
+ // Render current screen based on state
102
+ var renderScreen = function () {
103
+ switch (state) {
104
+ case FlowState.IDLE:
105
+ case FlowState.CONNECTING_WALLET:
106
+ return (_jsx(ConnectWalletScreen, { onConnectWallet: connectWallet, isConnecting: isConnecting }));
107
+ case FlowState.ETH_TO_SOL_AUTH:
108
+ return (_jsx(EvmWalletAuthScreen, { onAuth: function () { return transition(FlowState.CHAIN_SELECTION); } }));
109
+ case FlowState.CHAIN_SELECTION:
110
+ return (_jsx(ChainSelectionScreen, { chains: CHAINS, onChainSelect: selectChain }));
111
+ case FlowState.AMOUNT_INPUT:
112
+ return (_jsx(AmountInputScreen, { amount: amount, onAmountChange: updateAmount, onContinue: startDeposit, balance: 100 }));
113
+ case FlowState.DEPOSIT_PROGRESS:
114
+ return (_jsx(DepositProgressScreen, { message: depositMessage, percentComplete: 75 }));
115
+ case FlowState.DEPOSIT_SUCCESS:
116
+ return (_jsx(DepositSuccessScreen, { amount: amount, tableValues: tableValues, onContinue: function () { return transition(FlowState.NORD_AUTH); } }));
117
+ case FlowState.NORD_AUTH:
118
+ return (_jsx(NordAuthScreen, { hasNordAccount: hasNordAccount, onCreateAccount: function () { return transition(FlowState.AUTH_LOADING, { hasNordAccount: false }); }, onLogin: function () { return transition(FlowState.AUTH_LOADING, { hasNordAccount: true }); } }));
119
+ case FlowState.AUTH_LOADING:
120
+ return (_jsx(AuthLoadingScreen, { isCreatingAccount: !hasNordAccount, onAuthComplete: function (success) {
121
+ if (success) {
122
+ console.log('Auth complete callback in WalletConnectionFlow, transitioning to FINAL_SUCCESS');
123
+ // Update the context first
124
+ updateContext({ hasActiveSession: true });
125
+ // Then transition to success
126
+ transition(FlowState.FINAL_SUCCESS, { hasActiveSession: true });
127
+ }
128
+ else {
129
+ // Handle auth failure
130
+ handleFlowError(new Error('Authentication failed'));
131
+ }
132
+ } }));
133
+ case FlowState.FINAL_SUCCESS:
134
+ return (_jsx(FinalSuccessScreen, { onDone: handleFinish }));
135
+ case FlowState.ERROR:
136
+ return (_jsx(ErrorScreen, { error: context.error, onRetry: function () {
137
+ // Logic to go back to appropriate state based on error
138
+ transition(FlowState.CONNECTING_WALLET);
139
+ }, onCancel: handleFinish }));
140
+ default:
141
+ return _jsx("div", { children: "Loading..." });
142
+ }
143
+ };
144
+ return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era ".concat(isClosing ? 'animate-fade-out' : 'animate-fade-in'), children: _jsxs("div", { className: "bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96", children: [_jsx("div", { className: "p-6 border-b border-gray-200 dark:border-gray-800 w-full max-w-2xl mx-auto", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsx("div", { className: "w-6 h-6 text-gray-50", children: _jsx(Logo, { size: 24 }) }) }), _jsx("button", { onClick: handleCloseRequest, className: "\n text-neutral-400 hover:text-gray-900 dark:hover:text-white \n transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n h-10 w-10 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800\n flex items-center justify-center\n ", children: _jsx("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" }) }) })] }) }), _jsxs("div", { className: "wallet-connection-flow-content p-6 overflow-hidden", children: [renderConfirmationDialog(), renderScreen()] })] }) }));
145
+ };
@@ -0,0 +1,14 @@
1
+ import { ButtonKey, ButtonStates } from '../types';
2
+ interface AnimatedButtonProps {
3
+ onClick: () => void;
4
+ text: string;
5
+ isTyping: boolean;
6
+ disabled?: boolean;
7
+ onMouseEnter?: () => void;
8
+ onMouseLeave?: () => void;
9
+ }
10
+ export declare const AnimatedButton: ({ onClick, text, isTyping, disabled, onMouseEnter, onMouseLeave, }: AnimatedButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const useButtonTyping: (buttonStates: ButtonStates, setButtonStates: React.Dispatch<React.SetStateAction<ButtonStates>>, buttonConfigs: Record<ButtonKey, {
12
+ text: string;
13
+ }>) => void;
14
+ export {};