@n1xyz/wallet-widget 0.0.1 → 0.0.5

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 (483) hide show
  1. package/LICENSE +44 -0
  2. package/README.md +210 -0
  3. package/dist/Logic/sessionManager.d.ts +53 -0
  4. package/dist/Logic/sessionManager.js +178 -0
  5. package/dist/Logic/transactionManager.d.ts +41 -0
  6. package/dist/Logic/transactionManager.js +192 -0
  7. package/dist/Logic/utils.d.ts +1 -0
  8. package/dist/Logic/utils.js +47 -9
  9. package/dist/Modal/BackButton.js +14 -1
  10. package/dist/Modal/ConnectView.js +20 -23
  11. package/dist/Modal/CreateSessionView.js +23 -11
  12. package/dist/Modal/CreateUserView.js +1 -1
  13. package/dist/Modal/LoadingFallback.d.ts +2 -0
  14. package/dist/Modal/LoadingFallback.js +2 -0
  15. package/dist/Modal/ModalHeader.js +14 -3
  16. package/dist/Modal/N1WalletModal.js +91 -79
  17. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
  18. package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
  19. package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
  20. package/dist/Modal/NTSFlow/NTSFlow.js +30 -0
  21. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
  22. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
  23. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
  24. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
  25. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
  26. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
  27. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
  28. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
  29. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
  30. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
  31. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
  32. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
  33. package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
  34. package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
  35. package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
  36. package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
  37. package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
  38. package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
  39. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  40. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
  41. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  42. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
  43. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
  44. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
  45. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  46. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
  47. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
  48. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
  49. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
  50. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
  51. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  52. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
  53. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  54. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
  55. package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
  56. package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
  57. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  58. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  59. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  60. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  61. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  62. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  63. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  64. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
  65. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  66. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  67. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  68. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  69. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  70. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
  71. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  72. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  73. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  74. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  75. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  76. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
  77. package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
  78. package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
  79. package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
  80. package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
  81. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
  82. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
  83. package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
  84. package/dist/Modal/NTSFlow/components/BackButton.js +26 -0
  85. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
  86. package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
  87. package/dist/Modal/NTSFlow/index.d.ts +1 -0
  88. package/dist/Modal/NTSFlow/index.js +1 -0
  89. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
  90. package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
  91. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
  92. package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
  93. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
  94. package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
  95. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
  96. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
  97. package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
  98. package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
  99. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
  100. package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
  101. package/dist/Modal/NoWhitelistView.js +14 -1
  102. package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
  103. package/dist/Modal/NordFlow/NordFlow.js +262 -0
  104. package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
  105. package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
  106. package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
  107. package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
  108. package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
  109. package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
  110. package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
  111. package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
  112. package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
  113. package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
  114. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
  115. package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
  116. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
  117. package/dist/Modal/NordFlow/components/TransactionTable.js +83 -0
  118. package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
  119. package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
  120. package/dist/Modal/NordFlow/components/index.d.ts +5 -0
  121. package/dist/Modal/NordFlow/components/index.js +5 -0
  122. package/dist/Modal/NordFlow/constants.d.ts +37 -0
  123. package/dist/Modal/NordFlow/constants.js +192 -0
  124. package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
  125. package/dist/Modal/NordFlow/hoc/index.js +1 -0
  126. package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
  127. package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
  128. package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
  129. package/dist/Modal/NordFlow/hooks/index.js +5 -0
  130. package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  131. package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
  132. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
  133. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +365 -0
  134. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
  135. package/dist/Modal/NordFlow/hooks/useFlowState.js +166 -0
  136. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
  137. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
  138. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
  139. package/dist/Modal/NordFlow/hooks/useNordInstance.js +310 -0
  140. package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
  141. package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
  142. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
  143. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +231 -0
  144. package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
  145. package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
  146. package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  147. package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
  148. package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
  149. package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
  150. package/dist/Modal/NordFlow/index copy.d.ts +1 -0
  151. package/dist/Modal/NordFlow/index copy.js +1 -0
  152. package/dist/Modal/NordFlow/index.d.ts +1 -0
  153. package/dist/Modal/NordFlow/index.js +1 -0
  154. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  155. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  156. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  157. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  158. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  159. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +47 -0
  160. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +10 -0
  161. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +165 -0
  162. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
  163. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +44 -0
  164. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  165. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +119 -0
  166. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
  167. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +126 -0
  168. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
  169. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
  170. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  171. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
  172. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
  173. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
  174. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
  175. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +62 -0
  176. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  177. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
  178. package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  179. package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
  180. package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
  181. package/dist/Modal/NordFlow/screens/index.js +9 -0
  182. package/dist/Modal/NordFlow/types.d.ts +108 -0
  183. package/dist/Modal/NordFlow/types.js +32 -0
  184. package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
  185. package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
  186. package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
  187. package/dist/Modal/NordFlow/utils/index.js +3 -0
  188. package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
  189. package/dist/Modal/NordFlow/utils/nordUtils.js +61 -0
  190. package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
  191. package/dist/Modal/NordFlow/utils/persistence.js +83 -0
  192. package/dist/Modal/Sidebar/N1Sidebar.js +167 -14
  193. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
  194. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
  195. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
  196. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
  197. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
  198. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +38 -0
  199. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
  200. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
  201. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
  202. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
  203. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
  204. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +197 -0
  205. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
  206. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
  207. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
  208. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +28 -0
  209. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
  210. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +22 -0
  211. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
  212. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
  213. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
  214. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
  215. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
  216. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +76 -0
  217. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
  218. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +103 -0
  219. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
  220. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
  221. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
  222. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
  223. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
  224. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +7 -0
  225. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
  226. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +249 -0
  227. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
  228. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
  229. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
  230. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
  231. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
  232. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +177 -0
  233. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
  234. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +188 -0
  235. package/dist/Modal/SigningView.js +1 -1
  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 +75 -38
  299. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  300. package/dist/Provider/N1WalletProvider.js +63 -42
  301. package/dist/Provider/types.d.ts +69 -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/Logo.d.ts +7 -0
  391. package/dist/components/Logo.js +118 -0
  392. package/dist/components/QRCodeLoader.d.ts +4 -0
  393. package/dist/components/QRCodeLoader.js +8 -0
  394. package/dist/components/WalletDeposit/AnimatedButton.d.ts +17 -0
  395. package/dist/components/WalletDeposit/AnimatedButton.js +29 -0
  396. package/dist/components/WalletDeposit/components/ChainButton.d.ts +7 -0
  397. package/dist/components/WalletDeposit/components/ChainButton.js +5 -0
  398. package/dist/components/WalletDeposit/components/LoadingSquares.d.ts +1 -0
  399. package/dist/components/WalletDeposit/components/LoadingSquares.js +5 -0
  400. package/dist/components/WalletDeposit/components/TransactionTable.d.ts +13 -0
  401. package/dist/components/WalletDeposit/components/TransactionTable.js +58 -0
  402. package/dist/components/WalletDeposit/components/WaitingMessage.d.ts +6 -0
  403. package/dist/components/WalletDeposit/components/WaitingMessage.js +6 -0
  404. package/dist/components/WalletDeposit/constants.d.ts +15 -0
  405. package/dist/components/WalletDeposit/constants.js +32 -0
  406. package/dist/components/WalletDeposit/hooks.d.ts +9 -0
  407. package/dist/components/WalletDeposit/hooks.js +185 -0
  408. package/dist/components/WalletDeposit/index.d.ts +1 -0
  409. package/dist/components/WalletDeposit/index.js +136 -0
  410. package/dist/components/WalletDeposit/screens/AmountInputScreen.d.ts +12 -0
  411. package/dist/components/WalletDeposit/screens/AmountInputScreen.js +18 -0
  412. package/dist/components/WalletDeposit/screens/AppsTableScreen.d.ts +8 -0
  413. package/dist/components/WalletDeposit/screens/AppsTableScreen.js +28 -0
  414. package/dist/components/WalletDeposit/screens/ChainSelectionScreen.d.ts +5 -0
  415. package/dist/components/WalletDeposit/screens/ChainSelectionScreen.js +8 -0
  416. package/dist/components/WalletDeposit/screens/InitialScreen.d.ts +9 -0
  417. package/dist/components/WalletDeposit/screens/InitialScreen.js +18 -0
  418. package/dist/components/WalletDeposit/screens/SigningScreen.d.ts +6 -0
  419. package/dist/components/WalletDeposit/screens/SigningScreen.js +6 -0
  420. package/dist/components/WalletDeposit/screens/SuccessScreen.d.ts +12 -0
  421. package/dist/components/WalletDeposit/screens/SuccessScreen.js +7 -0
  422. package/dist/components/WalletDeposit/types.d.ts +48 -0
  423. package/dist/config/dynamic.d.ts +20 -0
  424. package/dist/config/dynamic.js +47 -0
  425. package/dist/config/solana.d.ts +25 -0
  426. package/dist/config/solana.js +41 -0
  427. package/dist/errors/types.d.ts +5 -1
  428. package/dist/errors/types.js +12 -0
  429. package/dist/hooks/useSolanaSession.d.ts +17 -0
  430. package/dist/hooks/useSolanaSession.js +180 -0
  431. package/dist/index.d.ts +2 -1
  432. package/dist/index.js +2 -1
  433. package/dist/main.css +1 -1
  434. package/dist/utils/dynamicImports.d.ts +24 -0
  435. package/dist/utils/dynamicImports.js +41 -0
  436. package/dist/utils/shortenString.d.ts +2 -0
  437. package/dist/utils/shortenString.js +8 -0
  438. package/dist/utils/solana-session.d.ts +84 -0
  439. package/dist/utils/solana-session.js +230 -0
  440. package/package.json +24 -17
  441. package/.eslintrc.js +0 -29
  442. package/dist/Common/NIcon.js +0 -7
  443. package/dist/components/AnimatedButton.d.ts +0 -9
  444. package/dist/components/AnimatedButton.js +0 -5
  445. package/postcss.config.js +0 -6
  446. package/src/Logic/getPseudoName.ts +0 -5832
  447. package/src/Logic/utils.ts +0 -162
  448. package/src/Logic/words.ts +0 -93571
  449. package/src/Modal/BackButton.tsx +0 -23
  450. package/src/Modal/ConnectView.tsx +0 -88
  451. package/src/Modal/CreateSessionView.tsx +0 -242
  452. package/src/Modal/CreateUserView.tsx +0 -195
  453. package/src/Modal/ModalHeader.tsx +0 -64
  454. package/src/Modal/N1WalletModal.tsx +0 -275
  455. package/src/Modal/NoWhitelistView.tsx +0 -61
  456. package/src/Modal/Sidebar/N1Sidebar.tsx +0 -172
  457. package/src/Modal/SigningView.tsx +0 -18
  458. package/src/Modal/SuccessView.tsx +0 -36
  459. package/src/Provider/LazyWalletProvider.tsx +0 -136
  460. package/src/Provider/N1WalletProvider.tsx +0 -208
  461. package/src/Provider/context.ts +0 -11
  462. package/src/Provider/hooks.ts +0 -22
  463. package/src/Provider/icons/CoinbaseWalletIcon.tsx +0 -27
  464. package/src/Provider/icons/ConnectionDotsSVG.tsx +0 -19
  465. package/src/Provider/icons/MetamaskIcon.tsx +0 -58
  466. package/src/Provider/icons/PhantomIcon.tsx +0 -26
  467. package/src/Provider/icons/UserIcon.tsx +0 -15
  468. package/src/Provider/icons/WalletConnectIcon.tsx +0 -15
  469. package/src/Provider/index.ts +0 -3
  470. package/src/Provider/types.ts +0 -77
  471. package/src/WidgetButton/N1ConnectButton.tsx +0 -72
  472. package/src/components/LazyLoadWrapper.tsx +0 -19
  473. package/src/config.ts +0 -2
  474. package/src/errors/types.ts +0 -49
  475. package/src/index.ts +0 -5
  476. package/src/main.css +0 -3
  477. package/src/styles/main.css +0 -3
  478. package/src/utils/lazyLoad.ts +0 -12
  479. package/src/utils/logger.ts +0 -98
  480. package/src/utils/react-shim.js +0 -8
  481. package/tailwind.config.js +0 -44
  482. package/tsconfig.json +0 -21
  483. /package/dist/{Common/NIcon.d.ts → components/WalletDeposit/types.js} +0 -0
@@ -46,82 +46,111 @@ 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 { logger } from '../utils/logger';
52
- var getSettings = function (darkMode) { return ({
53
- initialAuthenticationMode: 'connect-only',
54
- environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
55
- theme: {
56
- mode: darkMode ? 'dark' : 'light',
57
- },
58
- events: {
59
- onAuthSuccess: function (args) {
60
- console.log('onAuthSuccess was called', args);
61
- },
62
- },
63
- }); };
51
+ import { N1SessionMode } from './types';
64
52
  function DynamicContextConsumer(_a) {
65
53
  var children = _a.children;
66
- var _b = useN1WalletInternalContext(), setDynamicWallet = _b.setDynamicWallet, setAddress = _b.setAddress, setDynamicSdkHasLoaded = _b.setDynamicSdkHasLoaded, setShowDynamicWidget = _b.setShowDynamicWidget, darkMode = _b.darkMode, setDynamicHandleLogOut = _b.setDynamicHandleLogOut;
67
- var _c = useState(null), DynamicContext = _c[0], setDynamicContext = _c[1];
54
+ var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
68
55
  var showAuthFlowRef = useRef(null);
56
+ // Use refs to track previous values and prevent unnecessary updates
57
+ var prevPrimaryWalletRef = useRef(null);
58
+ var prevHandleLogOutRef = useRef(null);
59
+ var prevSdkHasLoadedRef = useRef(null);
60
+ var _c = useN1WalletInternalContext(), setDynamicWallet = _c.setDynamicWallet, setDynamicHandleLogOut = _c.setDynamicHandleLogOut, setDynamicSdkHasLoaded = _c.setDynamicSdkHasLoaded, setAddress = _c.setAddress, setShowDynamicWidget = _c.setShowDynamicWidget;
61
+ // Load the Dynamic context only once
69
62
  useEffect(function () {
63
+ var isMounted = true;
70
64
  import('@dynamic-labs/sdk-react-core').then(function (_a) {
71
65
  var useDynamicContext = _a.useDynamicContext;
72
- setDynamicContext(function () { return useDynamicContext; });
66
+ if (isMounted) {
67
+ setDynamicContext(function () { return useDynamicContext; });
68
+ }
73
69
  });
70
+ return function () { isMounted = false; };
74
71
  }, []);
75
- // Set up a stable widget function that uses the ref
72
+ // Set up a stable widget function that uses the ref - only once
76
73
  useEffect(function () {
77
- setShowDynamicWidget(function () { return function (show) {
74
+ var stableShowWidget = function (show) {
78
75
  if (showAuthFlowRef.current) {
79
76
  showAuthFlowRef.current(show);
80
77
  }
81
- }; });
78
+ };
79
+ setShowDynamicWidget(function () { return stableShowWidget; });
82
80
  }, [setShowDynamicWidget]);
83
81
  if (!DynamicContext) {
84
82
  return _jsx(_Fragment, { children: children });
85
83
  }
86
84
  var DynamicComponent = function () {
87
85
  var _a = DynamicContext(), primaryWallet = _a.primaryWallet, sdkHasLoaded = _a.sdkHasLoaded, setShowAuthFlow = _a.setShowAuthFlow, handleLogOut = _a.handleLogOut;
88
- // Store setShowAuthFlow in ref to avoid re-renders
86
+ // Store setShowAuthFlow in ref to avoid re-renders - only when it changes
89
87
  useEffect(function () {
90
- showAuthFlowRef.current = setShowAuthFlow;
88
+ if (setShowAuthFlow !== showAuthFlowRef.current) {
89
+ showAuthFlowRef.current = setShowAuthFlow;
90
+ }
91
91
  }, [setShowAuthFlow]);
92
+ // Set the dynamic wallet and address when the primary wallet changes
93
+ // Use deep comparison to prevent unnecessary updates
92
94
  useEffect(function () {
93
- if (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address) {
94
- logger.debug('Primary wallet found');
95
+ // Skip if the wallet hasn't actually changed
96
+ if (primaryWallet === prevPrimaryWalletRef.current) {
97
+ return;
98
+ }
99
+ prevPrimaryWalletRef.current = primaryWallet;
100
+ if (primaryWallet) {
95
101
  setDynamicWallet(primaryWallet);
96
102
  setAddress(primaryWallet.address);
97
103
  }
98
104
  else {
99
- logger.debug('No primary wallet found');
100
105
  setDynamicWallet(null);
101
106
  setAddress('');
102
107
  }
103
- }, [primaryWallet]);
108
+ }, [primaryWallet, setDynamicWallet, setAddress]);
109
+ // Set the logout handler when it changes - only when it actually changes
104
110
  useEffect(function () {
105
- if (sdkHasLoaded) {
106
- setDynamicSdkHasLoaded(true);
111
+ if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {
112
+ prevHandleLogOutRef.current = handleLogOut;
113
+ setDynamicHandleLogOut(function () { return handleLogOut; });
107
114
  }
108
- }, [sdkHasLoaded]);
109
- // Set the logout handler
115
+ }, [handleLogOut, setDynamicHandleLogOut]);
116
+ // Set the SDK loaded flag when it changes - only when it actually changes
110
117
  useEffect(function () {
111
- if (handleLogOut) {
112
- setDynamicHandleLogOut(function () { return handleLogOut; });
118
+ if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {
119
+ prevSdkHasLoadedRef.current = sdkHasLoaded;
120
+ setDynamicSdkHasLoaded(sdkHasLoaded);
113
121
  }
114
- }, [handleLogOut]);
122
+ }, [sdkHasLoaded, setDynamicSdkHasLoaded]);
115
123
  return _jsx(_Fragment, { children: children });
116
124
  };
117
125
  return _jsx(DynamicComponent, {});
118
126
  }
127
+ var getSettings = function (darkMode) { return ({
128
+ initialAuthenticationMode: 'connect-only',
129
+ environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
130
+ silentAuthentication: true,
131
+ silentAuth: true,
132
+ theme: {
133
+ mode: darkMode ? 'dark' : 'light',
134
+ },
135
+ events: {
136
+ onAuthSuccess: function (args) {
137
+ console.log('onAuthSuccess was called', args);
138
+ },
139
+ },
140
+ }); };
119
141
  function LazyInternal(props) {
120
142
  var _this = this;
121
143
  var _a = useState(null), Provider = _a[0], setProvider = _a[1];
122
144
  var _b = useState([]), walletConnectors = _b[0], setWalletConnectors = _b[1];
123
- var darkMode = useN1WalletInternalContext().darkMode;
145
+ var _c = useN1WalletInternalContext(), darkMode = _c.darkMode, sessionMode = _c.sessionMode;
146
+ // Use a ref to track the previous session mode
147
+ var prevSessionModeRef = useRef(null);
124
148
  useEffect(function () {
149
+ // Skip if the session mode hasn't changed
150
+ if (sessionMode === prevSessionModeRef.current) {
151
+ return;
152
+ }
153
+ prevSessionModeRef.current = sessionMode;
125
154
  var loadDynamicDeps = function () { return __awaiter(_this, void 0, void 0, function () {
126
155
  var _a, DynamicContextProvider_1, EthereumWalletConnectors, SolanaWalletConnectors, error_1;
127
156
  return __generator(this, function (_b) {
@@ -136,7 +165,14 @@ function LazyInternal(props) {
136
165
  case 1:
137
166
  _a = _b.sent(), DynamicContextProvider_1 = _a[0].DynamicContextProvider, EthereumWalletConnectors = _a[1].EthereumWalletConnectors, SolanaWalletConnectors = _a[2].SolanaWalletConnectors;
138
167
  setProvider(function () { return DynamicContextProvider_1; });
139
- setWalletConnectors([EthereumWalletConnectors, SolanaWalletConnectors]);
168
+ if (sessionMode === N1SessionMode.Nord) {
169
+ // Only use Solana wallet connectors for Nord mode
170
+ setWalletConnectors([SolanaWalletConnectors]);
171
+ }
172
+ else {
173
+ // Use all wallet connectors for NTS mode
174
+ setWalletConnectors([EthereumWalletConnectors, SolanaWalletConnectors]);
175
+ }
140
176
  return [3 /*break*/, 3];
141
177
  case 2:
142
178
  error_1 = _b.sent();
@@ -147,12 +183,13 @@ function LazyInternal(props) {
147
183
  });
148
184
  }); };
149
185
  loadDynamicDeps();
150
- }, []);
186
+ }, [sessionMode]);
187
+ // Memoize the dynamic settings to prevent unnecessary re-renders
188
+ var dynamicSettings = useCallback(function () { return (__assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors })); }, [darkMode, walletConnectors]);
151
189
  if (!Provider || walletConnectors.length === 0) {
152
190
  return null;
153
191
  }
154
- var dynamicSettings = __assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors });
155
- return (_jsx(Provider, { settings: dynamicSettings, children: _jsx(DynamicContextConsumer, { children: props.children }) }));
192
+ return (_jsx(Provider, { settings: dynamicSettings(), theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
156
193
  }
157
194
  export function LazyWalletProvider(_a) {
158
195
  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;
@@ -55,7 +55,10 @@ import React, { Suspense, useCallback, useEffect, useState } from 'react';
55
55
  import { N1WalletModal } from '../Modal/N1WalletModal';
56
56
  import { WalletError, WalletErrorCode } from '../errors/types';
57
57
  import { N1InternalWalletContext, N1WalletContext } from './context';
58
- import { N1ModalViewMode, N1SessionMode } from './types';
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';
59
62
  var LazyWalletProvider = React.lazy(function () {
60
63
  return import('./LazyWalletProvider').then(function (mod) { return ({
61
64
  default: mod.LazyWalletProvider,
@@ -83,7 +86,7 @@ var WalletErrorBoundary = /** @class */ (function (_super) {
83
86
  }(React.Component));
84
87
  export function N1WalletProvider(_a) {
85
88
  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;
89
+ 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
90
  var _c = useState(false), isConnected = _c[0], setIsConnected = _c[1];
88
91
  var _d = useState(null), ntsInterface = _d[0], setNtsInterface = _d[1];
89
92
  var _e = useState(false), showLogin = _e[0], setShowLogin = _e[1];
@@ -93,27 +96,35 @@ export function N1WalletProvider(_a) {
93
96
  var _j = useState(''), username = _j[0], setUsername = _j[1];
94
97
  var _k = useState(null), signMessageWithSessionKey = _k[0], setSignMessageWithSessionKey = _k[1];
95
98
  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
- }, []);
99
+ var _m = useState(null), signTransactionWithWalletKey = _m[0], setSignTransactionWithWalletKey = _m[1];
100
+ var _o = useState(false), showSidebar = _o[0], setShowSidebar = _o[1];
101
+ var _p = useState(false), startClosingLogin = _p[0], setStartClosingLogin = _p[1];
102
+ var _q = useState(false), loading = _q[0], setLoading = _q[1];
103
+ var _r = useState(N1ModalViewMode.Connect), viewMode = _r[0], setViewMode = _r[1];
104
+ var _s = useState(null), nordUser = _s[0], setNordUser = _s[1];
105
105
  // dynamic
106
- var _r = useState(''), address = _r[0], setAddress = _r[1];
107
- var _s = useState(''), chain = _s[0], setChain = _s[1];
108
- var _t = useState(null), dynamicSdkHasLoaded = _t[0], setDynamicSdkHasLoaded = _t[1];
109
- var _u = useState(null), dynamicHandleLogOut = _u[0], setDynamicHandleLogOut = _u[1];
110
- var _v = useState(null), sessionMode = _v[0], setSessionMode = _v[1];
111
- var _w = useState(null), dynamicWallet = _w[0], setDynamicWallet = _w[1];
112
- var _x = useState(null), showDynamicWidget = _x[0], setShowDynamicWidget = _x[1];
106
+ var _t = useState(''), address = _t[0], setAddress = _t[1];
107
+ var _u = useState([]), balances = _u[0], setBalances = _u[1];
108
+ var _v = useState(''), chain = _v[0], setChain = _v[1];
109
+ var _w = useState(null), dynamicSdkHasLoaded = _w[0], setDynamicSdkHasLoaded = _w[1];
110
+ var _x = useState(null), dynamicHandleLogOut = _x[0], setDynamicHandleLogOut = _x[1];
111
+ var _y = useState(null), sessionMode = _y[0], setSessionMode = _y[1];
112
+ var _z = useState(null), dynamicWallet = _z[0], setDynamicWallet = _z[1];
113
+ var _0 = useState(null), showDynamicWidget = _0[0], setShowDynamicWidget = _0[1];
114
+ // Create a separate component for Nord hooks to avoid conditional hook calls
115
+ var NordHooks = function () {
116
+ useNordInstance();
117
+ useNordWalletConnect(FlowState.IDLE, function (newState) { return console.log('State transition:', newState); }, {}, // context
118
+ function (updates) { return console.log('Context updates:', updates); }, providedSessionMode);
119
+ return null;
120
+ };
113
121
  // Combine SDK loading and initialization into a single effect
114
122
  useEffect(function () {
115
123
  var mounted = true;
116
- var loadNTSSDK = function () { return __awaiter(_this, void 0, void 0, function () {
124
+ // Set the session mode from props
125
+ setSessionMode(providedSessionMode);
126
+ // Load the appropriate SDK
127
+ var loadSDK = function () { return __awaiter(_this, void 0, void 0, function () {
117
128
  var NTSInterface, error_1;
118
129
  return __generator(this, function (_a) {
119
130
  switch (_a.label) {
@@ -121,8 +132,6 @@ export function N1WalletProvider(_a) {
121
132
  // eslint-disable-next-line no-console
122
133
  console.log('Loading NTS SDK');
123
134
  if (providedSessionMode === N1SessionMode.Nord) {
124
- // eslint-disable-next-line no-console
125
- console.log('Nord mode, skipping NTS SDK load');
126
135
  return [2 /*return*/];
127
136
  }
128
137
  _a.label = 1;
@@ -148,11 +157,11 @@ export function N1WalletProvider(_a) {
148
157
  }
149
158
  });
150
159
  }); };
151
- loadNTSSDK();
160
+ loadSDK();
152
161
  return function () {
153
162
  mounted = false;
154
163
  };
155
- }, [providedSessionMode]);
164
+ }, [providedSessionMode, onError]);
156
165
  // Separate effect to handle loading state based on both SDKs
157
166
  useEffect(function () {
158
167
  var isDynamicReady = dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;
@@ -169,24 +178,31 @@ export function N1WalletProvider(_a) {
169
178
  return [2 /*return*/];
170
179
  });
171
180
  }); };
172
- return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: {
173
- address: address,
174
- appId: appId,
175
- chain: chain,
176
- isConnected: isConnected,
177
- ntsInterface: ntsInterface,
178
- sessionMode: sessionMode,
179
- sessionPubKey: sessionPubKey,
180
- setShowLogin: setShowLogin,
181
- showLogin: showLogin,
182
- signMessageWithSessionKey: signMessageWithSessionKey,
183
- signMessageWithWalletKey: signMessageWithWalletKey,
184
- userChain: userChain,
185
- username: username,
186
- viewMode: viewMode,
187
- walletPubKey: walletPubKey,
188
- throwTestError: throwTestError,
189
- }, children: _jsxs(N1InternalWalletContext.Provider, { value: {
181
+ // Create the wallet context value
182
+ var walletContextValue = {
183
+ address: address,
184
+ appId: appId,
185
+ balances: balances,
186
+ chain: chain,
187
+ isConnected: isConnected,
188
+ ntsInterface: ntsInterface,
189
+ sessionMode: sessionMode,
190
+ sessionPubKey: sessionPubKey,
191
+ setShowLogin: setShowLogin,
192
+ showLogin: showLogin,
193
+ signMessageWithSessionKey: signMessageWithSessionKey,
194
+ signMessageWithWalletKey: signMessageWithWalletKey,
195
+ signTransactionWithWalletKey: signTransactionWithWalletKey,
196
+ userChain: userChain,
197
+ username: username,
198
+ viewMode: viewMode,
199
+ walletPubKey: walletPubKey,
200
+ throwTestError: throwTestError,
201
+ faucetUrl: faucetUrl,
202
+ nord: nord,
203
+ nordUser: nordUser,
204
+ };
205
+ return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: walletContextValue, children: _jsxs(N1InternalWalletContext.Provider, { value: {
190
206
  dynamicHandleLogOut: dynamicHandleLogOut,
191
207
  dynamicWallet: dynamicWallet,
192
208
  loading: loading,
@@ -194,6 +210,7 @@ export function N1WalletProvider(_a) {
194
210
  handleError: handleError,
195
211
  setDynamicSdkHasLoaded: setDynamicSdkHasLoaded,
196
212
  setAddress: setAddress,
213
+ setBalances: setBalances,
197
214
  setChain: setChain,
198
215
  setDynamicHandleLogOut: setDynamicHandleLogOut,
199
216
  setDynamicWallet: setDynamicWallet,
@@ -205,6 +222,7 @@ export function N1WalletProvider(_a) {
205
222
  setShowSidebar: setShowSidebar,
206
223
  setSignMessageWithSessionKey: setSignMessageWithSessionKey,
207
224
  setSignMessageWithWalletKey: setSignMessageWithWalletKey,
225
+ setSignTransactionWithWalletKey: setSignTransactionWithWalletKey,
208
226
  setStartClosingLogin: setStartClosingLogin,
209
227
  setUsername: setUsername,
210
228
  setUserChain: setUserChain,
@@ -215,5 +233,8 @@ export function N1WalletProvider(_a) {
215
233
  showDynamicWidget: showDynamicWidget,
216
234
  setShowDynamicWidget: setShowDynamicWidget,
217
235
  darkMode: darkMode,
218
- }, children: [children, _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
236
+ sessionMode: sessionMode,
237
+ faucetUrl: faucetUrl,
238
+ setNordUser: setNordUser,
239
+ }, children: [children, providedSessionMode === N1SessionMode.Nord && _jsx(NordHooks, {}), _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
219
240
  }
@@ -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,10 +18,69 @@ export interface N1WalletProviderProps {
17
18
  appId: string;
18
19
  darkMode?: boolean;
19
20
  onError?: (error: WalletError) => void;
21
+ faucetUrl?: string;
22
+ nord?: Nord;
23
+ }
24
+ export interface Balance {
25
+ mint: string;
26
+ balance: bigint;
27
+ appId: string;
28
+ appType: string;
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>;
20
79
  }
21
80
  export interface N1WalletState {
22
81
  address: string;
23
82
  appId: string | null;
83
+ balances: Balance[];
24
84
  chain: string;
25
85
  isConnected: boolean;
26
86
  ntsInterface: any;
@@ -30,11 +90,15 @@ export interface N1WalletState {
30
90
  showLogin: boolean;
31
91
  signMessageWithSessionKey: ((message: any) => Promise<any>) | null;
32
92
  signMessageWithWalletKey: ((message: any) => Promise<any>) | null;
93
+ signTransactionWithWalletKey: ((transaction: any) => Promise<any>) | null;
33
94
  userChain: string | null;
34
95
  username: string;
35
96
  viewMode: N1ModalViewMode;
36
97
  walletPubKey: Uint8Array | null;
37
98
  throwTestError: () => Promise<void>;
99
+ nord?: Nord;
100
+ faucetUrl?: string;
101
+ nordUser?: any;
38
102
  }
39
103
  export interface N1InternalWalletState {
40
104
  dynamicHandleLogOut: any;
@@ -44,6 +108,7 @@ export interface N1InternalWalletState {
44
108
  handleError: (error: WalletError) => void;
45
109
  setDynamicSdkHasLoaded: (loaded: any) => void;
46
110
  setAddress: (address: string) => void;
111
+ setBalances: (balances: Balance[]) => void;
47
112
  setChain: (chain: string) => void;
48
113
  setDynamicHandleLogOut: (handler: any) => void;
49
114
  setDynamicWallet: (wallet: any) => void;
@@ -55,14 +120,18 @@ export interface N1InternalWalletState {
55
120
  setShowSidebar: (show: boolean) => void;
56
121
  setSignMessageWithSessionKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
57
122
  setSignMessageWithWalletKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
123
+ setSignTransactionWithWalletKey: React.Dispatch<React.SetStateAction<((transaction: any) => Promise<any>) | null>>;
58
124
  setStartClosingLogin: (closing: boolean) => void;
59
125
  setUsername: (username: string) => void;
60
126
  setUserChain: (chain: string) => void;
61
127
  setViewMode: (mode: N1ModalViewMode) => void;
62
128
  setWalletPubKey: (key: Uint8Array) => void;
129
+ setNordUser: (user: any) => void;
63
130
  showSidebar: boolean;
64
131
  startClosingLogin: boolean;
65
132
  showDynamicWidget: any;
66
133
  setShowDynamicWidget: (show: any) => void;
67
134
  darkMode: boolean;
135
+ sessionMode: N1SessionMode | null;
136
+ faucetUrl?: string;
68
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
+ };
@@ -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 {};