@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
@@ -0,0 +1,391 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useCallback, useEffect, useState } from 'react';
38
+ import { WalletError, WalletErrorCode } from '../../../errors/types';
39
+ import { createSigningFunction, createWebSession, generateSessionKeys, hasValidSession, storeSessionKeys } from '../../../Logic/sessionManager';
40
+ import { useN1WalletContext, useN1WalletInternalContext } from '../../../Provider/hooks';
41
+ import { N1SessionMode } from '../../../Provider/types';
42
+ import { logger } from '../../../utils/logger';
43
+ import { FlowState } from '../types';
44
+ import { isNordConfigured } from '../utils/nordUtils';
45
+ import { useNordInstance } from './useNordInstance';
46
+ /**
47
+ * Hook for handling Nord session authentication
48
+ *
49
+ * @param options Configuration options
50
+ * @returns Nord session methods and state
51
+ */
52
+ export var useNordSession = function (options) {
53
+ var state = options.state, context = options.context, transition = options.transition, handleError = options.handleError;
54
+ var _a = useN1WalletInternalContext(), dynamicWallet = _a.dynamicWallet, setSessionPubKey = _a.setSessionPubKey, setSignMessageWithSessionKey = _a.setSignMessageWithSessionKey, sessionMode = _a.sessionMode;
55
+ var _b = useN1WalletContext(), walletPubKey = _b.walletPubKey, address = _b.address, nord = _b.nord, signMessageWithWalletKey = _b.signMessageWithWalletKey;
56
+ var _c = useNordInstance(), getNordUser = _c.getNordUser, instanceNordUser = _c.nordUser, createNordUser = _c.createNordUser;
57
+ var _d = useState(false), isAuthenticating = _d[0], setIsAuthenticating = _d[1];
58
+ var _e = useState(context.hasNordAccount), hasNordAccount = _e[0], setHasNordAccount = _e[1];
59
+ var _f = useState(context.hasActiveSession), hasActiveSession = _f[0], setHasActiveSession = _f[1];
60
+ var _g = useState(null), keyPair = _g[0], setKeyPair = _g[1];
61
+ // Log dependencies when they change
62
+ useEffect(function () {
63
+ console.log('useNordSession dependencies:', {
64
+ hasNord: !!nord,
65
+ hasAddress: !!address,
66
+ hasWalletSignFn: !!signMessageWithWalletKey,
67
+ nordUser: !!instanceNordUser
68
+ });
69
+ }, [nord, address, signMessageWithWalletKey, instanceNordUser]);
70
+ /**
71
+ * Check if user has a Nord account
72
+ */
73
+ var checkNordAccount = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
74
+ var accountIds, hasAccount, hasSession, error_1;
75
+ return __generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0:
78
+ if (!address) {
79
+ logger.warn('Cannot check Nord account without wallet address');
80
+ return [2 /*return*/];
81
+ }
82
+ _a.label = 1;
83
+ case 1:
84
+ _a.trys.push([1, 3, , 4]);
85
+ // If Nord is configured, use it to check for accounts
86
+ if (instanceNordUser && isNordConfigured(nord)) {
87
+ try {
88
+ accountIds = instanceNordUser.accountIds || [];
89
+ hasAccount = accountIds && accountIds.length > 0;
90
+ setHasNordAccount(hasAccount);
91
+ setHasActiveSession(!!instanceNordUser.sessionId);
92
+ // Update context
93
+ transition(state, {
94
+ hasNordAccount: hasAccount,
95
+ hasActiveSession: !!instanceNordUser.sessionId
96
+ });
97
+ // Handle state transitions
98
+ if (state === FlowState.WALLET_CONNECTED) {
99
+ if (context.walletType === 'ethereum') {
100
+ transition(FlowState.ETH_TO_SOL_AUTH);
101
+ }
102
+ else if (hasAccount && instanceNordUser.sessionId) {
103
+ transition(FlowState.FINAL_SUCCESS, {
104
+ hasNordAccount: true,
105
+ hasActiveSession: true
106
+ });
107
+ }
108
+ else {
109
+ transition(FlowState.CHAIN_SELECTION);
110
+ }
111
+ }
112
+ return [2 /*return*/];
113
+ }
114
+ catch (error) {
115
+ logger.warn('Failed to check Nord account using Nord-TS, falling back to session check', error);
116
+ }
117
+ }
118
+ return [4 /*yield*/, hasValidSession(address, N1SessionMode.Nord)];
119
+ case 2:
120
+ hasSession = _a.sent();
121
+ setHasNordAccount(hasSession);
122
+ setHasActiveSession(hasSession);
123
+ // Update context
124
+ transition(state, {
125
+ hasNordAccount: hasSession,
126
+ hasActiveSession: hasSession
127
+ });
128
+ // If in WALLET_CONNECTED state, transition to appropriate next state
129
+ if (state === FlowState.WALLET_CONNECTED) {
130
+ if (context.walletType === 'ethereum') {
131
+ transition(FlowState.ETH_TO_SOL_AUTH);
132
+ }
133
+ else if (hasSession) {
134
+ transition(FlowState.FINAL_SUCCESS, {
135
+ hasNordAccount: true,
136
+ hasActiveSession: true
137
+ });
138
+ }
139
+ else {
140
+ transition(FlowState.CHAIN_SELECTION);
141
+ }
142
+ }
143
+ return [3 /*break*/, 4];
144
+ case 3:
145
+ error_1 = _a.sent();
146
+ logger.error('Failed to check Nord account', error_1);
147
+ handleError(error_1 instanceof Error
148
+ ? error_1
149
+ : new Error('Failed to check Nord account'));
150
+ return [3 /*break*/, 4];
151
+ case 4: return [2 /*return*/];
152
+ }
153
+ });
154
+ }); }, [
155
+ address,
156
+ state,
157
+ context.walletType,
158
+ transition,
159
+ handleError,
160
+ nord,
161
+ instanceNordUser,
162
+ ]);
163
+ /**
164
+ * Initialize session keys
165
+ */
166
+ var initializeSessionKeys = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
167
+ var newKeyPair, error_2;
168
+ return __generator(this, function (_a) {
169
+ switch (_a.label) {
170
+ case 0:
171
+ _a.trys.push([0, 2, , 3]);
172
+ return [4 /*yield*/, generateSessionKeys()];
173
+ case 1:
174
+ newKeyPair = _a.sent();
175
+ setKeyPair(newKeyPair);
176
+ logger.debug('Generated new session keys');
177
+ return [2 /*return*/, newKeyPair];
178
+ case 2:
179
+ error_2 = _a.sent();
180
+ logger.error('Failed to initialize session keys', error_2);
181
+ handleError(error_2 instanceof Error
182
+ ? error_2
183
+ : new Error('Failed to initialize session keys'));
184
+ return [2 /*return*/, null];
185
+ case 3: return [2 /*return*/];
186
+ }
187
+ });
188
+ }); }, [handleError]);
189
+ /**
190
+ * Create and register a new session
191
+ */
192
+ var createSession = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
193
+ var keys_1, _a, timestamp, nonce, createSession_1, sessionId, signFn_1, error_3, keys, _b, signFn_2, error_4;
194
+ return __generator(this, function (_c) {
195
+ switch (_c.label) {
196
+ case 0:
197
+ if (!dynamicWallet || !walletPubKey || !address) {
198
+ logger.warn('Cannot create session without wallet');
199
+ return [2 /*return*/, false];
200
+ }
201
+ _c.label = 1;
202
+ case 1:
203
+ _c.trys.push([1, 14, , 15]);
204
+ if (!(instanceNordUser && nord && isNordConfigured(nord) && signMessageWithWalletKey)) return [3 /*break*/, 10];
205
+ _c.label = 2;
206
+ case 2:
207
+ _c.trys.push([2, 9, , 10]);
208
+ _a = keyPair;
209
+ if (_a) return [3 /*break*/, 4];
210
+ return [4 /*yield*/, initializeSessionKeys()];
211
+ case 3:
212
+ _a = (_c.sent());
213
+ _c.label = 4;
214
+ case 4:
215
+ keys_1 = _a;
216
+ if (!keys_1) {
217
+ throw new Error('Failed to initialize session keys');
218
+ }
219
+ return [4 /*yield*/, nord.getTimestamp()];
220
+ case 5:
221
+ timestamp = _c.sent();
222
+ return [4 /*yield*/, nord.getActionNonce()];
223
+ case 6:
224
+ nonce = _c.sent();
225
+ return [4 /*yield*/, import('@n1xyz/nord-ts/dist/nord/api/actions')];
226
+ case 7:
227
+ createSession_1 = (_c.sent()).createSession;
228
+ return [4 /*yield*/, createSession_1(nord.webServerUrl, signMessageWithWalletKey, timestamp, nonce, {
229
+ userPubkey: walletPubKey,
230
+ sessionPubkey: keys_1.publicKey,
231
+ })];
232
+ case 8:
233
+ sessionId = _c.sent();
234
+ if (sessionId) {
235
+ // Store session keys
236
+ storeSessionKeys({
237
+ privKey: keys_1.privateKey,
238
+ walletPublicKey: address,
239
+ chainName: dynamicWallet.chain,
240
+ sessionMode: N1SessionMode.Nord
241
+ });
242
+ // Set session public key and signing function
243
+ setSessionPubKey(keys_1.publicKey);
244
+ signFn_1 = createSigningFunction(keys_1.privateKey);
245
+ setSignMessageWithSessionKey(function () { return signFn_1; });
246
+ logger.debug('Session created successfully using Nord-TS API');
247
+ return [2 /*return*/, true];
248
+ }
249
+ else {
250
+ logger.warn('Failed to create session using Nord-TS API, falling back to legacy method');
251
+ }
252
+ return [3 /*break*/, 10];
253
+ case 9:
254
+ error_3 = _c.sent();
255
+ logger.warn('Error creating session with Nord-TS API, falling back to legacy method', error_3);
256
+ return [3 /*break*/, 10];
257
+ case 10:
258
+ _b = keyPair;
259
+ if (_b) return [3 /*break*/, 12];
260
+ return [4 /*yield*/, initializeSessionKeys()];
261
+ case 11:
262
+ _b = (_c.sent());
263
+ _c.label = 12;
264
+ case 12:
265
+ keys = _b;
266
+ if (!keys) {
267
+ throw new Error('Failed to initialize session keys');
268
+ }
269
+ signFn_2 = createSigningFunction(keys.privateKey);
270
+ // Store session keys
271
+ storeSessionKeys({
272
+ privKey: keys.privateKey,
273
+ walletPublicKey: address,
274
+ chainName: dynamicWallet.chain,
275
+ sessionMode: N1SessionMode.Nord
276
+ });
277
+ // Set session public key and signing function
278
+ setSessionPubKey(keys.publicKey);
279
+ setSignMessageWithSessionKey(function () { return signFn_2; });
280
+ // Create web session
281
+ return [4 /*yield*/, createWebSession(signFn_2, keys.publicKey, walletPubKey, N1SessionMode.Nord)];
282
+ case 13:
283
+ // Create web session
284
+ _c.sent();
285
+ logger.debug('Session created successfully using legacy method');
286
+ return [2 /*return*/, true];
287
+ case 14:
288
+ error_4 = _c.sent();
289
+ logger.error('Failed to create session', error_4);
290
+ handleError(error_4 instanceof Error
291
+ ? error_4
292
+ : new Error('Failed to create session'));
293
+ return [2 /*return*/, false];
294
+ case 15: return [2 /*return*/];
295
+ }
296
+ });
297
+ }); }, [
298
+ dynamicWallet,
299
+ walletPubKey,
300
+ address,
301
+ keyPair,
302
+ initializeSessionKeys,
303
+ setSessionPubKey,
304
+ setSignMessageWithSessionKey,
305
+ handleError,
306
+ nord,
307
+ instanceNordUser,
308
+ signMessageWithWalletKey,
309
+ ]);
310
+ /**
311
+ * Authenticate Nord session
312
+ */
313
+ var authenticateSession = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
314
+ var success, error_5;
315
+ return __generator(this, function (_a) {
316
+ switch (_a.label) {
317
+ case 0:
318
+ if (isAuthenticating)
319
+ return [2 /*return*/];
320
+ setIsAuthenticating(true);
321
+ _a.label = 1;
322
+ case 1:
323
+ _a.trys.push([1, 3, 4, 5]);
324
+ // Transition to loading state
325
+ transition(FlowState.AUTH_LOADING);
326
+ return [4 /*yield*/, createSession()];
327
+ case 2:
328
+ success = _a.sent();
329
+ if (success) {
330
+ // Update state and context
331
+ setHasActiveSession(true);
332
+ transition(FlowState.FINAL_SUCCESS, { hasActiveSession: true });
333
+ }
334
+ else {
335
+ throw new WalletError(WalletErrorCode.AUTHENTICATION_FAILED, 'Failed to authenticate Nord session');
336
+ }
337
+ return [3 /*break*/, 5];
338
+ case 3:
339
+ error_5 = _a.sent();
340
+ logger.error('Error in authenticateSession', error_5);
341
+ setIsAuthenticating(false);
342
+ handleError(error_5 instanceof Error
343
+ ? error_5
344
+ : new Error('Failed to authenticate Nord session'));
345
+ return [3 /*break*/, 5];
346
+ case 4:
347
+ setIsAuthenticating(false);
348
+ return [7 /*endfinally*/];
349
+ case 5: return [2 /*return*/];
350
+ }
351
+ });
352
+ }); }, [
353
+ isAuthenticating,
354
+ transition,
355
+ createSession,
356
+ handleError
357
+ ]);
358
+ /**
359
+ * Run checks based on current state
360
+ */
361
+ useEffect(function () {
362
+ // When wallet is connected, check if user has a Nord account
363
+ if (state === FlowState.WALLET_CONNECTED && !hasNordAccount && sessionMode === N1SessionMode.Nord) {
364
+ checkNordAccount();
365
+ }
366
+ // When deposit is successful, check if user has an active session
367
+ if (state === FlowState.DEPOSIT_SUCCESS && !hasActiveSession && sessionMode === N1SessionMode.Nord) {
368
+ checkNordAccount();
369
+ }
370
+ // When in Nord auth state, start authentication
371
+ if (state === FlowState.NORD_AUTH && !isAuthenticating && sessionMode === N1SessionMode.Nord) {
372
+ authenticateSession();
373
+ }
374
+ }, [
375
+ state,
376
+ hasNordAccount,
377
+ hasActiveSession,
378
+ isAuthenticating,
379
+ sessionMode,
380
+ checkNordAccount,
381
+ authenticateSession,
382
+ ]);
383
+ return {
384
+ hasNordAccount: hasNordAccount,
385
+ hasActiveSession: hasActiveSession,
386
+ isAuthenticating: isAuthenticating,
387
+ checkNordAccount: checkNordAccount,
388
+ authenticateSession: authenticateSession,
389
+ nordUser: instanceNordUser
390
+ };
391
+ };
@@ -0,0 +1,14 @@
1
+ import { N1SessionMode } from '../../../Provider/types';
2
+ import { FlowState } from '../types';
3
+ /**
4
+ * Hook for handling wallet connection
5
+ *
6
+ * @param options Configuration options
7
+ * @returns Wallet connection methods and state
8
+ */
9
+ export declare const useNordWalletConnect: (state: FlowState, transition: (newState: FlowState, contextUpdates?: Partial<any>) => void, context: any, updateContext: (updates: Partial<any>) => void, sessionMode?: N1SessionMode) => {
10
+ isConnecting: boolean;
11
+ walletType: "solana" | "ethereum" | null;
12
+ connectWallet: () => Promise<void>;
13
+ disconnectWallet: () => void;
14
+ };
@@ -0,0 +1,231 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useCallback, useEffect, useState, useRef } from 'react';
38
+ import { useN1WalletContext, useN1WalletInternalContext } from '../../../Provider/hooks';
39
+ import { N1SessionMode } from '../../../Provider/types';
40
+ import { FlowState } from '../types';
41
+ /**
42
+ * Hook for handling wallet connection
43
+ *
44
+ * @param options Configuration options
45
+ * @returns Wallet connection methods and state
46
+ */
47
+ export var useNordWalletConnect = function (state, transition, context, updateContext, sessionMode) {
48
+ var _a = useN1WalletContext(), nord = _a.nord, nordUser = _a.nordUser;
49
+ var _b = useN1WalletInternalContext(), showDynamicWidget = _b.showDynamicWidget, dynamicWallet = _b.dynamicWallet, setIsConnected = _b.setIsConnected;
50
+ var _c = useState(false), isConnecting = _c[0], setIsConnecting = _c[1];
51
+ var _d = useState(context.walletType), walletType = _d[0], setWalletType = _d[1];
52
+ var _e = useState(false), hasProcessedWallet = _e[0], setHasProcessedWallet = _e[1];
53
+ // Use a ref to track the current wallet address to prevent processing the same wallet multiple times
54
+ var processedWalletAddressRef = useRef(null);
55
+ /**
56
+ * Determine wallet type from Dynamic wallet
57
+ */
58
+ var determineWalletType = useCallback(function () {
59
+ var _a, _b;
60
+ if (!dynamicWallet)
61
+ return null;
62
+ // Check wallet connector id to determine if it's ethereum or solana
63
+ var connectorId = ((_b = (_a = dynamicWallet.connector) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || '';
64
+ if (connectorId.includes('solana') || connectorId.includes('phantom')) {
65
+ return 'solana';
66
+ }
67
+ else {
68
+ // Default to ethereum for most other wallets
69
+ return 'ethereum';
70
+ }
71
+ }, [dynamicWallet]);
72
+ /**
73
+ * Connect wallet using Dynamic widget
74
+ */
75
+ var connectWallet = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
76
+ var error_1;
77
+ return __generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0:
80
+ if (isConnecting || !showDynamicWidget)
81
+ return [2 /*return*/];
82
+ setIsConnecting(true);
83
+ setHasProcessedWallet(false);
84
+ console.log('Starting wallet connection process');
85
+ _a.label = 1;
86
+ case 1:
87
+ _a.trys.push([1, 3, , 4]);
88
+ // Show Dynamic widget to connect wallet
89
+ return [4 /*yield*/, showDynamicWidget(true)];
90
+ case 2:
91
+ // Show Dynamic widget to connect wallet
92
+ _a.sent();
93
+ console.log('Dynamic widget shown');
94
+ return [3 /*break*/, 4];
95
+ case 3:
96
+ error_1 = _a.sent();
97
+ setIsConnecting(false);
98
+ updateContext({ walletType: null });
99
+ console.error('Error showing Dynamic widget:', error_1);
100
+ return [3 /*break*/, 4];
101
+ case 4: return [2 /*return*/];
102
+ }
103
+ });
104
+ }); }, [isConnecting, showDynamicWidget, updateContext]);
105
+ /**
106
+ * Disconnect wallet
107
+ */
108
+ var disconnectWallet = useCallback(function () {
109
+ console.log('Disconnecting wallet');
110
+ setWalletType(null);
111
+ setHasProcessedWallet(false);
112
+ updateContext({ walletType: null });
113
+ }, [updateContext]);
114
+ useEffect(function () {
115
+ if (hasProcessedWallet && nordUser) {
116
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
117
+ var hasNordAccount, sessionId, hasActiveSession, transitionDestination;
118
+ return __generator(this, function (_a) {
119
+ switch (_a.label) {
120
+ case 0: return [4 /*yield*/, nord.accountExists(dynamicWallet.address)];
121
+ case 1:
122
+ hasNordAccount = _a.sent();
123
+ sessionId = nordUser.sessionId;
124
+ hasActiveSession = sessionId != null;
125
+ updateContext({ hasNordAccount: hasNordAccount, hasActiveSession: hasActiveSession });
126
+ transitionDestination = hasNordAccount ? (sessionId != null ? FlowState.FINAL_SUCCESS : FlowState.AUTH_LOADING) : FlowState.CHAIN_SELECTION;
127
+ if (hasNordAccount && sessionId != null) {
128
+ setIsConnected(true);
129
+ }
130
+ // Force a small delay to ensure UI updates properly
131
+ setTimeout(function () {
132
+ try {
133
+ console.log('Attempting transition to ' + transitionDestination);
134
+ transition(transitionDestination, {
135
+ walletType: 'solana',
136
+ hasNordAccount: hasNordAccount,
137
+ hasActiveSession: hasActiveSession
138
+ });
139
+ console.log('Transition to ' + transitionDestination + ' completed');
140
+ // Try again with a longer delay as a fallback
141
+ setTimeout(function () {
142
+ console.log('Trying fallback transition after delay');
143
+ transition(transitionDestination, {
144
+ walletType: 'solana',
145
+ hasNordAccount: hasNordAccount,
146
+ hasActiveSession: hasActiveSession
147
+ });
148
+ }, 500);
149
+ }
150
+ catch (error) {
151
+ console.error('Error during transition:', error);
152
+ }
153
+ finally {
154
+ setIsConnecting(false);
155
+ }
156
+ }, 100);
157
+ return [2 /*return*/];
158
+ }
159
+ });
160
+ }); })();
161
+ }
162
+ }, [hasProcessedWallet, nordUser]);
163
+ /**
164
+ * Effect to handle wallet connection state changes
165
+ */
166
+ useEffect(function () {
167
+ var isNordMode = sessionMode === N1SessionMode.Nord;
168
+ // If we don't have a wallet, nothing to process
169
+ if (!dynamicWallet) {
170
+ return;
171
+ }
172
+ // If we've already processed this specific wallet address, don't process again
173
+ if (hasProcessedWallet && processedWalletAddressRef.current === dynamicWallet.address) {
174
+ console.log('Skipping wallet processing - already processed this address');
175
+ return;
176
+ }
177
+ // Use an IIFE to handle the async processing
178
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
179
+ var type;
180
+ var _a, _b;
181
+ return __generator(this, function (_c) {
182
+ // Prevent processing if already in progress
183
+ if (hasProcessedWallet) {
184
+ console.log('Skipping wallet processing - hasProcessedWallet is true');
185
+ return [2 /*return*/];
186
+ }
187
+ console.log('Processing wallet connection:', {
188
+ wallet: (_a = dynamicWallet.connector) === null || _a === void 0 ? void 0 : _a.name,
189
+ address: (_b = dynamicWallet.address) === null || _b === void 0 ? void 0 : _b.slice(0, 8),
190
+ state: state,
191
+ isNordMode: isNordMode
192
+ });
193
+ // Set processed flag first to prevent re-entry
194
+ setHasProcessedWallet(true);
195
+ processedWalletAddressRef.current = dynamicWallet.address;
196
+ type = determineWalletType();
197
+ setWalletType(type);
198
+ return [2 /*return*/];
199
+ });
200
+ }); })();
201
+ // Cleanup function to handle component unmount
202
+ return function () {
203
+ console.log('Wallet connection effect cleanup');
204
+ };
205
+ }, [dynamicWallet, determineWalletType]);
206
+ // Handle wallet disconnection in a separate effect
207
+ useEffect(function () {
208
+ if (!dynamicWallet && hasProcessedWallet) {
209
+ console.log('Wallet disconnected, resetting processed flag');
210
+ processedWalletAddressRef.current = null;
211
+ setHasProcessedWallet(false);
212
+ }
213
+ }, [dynamicWallet, hasProcessedWallet]);
214
+ // Handle connecting state changes in a separate effect
215
+ useEffect(function () {
216
+ if (state === FlowState.CONNECTING_WALLET && !dynamicWallet && isConnecting) {
217
+ // Only keep isConnecting true if we're in the connecting state and don't have a wallet yet
218
+ // This prevents an infinite loop of setting isConnecting
219
+ }
220
+ else if (state !== FlowState.CONNECTING_WALLET && isConnecting) {
221
+ // If we're no longer in the connecting state, reset the connecting flag
222
+ setIsConnecting(false);
223
+ }
224
+ }, [state, dynamicWallet, isConnecting]);
225
+ return {
226
+ isConnecting: isConnecting,
227
+ walletType: walletType,
228
+ connectWallet: connectWallet,
229
+ disconnectWallet: disconnectWallet,
230
+ };
231
+ };
@@ -0,0 +1,2 @@
1
+ import { TableValues } from '../types';
2
+ export declare function useTableValues(isSuccessView: boolean, selectedChain: string | null): TableValues;