@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,365 @@
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 { FlowState } from '../types';
39
+ import { AVAILABLE_CHAINS } from '../constants';
40
+ import { getExplorerUrl } from '../../../Logic/transactionManager';
41
+ import { useN1WalletContext, useN1WalletInternalContext } from '../../../Provider/hooks';
42
+ import { N1SessionMode } from '../../../Provider/types';
43
+ import { isNordConfigured } from '../utils/nordUtils';
44
+ import { useNordInstance } from './useNordInstance';
45
+ /**
46
+ * Hook for handling the deposit flow
47
+ *
48
+ * @param options Configuration options
49
+ * @returns Deposit flow methods and state
50
+ */
51
+ export var useDepositFlow = function (options) {
52
+ var _a = useState(null), txId = _a[0], setTxId = _a[1];
53
+ var state = options.state, context = options.context, transition = options.transition, handleError = options.handleError;
54
+ var _b = useN1WalletContext(), address = _b.address, nord = _b.nord, signMessageWithWalletKey = _b.signMessageWithWalletKey, signMessageWithSessionKey = _b.signMessageWithSessionKey, nordUser = _b.nordUser;
55
+ var sessionMode = useN1WalletInternalContext().sessionMode;
56
+ var instanceNordUser = useNordInstance().nordUser;
57
+ var _c = useState(context.selectedChain), selectedChain = _c[0], setSelectedChain = _c[1];
58
+ var _d = useState(context.amount), amount = _d[0], setAmount = _d[1];
59
+ var _e = useState(false), isDepositing = _e[0], setIsDepositing = _e[1];
60
+ var _f = useState(context.transactionId), transactionId = _f[0], setTransactionId = _f[1];
61
+ var _g = useState(null), transactionResult = _g[0], setTransactionResult = _g[1];
62
+ // Use the nordUser from context, falling back to the one from useNordInstance
63
+ var currentNordUser = nordUser || instanceNordUser;
64
+ useEffect(function () {
65
+ if (txId) {
66
+ // Transition to the appropriate screen based on whether user has an active session
67
+ if (context.hasActiveSession) {
68
+ // If user has an active session, go directly to FINAL_SUCCESS
69
+ transition(FlowState.FINAL_SUCCESS, { transactionId: txId });
70
+ }
71
+ else {
72
+ // Check if there's a sessionId stored in localStorage
73
+ var sessionIdKey = "n1_sessionId_".concat(address);
74
+ var storedSessionId = localStorage.getItem(sessionIdKey);
75
+ if (storedSessionId !== null) {
76
+ // If we have a sessionId in localStorage (even if it's 0), go directly to FINAL_SUCCESS
77
+ transition(FlowState.FINAL_SUCCESS, { transactionId: txId });
78
+ }
79
+ else {
80
+ // If user doesn't have an active session and no sessionId in localStorage, go to DEPOSIT_SUCCESS first
81
+ transition(FlowState.DEPOSIT_SUCCESS, { transactionId: txId });
82
+ }
83
+ }
84
+ setTxId(null);
85
+ }
86
+ }, [txId, transition, context.hasActiveSession, address]);
87
+ /**
88
+ * Select a chain for deposit
89
+ */
90
+ var selectChain = useCallback(function (chainId) {
91
+ var validChain = AVAILABLE_CHAINS.find(function (chain) { return chain.id === chainId; });
92
+ if (!validChain) {
93
+ handleError(new Error("Invalid chain: ".concat(chainId)));
94
+ return;
95
+ }
96
+ setSelectedChain(chainId);
97
+ transition(FlowState.AMOUNT_INPUT, { selectedChain: chainId });
98
+ }, [transition, handleError]);
99
+ /**
100
+ * Update amount for deposit
101
+ */
102
+ var updateAmount = useCallback(function (newAmount) {
103
+ setAmount(newAmount);
104
+ // Only update the context without transitioning to the same state
105
+ // This prevents the "Transition from AMOUNT_INPUT to AMOUNT_INPUT is not allowed" error
106
+ if (state === FlowState.AMOUNT_INPUT) {
107
+ // Use updateContext function if available to update without state transition
108
+ if (options.updateContext) {
109
+ options.updateContext({ amount: newAmount });
110
+ }
111
+ }
112
+ else {
113
+ transition(state, { amount: newAmount });
114
+ }
115
+ }, [state, transition, options.updateContext]);
116
+ /**
117
+ * Start deposit process
118
+ */
119
+ var startDeposit = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
120
+ var currentSessionMode, txId_1, usdcToken, accountInitialized, i, exists, result, depositError_1, error_1, error_2;
121
+ var _a;
122
+ return __generator(this, function (_b) {
123
+ switch (_b.label) {
124
+ case 0:
125
+ if (isDepositing)
126
+ return [2 /*return*/];
127
+ console.log("tah dah!");
128
+ // Validate input
129
+ if (!selectedChain) {
130
+ handleError(new Error('No chain selected'));
131
+ return [2 /*return*/];
132
+ }
133
+ if (!amount || parseFloat(amount) <= 0) {
134
+ handleError(new Error('Invalid amount'));
135
+ return [2 /*return*/];
136
+ }
137
+ if (!address) {
138
+ handleError(new Error('No wallet address found'));
139
+ return [2 /*return*/];
140
+ }
141
+ setIsDepositing(true);
142
+ transition(FlowState.DEPOSIT_PROGRESS);
143
+ _b.label = 1;
144
+ case 1:
145
+ _b.trys.push([1, 18, , 19]);
146
+ currentSessionMode = sessionMode !== null && sessionMode !== void 0 ? sessionMode : N1SessionMode.NTS;
147
+ txId_1 = '';
148
+ if (!(currentNordUser && nord && isNordConfigured(nord))) return [3 /*break*/, 16];
149
+ _b.label = 2;
150
+ case 2:
151
+ _b.trys.push([2, 14, , 15]);
152
+ usdcToken = nord.tokens.find(function (t) { return t.symbol === 'USDC'; });
153
+ if (!usdcToken) {
154
+ throw new Error('USDC token not found');
155
+ }
156
+ _b.label = 3;
157
+ case 3:
158
+ _b.trys.push([3, 12, , 13]);
159
+ if (!(typeof currentNordUser.depositSpl === 'function')) return [3 /*break*/, 10];
160
+ return [4 /*yield*/, currentNordUser.depositSpl(parseFloat(amount), usdcToken.tokenId)];
161
+ case 4:
162
+ txId_1 = _b.sent();
163
+ accountInitialized = false;
164
+ i = 0;
165
+ _b.label = 5;
166
+ case 5:
167
+ if (!(i < 70)) return [3 /*break*/, 9];
168
+ return [4 /*yield*/, (nord === null || nord === void 0 ? void 0 : nord.accountExists(address))];
169
+ case 6:
170
+ exists = _b.sent();
171
+ if (exists) {
172
+ accountInitialized = true;
173
+ return [3 /*break*/, 9];
174
+ }
175
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 5000); })];
176
+ case 7:
177
+ _b.sent();
178
+ _b.label = 8;
179
+ case 8:
180
+ i++;
181
+ return [3 /*break*/, 5];
182
+ case 9:
183
+ if (!accountInitialized) {
184
+ throw new Error('Account failed to intialize on N1.');
185
+ }
186
+ console.log('Deposit successful using Nord-TS', txId_1);
187
+ // Make sure we have a valid chain ID
188
+ if (selectedChain) {
189
+ result = {
190
+ success: true,
191
+ transactionId: txId_1,
192
+ amount: amount,
193
+ tokenSymbol: 'USDC', // Default to USDC for now
194
+ fromAddress: address || 'Your Wallet',
195
+ toAddress: currentSessionMode === N1SessionMode.Nord ? 'Nord Account' : 'NTS Account',
196
+ networkName: ((_a = AVAILABLE_CHAINS.find(function (chain) { return chain.id === selectedChain; })) === null || _a === void 0 ? void 0 : _a.name) || selectedChain,
197
+ status: 'Completed',
198
+ explorerUrl: getExplorerUrl(txId_1, selectedChain)
199
+ };
200
+ // Update state with transaction result
201
+ setTransactionId(txId_1);
202
+ setTransactionResult(result);
203
+ console.log("yayayyay");
204
+ setTxId(txId_1);
205
+ return [2 /*return*/]; // Exit the function early since we've handled everything
206
+ }
207
+ else {
208
+ throw new Error('No chain selected for deposit');
209
+ }
210
+ return [3 /*break*/, 11];
211
+ case 10:
212
+ // If depositSpl doesn't exist, throw an error to fall back to mock implementation
213
+ throw new Error('depositSpl method not available');
214
+ case 11: return [3 /*break*/, 13];
215
+ case 12:
216
+ depositError_1 = _b.sent();
217
+ console.warn('Error using depositSpl, falling back to mock implementation:', depositError_1);
218
+ setIsDepositing(false);
219
+ return [3 /*break*/, 13];
220
+ case 13: return [3 /*break*/, 15];
221
+ case 14:
222
+ error_1 = _b.sent();
223
+ console.error('Error using Nord-TS for deposit:', error_1);
224
+ throw error_1;
225
+ case 15: return [3 /*break*/, 17];
226
+ case 16:
227
+ console.log("Nord configuration issue:", {
228
+ hasNord: !!nord,
229
+ isConfigured: nord ? isNordConfigured(nord) : false,
230
+ hasAddress: !!address,
231
+ hasWalletSignFn: !!signMessageWithWalletKey,
232
+ hasSessionSignFn: !!signMessageWithSessionKey
233
+ });
234
+ throw new Error('Nord is not configured or user is not initialized');
235
+ case 17: return [3 /*break*/, 19];
236
+ case 18:
237
+ error_2 = _b.sent();
238
+ setIsDepositing(false);
239
+ handleError(error_2 instanceof Error ? error_2 : new Error('Failed to process deposit'));
240
+ return [3 /*break*/, 19];
241
+ case 19: return [2 /*return*/];
242
+ }
243
+ });
244
+ }); }, [
245
+ isDepositing,
246
+ selectedChain,
247
+ amount,
248
+ address,
249
+ sessionMode,
250
+ transition,
251
+ handleError,
252
+ nord,
253
+ signMessageWithWalletKey,
254
+ signMessageWithSessionKey,
255
+ currentNordUser
256
+ ]);
257
+ /**
258
+ * Complete the deposit process and move to the next screen
259
+ */
260
+ var completeDeposit = useCallback(function () {
261
+ // Check if user has an active session to determine the next state
262
+ if (context.hasActiveSession) {
263
+ // If user has an active session, go directly to FINAL_SUCCESS
264
+ transition(FlowState.FINAL_SUCCESS);
265
+ }
266
+ else {
267
+ // Check if there's a sessionId stored in localStorage
268
+ var sessionIdKey = "n1_sessionId_".concat(address);
269
+ var storedSessionId = localStorage.getItem(sessionIdKey);
270
+ if (storedSessionId !== null) {
271
+ // If we have a sessionId in localStorage (even if it's 0), go directly to FINAL_SUCCESS
272
+ transition(FlowState.FINAL_SUCCESS);
273
+ }
274
+ else {
275
+ // If user doesn't have an active session and no sessionId in localStorage, go to NORD_AUTH
276
+ transition(FlowState.AUTH_LOADING);
277
+ }
278
+ }
279
+ }, [context.hasActiveSession, transition, address]);
280
+ /**
281
+ * Go back to chain selection
282
+ */
283
+ var goBackToChainSelection = useCallback(function () {
284
+ setAmount('');
285
+ transition(FlowState.CHAIN_SELECTION, { amount: '' });
286
+ }, [transition]);
287
+ /**
288
+ * Update state based on context changes
289
+ */
290
+ useEffect(function () {
291
+ if (context.selectedChain !== selectedChain) {
292
+ setSelectedChain(context.selectedChain);
293
+ }
294
+ if (context.amount !== amount) {
295
+ setAmount(context.amount);
296
+ }
297
+ if (context.transactionId !== transactionId) {
298
+ setTransactionId(context.transactionId);
299
+ }
300
+ }, [
301
+ context.selectedChain,
302
+ context.amount,
303
+ context.transactionId,
304
+ selectedChain,
305
+ amount,
306
+ transactionId,
307
+ ]);
308
+ /**
309
+ * Auto-start deposit if in deposit progress state
310
+ */
311
+ useEffect(function () {
312
+ if (state === FlowState.DEPOSIT_PROGRESS &&
313
+ !isDepositing &&
314
+ !transactionId) {
315
+ startDeposit();
316
+ }
317
+ }, [state, isDepositing, transactionId, startDeposit]);
318
+ /**
319
+ * Get transaction details for display
320
+ */
321
+ var getTransactionDetails = useCallback(function () {
322
+ var _a;
323
+ // Ensure we have a valid session mode
324
+ var currentSessionMode = sessionMode !== null && sessionMode !== void 0 ? sessionMode : N1SessionMode.NTS;
325
+ // Determine account type based on session mode
326
+ var accountType = currentSessionMode === N1SessionMode.Nord ? 'Nord Account' : 'NTS Account';
327
+ if (!transactionResult) {
328
+ // If we don't have a transaction result yet, return default values
329
+ return {
330
+ amount: amount || '0',
331
+ tx: transactionId || 'Processing...',
332
+ from: address || 'Your Wallet',
333
+ to: accountType,
334
+ network: selectedChain ? ((_a = AVAILABLE_CHAINS.find(function (chain) { return chain.id === selectedChain; })) === null || _a === void 0 ? void 0 : _a.name) || selectedChain : 'Unknown',
335
+ status: 'Processing',
336
+ explorerUrl: '',
337
+ };
338
+ }
339
+ // Return actual transaction details
340
+ return {
341
+ amount: "".concat(transactionResult.amount, " ").concat(transactionResult.tokenSymbol),
342
+ tx: transactionResult.transactionId,
343
+ from: transactionResult.fromAddress,
344
+ to: transactionResult.toAddress,
345
+ network: transactionResult.networkName,
346
+ status: transactionResult.status,
347
+ explorerUrl: transactionResult.explorerUrl || getExplorerUrl(transactionResult.transactionId, selectedChain || ''),
348
+ };
349
+ }, [transactionResult, amount, transactionId, address, sessionMode, selectedChain]);
350
+ return {
351
+ selectedChain: selectedChain,
352
+ setSelectedChain: setSelectedChain,
353
+ amount: amount,
354
+ setAmount: setAmount,
355
+ isDepositing: isDepositing,
356
+ transactionId: transactionId,
357
+ transactionResult: transactionResult,
358
+ selectChain: selectChain,
359
+ updateAmount: updateAmount,
360
+ startDeposit: startDeposit,
361
+ completeDeposit: completeDeposit,
362
+ goBackToChainSelection: goBackToChainSelection,
363
+ getTransactionDetails: getTransactionDetails,
364
+ };
365
+ };
@@ -0,0 +1,32 @@
1
+ import { FlowContext, FlowState } from '../types';
2
+ /**
3
+ * Custom hook for managing the wallet connection flow state machine
4
+ * @param options Configuration options
5
+ * @returns Flow state management methods and properties
6
+ */
7
+ export declare const useFlowState: (options: {
8
+ /**
9
+ * Whether to automatically recover saved state on initialization
10
+ */
11
+ autoRecover?: boolean;
12
+ /**
13
+ * Callback when state changes
14
+ */
15
+ onStateChange?: (newState: FlowState, prevState: FlowState | null) => void;
16
+ /**
17
+ * Callback when an error occurs
18
+ */
19
+ onError?: (error: Error) => void;
20
+ }) => {
21
+ state: FlowState;
22
+ prevState: FlowState | null;
23
+ context: FlowContext;
24
+ isTransitioning: boolean;
25
+ isRecoveryAvailable: boolean;
26
+ transition: (targetState: FlowState, contextUpdates?: Partial<FlowContext>) => boolean;
27
+ updateContext: (updates: Partial<FlowContext>) => void;
28
+ reset: () => void;
29
+ recover: () => boolean;
30
+ recordInterruption: () => void;
31
+ handleError: (error: Error) => void;
32
+ };
@@ -0,0 +1,166 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { useCallback, useEffect, useState } from 'react';
13
+ import { FlowState, initialFlowContext } from '../types';
14
+ import { STATE_TRANSITIONS } from '../constants';
15
+ import { clearStoredState, loadStateFromLocalStorage, saveStateToLocalStorage, } from '../utils/persistence';
16
+ /**
17
+ * Custom hook for managing the wallet connection flow state machine
18
+ * @param options Configuration options
19
+ * @returns Flow state management methods and properties
20
+ */
21
+ export var useFlowState = function (options) {
22
+ var _a = options.autoRecover, autoRecover = _a === void 0 ? true : _a, onStateChange = options.onStateChange, onError = options.onError;
23
+ // Flow state
24
+ var _b = useState(FlowState.IDLE), state = _b[0], setState = _b[1];
25
+ var _c = useState(null), prevState = _c[0], setPrevState = _c[1];
26
+ var _d = useState(initialFlowContext), context = _d[0], setContext = _d[1];
27
+ var _e = useState(false), isTransitioning = _e[0], setIsTransitioning = _e[1];
28
+ var _f = useState(false), isRecoveryAvailable = _f[0], setIsRecoveryAvailable = _f[1];
29
+ /**
30
+ * Check if a transition is allowed based on current state and context
31
+ */
32
+ var canTransition = useCallback(function (targetState, context) {
33
+ return STATE_TRANSITIONS.some(function (transition) {
34
+ var fromMatches = Array.isArray(transition.from)
35
+ ? transition.from.includes(state)
36
+ : transition.from === state;
37
+ if (!fromMatches || transition.to !== targetState) {
38
+ return false;
39
+ }
40
+ if (transition.condition) {
41
+ return transition.condition(context);
42
+ }
43
+ return true;
44
+ });
45
+ }, [state, context]);
46
+ /**
47
+ * Transition to a new state if allowed
48
+ */
49
+ var transition = useCallback(function (targetState, contextUpdates) {
50
+ if (contextUpdates === void 0) { contextUpdates = {}; }
51
+ if (!canTransition(targetState, __assign(__assign({}, context), contextUpdates))) {
52
+ console.warn("Transition from ".concat(state, " to ").concat(targetState, " is not allowed"));
53
+ return false;
54
+ }
55
+ setIsTransitioning(true);
56
+ // Update context first
57
+ setContext(function (prevContext) {
58
+ var newContext = __assign(__assign({}, prevContext), contextUpdates);
59
+ // Save new state and context to localStorage for recovery
60
+ saveStateToLocalStorage(targetState, newContext);
61
+ return newContext;
62
+ });
63
+ // Then update state
64
+ setPrevState(state);
65
+ console.log(targetState, "targetState");
66
+ setState(targetState);
67
+ if (onStateChange) {
68
+ onStateChange(targetState, state);
69
+ }
70
+ setIsTransitioning(false);
71
+ return true;
72
+ }, [canTransition, state, onStateChange]);
73
+ /**
74
+ * Reset flow to initial state
75
+ */
76
+ var reset = useCallback(function () {
77
+ clearStoredState();
78
+ setContext(initialFlowContext);
79
+ setPrevState(null);
80
+ console.log("resetting");
81
+ setState(FlowState.IDLE);
82
+ if (onStateChange) {
83
+ onStateChange(FlowState.IDLE, state);
84
+ }
85
+ }, [state, onStateChange]);
86
+ /**
87
+ * Handle an error by transitioning to error state
88
+ */
89
+ var handleError = useCallback(function (error) {
90
+ if (onError) {
91
+ onError(error);
92
+ }
93
+ transition(FlowState.ERROR, { error: error });
94
+ }, [transition, onError]);
95
+ /**
96
+ * Recover state from localStorage
97
+ */
98
+ var recover = useCallback(function () {
99
+ var savedState = loadStateFromLocalStorage();
100
+ if (!savedState) {
101
+ setIsRecoveryAvailable(false);
102
+ return false;
103
+ }
104
+ setContext(savedState.context);
105
+ setPrevState(state);
106
+ console.log(savedState.state, "savedState.state");
107
+ setState(savedState.state);
108
+ if (onStateChange) {
109
+ onStateChange(savedState.state, state);
110
+ }
111
+ return true;
112
+ }, [state, onStateChange]);
113
+ /**
114
+ * Update context without state transition
115
+ */
116
+ var updateContext = useCallback(function (updates) {
117
+ setContext(function (prevContext) {
118
+ var newContext = __assign(__assign({}, prevContext), updates);
119
+ saveStateToLocalStorage(state, newContext);
120
+ return newContext;
121
+ });
122
+ }, [state]);
123
+ /**
124
+ * Record an interruption in the flow (e.g., modal close, page reload)
125
+ */
126
+ var recordInterruption = useCallback(function () {
127
+ updateContext({
128
+ lastInterruption: {
129
+ timestamp: Date.now(),
130
+ state: state,
131
+ context: __assign({}, context),
132
+ },
133
+ });
134
+ }, [state, context, updateContext]);
135
+ // Check for recoverable state on mount
136
+ useEffect(function () {
137
+ var hasRecoverable = loadStateFromLocalStorage() !== null;
138
+ setIsRecoveryAvailable(hasRecoverable);
139
+ if (autoRecover && hasRecoverable) {
140
+ recover();
141
+ }
142
+ }, [autoRecover, recover]);
143
+ // Register unload handler to record interruptions
144
+ useEffect(function () {
145
+ var handleBeforeUnload = function () {
146
+ recordInterruption();
147
+ };
148
+ window.addEventListener('beforeunload', handleBeforeUnload);
149
+ return function () {
150
+ window.removeEventListener('beforeunload', handleBeforeUnload);
151
+ };
152
+ }, [recordInterruption]);
153
+ return {
154
+ state: state,
155
+ prevState: prevState,
156
+ context: context,
157
+ isTransitioning: isTransitioning,
158
+ isRecoveryAvailable: isRecoveryAvailable,
159
+ transition: transition,
160
+ updateContext: updateContext,
161
+ reset: reset,
162
+ recover: recover,
163
+ recordInterruption: recordInterruption,
164
+ handleError: handleError,
165
+ };
166
+ };
@@ -0,0 +1,24 @@
1
+ import { FlowState } from '../types';
2
+ /**
3
+ * Hook for handling interruptions during the flow
4
+ *
5
+ * @param options Configuration options
6
+ * @returns Interruption handling methods and state
7
+ */
8
+ export declare const useInterruptHandler: (options: {
9
+ /**
10
+ * Flow state
11
+ */
12
+ state: FlowState;
13
+ /**
14
+ * Record an interruption
15
+ */
16
+ recordInterruption: () => void;
17
+ /**
18
+ * Callback to handle modal close
19
+ */
20
+ onClose?: () => void;
21
+ }) => {
22
+ isClosing: boolean;
23
+ handleCloseRequest: () => true;
24
+ };
@@ -0,0 +1,56 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ /**
3
+ * Hook for handling interruptions during the flow
4
+ *
5
+ * @param options Configuration options
6
+ * @returns Interruption handling methods and state
7
+ */
8
+ export var useInterruptHandler = function (options) {
9
+ var state = options.state, recordInterruption = options.recordInterruption, onClose = options.onClose;
10
+ var _a = useState(false), isClosing = _a[0], setIsClosing = _a[1];
11
+ /**
12
+ * Handle modal close request
13
+ */
14
+ var handleCloseRequest = useCallback(function () {
15
+ // Always proceed with closing
16
+ setIsClosing(true);
17
+ recordInterruption();
18
+ // Delay actual close to allow animation
19
+ setTimeout(function () {
20
+ if (onClose) {
21
+ onClose();
22
+ }
23
+ }, 300);
24
+ return true;
25
+ }, [recordInterruption, onClose]);
26
+ /**
27
+ * Handle beforeunload event to record interruptions
28
+ */
29
+ useEffect(function () {
30
+ var handleBeforeUnload = function (event) {
31
+ // Record the interruption
32
+ recordInterruption();
33
+ };
34
+ window.addEventListener('beforeunload', handleBeforeUnload);
35
+ return function () {
36
+ window.removeEventListener('beforeunload', handleBeforeUnload);
37
+ };
38
+ }, [recordInterruption]);
39
+ /**
40
+ * Handle focus events to detect when user returns to the page
41
+ */
42
+ useEffect(function () {
43
+ var handleFocus = function () {
44
+ // Here we could potentially check for state changes
45
+ // that happened while the user was away
46
+ };
47
+ window.addEventListener('focus', handleFocus);
48
+ return function () {
49
+ window.removeEventListener('focus', handleFocus);
50
+ };
51
+ }, []);
52
+ return {
53
+ isClosing: isClosing,
54
+ handleCloseRequest: handleCloseRequest,
55
+ };
56
+ };
@@ -0,0 +1,10 @@
1
+ import { NordUser } from '@n1xyz/nord-ts';
2
+ /**
3
+ * Hook to access the Nord instance and create a NordUser if needed
4
+ */
5
+ export declare const useNordInstance: () => {
6
+ nord: import("@n1xyz/nord-ts").Nord | undefined;
7
+ createNordUser: () => Promise<NordUser | null>;
8
+ nordUser: any;
9
+ createTransactionSignFunction: () => (transaction: any) => Promise<any>;
10
+ };