@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
@@ -46,86 +46,114 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
49
- import { useEffect, useState, useRef } from 'react';
49
+ import { useCallback, useEffect, useRef, useState } from 'react';
50
50
  import { useN1WalletInternalContext } from './hooks';
51
+ import { N1SessionMode } from './types';
51
52
  import { logger } from '../utils/logger';
52
- import { N1ModalViewMode } from './types';
53
- var getSettings = function (darkMode) { return ({
54
- initialAuthenticationMode: 'connect-only',
55
- environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
56
- theme: {
57
- mode: darkMode ? 'dark' : 'light',
58
- },
59
- events: {
60
- onAuthSuccess: function (args) {
61
- console.log('onAuthSuccess was called', args);
62
- },
63
- },
64
- }); };
65
53
  function DynamicContextConsumer(_a) {
66
54
  var children = _a.children;
67
- var _b = useN1WalletInternalContext(), setDynamicWallet = _b.setDynamicWallet, setAddress = _b.setAddress, setDynamicSdkHasLoaded = _b.setDynamicSdkHasLoaded, setShowDynamicWidget = _b.setShowDynamicWidget, setDynamicHandleLogOut = _b.setDynamicHandleLogOut, setViewMode = _b.setViewMode;
68
- var _c = useState(null), DynamicContext = _c[0], setDynamicContext = _c[1];
55
+ var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
69
56
  var showAuthFlowRef = useRef(null);
57
+ // Use refs to track previous values and prevent unnecessary updates
58
+ var prevPrimaryWalletRef = useRef(null);
59
+ var prevHandleLogOutRef = useRef(null);
60
+ var prevSdkHasLoadedRef = useRef(null);
61
+ var _c = useN1WalletInternalContext(), setDynamicWallet = _c.setDynamicWallet, setDynamicHandleLogOut = _c.setDynamicHandleLogOut, setDynamicSdkHasLoaded = _c.setDynamicSdkHasLoaded, setAddress = _c.setAddress, setShowDynamicWidget = _c.setShowDynamicWidget;
62
+ // Load the Dynamic context only once
70
63
  useEffect(function () {
64
+ var isMounted = true;
71
65
  import('@dynamic-labs/sdk-react-core').then(function (_a) {
72
66
  var useDynamicContext = _a.useDynamicContext;
73
- setDynamicContext(function () { return useDynamicContext; });
67
+ if (isMounted) {
68
+ setDynamicContext(function () { return useDynamicContext; });
69
+ }
74
70
  });
71
+ return function () {
72
+ isMounted = false;
73
+ };
75
74
  }, []);
76
- // Set up a stable widget function that uses the ref
75
+ // Set up a stable widget function that uses the ref - only once
77
76
  useEffect(function () {
78
- setShowDynamicWidget(function () { return function (show) {
79
- console.log('yeeyyeye', showAuthFlowRef);
80
- console.log('yeeyyeye', showAuthFlowRef.current, show);
77
+ var stableShowWidget = function (show) {
81
78
  if (showAuthFlowRef.current) {
82
79
  showAuthFlowRef.current(show);
83
80
  }
84
- }; });
81
+ };
82
+ setShowDynamicWidget(function () { return stableShowWidget; });
85
83
  }, [setShowDynamicWidget]);
86
84
  if (!DynamicContext) {
87
85
  return _jsx(_Fragment, { children: children });
88
86
  }
89
87
  var DynamicComponent = function () {
90
88
  var _a = DynamicContext(), primaryWallet = _a.primaryWallet, sdkHasLoaded = _a.sdkHasLoaded, setShowAuthFlow = _a.setShowAuthFlow, handleLogOut = _a.handleLogOut;
91
- // Store setShowAuthFlow in ref to avoid re-renders
89
+ // Store setShowAuthFlow in ref to avoid re-renders - only when it changes
92
90
  useEffect(function () {
93
- showAuthFlowRef.current = setShowAuthFlow;
91
+ if (setShowAuthFlow !== showAuthFlowRef.current) {
92
+ showAuthFlowRef.current = setShowAuthFlow;
93
+ }
94
94
  }, [setShowAuthFlow]);
95
+ // Set the dynamic wallet and address when the primary wallet changes
96
+ // Use deep comparison to prevent unnecessary updates
95
97
  useEffect(function () {
96
- if (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address) {
97
- logger.debug('Primary wallet found');
98
+ // Skip if the wallet hasn't actually changed
99
+ if (primaryWallet === prevPrimaryWalletRef.current) {
100
+ return;
101
+ }
102
+ prevPrimaryWalletRef.current = primaryWallet;
103
+ if (primaryWallet) {
98
104
  setDynamicWallet(primaryWallet);
99
105
  setAddress(primaryWallet.address);
100
106
  }
101
107
  else {
102
- logger.debug('No primary wallet found');
103
108
  setDynamicWallet(null);
104
109
  setAddress('');
105
- setViewMode(N1ModalViewMode.Connect);
106
110
  }
107
- }, [primaryWallet]);
111
+ }, [primaryWallet, setDynamicWallet, setAddress]);
112
+ // Set the logout handler when it changes - only when it actually changes
108
113
  useEffect(function () {
109
- if (sdkHasLoaded) {
110
- setDynamicSdkHasLoaded(true);
114
+ if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {
115
+ prevHandleLogOutRef.current = handleLogOut;
116
+ setDynamicHandleLogOut(function () { return handleLogOut; });
111
117
  }
112
- }, [sdkHasLoaded]);
113
- // Set the logout handler
118
+ }, [handleLogOut, setDynamicHandleLogOut]);
119
+ // Set the SDK loaded flag when it changes - only when it actually changes
114
120
  useEffect(function () {
115
- if (handleLogOut) {
116
- setDynamicHandleLogOut(function () { return handleLogOut; });
121
+ if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {
122
+ prevSdkHasLoadedRef.current = sdkHasLoaded;
123
+ setDynamicSdkHasLoaded(sdkHasLoaded);
117
124
  }
118
- }, [handleLogOut]);
125
+ }, [sdkHasLoaded, setDynamicSdkHasLoaded]);
119
126
  return _jsx(_Fragment, { children: children });
120
127
  };
121
128
  return _jsx(DynamicComponent, {});
122
129
  }
130
+ var getSettings = function (darkMode) { return ({
131
+ initialAuthenticationMode: 'connect-only',
132
+ environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
133
+ silentAuthentication: true,
134
+ silentAuth: true,
135
+ theme: {
136
+ mode: darkMode ? 'dark' : 'light',
137
+ },
138
+ events: {
139
+ onAuthSuccess: function (args) {
140
+ logger.debug('onAuthSuccess was called', args);
141
+ },
142
+ },
143
+ }); };
123
144
  function LazyInternal(props) {
124
145
  var _this = this;
125
146
  var _a = useState(null), Provider = _a[0], setProvider = _a[1];
126
147
  var _b = useState([]), walletConnectors = _b[0], setWalletConnectors = _b[1];
127
- var darkMode = useN1WalletInternalContext().darkMode;
148
+ var _c = useN1WalletInternalContext(), darkMode = _c.darkMode, sessionMode = _c.sessionMode;
149
+ // Use a ref to track the previous session mode
150
+ var prevSessionModeRef = useRef(null);
128
151
  useEffect(function () {
152
+ // Skip if the session mode hasn't changed
153
+ if (sessionMode === prevSessionModeRef.current) {
154
+ return;
155
+ }
156
+ prevSessionModeRef.current = sessionMode;
129
157
  var loadDynamicDeps = function () { return __awaiter(_this, void 0, void 0, function () {
130
158
  var _a, DynamicContextProvider_1, EthereumWalletConnectors, SolanaWalletConnectors, error_1;
131
159
  return __generator(this, function (_b) {
@@ -140,23 +168,34 @@ function LazyInternal(props) {
140
168
  case 1:
141
169
  _a = _b.sent(), DynamicContextProvider_1 = _a[0].DynamicContextProvider, EthereumWalletConnectors = _a[1].EthereumWalletConnectors, SolanaWalletConnectors = _a[2].SolanaWalletConnectors;
142
170
  setProvider(function () { return DynamicContextProvider_1; });
143
- setWalletConnectors([EthereumWalletConnectors, SolanaWalletConnectors]);
171
+ if (sessionMode === N1SessionMode.Nord) {
172
+ // Only use Solana wallet connectors for Nord mode
173
+ setWalletConnectors([SolanaWalletConnectors]);
174
+ }
175
+ else {
176
+ // Use all wallet connectors for NTS mode
177
+ setWalletConnectors([
178
+ EthereumWalletConnectors,
179
+ SolanaWalletConnectors,
180
+ ]);
181
+ }
144
182
  return [3 /*break*/, 3];
145
183
  case 2:
146
184
  error_1 = _b.sent();
147
- console.error('Failed to load Dynamic dependencies:', error_1);
185
+ logger.error('Failed to load Dynamic dependencies:', error_1);
148
186
  return [3 /*break*/, 3];
149
187
  case 3: return [2 /*return*/];
150
188
  }
151
189
  });
152
190
  }); };
153
191
  loadDynamicDeps();
154
- }, []);
192
+ }, [sessionMode]);
193
+ // Memoize the dynamic settings to prevent unnecessary re-renders
194
+ var dynamicSettings = useCallback(function () { return (__assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors })); }, [darkMode, walletConnectors]);
155
195
  if (!Provider || walletConnectors.length === 0) {
156
196
  return null;
157
197
  }
158
- var dynamicSettings = __assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors });
159
- return (_jsx(Provider, { settings: dynamicSettings, theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
198
+ return (_jsx(Provider, { settings: dynamicSettings(), theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
160
199
  }
161
200
  export function LazyWalletProvider(_a) {
162
201
  var children = _a.children;
@@ -1,2 +1,2 @@
1
1
  import { N1WalletProviderProps } from './types';
2
- export declare function N1WalletProvider({ children, providedSessionMode, appId, darkMode, onError, }: N1WalletProviderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function N1WalletProvider({ children, providedSessionMode, appId, darkMode, onError, faucetUrl, nord, }: N1WalletProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -56,6 +56,10 @@ import { N1WalletModal } from '../Modal/N1WalletModal';
56
56
  import { WalletError, WalletErrorCode } from '../errors/types';
57
57
  import { N1InternalWalletContext, N1WalletContext } from './context';
58
58
  import { N1ModalViewMode, N1SessionMode, } from './types';
59
+ import { useNordWalletConnect } from '../Modal/NordFlow/hooks/useNordWalletConnect';
60
+ import { useNordInstance } from '../Modal/NordFlow/hooks/useNordInstance';
61
+ import { FlowState } from '../Modal/NordFlow/types';
62
+ import { logger } from '../utils/logger';
59
63
  var LazyWalletProvider = React.lazy(function () {
60
64
  return import('./LazyWalletProvider').then(function (mod) { return ({
61
65
  default: mod.LazyWalletProvider,
@@ -83,7 +87,7 @@ var WalletErrorBoundary = /** @class */ (function (_super) {
83
87
  }(React.Component));
84
88
  export function N1WalletProvider(_a) {
85
89
  var _this = this;
86
- var children = _a.children, providedSessionMode = _a.providedSessionMode, appId = _a.appId, _b = _a.darkMode, darkMode = _b === void 0 ? true : _b, onError = _a.onError;
90
+ var children = _a.children, providedSessionMode = _a.providedSessionMode, appId = _a.appId, _b = _a.darkMode, darkMode = _b === void 0 ? true : _b, onError = _a.onError, faucetUrl = _a.faucetUrl, nord = _a.nord;
87
91
  var _c = useState(false), isConnected = _c[0], setIsConnected = _c[1];
88
92
  var _d = useState(null), ntsInterface = _d[0], setNtsInterface = _d[1];
89
93
  var _e = useState(false), showLogin = _e[0], setShowLogin = _e[1];
@@ -93,37 +97,42 @@ export function N1WalletProvider(_a) {
93
97
  var _j = useState(''), username = _j[0], setUsername = _j[1];
94
98
  var _k = useState(null), signMessageWithSessionKey = _k[0], setSignMessageWithSessionKey = _k[1];
95
99
  var _l = useState(null), signMessageWithWalletKey = _l[0], setSignMessageWithWalletKey = _l[1];
96
- var _m = useState(false), showSidebar = _m[0], setShowSidebar = _m[1];
97
- var _o = useState(false), startClosingLogin = _o[0], setStartClosingLogin = _o[1];
98
- var _p = useState(false), loading = _p[0], setLoading = _p[1];
99
- var _q = useState(N1ModalViewMode.Connect), viewMode = _q[0], setViewMode = _q[1];
100
- // Log initialization only once on mount
101
- useEffect(function () {
102
- // eslint-disable-next-line no-console
103
- console.log('N1WalletProvider initializing');
104
- }, []);
100
+ var _m = useState(null), signTransactionWithWalletKey = _m[0], setSignTransactionWithWalletKey = _m[1];
101
+ var _o = useState(false), showSidebar = _o[0], setShowSidebar = _o[1];
102
+ var _p = useState(false), startClosingLogin = _p[0], setStartClosingLogin = _p[1];
103
+ var _q = useState(false), loading = _q[0], setLoading = _q[1];
104
+ var _r = useState(N1ModalViewMode.Connect), viewMode = _r[0], setViewMode = _r[1];
105
+ var _s = useState(null), nordUser = _s[0], setNordUser = _s[1];
105
106
  // dynamic
106
- var _r = useState(''), address = _r[0], setAddress = _r[1];
107
- var _s = useState([]), balances = _s[0], setBalances = _s[1];
108
- var _t = useState(''), chain = _t[0], setChain = _t[1];
109
- var _u = useState(null), dynamicSdkHasLoaded = _u[0], setDynamicSdkHasLoaded = _u[1];
110
- var _v = useState(null), dynamicHandleLogOut = _v[0], setDynamicHandleLogOut = _v[1];
111
- var _w = useState(null), sessionMode = _w[0], setSessionMode = _w[1];
112
- var _x = useState(null), dynamicWallet = _x[0], setDynamicWallet = _x[1];
113
- var _y = useState(null), showDynamicWidget = _y[0], setShowDynamicWidget = _y[1];
107
+ var _t = useState(''), address = _t[0], setAddress = _t[1];
108
+ var _u = useState([]), balances = _u[0], setBalances = _u[1];
109
+ var _v = useState(''), chain = _v[0], setChain = _v[1];
110
+ var _w = useState(null), dynamicSdkHasLoaded = _w[0], setDynamicSdkHasLoaded = _w[1];
111
+ var _x = useState(null), dynamicHandleLogOut = _x[0], setDynamicHandleLogOut = _x[1];
112
+ var _y = useState(null), sessionMode = _y[0], setSessionMode = _y[1];
113
+ var _z = useState(null), dynamicWallet = _z[0], setDynamicWallet = _z[1];
114
+ var _0 = useState(null), showDynamicWidget = _0[0], setShowDynamicWidget = _0[1];
115
+ // Create a separate component for Nord hooks to avoid conditional hook calls
116
+ var NordHooks = function () {
117
+ useNordInstance();
118
+ useNordWalletConnect(FlowState.IDLE, function (newState) { return logger.debug('State transition:', newState); }, {}, // context
119
+ function (updates) { return logger.debug('Context updates:', updates); }, providedSessionMode);
120
+ return null;
121
+ };
114
122
  // Combine SDK loading and initialization into a single effect
115
123
  useEffect(function () {
116
124
  var mounted = true;
117
- var loadNTSSDK = function () { return __awaiter(_this, void 0, void 0, function () {
125
+ // Set the session mode from props
126
+ setSessionMode(providedSessionMode);
127
+ // Load the appropriate SDK
128
+ var loadSDK = function () { return __awaiter(_this, void 0, void 0, function () {
118
129
  var NTSInterface, error_1;
119
130
  return __generator(this, function (_a) {
120
131
  switch (_a.label) {
121
132
  case 0:
122
133
  // eslint-disable-next-line no-console
123
- console.log('Loading NTS SDK');
134
+ logger.debug('Loading NTS SDK');
124
135
  if (providedSessionMode === N1SessionMode.Nord) {
125
- // eslint-disable-next-line no-console
126
- console.log('Nord mode, skipping NTS SDK load');
127
136
  return [2 /*return*/];
128
137
  }
129
138
  _a.label = 1;
@@ -134,7 +143,7 @@ export function N1WalletProvider(_a) {
134
143
  NTSInterface = (_a.sent()).NTSInterface;
135
144
  if (mounted) {
136
145
  // eslint-disable-next-line no-console
137
- console.log('NTS SDK loaded successfully');
146
+ logger.debug('NTS SDK loaded successfully');
138
147
  setNtsInterface(new NTSInterface(process.env.NTS_URL));
139
148
  }
140
149
  return [3 /*break*/, 4];
@@ -142,18 +151,18 @@ export function N1WalletProvider(_a) {
142
151
  error_1 = _a.sent();
143
152
  if (mounted) {
144
153
  // eslint-disable-next-line no-console
145
- console.error('Error loading NTS SDK:', error_1);
154
+ logger.error('Error loading NTS SDK:', error_1);
146
155
  }
147
156
  return [3 /*break*/, 4];
148
157
  case 4: return [2 /*return*/];
149
158
  }
150
159
  });
151
160
  }); };
152
- loadNTSSDK();
161
+ loadSDK();
153
162
  return function () {
154
163
  mounted = false;
155
164
  };
156
- }, [providedSessionMode]);
165
+ }, [providedSessionMode, onError]);
157
166
  // Separate effect to handle loading state based on both SDKs
158
167
  useEffect(function () {
159
168
  var isDynamicReady = dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;
@@ -170,25 +179,31 @@ export function N1WalletProvider(_a) {
170
179
  return [2 /*return*/];
171
180
  });
172
181
  }); };
173
- return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: {
174
- address: address,
175
- balances: balances,
176
- appId: appId,
177
- chain: chain,
178
- isConnected: isConnected,
179
- ntsInterface: ntsInterface,
180
- sessionMode: sessionMode,
181
- sessionPubKey: sessionPubKey,
182
- setShowLogin: setShowLogin,
183
- showLogin: showLogin,
184
- signMessageWithSessionKey: signMessageWithSessionKey,
185
- signMessageWithWalletKey: signMessageWithWalletKey,
186
- userChain: userChain,
187
- username: username,
188
- viewMode: viewMode,
189
- walletPubKey: walletPubKey,
190
- throwTestError: throwTestError,
191
- }, children: _jsxs(N1InternalWalletContext.Provider, { value: {
182
+ // Create the wallet context value
183
+ var walletContextValue = {
184
+ address: address,
185
+ appId: appId,
186
+ balances: balances,
187
+ chain: chain,
188
+ isConnected: isConnected,
189
+ ntsInterface: ntsInterface,
190
+ sessionMode: sessionMode,
191
+ sessionPubKey: sessionPubKey,
192
+ setShowLogin: setShowLogin,
193
+ showLogin: showLogin,
194
+ signMessageWithSessionKey: signMessageWithSessionKey,
195
+ signMessageWithWalletKey: signMessageWithWalletKey,
196
+ signTransactionWithWalletKey: signTransactionWithWalletKey,
197
+ userChain: userChain,
198
+ username: username,
199
+ viewMode: viewMode,
200
+ walletPubKey: walletPubKey,
201
+ throwTestError: throwTestError,
202
+ faucetUrl: faucetUrl,
203
+ nord: nord,
204
+ nordUser: nordUser,
205
+ };
206
+ return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: walletContextValue, children: _jsxs(N1InternalWalletContext.Provider, { value: {
192
207
  dynamicHandleLogOut: dynamicHandleLogOut,
193
208
  dynamicWallet: dynamicWallet,
194
209
  loading: loading,
@@ -208,6 +223,7 @@ export function N1WalletProvider(_a) {
208
223
  setShowSidebar: setShowSidebar,
209
224
  setSignMessageWithSessionKey: setSignMessageWithSessionKey,
210
225
  setSignMessageWithWalletKey: setSignMessageWithWalletKey,
226
+ setSignTransactionWithWalletKey: setSignTransactionWithWalletKey,
211
227
  setStartClosingLogin: setStartClosingLogin,
212
228
  setUsername: setUsername,
213
229
  setUserChain: setUserChain,
@@ -218,5 +234,8 @@ export function N1WalletProvider(_a) {
218
234
  showDynamicWidget: showDynamicWidget,
219
235
  setShowDynamicWidget: setShowDynamicWidget,
220
236
  darkMode: darkMode,
221
- }, children: [children, _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
237
+ sessionMode: sessionMode,
238
+ faucetUrl: faucetUrl,
239
+ setNordUser: setNordUser,
240
+ }, children: [children, providedSessionMode === N1SessionMode.Nord && _jsx(NordHooks, {}), _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
222
241
  }
@@ -1,4 +1,5 @@
1
1
  import type { WalletError } from '../errors/types';
2
+ import { Nord } from '@n1xyz/nord-ts';
2
3
  export declare enum N1ModalViewMode {
3
4
  Connect = 0,
4
5
  CreateSession = 1,
@@ -17,6 +18,8 @@ export interface N1WalletProviderProps {
17
18
  appId: string;
18
19
  darkMode?: boolean;
19
20
  onError?: (error: WalletError) => void;
21
+ faucetUrl?: string;
22
+ nord?: Nord;
20
23
  }
21
24
  export interface Balance {
22
25
  mint: string;
@@ -24,6 +27,56 @@ export interface Balance {
24
27
  appId: string;
25
28
  appType: string;
26
29
  }
30
+ export interface N1NordFunctions {
31
+ getMarkets: () => Promise<any[]>;
32
+ getOrderbook: (symbol: string) => Promise<any>;
33
+ getTrades: (params: any) => Promise<any>;
34
+ getMarketsStats: () => Promise<any>;
35
+ placeOrder: (params: {
36
+ sessionId: bigint | string;
37
+ marketId: number;
38
+ side: 'BUY' | 'SELL';
39
+ fillMode: 'GTC' | 'IOC' | 'FOK' | 'POST_ONLY';
40
+ isReduceOnly: boolean;
41
+ size?: number | string;
42
+ price?: number | string;
43
+ quoteSize?: number | string;
44
+ clientOrderId?: bigint | string;
45
+ }) => Promise<bigint | undefined>;
46
+ cancelOrder: (params: {
47
+ sessionId: bigint | string;
48
+ orderId: bigint | string;
49
+ }) => Promise<bigint>;
50
+ createSession: (params: {
51
+ userPubkey: Uint8Array;
52
+ sessionPubkey: Uint8Array;
53
+ expiryTimestamp?: bigint;
54
+ }) => Promise<bigint>;
55
+ revokeSession: (params: {
56
+ sessionId: bigint | string;
57
+ }) => Promise<void>;
58
+ withdraw: (params: {
59
+ sessionId: bigint | string;
60
+ tokenId: number;
61
+ amount: number;
62
+ }) => Promise<void>;
63
+ transfer: (params: {
64
+ sessionId: bigint | string;
65
+ fromAccountId: number;
66
+ toAccountId?: number;
67
+ tokenId: number;
68
+ tokenDecimals: number;
69
+ amount: number | string;
70
+ }) => Promise<number | undefined>;
71
+ getTimestamp: () => Promise<bigint>;
72
+ getActionNonce: () => Promise<number>;
73
+ queryBlock: (query: any) => Promise<any>;
74
+ queryLastNBlocks: () => Promise<any>;
75
+ queryRecentBlocks: (last_n: number) => Promise<any>;
76
+ queryAction: (query: any) => Promise<any>;
77
+ queryRecentActions: (last_n: number) => Promise<any>;
78
+ getActions: (fromActionId: number, toActionId: number) => Promise<any>;
79
+ }
27
80
  export interface N1WalletState {
28
81
  address: string;
29
82
  appId: string | null;
@@ -37,11 +90,15 @@ export interface N1WalletState {
37
90
  showLogin: boolean;
38
91
  signMessageWithSessionKey: ((message: any) => Promise<any>) | null;
39
92
  signMessageWithWalletKey: ((message: any) => Promise<any>) | null;
93
+ signTransactionWithWalletKey: ((transaction: any) => Promise<any>) | null;
40
94
  userChain: string | null;
41
95
  username: string;
42
96
  viewMode: N1ModalViewMode;
43
97
  walletPubKey: Uint8Array | null;
44
98
  throwTestError: () => Promise<void>;
99
+ nord?: Nord;
100
+ faucetUrl?: string;
101
+ nordUser?: any;
45
102
  }
46
103
  export interface N1InternalWalletState {
47
104
  dynamicHandleLogOut: any;
@@ -63,14 +120,18 @@ export interface N1InternalWalletState {
63
120
  setShowSidebar: (show: boolean) => void;
64
121
  setSignMessageWithSessionKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
65
122
  setSignMessageWithWalletKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
123
+ setSignTransactionWithWalletKey: React.Dispatch<React.SetStateAction<((transaction: any) => Promise<any>) | null>>;
66
124
  setStartClosingLogin: (closing: boolean) => void;
67
125
  setUsername: (username: string) => void;
68
126
  setUserChain: (chain: string) => void;
69
127
  setViewMode: (mode: N1ModalViewMode) => void;
70
128
  setWalletPubKey: (key: Uint8Array) => void;
129
+ setNordUser: (user: any) => void;
71
130
  showSidebar: boolean;
72
131
  startClosingLogin: boolean;
73
132
  showDynamicWidget: any;
74
133
  setShowDynamicWidget: (show: any) => void;
75
134
  darkMode: boolean;
135
+ sessionMode: N1SessionMode | null;
136
+ faucetUrl?: string;
76
137
  }
@@ -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
+ };