@n1xyz/wallet-widget 0.0.4 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/README.md +184 -19
  2. package/dist/Logic/sessionManager.d.ts +53 -0
  3. package/dist/Logic/sessionManager.js +182 -0
  4. package/dist/Logic/transactionManager.d.ts +41 -0
  5. package/dist/Logic/transactionManager.js +196 -0
  6. package/dist/Logic/utils.js +9 -12
  7. package/dist/Modal/BackButton.js +1 -1
  8. package/dist/Modal/ConnectView.js +1 -1
  9. package/dist/Modal/CreateSessionView.js +1 -1
  10. package/dist/Modal/LoadingFallback.d.ts +2 -0
  11. package/dist/Modal/LoadingFallback.js +2 -0
  12. package/dist/Modal/ModalHeader.js +1 -1
  13. package/dist/Modal/N1WalletModal.js +88 -82
  14. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
  15. package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
  16. package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
  17. package/dist/Modal/NTSFlow/NTSFlow.js +34 -0
  18. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
  19. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
  20. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
  21. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
  22. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
  23. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
  24. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
  25. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
  26. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
  27. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
  28. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
  29. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
  30. package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
  31. package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
  32. package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
  33. package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
  34. package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
  35. package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
  36. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  37. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
  38. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  39. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
  40. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
  41. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
  42. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  43. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
  44. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
  45. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
  46. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
  47. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
  48. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  49. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
  50. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  51. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
  52. package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
  53. package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
  54. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  55. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  56. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  57. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  58. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  59. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  60. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  61. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
  62. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  63. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  64. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  65. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  66. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  67. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
  68. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  69. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  70. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  71. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  72. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  73. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
  74. package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
  75. package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
  76. package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
  77. package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
  78. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
  79. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
  80. package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
  81. package/dist/Modal/NTSFlow/components/BackButton.js +25 -0
  82. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
  83. package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
  84. package/dist/Modal/NTSFlow/index.d.ts +1 -0
  85. package/dist/Modal/NTSFlow/index.js +1 -0
  86. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
  87. package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
  88. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
  89. package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
  90. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
  91. package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
  92. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
  93. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
  94. package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
  95. package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
  96. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
  97. package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
  98. package/dist/Modal/NoWhitelistView.js +1 -1
  99. package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
  100. package/dist/Modal/NordFlow/NordFlow.js +267 -0
  101. package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
  102. package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
  103. package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
  104. package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
  105. package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
  106. package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
  107. package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
  108. package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
  109. package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +8 -0
  110. package/dist/Modal/NordFlow/components/EVMChainsButton.js +18 -0
  111. package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
  112. package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
  113. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
  114. package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
  115. package/dist/Modal/NordFlow/components/MoreButton.d.ts +8 -0
  116. package/dist/Modal/NordFlow/components/MoreButton.js +18 -0
  117. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
  118. package/dist/Modal/NordFlow/components/TransactionTable.js +85 -0
  119. package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
  120. package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
  121. package/dist/Modal/NordFlow/components/index.d.ts +5 -0
  122. package/dist/Modal/NordFlow/components/index.js +5 -0
  123. package/dist/Modal/NordFlow/constants.d.ts +37 -0
  124. package/dist/Modal/NordFlow/constants.js +192 -0
  125. package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
  126. package/dist/Modal/NordFlow/hoc/index.js +1 -0
  127. package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
  128. package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
  129. package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
  130. package/dist/Modal/NordFlow/hooks/index.js +5 -0
  131. package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  132. package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
  133. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
  134. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +380 -0
  135. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
  136. package/dist/Modal/NordFlow/hooks/useFlowState.js +167 -0
  137. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
  138. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
  139. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
  140. package/dist/Modal/NordFlow/hooks/useNordInstance.js +319 -0
  141. package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
  142. package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
  143. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
  144. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +239 -0
  145. package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
  146. package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
  147. package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  148. package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
  149. package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
  150. package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
  151. package/dist/Modal/NordFlow/index copy.d.ts +1 -0
  152. package/dist/Modal/NordFlow/index copy.js +1 -0
  153. package/dist/Modal/NordFlow/index.d.ts +1 -0
  154. package/dist/Modal/NordFlow/index.js +1 -0
  155. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  156. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  157. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  158. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  159. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  160. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +63 -0
  161. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +12 -0
  162. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +186 -0
  163. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
  164. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +45 -0
  165. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  166. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +121 -0
  167. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
  168. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +135 -0
  169. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
  170. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
  171. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  172. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
  173. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
  174. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
  175. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
  176. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +67 -0
  177. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  178. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
  179. package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  180. package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
  181. package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
  182. package/dist/Modal/NordFlow/screens/index.js +9 -0
  183. package/dist/Modal/NordFlow/types.d.ts +110 -0
  184. package/dist/Modal/NordFlow/types.js +32 -0
  185. package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
  186. package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
  187. package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
  188. package/dist/Modal/NordFlow/utils/index.js +3 -0
  189. package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
  190. package/dist/Modal/NordFlow/utils/nordUtils.js +63 -0
  191. package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
  192. package/dist/Modal/NordFlow/utils/persistence.js +83 -0
  193. package/dist/Modal/Sidebar/N1Sidebar.js +38 -18
  194. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
  195. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
  196. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
  197. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
  198. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
  199. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +42 -0
  200. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
  201. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
  202. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
  203. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
  204. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
  205. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +208 -0
  206. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
  207. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
  208. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
  209. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +29 -0
  210. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
  211. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +21 -0
  212. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
  213. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
  214. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
  215. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
  216. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
  217. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +79 -0
  218. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
  219. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +109 -0
  220. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
  221. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
  222. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
  223. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
  224. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
  225. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +9 -0
  226. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
  227. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +259 -0
  228. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
  229. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
  230. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
  231. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
  232. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
  233. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +182 -0
  234. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
  235. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +195 -0
  236. package/dist/NordFlow/WalletConnectionFlow.d.ts +9 -0
  237. package/dist/NordFlow/WalletConnectionFlow.js +145 -0
  238. package/dist/NordFlow/components/AnimatedButton.d.ts +14 -0
  239. package/dist/NordFlow/components/AnimatedButton.js +75 -0
  240. package/dist/NordFlow/components/ChainButton.d.ts +7 -0
  241. package/dist/NordFlow/components/ChainButton.js +5 -0
  242. package/dist/NordFlow/components/LoadingSquares.d.ts +1 -0
  243. package/dist/NordFlow/components/LoadingSquares.js +5 -0
  244. package/dist/NordFlow/components/TransactionTable.d.ts +13 -0
  245. package/dist/NordFlow/components/TransactionTable.js +58 -0
  246. package/dist/NordFlow/components/WaitingMessage.d.ts +6 -0
  247. package/dist/NordFlow/components/WaitingMessage.js +6 -0
  248. package/dist/NordFlow/components/index.d.ts +5 -0
  249. package/dist/NordFlow/components/index.js +5 -0
  250. package/dist/NordFlow/constants.d.ts +37 -0
  251. package/dist/NordFlow/constants.js +223 -0
  252. package/dist/NordFlow/hooks/index.d.ts +8 -0
  253. package/dist/NordFlow/hooks/index.js +8 -0
  254. package/dist/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  255. package/dist/NordFlow/hooks/useButtonTyping.js +43 -0
  256. package/dist/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  257. package/dist/NordFlow/hooks/useDepositFlow.js +166 -0
  258. package/dist/NordFlow/hooks/useFlowState.d.ts +32 -0
  259. package/dist/NordFlow/hooks/useFlowState.js +163 -0
  260. package/dist/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  261. package/dist/NordFlow/hooks/useInterruptHandler.js +101 -0
  262. package/dist/NordFlow/hooks/useNordSession.d.ts +32 -0
  263. package/dist/NordFlow/hooks/useNordSession.js +193 -0
  264. package/dist/NordFlow/hooks/useTableValues.d.ts +2 -0
  265. package/dist/NordFlow/hooks/useTableValues.js +69 -0
  266. package/dist/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  267. package/dist/NordFlow/hooks/useWaitingMessage.js +89 -0
  268. package/dist/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  269. package/dist/NordFlow/hooks/useWalletConnect.js +132 -0
  270. package/dist/NordFlow/index.d.ts +3 -0
  271. package/dist/NordFlow/index.js +3 -0
  272. package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  273. package/dist/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  274. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  275. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  276. package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  277. package/dist/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  278. package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  279. package/dist/NordFlow/screens/04-AmountInputScreen.js +20 -0
  280. package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  281. package/dist/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  282. package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  283. package/dist/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  284. package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  285. package/dist/NordFlow/screens/07-NordAuthScreen.js +14 -0
  286. package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  287. package/dist/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  288. package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  289. package/dist/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  290. package/dist/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  291. package/dist/NordFlow/screens/10-ErrorScreen.js +13 -0
  292. package/dist/NordFlow/screens/index.d.ts +10 -0
  293. package/dist/NordFlow/screens/index.js +10 -0
  294. package/dist/NordFlow/types.d.ts +105 -0
  295. package/dist/NordFlow/types.js +34 -0
  296. package/dist/NordFlow/utils/persistence.d.ts +24 -0
  297. package/dist/NordFlow/utils/persistence.js +83 -0
  298. package/dist/Provider/LazyWalletProvider.js +81 -42
  299. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  300. package/dist/Provider/N1WalletProvider.js +65 -46
  301. package/dist/Provider/types.d.ts +61 -0
  302. package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +9 -0
  303. package/dist/WalletConnectionFlow/WalletConnectionFlow.js +145 -0
  304. package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +14 -0
  305. package/dist/WalletConnectionFlow/components/AnimatedButton.js +75 -0
  306. package/dist/WalletConnectionFlow/components/ChainButton.d.ts +7 -0
  307. package/dist/WalletConnectionFlow/components/ChainButton.js +5 -0
  308. package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +1 -0
  309. package/dist/WalletConnectionFlow/components/LoadingSquares.js +5 -0
  310. package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +13 -0
  311. package/dist/WalletConnectionFlow/components/TransactionTable.js +58 -0
  312. package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +6 -0
  313. package/dist/WalletConnectionFlow/components/WaitingMessage.js +6 -0
  314. package/dist/WalletConnectionFlow/components/index.d.ts +5 -0
  315. package/dist/WalletConnectionFlow/components/index.js +5 -0
  316. package/dist/WalletConnectionFlow/constants.d.ts +37 -0
  317. package/dist/WalletConnectionFlow/constants.js +223 -0
  318. package/dist/WalletConnectionFlow/hooks/index.d.ts +8 -0
  319. package/dist/WalletConnectionFlow/hooks/index.js +8 -0
  320. package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +7 -0
  321. package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +43 -0
  322. package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +38 -0
  323. package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +166 -0
  324. package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +32 -0
  325. package/dist/WalletConnectionFlow/hooks/useFlowState.js +163 -0
  326. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +27 -0
  327. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +101 -0
  328. package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +32 -0
  329. package/dist/WalletConnectionFlow/hooks/useNordSession.js +193 -0
  330. package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +2 -0
  331. package/dist/WalletConnectionFlow/hooks/useTableValues.js +69 -0
  332. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +6 -0
  333. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +89 -0
  334. package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +30 -0
  335. package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +132 -0
  336. package/dist/WalletConnectionFlow/index.d.ts +3 -0
  337. package/dist/WalletConnectionFlow/index.js +3 -0
  338. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  339. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +17 -0
  340. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  341. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  342. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  343. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +7 -0
  344. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +8 -0
  345. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +20 -0
  346. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  347. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +6 -0
  348. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  349. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +99 -0
  350. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +7 -0
  351. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +14 -0
  352. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  353. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +20 -0
  354. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  355. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +18 -0
  356. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +7 -0
  357. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +13 -0
  358. package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +8 -0
  359. package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +20 -0
  360. package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +8 -0
  361. package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +28 -0
  362. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +6 -0
  363. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +20 -0
  364. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +7 -0
  365. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +7 -0
  366. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +6 -0
  367. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +17 -0
  368. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +7 -0
  369. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +6 -0
  370. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +8 -0
  371. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +99 -0
  372. package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +7 -0
  373. package/dist/WalletConnectionFlow/screens/ErrorScreen.js +13 -0
  374. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +6 -0
  375. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +47 -0
  376. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +6 -0
  377. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +47 -0
  378. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +5 -0
  379. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +18 -0
  380. package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +7 -0
  381. package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +14 -0
  382. package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +6 -0
  383. package/dist/WalletConnectionFlow/screens/SigningScreen.js +6 -0
  384. package/dist/WalletConnectionFlow/screens/index.d.ts +10 -0
  385. package/dist/WalletConnectionFlow/screens/index.js +10 -0
  386. package/dist/WalletConnectionFlow/types.d.ts +105 -0
  387. package/dist/WalletConnectionFlow/types.js +34 -0
  388. package/dist/WalletConnectionFlow/utils/persistence.d.ts +24 -0
  389. package/dist/WalletConnectionFlow/utils/persistence.js +83 -0
  390. package/dist/components/WalletDeposit/components/TransactionTable.d.ts +9 -2
  391. package/dist/components/WalletDeposit/components/TransactionTable.js +55 -5
  392. package/dist/components/WalletDeposit/types.d.ts +5 -0
  393. package/dist/components/logos/ArbitrumLogo.d.ts +8 -0
  394. package/dist/components/logos/ArbitrumLogo.js +5 -0
  395. package/dist/components/logos/BaseLogo.d.ts +8 -0
  396. package/dist/components/logos/BaseLogo.js +5 -0
  397. package/dist/components/logos/BeraLogo.d.ts +8 -0
  398. package/dist/components/logos/BeraLogo.js +5 -0
  399. package/dist/components/logos/BitcoinLogo.d.ts +8 -0
  400. package/dist/components/logos/BitcoinLogo.js +5 -0
  401. package/dist/components/logos/EVMChainsGroup.d.ts +7 -0
  402. package/dist/components/logos/EVMChainsGroup.js +18 -0
  403. package/dist/components/logos/EthereumLogo.d.ts +8 -0
  404. package/dist/components/logos/EthereumLogo.js +5 -0
  405. package/dist/components/logos/HyperliquidLogo.d.ts +8 -0
  406. package/dist/components/logos/HyperliquidLogo.js +5 -0
  407. package/dist/components/logos/MoreChainsGroup.d.ts +7 -0
  408. package/dist/components/logos/MoreChainsGroup.js +18 -0
  409. package/dist/components/logos/OptimismLogo.d.ts +8 -0
  410. package/dist/components/logos/OptimismLogo.js +5 -0
  411. package/dist/components/logos/SolanaLogo.d.ts +8 -0
  412. package/dist/components/logos/SolanaLogo.js +5 -0
  413. package/dist/components/logos/index.d.ts +10 -0
  414. package/dist/components/logos/index.js +10 -0
  415. package/dist/config/dynamic.d.ts +20 -0
  416. package/dist/config/dynamic.js +47 -0
  417. package/dist/config/solana.d.ts +25 -0
  418. package/dist/config/solana.js +41 -0
  419. package/dist/errors/types.d.ts +5 -1
  420. package/dist/errors/types.js +12 -0
  421. package/dist/hooks/useSolanaSession.d.ts +17 -0
  422. package/dist/hooks/useSolanaSession.js +180 -0
  423. package/dist/index.d.ts +1 -2
  424. package/dist/index.js +1 -2
  425. package/dist/main.css +1 -1
  426. package/dist/utils/solana-session.d.ts +84 -0
  427. package/dist/utils/solana-session.js +230 -0
  428. package/package.json +14 -11
@@ -0,0 +1,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,239 @@
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 { logger } from '../../../utils/logger';
41
+ import { FlowState } from '../types';
42
+ /**
43
+ * Hook for handling wallet connection
44
+ *
45
+ * @param options Configuration options
46
+ * @returns Wallet connection methods and state
47
+ */
48
+ export var useNordWalletConnect = function (state, transition, context, updateContext, sessionMode) {
49
+ var _a = useN1WalletContext(), nord = _a.nord, nordUser = _a.nordUser;
50
+ var _b = useN1WalletInternalContext(), showDynamicWidget = _b.showDynamicWidget, dynamicWallet = _b.dynamicWallet, setIsConnected = _b.setIsConnected;
51
+ var _c = useState(false), isConnecting = _c[0], setIsConnecting = _c[1];
52
+ var _d = useState(context.walletType), walletType = _d[0], setWalletType = _d[1];
53
+ var _e = useState(false), hasProcessedWallet = _e[0], setHasProcessedWallet = _e[1];
54
+ // Use a ref to track the current wallet address to prevent processing the same wallet multiple times
55
+ var processedWalletAddressRef = useRef(null);
56
+ /**
57
+ * Determine wallet type from Dynamic wallet
58
+ */
59
+ var determineWalletType = useCallback(function () {
60
+ var _a, _b;
61
+ if (!dynamicWallet)
62
+ return null;
63
+ // Check wallet connector id to determine if it's ethereum or solana
64
+ var connectorId = ((_b = (_a = dynamicWallet.connector) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || '';
65
+ if (connectorId.includes('solana') || connectorId.includes('phantom')) {
66
+ return 'solana';
67
+ }
68
+ else {
69
+ // Default to ethereum for most other wallets
70
+ return 'ethereum';
71
+ }
72
+ }, [dynamicWallet]);
73
+ /**
74
+ * Connect wallet using Dynamic widget
75
+ */
76
+ var connectWallet = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
77
+ var error_1;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0:
81
+ if (isConnecting || !showDynamicWidget)
82
+ return [2 /*return*/];
83
+ setIsConnecting(true);
84
+ setHasProcessedWallet(false);
85
+ logger.debug('Starting wallet connection process');
86
+ _a.label = 1;
87
+ case 1:
88
+ _a.trys.push([1, 3, , 4]);
89
+ // Show Dynamic widget to connect wallet
90
+ return [4 /*yield*/, showDynamicWidget(true)];
91
+ case 2:
92
+ // Show Dynamic widget to connect wallet
93
+ _a.sent();
94
+ logger.debug('Dynamic widget shown');
95
+ return [3 /*break*/, 4];
96
+ case 3:
97
+ error_1 = _a.sent();
98
+ setIsConnecting(false);
99
+ updateContext({ walletType: null });
100
+ logger.error('Error showing Dynamic widget:', error_1);
101
+ return [3 /*break*/, 4];
102
+ case 4: return [2 /*return*/];
103
+ }
104
+ });
105
+ }); }, [isConnecting, showDynamicWidget, updateContext]);
106
+ /**
107
+ * Disconnect wallet
108
+ */
109
+ var disconnectWallet = useCallback(function () {
110
+ logger.debug('Disconnecting wallet');
111
+ setWalletType(null);
112
+ setHasProcessedWallet(false);
113
+ updateContext({ walletType: null });
114
+ }, [updateContext]);
115
+ useEffect(function () {
116
+ if (hasProcessedWallet && nordUser) {
117
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
118
+ var hasNordAccount, sessionId, hasActiveSession, transitionDestination;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0: return [4 /*yield*/, nord.accountExists(dynamicWallet.address)];
122
+ case 1:
123
+ hasNordAccount = _a.sent();
124
+ sessionId = nordUser.sessionId;
125
+ hasActiveSession = sessionId != null;
126
+ updateContext({ hasNordAccount: hasNordAccount, hasActiveSession: hasActiveSession });
127
+ transitionDestination = hasNordAccount
128
+ ? sessionId != null
129
+ ? FlowState.FINAL_SUCCESS
130
+ : FlowState.AUTH_LOADING
131
+ : FlowState.CHAIN_SELECTION;
132
+ if (hasNordAccount && sessionId != null) {
133
+ setIsConnected(true);
134
+ }
135
+ // Force a small delay to ensure UI updates properly
136
+ setTimeout(function () {
137
+ try {
138
+ logger.debug('Attempting transition to ' + transitionDestination);
139
+ transition(transitionDestination, {
140
+ walletType: 'solana',
141
+ hasNordAccount: hasNordAccount,
142
+ hasActiveSession: hasActiveSession,
143
+ });
144
+ logger.debug('Transition to ' + transitionDestination + ' completed');
145
+ // Try again with a longer delay as a fallback
146
+ setTimeout(function () {
147
+ logger.debug('Trying fallback transition after delay');
148
+ transition(transitionDestination, {
149
+ walletType: 'solana',
150
+ hasNordAccount: hasNordAccount,
151
+ hasActiveSession: hasActiveSession,
152
+ });
153
+ }, 500);
154
+ }
155
+ catch (error) {
156
+ logger.error('Error during transition:', error);
157
+ }
158
+ finally {
159
+ setIsConnecting(false);
160
+ }
161
+ }, 100);
162
+ return [2 /*return*/];
163
+ }
164
+ });
165
+ }); })();
166
+ }
167
+ }, [hasProcessedWallet, nordUser]);
168
+ /**
169
+ * Effect to handle wallet connection state changes
170
+ */
171
+ useEffect(function () {
172
+ var isNordMode = sessionMode === N1SessionMode.Nord;
173
+ // If we don't have a wallet, nothing to process
174
+ if (!dynamicWallet) {
175
+ return;
176
+ }
177
+ // If we've already processed this specific wallet address, don't process again
178
+ if (hasProcessedWallet &&
179
+ processedWalletAddressRef.current === dynamicWallet.address) {
180
+ logger.debug('Skipping wallet processing - already processed this address');
181
+ return;
182
+ }
183
+ // Use an IIFE to handle the async processing
184
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
185
+ var type;
186
+ var _a, _b;
187
+ return __generator(this, function (_c) {
188
+ // Prevent processing if already in progress
189
+ if (hasProcessedWallet) {
190
+ logger.debug('Skipping wallet processing - hasProcessedWallet is true');
191
+ return [2 /*return*/];
192
+ }
193
+ logger.debug('Processing wallet connection:', {
194
+ wallet: (_a = dynamicWallet.connector) === null || _a === void 0 ? void 0 : _a.name,
195
+ address: (_b = dynamicWallet.address) === null || _b === void 0 ? void 0 : _b.slice(0, 8),
196
+ state: state,
197
+ isNordMode: isNordMode,
198
+ });
199
+ // Set processed flag first to prevent re-entry
200
+ setHasProcessedWallet(true);
201
+ processedWalletAddressRef.current = dynamicWallet.address;
202
+ type = determineWalletType();
203
+ setWalletType(type);
204
+ return [2 /*return*/];
205
+ });
206
+ }); })();
207
+ // Cleanup function to handle component unmount
208
+ return function () {
209
+ logger.debug('Wallet connection effect cleanup');
210
+ };
211
+ }, [dynamicWallet, determineWalletType]);
212
+ // Handle wallet disconnection in a separate effect
213
+ useEffect(function () {
214
+ if (!dynamicWallet && hasProcessedWallet) {
215
+ logger.debug('Wallet disconnected, resetting processed flag');
216
+ processedWalletAddressRef.current = null;
217
+ setHasProcessedWallet(false);
218
+ }
219
+ }, [dynamicWallet, hasProcessedWallet]);
220
+ // Handle connecting state changes in a separate effect
221
+ useEffect(function () {
222
+ if (state === FlowState.CONNECTING_WALLET &&
223
+ !dynamicWallet &&
224
+ isConnecting) {
225
+ // Only keep isConnecting true if we're in the connecting state and don't have a wallet yet
226
+ // This prevents an infinite loop of setting isConnecting
227
+ }
228
+ else if (state !== FlowState.CONNECTING_WALLET && isConnecting) {
229
+ // If we're no longer in the connecting state, reset the connecting flag
230
+ setIsConnecting(false);
231
+ }
232
+ }, [state, dynamicWallet, isConnecting]);
233
+ return {
234
+ isConnecting: isConnecting,
235
+ walletType: walletType,
236
+ connectWallet: connectWallet,
237
+ disconnectWallet: disconnectWallet,
238
+ };
239
+ };
@@ -0,0 +1,2 @@
1
+ import { TableValues } from '../types';
2
+ export declare function useTableValues(isSuccessView: boolean, selectedChain: string | null): TableValues;