@n1xyz/wallet-widget 0.0.4 → 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 (401) hide show
  1. package/README.md +184 -19
  2. package/dist/Logic/sessionManager.d.ts +53 -0
  3. package/dist/Logic/sessionManager.js +178 -0
  4. package/dist/Logic/transactionManager.d.ts +41 -0
  5. package/dist/Logic/transactionManager.js +192 -0
  6. package/dist/Modal/BackButton.js +1 -1
  7. package/dist/Modal/ConnectView.js +1 -1
  8. package/dist/Modal/CreateSessionView.js +1 -1
  9. package/dist/Modal/LoadingFallback.d.ts +2 -0
  10. package/dist/Modal/LoadingFallback.js +2 -0
  11. package/dist/Modal/ModalHeader.js +1 -1
  12. package/dist/Modal/N1WalletModal.js +88 -81
  13. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
  14. package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
  15. package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
  16. package/dist/Modal/NTSFlow/NTSFlow.js +30 -0
  17. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
  18. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
  19. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
  20. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
  21. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
  22. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
  23. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
  24. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
  25. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
  26. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
  27. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
  28. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
  29. package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
  30. package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
  31. package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
  32. package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
  33. package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
  34. package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
  35. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  36. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
  37. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  38. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
  39. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
  40. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
  41. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  42. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
  43. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
  44. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
  45. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
  46. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
  47. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  48. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
  49. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  50. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
  51. package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
  52. package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
  53. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  54. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  55. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  56. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  57. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  58. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  59. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  60. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
  61. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  62. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  63. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  64. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  65. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  66. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
  67. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  68. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  69. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  70. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  71. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  72. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
  73. package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
  74. package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
  75. package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
  76. package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
  77. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
  78. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
  79. package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
  80. package/dist/Modal/NTSFlow/components/BackButton.js +26 -0
  81. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
  82. package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
  83. package/dist/Modal/NTSFlow/index.d.ts +1 -0
  84. package/dist/Modal/NTSFlow/index.js +1 -0
  85. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
  86. package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
  87. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
  88. package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
  89. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
  90. package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
  91. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
  92. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
  93. package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
  94. package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
  95. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
  96. package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
  97. package/dist/Modal/NoWhitelistView.js +1 -1
  98. package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
  99. package/dist/Modal/NordFlow/NordFlow.js +262 -0
  100. package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
  101. package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
  102. package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
  103. package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
  104. package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
  105. package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
  106. package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
  107. package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
  108. package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
  109. package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
  110. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
  111. package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
  112. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
  113. package/dist/Modal/NordFlow/components/TransactionTable.js +83 -0
  114. package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
  115. package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
  116. package/dist/Modal/NordFlow/components/index.d.ts +5 -0
  117. package/dist/Modal/NordFlow/components/index.js +5 -0
  118. package/dist/Modal/NordFlow/constants.d.ts +37 -0
  119. package/dist/Modal/NordFlow/constants.js +192 -0
  120. package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
  121. package/dist/Modal/NordFlow/hoc/index.js +1 -0
  122. package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
  123. package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
  124. package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
  125. package/dist/Modal/NordFlow/hooks/index.js +5 -0
  126. package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  127. package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
  128. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
  129. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +365 -0
  130. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
  131. package/dist/Modal/NordFlow/hooks/useFlowState.js +166 -0
  132. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
  133. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
  134. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
  135. package/dist/Modal/NordFlow/hooks/useNordInstance.js +310 -0
  136. package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
  137. package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
  138. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
  139. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +231 -0
  140. package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
  141. package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
  142. package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  143. package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
  144. package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
  145. package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
  146. package/dist/Modal/NordFlow/index copy.d.ts +1 -0
  147. package/dist/Modal/NordFlow/index copy.js +1 -0
  148. package/dist/Modal/NordFlow/index.d.ts +1 -0
  149. package/dist/Modal/NordFlow/index.js +1 -0
  150. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  151. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  152. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  153. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  154. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  155. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +47 -0
  156. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +10 -0
  157. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +165 -0
  158. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
  159. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +44 -0
  160. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  161. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +119 -0
  162. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
  163. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +126 -0
  164. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
  165. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
  166. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  167. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
  168. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
  169. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
  170. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
  171. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +62 -0
  172. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  173. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
  174. package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  175. package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
  176. package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
  177. package/dist/Modal/NordFlow/screens/index.js +9 -0
  178. package/dist/Modal/NordFlow/types.d.ts +108 -0
  179. package/dist/Modal/NordFlow/types.js +32 -0
  180. package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
  181. package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
  182. package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
  183. package/dist/Modal/NordFlow/utils/index.js +3 -0
  184. package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
  185. package/dist/Modal/NordFlow/utils/nordUtils.js +61 -0
  186. package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
  187. package/dist/Modal/NordFlow/utils/persistence.js +83 -0
  188. package/dist/Modal/Sidebar/N1Sidebar.js +32 -18
  189. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
  190. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
  191. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
  192. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
  193. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
  194. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +38 -0
  195. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
  196. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
  197. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
  198. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
  199. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
  200. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +197 -0
  201. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
  202. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
  203. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
  204. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +28 -0
  205. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
  206. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +22 -0
  207. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
  208. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
  209. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
  210. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
  211. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
  212. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +76 -0
  213. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
  214. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +103 -0
  215. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
  216. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
  217. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
  218. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
  219. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
  220. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +7 -0
  221. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
  222. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +249 -0
  223. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
  224. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
  225. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
  226. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
  227. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
  228. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +177 -0
  229. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
  230. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +188 -0
  231. package/dist/NordFlow/WalletConnectionFlow.d.ts +9 -0
  232. package/dist/NordFlow/WalletConnectionFlow.js +145 -0
  233. package/dist/NordFlow/components/AnimatedButton.d.ts +14 -0
  234. package/dist/NordFlow/components/AnimatedButton.js +75 -0
  235. package/dist/NordFlow/components/ChainButton.d.ts +7 -0
  236. package/dist/NordFlow/components/ChainButton.js +5 -0
  237. package/dist/NordFlow/components/LoadingSquares.d.ts +1 -0
  238. package/dist/NordFlow/components/LoadingSquares.js +5 -0
  239. package/dist/NordFlow/components/TransactionTable.d.ts +13 -0
  240. package/dist/NordFlow/components/TransactionTable.js +58 -0
  241. package/dist/NordFlow/components/WaitingMessage.d.ts +6 -0
  242. package/dist/NordFlow/components/WaitingMessage.js +6 -0
  243. package/dist/NordFlow/components/index.d.ts +5 -0
  244. package/dist/NordFlow/components/index.js +5 -0
  245. package/dist/NordFlow/constants.d.ts +37 -0
  246. package/dist/NordFlow/constants.js +223 -0
  247. package/dist/NordFlow/hooks/index.d.ts +8 -0
  248. package/dist/NordFlow/hooks/index.js +8 -0
  249. package/dist/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  250. package/dist/NordFlow/hooks/useButtonTyping.js +43 -0
  251. package/dist/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  252. package/dist/NordFlow/hooks/useDepositFlow.js +166 -0
  253. package/dist/NordFlow/hooks/useFlowState.d.ts +32 -0
  254. package/dist/NordFlow/hooks/useFlowState.js +163 -0
  255. package/dist/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  256. package/dist/NordFlow/hooks/useInterruptHandler.js +101 -0
  257. package/dist/NordFlow/hooks/useNordSession.d.ts +32 -0
  258. package/dist/NordFlow/hooks/useNordSession.js +193 -0
  259. package/dist/NordFlow/hooks/useTableValues.d.ts +2 -0
  260. package/dist/NordFlow/hooks/useTableValues.js +69 -0
  261. package/dist/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  262. package/dist/NordFlow/hooks/useWaitingMessage.js +89 -0
  263. package/dist/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  264. package/dist/NordFlow/hooks/useWalletConnect.js +132 -0
  265. package/dist/NordFlow/index.d.ts +3 -0
  266. package/dist/NordFlow/index.js +3 -0
  267. package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  268. package/dist/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  269. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  270. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  271. package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  272. package/dist/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  273. package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  274. package/dist/NordFlow/screens/04-AmountInputScreen.js +20 -0
  275. package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  276. package/dist/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  277. package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  278. package/dist/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  279. package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  280. package/dist/NordFlow/screens/07-NordAuthScreen.js +14 -0
  281. package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  282. package/dist/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  283. package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  284. package/dist/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  285. package/dist/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  286. package/dist/NordFlow/screens/10-ErrorScreen.js +13 -0
  287. package/dist/NordFlow/screens/index.d.ts +10 -0
  288. package/dist/NordFlow/screens/index.js +10 -0
  289. package/dist/NordFlow/types.d.ts +105 -0
  290. package/dist/NordFlow/types.js +34 -0
  291. package/dist/NordFlow/utils/persistence.d.ts +24 -0
  292. package/dist/NordFlow/utils/persistence.js +83 -0
  293. package/dist/Provider/LazyWalletProvider.js +75 -42
  294. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  295. package/dist/Provider/N1WalletProvider.js +61 -43
  296. package/dist/Provider/types.d.ts +61 -0
  297. package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +9 -0
  298. package/dist/WalletConnectionFlow/WalletConnectionFlow.js +145 -0
  299. package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +14 -0
  300. package/dist/WalletConnectionFlow/components/AnimatedButton.js +75 -0
  301. package/dist/WalletConnectionFlow/components/ChainButton.d.ts +7 -0
  302. package/dist/WalletConnectionFlow/components/ChainButton.js +5 -0
  303. package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +1 -0
  304. package/dist/WalletConnectionFlow/components/LoadingSquares.js +5 -0
  305. package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +13 -0
  306. package/dist/WalletConnectionFlow/components/TransactionTable.js +58 -0
  307. package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +6 -0
  308. package/dist/WalletConnectionFlow/components/WaitingMessage.js +6 -0
  309. package/dist/WalletConnectionFlow/components/index.d.ts +5 -0
  310. package/dist/WalletConnectionFlow/components/index.js +5 -0
  311. package/dist/WalletConnectionFlow/constants.d.ts +37 -0
  312. package/dist/WalletConnectionFlow/constants.js +223 -0
  313. package/dist/WalletConnectionFlow/hooks/index.d.ts +8 -0
  314. package/dist/WalletConnectionFlow/hooks/index.js +8 -0
  315. package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +7 -0
  316. package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +43 -0
  317. package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +38 -0
  318. package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +166 -0
  319. package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +32 -0
  320. package/dist/WalletConnectionFlow/hooks/useFlowState.js +163 -0
  321. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +27 -0
  322. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +101 -0
  323. package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +32 -0
  324. package/dist/WalletConnectionFlow/hooks/useNordSession.js +193 -0
  325. package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +2 -0
  326. package/dist/WalletConnectionFlow/hooks/useTableValues.js +69 -0
  327. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +6 -0
  328. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +89 -0
  329. package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +30 -0
  330. package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +132 -0
  331. package/dist/WalletConnectionFlow/index.d.ts +3 -0
  332. package/dist/WalletConnectionFlow/index.js +3 -0
  333. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  334. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +17 -0
  335. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  336. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  337. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  338. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +7 -0
  339. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +8 -0
  340. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +20 -0
  341. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  342. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +6 -0
  343. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  344. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +99 -0
  345. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +7 -0
  346. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +14 -0
  347. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  348. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +20 -0
  349. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  350. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +18 -0
  351. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +7 -0
  352. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +13 -0
  353. package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +8 -0
  354. package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +20 -0
  355. package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +8 -0
  356. package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +28 -0
  357. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +6 -0
  358. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +20 -0
  359. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +7 -0
  360. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +7 -0
  361. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +6 -0
  362. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +17 -0
  363. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +7 -0
  364. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +6 -0
  365. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +8 -0
  366. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +99 -0
  367. package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +7 -0
  368. package/dist/WalletConnectionFlow/screens/ErrorScreen.js +13 -0
  369. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +6 -0
  370. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +47 -0
  371. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +6 -0
  372. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +47 -0
  373. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +5 -0
  374. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +18 -0
  375. package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +7 -0
  376. package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +14 -0
  377. package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +6 -0
  378. package/dist/WalletConnectionFlow/screens/SigningScreen.js +6 -0
  379. package/dist/WalletConnectionFlow/screens/index.d.ts +10 -0
  380. package/dist/WalletConnectionFlow/screens/index.js +10 -0
  381. package/dist/WalletConnectionFlow/types.d.ts +105 -0
  382. package/dist/WalletConnectionFlow/types.js +34 -0
  383. package/dist/WalletConnectionFlow/utils/persistence.d.ts +24 -0
  384. package/dist/WalletConnectionFlow/utils/persistence.js +83 -0
  385. package/dist/components/WalletDeposit/components/TransactionTable.d.ts +9 -2
  386. package/dist/components/WalletDeposit/components/TransactionTable.js +55 -5
  387. package/dist/components/WalletDeposit/types.d.ts +5 -0
  388. package/dist/config/dynamic.d.ts +20 -0
  389. package/dist/config/dynamic.js +47 -0
  390. package/dist/config/solana.d.ts +25 -0
  391. package/dist/config/solana.js +41 -0
  392. package/dist/errors/types.d.ts +5 -1
  393. package/dist/errors/types.js +12 -0
  394. package/dist/hooks/useSolanaSession.d.ts +17 -0
  395. package/dist/hooks/useSolanaSession.js +180 -0
  396. package/dist/index.d.ts +1 -2
  397. package/dist/index.js +1 -2
  398. package/dist/main.css +1 -1
  399. package/dist/utils/solana-session.d.ts +84 -0
  400. package/dist/utils/solana-session.js +230 -0
  401. package/package.json +14 -11
@@ -0,0 +1,69 @@
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 { useState, useEffect } from 'react';
13
+ import { CHAINS, TYPING_INTERVAL } from '../constants';
14
+ export function useTableValues(isSuccessView, selectedChain) {
15
+ var _a = useState({
16
+ tx: { text: '', visible: false, typing: false },
17
+ from: { text: '', visible: false, typing: false },
18
+ to: { text: '', visible: false, typing: false },
19
+ network: { text: '', visible: false, typing: false },
20
+ status: { text: '', visible: false, typing: false },
21
+ }), tableValues = _a[0], setTableValues = _a[1];
22
+ useEffect(function () {
23
+ if (isSuccessView) {
24
+ var chain = CHAINS.find(function (c) { return c.id === selectedChain; });
25
+ var values = {
26
+ tx: '0x1234...5678',
27
+ from: '0xabcd...ef01',
28
+ to: '0x2345...6789',
29
+ network: (chain === null || chain === void 0 ? void 0 : chain.name) || 'Unknown',
30
+ status: 'Success',
31
+ };
32
+ Object.entries(values).forEach(function (_a, index) {
33
+ var key = _a[0], value = _a[1];
34
+ setTimeout(function () {
35
+ var textIndex = 0;
36
+ setTableValues(function (prev) {
37
+ var _a;
38
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), { visible: true }), _a)));
39
+ });
40
+ var interval = setInterval(function () {
41
+ if (textIndex <= value.length) {
42
+ setTableValues(function (prev) {
43
+ var _a;
44
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = {
45
+ text: value.slice(0, textIndex),
46
+ visible: true,
47
+ typing: true,
48
+ }, _a)));
49
+ });
50
+ textIndex++;
51
+ }
52
+ else {
53
+ clearInterval(interval);
54
+ setTableValues(function (prev) {
55
+ var _a;
56
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = {
57
+ text: value,
58
+ visible: true,
59
+ typing: false,
60
+ }, _a)));
61
+ });
62
+ }
63
+ }, TYPING_INTERVAL);
64
+ }, index * 500);
65
+ });
66
+ }
67
+ }, [isSuccessView, selectedChain]);
68
+ return tableValues;
69
+ }
@@ -0,0 +1,6 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { WaitingMessageState } from '../types';
3
+ export declare function useWaitingMessage(isSigningView: boolean, isWaitingForTx: boolean, setIsWaitingForTx: Dispatch<SetStateAction<boolean>>, setIsSuccessView: Dispatch<SetStateAction<boolean>>, setIsSigningView: Dispatch<SetStateAction<boolean>>): {
4
+ waitingMessage: WaitingMessageState;
5
+ setHasError: Dispatch<SetStateAction<boolean>>;
6
+ };
@@ -0,0 +1,89 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { TYPING_INTERVAL } from '../constants';
3
+ export function useWaitingMessage(isSigningView, isWaitingForTx, setIsWaitingForTx, setIsSuccessView, setIsSigningView) {
4
+ var _a = useState({
5
+ title: '',
6
+ subtitle: '',
7
+ visible: false,
8
+ isTyping: false,
9
+ }), waitingMessage = _a[0], setWaitingMessage = _a[1];
10
+ var _b = useState(false), hasError = _b[0], setHasError = _b[1];
11
+ useEffect(function () {
12
+ if (isSigningView && !isWaitingForTx) {
13
+ var messages_1 = [
14
+ {
15
+ title: 'Waiting for signature',
16
+ subtitle: 'Please sign the transaction in your wallet',
17
+ delay: 0,
18
+ },
19
+ {
20
+ title: 'Waiting for transaction',
21
+ subtitle: 'Transaction is being processed...',
22
+ delay: 3000,
23
+ },
24
+ ];
25
+ var currentMessageIndex = 0;
26
+ var showMessage_1 = function (message) {
27
+ var index = 0;
28
+ var interval = setInterval(function () {
29
+ if (index <= Math.max(message.title.length, message.subtitle.length)) {
30
+ setWaitingMessage({
31
+ title: message.title.slice(0, index),
32
+ subtitle: message.subtitle.slice(0, index),
33
+ visible: true,
34
+ isTyping: true,
35
+ });
36
+ index++;
37
+ }
38
+ else {
39
+ clearInterval(interval);
40
+ setWaitingMessage({
41
+ title: message.title,
42
+ subtitle: message.subtitle,
43
+ visible: true,
44
+ isTyping: false,
45
+ });
46
+ }
47
+ }, TYPING_INTERVAL);
48
+ return interval;
49
+ };
50
+ var currentInterval_1 = showMessage_1(messages_1[currentMessageIndex]);
51
+ var messageTimeout_1 = setTimeout(function () {
52
+ clearInterval(currentInterval_1);
53
+ currentInterval_1 = showMessage_1(messages_1[1]);
54
+ setTimeout(function () {
55
+ setIsWaitingForTx(true);
56
+ setTimeout(function () {
57
+ if (!hasError) {
58
+ setIsSuccessView(true);
59
+ }
60
+ else {
61
+ setWaitingMessage({
62
+ title: 'Transaction Failed',
63
+ subtitle: 'Please try again',
64
+ visible: true,
65
+ isTyping: false,
66
+ });
67
+ setTimeout(function () {
68
+ setIsWaitingForTx(false);
69
+ setIsSigningView(false);
70
+ }, 2000);
71
+ }
72
+ }, 4000);
73
+ }, 4000);
74
+ }, messages_1[1].delay);
75
+ return function () {
76
+ clearInterval(currentInterval_1);
77
+ clearTimeout(messageTimeout_1);
78
+ };
79
+ }
80
+ }, [
81
+ isSigningView,
82
+ isWaitingForTx,
83
+ setIsWaitingForTx,
84
+ setIsSuccessView,
85
+ hasError,
86
+ setIsSigningView,
87
+ ]);
88
+ return { waitingMessage: waitingMessage, setHasError: setHasError };
89
+ }
@@ -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 useWalletConnect: (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,221 @@
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 { useN1WalletContext, useN1WalletInternalContext } from '../../../Provider/hooks';
39
+ import { N1SessionMode } from '../../../Provider/types';
40
+ import { FlowState } from '../types';
41
+ /**
42
+ * Hook for handling wallet connection
43
+ *
44
+ * @param options Configuration options
45
+ * @returns Wallet connection methods and state
46
+ */
47
+ export var useWalletConnect = function (state, transition, context, updateContext, sessionMode) {
48
+ var _a = useN1WalletContext(), nord = _a.nord, nordUser = _a.nordUser;
49
+ var _b = useN1WalletInternalContext(), showDynamicWidget = _b.showDynamicWidget, dynamicWallet = _b.dynamicWallet, internalSessionMode = _b.sessionMode;
50
+ var _c = useState(false), isConnecting = _c[0], setIsConnecting = _c[1];
51
+ var _d = useState(context.walletType), walletType = _d[0], setWalletType = _d[1];
52
+ var _e = useState(false), hasProcessedWallet = _e[0], setHasProcessedWallet = _e[1];
53
+ var _f = useState(false), transitionAttempted = _f[0], setTransitionAttempted = _f[1];
54
+ /**
55
+ * Determine wallet type from Dynamic wallet
56
+ */
57
+ var determineWalletType = useCallback(function () {
58
+ var _a, _b;
59
+ if (!dynamicWallet)
60
+ return null;
61
+ // Check wallet connector id to determine if it's ethereum or solana
62
+ var connectorId = ((_b = (_a = dynamicWallet.connector) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || '';
63
+ if (connectorId.includes('solana') || connectorId.includes('phantom')) {
64
+ return 'solana';
65
+ }
66
+ else {
67
+ // Default to ethereum for most other wallets
68
+ return 'ethereum';
69
+ }
70
+ }, [dynamicWallet]);
71
+ /**
72
+ * Connect wallet using Dynamic widget
73
+ */
74
+ var connectWallet = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
75
+ var error_1;
76
+ return __generator(this, function (_a) {
77
+ switch (_a.label) {
78
+ case 0:
79
+ if (isConnecting || !showDynamicWidget)
80
+ return [2 /*return*/];
81
+ setIsConnecting(true);
82
+ setHasProcessedWallet(false);
83
+ setTransitionAttempted(false);
84
+ console.log('Starting wallet connection process');
85
+ _a.label = 1;
86
+ case 1:
87
+ _a.trys.push([1, 3, , 4]);
88
+ // Show Dynamic widget to connect wallet
89
+ return [4 /*yield*/, showDynamicWidget(true)];
90
+ case 2:
91
+ // Show Dynamic widget to connect wallet
92
+ _a.sent();
93
+ console.log('Dynamic widget shown');
94
+ return [3 /*break*/, 4];
95
+ case 3:
96
+ error_1 = _a.sent();
97
+ setIsConnecting(false);
98
+ updateContext({ walletType: null });
99
+ console.error('Error showing Dynamic widget:', error_1);
100
+ return [3 /*break*/, 4];
101
+ case 4: return [2 /*return*/];
102
+ }
103
+ });
104
+ }); }, [isConnecting, showDynamicWidget, updateContext]);
105
+ /**
106
+ * Disconnect wallet
107
+ */
108
+ var disconnectWallet = useCallback(function () {
109
+ console.log('Disconnecting wallet');
110
+ setWalletType(null);
111
+ setHasProcessedWallet(false);
112
+ setTransitionAttempted(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
+ console.log('nordAccountExists', hasNordAccount, nordUser.sessionId);
125
+ sessionId = nordUser.sessionId;
126
+ hasActiveSession = sessionId != null;
127
+ updateContext({ hasNordAccount: hasNordAccount, hasActiveSession: hasActiveSession });
128
+ transitionDestination = hasNordAccount ? (sessionId != null ? FlowState.FINAL_SUCCESS : FlowState.AUTH_LOADING) : FlowState.CHAIN_SELECTION;
129
+ // Force a small delay to ensure UI updates properly
130
+ setTimeout(function () {
131
+ try {
132
+ console.log('Attempting transition to ' + transitionDestination);
133
+ setTransitionAttempted(true);
134
+ transition(transitionDestination, {
135
+ walletType: 'solana',
136
+ hasNordAccount: hasNordAccount,
137
+ hasActiveSession: hasActiveSession
138
+ });
139
+ console.log('Transition to ' + transitionDestination + ' completed');
140
+ // Try again with a longer delay as a fallback
141
+ setTimeout(function () {
142
+ console.log('Trying fallback transition after delay');
143
+ transition(transitionDestination, {
144
+ walletType: 'solana',
145
+ hasNordAccount: hasNordAccount,
146
+ hasActiveSession: hasActiveSession
147
+ });
148
+ }, 500);
149
+ }
150
+ catch (error) {
151
+ console.error('Error during transition:', error);
152
+ }
153
+ finally {
154
+ setIsConnecting(false);
155
+ }
156
+ }, 100);
157
+ return [2 /*return*/];
158
+ }
159
+ });
160
+ }); })();
161
+ }
162
+ }, [hasProcessedWallet, nordUser]);
163
+ /**
164
+ * Effect to handle wallet connection state changes
165
+ */
166
+ useEffect(function () {
167
+ var isNordMode = sessionMode === N1SessionMode.Nord;
168
+ // Skip if nothing has changed
169
+ if (!dynamicWallet || hasProcessedWallet) {
170
+ return;
171
+ }
172
+ var processWalletConnection = function () { return __awaiter(void 0, void 0, void 0, function () {
173
+ var type;
174
+ var _a, _b;
175
+ return __generator(this, function (_c) {
176
+ if (dynamicWallet && !hasProcessedWallet) {
177
+ console.log('Processing wallet connection:', {
178
+ wallet: (_a = dynamicWallet.connector) === null || _a === void 0 ? void 0 : _a.name,
179
+ address: (_b = dynamicWallet.address) === null || _b === void 0 ? void 0 : _b.slice(0, 8),
180
+ state: state,
181
+ isNordMode: isNordMode
182
+ });
183
+ type = determineWalletType();
184
+ setWalletType(type);
185
+ setHasProcessedWallet(true);
186
+ }
187
+ else if (!dynamicWallet && hasProcessedWallet) {
188
+ console.log('Wallet disconnected, resetting processed flag');
189
+ setHasProcessedWallet(false);
190
+ setTransitionAttempted(false);
191
+ }
192
+ else if (state === FlowState.CONNECTING_WALLET && !dynamicWallet && isConnecting) {
193
+ // Only keep isConnecting true if we're in the connecting state and don't have a wallet yet
194
+ // This prevents an infinite loop of setting isConnecting
195
+ }
196
+ else if (state !== FlowState.CONNECTING_WALLET && isConnecting) {
197
+ // If we're no longer in the connecting state, reset the connecting flag
198
+ setIsConnecting(false);
199
+ }
200
+ return [2 /*return*/];
201
+ });
202
+ }); };
203
+ processWalletConnection();
204
+ }, [
205
+ dynamicWallet,
206
+ state,
207
+ transition,
208
+ hasProcessedWallet,
209
+ sessionMode,
210
+ internalSessionMode,
211
+ determineWalletType,
212
+ isConnecting,
213
+ transitionAttempted
214
+ ]);
215
+ return {
216
+ isConnecting: isConnecting,
217
+ walletType: walletType,
218
+ connectWallet: connectWallet,
219
+ disconnectWallet: disconnectWallet,
220
+ };
221
+ };
@@ -0,0 +1 @@
1
+ export { NTSFlow } from './NTSFlow';
@@ -0,0 +1 @@
1
+ export { NTSFlow } from './NTSFlow';
@@ -0,0 +1 @@
1
+ export { NordFlow } from './NordFlow';
@@ -0,0 +1 @@
1
+ export { NordFlow } from './NordFlow';
@@ -0,0 +1,6 @@
1
+ interface ConnectWalletScreenProps {
2
+ onConnectWallet: () => void;
3
+ isConnecting: boolean;
4
+ }
5
+ export declare function ConnectWalletScreen({ onConnectWallet, isConnecting, }: ConnectWalletScreenProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { IoMdWallet } from 'react-icons/io';
4
+ import { LoadingSquares } from '../components/LoadingSquares';
5
+ import { ANIMATION_EASE } from '../constants';
6
+ export function ConnectWalletScreen(_a) {
7
+ var onConnectWallet = _a.onConnectWallet, isConnecting = _a.isConnecting;
8
+ var _b = useState(null), isHovered = _b[0], setIsHovered = _b[1];
9
+ // If connecting, show loading state
10
+ if (isConnecting) {
11
+ return (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [_jsx(LoadingSquares, {}), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsx("h3", { className: "text-xl text-gray-800 dark:text-white font-semibold", children: "Connecting Wallet" }), _jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400", children: "Please approve the connection request in your wallet" })] })] }));
12
+ }
13
+ // If not connecting, show connect options (exactly like NTS flow)
14
+ return (_jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "space-y-4", children: [_jsx("button", { onClick: onConnectWallet, onMouseEnter: function () { return setIsHovered('wallet'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n "), style: {
15
+ transform: isHovered === 'wallet' ? 'scale(0.99)' : 'scale(1)',
16
+ }, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsxs("div", { className: "flex items-center", children: [_jsx(IoMdWallet, { className: "w-5 h-5 text-gray-500 dark:text-neutral-400 group-hover:text-gray-900 dark:group-hover:text-white transition-colors duration-300" }), _jsx("span", { className: "\n ml-2 text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-500 dark:text-neutral-400 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Continue with Wallet" })] }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('google'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-not-allowed border-gray-200 dark:border-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-gray-500 dark:text-neutral-400", children: "Continue with Google (soon)" }) }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('email'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-not-allowed border-gray-200 dark:border-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-gray-500 dark:text-neutral-400", children: "Continue with Email (soon)" }) }) }) })] }) }));
17
+ }
@@ -0,0 +1,6 @@
1
+ interface EvmWalletAuthScreenProps {
2
+ onAuth: () => void;
3
+ isAuthenticating?: boolean;
4
+ }
5
+ export declare function EvmWalletAuthScreen({ onAuth, isAuthenticating, }: EvmWalletAuthScreenProps): import("react/jsx-runtime").JSX.Element;
6
+ export { EvmWalletAuthScreen as EthToSolAuthScreen };
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { LoadingSquares } from '../components/LoadingSquares';
4
+ import { ANIMATION_EASE } from '../constants';
5
+ var AuthState;
6
+ (function (AuthState) {
7
+ AuthState["INITIAL"] = "initial";
8
+ AuthState["WAITING_FOR_SIGNATURE"] = "waiting_for_signature";
9
+ AuthState["SUCCESS"] = "success";
10
+ })(AuthState || (AuthState = {}));
11
+ export function EvmWalletAuthScreen(_a) {
12
+ var onAuth = _a.onAuth, _b = _a.isAuthenticating, isAuthenticating = _b === void 0 ? false : _b;
13
+ var _c = useState(false), isHovered = _c[0], setIsHovered = _c[1];
14
+ var _d = useState(isAuthenticating ? AuthState.WAITING_FOR_SIGNATURE : AuthState.INITIAL), authState = _d[0], setAuthState = _d[1];
15
+ // Handle signature request
16
+ var handleSignatureRequest = function () {
17
+ setAuthState(AuthState.WAITING_FOR_SIGNATURE);
18
+ // Simulate signature process - in a real implementation,
19
+ // this would be replaced with actual wallet signature logic
20
+ setTimeout(function () {
21
+ setAuthState(AuthState.SUCCESS);
22
+ }, 2000);
23
+ };
24
+ // When signature is successful, trigger onAuth after a brief success message
25
+ useEffect(function () {
26
+ if (authState === AuthState.SUCCESS) {
27
+ var timer_1 = setTimeout(function () {
28
+ onAuth();
29
+ }, 1000);
30
+ return function () { return clearTimeout(timer_1); };
31
+ }
32
+ }, [authState, onAuth]);
33
+ // Render waiting for signature screen
34
+ if (authState === AuthState.WAITING_FOR_SIGNATURE) {
35
+ return (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [_jsx(LoadingSquares, {}), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsx("h3", { className: "text-xl text-gray-800 dark:text-white font-semibold", children: "Waiting for Signature" }), _jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400", children: "Please sign the message in your Ethereum wallet to authenticate with Solana" })] })] }));
36
+ }
37
+ // Render success screen
38
+ if (authState === AuthState.SUCCESS) {
39
+ return (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [_jsx("div", { className: "w-16 h-16 rounded-full bg-green-100 dark:bg-green-900 flex items-center justify-center", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-8 w-8 text-green-600 dark:text-green-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }) }), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsx("h3", { className: "text-xl text-gray-800 dark:text-white font-semibold", children: "Signature Verified" }), _jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400", children: "Your Ethereum wallet has been authenticated successfully" })] })] }));
40
+ }
41
+ // Render initial screen
42
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-6", children: [_jsx("h2", { className: "text-xl text-gray-800 dark:text-white font-semibold mb-2 text-center", children: "EVM Wallet Authentication" }), _jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400 text-center mb-4", children: "You need to sign a message to authenticate your Ethereum wallet with Solana" }), _jsx("button", { onClick: handleSignatureRequest, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n "), style: {
43
+ transform: isHovered ? 'scale(0.99)' : 'scale(1)',
44
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Sign Authentication Message" }) })] }) }));
45
+ }
46
+ // For backward compatibility
47
+ export { EvmWalletAuthScreen as EthToSolAuthScreen };
@@ -0,0 +1,7 @@
1
+ import { Chain } from '../types';
2
+ interface ChainSelectionScreenProps {
3
+ chains: Chain[];
4
+ onChainSelect: (chainId: string) => void;
5
+ }
6
+ export declare function ChainSelectionScreen({ onChainSelect, }: ChainSelectionScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { SolanaNetwork } from '../../../config/solana';
4
+ import { ChainButton } from '../components/ChainButton';
5
+ export function ChainSelectionScreen(_a) {
6
+ var onChainSelect = _a.onChainSelect;
7
+ var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
8
+ // Only allow testnet, gray out other chains
9
+ var handleChainSelect = function (chainId) {
10
+ console.log('Chain selected in ChainSelectionScreen:', chainId);
11
+ // Otherwise, only allow testnet to be selected
12
+ if (chainId === 'testnet') {
13
+ setIsLoading(true);
14
+ onChainSelect(chainId);
15
+ }
16
+ else {
17
+ console.log('Chain not allowed:', chainId);
18
+ // Could show a toast or message here
19
+ }
20
+ };
21
+ // Otherwise, use the default Solana networks
22
+ // Add network information to chains
23
+ var chainsWithNetworkInfo = [
24
+ {
25
+ id: 'mainnet',
26
+ name: 'Mainnet',
27
+ logo: '/images/chains/solana.svg',
28
+ network: SolanaNetwork.MAINNET,
29
+ disabled: true
30
+ },
31
+ {
32
+ id: 'testnet',
33
+ name: 'Testnet',
34
+ logo: '/images/chains/solana.svg',
35
+ network: SolanaNetwork.TESTNET,
36
+ disabled: false
37
+ },
38
+ {
39
+ id: 'devnet',
40
+ name: 'Devnet',
41
+ logo: '/images/chains/solana.svg',
42
+ network: SolanaNetwork.DEVNET,
43
+ disabled: true
44
+ }
45
+ ];
46
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx("h2", { className: "text-xl text-gray-800 dark:text-white font-semibold mb-6 text-center", children: "Select Network" }), isLoading ? (_jsx("div", { className: "flex justify-center items-center py-8", children: _jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-main" }) })) : (_jsx("div", { className: "space-y-8", children: _jsx("div", { className: "grid grid-cols-2 gap-4", children: chainsWithNetworkInfo.map(function (chain) { return (_jsx(ChainButton, { chain: chain, onClick: function () { return handleChainSelect(chain.id); }, disabled: chain.disabled }, chain.id)); }) }) }))] }));
47
+ }
@@ -0,0 +1,10 @@
1
+ interface AmountInputScreenProps {
2
+ amount: string;
3
+ onAmountChange: (amount: string) => void;
4
+ onContinue: () => void;
5
+ balance: number;
6
+ faucetUrl?: string;
7
+ refreshBalance?: () => Promise<void>;
8
+ }
9
+ export declare function AmountInputScreen({ amount, onAmountChange, onContinue, balance, faucetUrl: propFaucetUrl, refreshBalance, }: AmountInputScreenProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};