@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
@@ -1,4 +1,5 @@
1
1
  import type { WalletError } from '../errors/types';
2
+ import { Nord } from '@n1xyz/nord-ts';
2
3
  export declare enum N1ModalViewMode {
3
4
  Connect = 0,
4
5
  CreateSession = 1,
@@ -17,6 +18,8 @@ export interface N1WalletProviderProps {
17
18
  appId: string;
18
19
  darkMode?: boolean;
19
20
  onError?: (error: WalletError) => void;
21
+ faucetUrl?: string;
22
+ nord?: Nord;
20
23
  }
21
24
  export interface Balance {
22
25
  mint: string;
@@ -24,6 +27,56 @@ export interface Balance {
24
27
  appId: string;
25
28
  appType: string;
26
29
  }
30
+ export interface N1NordFunctions {
31
+ getMarkets: () => Promise<any[]>;
32
+ getOrderbook: (symbol: string) => Promise<any>;
33
+ getTrades: (params: any) => Promise<any>;
34
+ getMarketsStats: () => Promise<any>;
35
+ placeOrder: (params: {
36
+ sessionId: bigint | string;
37
+ marketId: number;
38
+ side: 'BUY' | 'SELL';
39
+ fillMode: 'GTC' | 'IOC' | 'FOK' | 'POST_ONLY';
40
+ isReduceOnly: boolean;
41
+ size?: number | string;
42
+ price?: number | string;
43
+ quoteSize?: number | string;
44
+ clientOrderId?: bigint | string;
45
+ }) => Promise<bigint | undefined>;
46
+ cancelOrder: (params: {
47
+ sessionId: bigint | string;
48
+ orderId: bigint | string;
49
+ }) => Promise<bigint>;
50
+ createSession: (params: {
51
+ userPubkey: Uint8Array;
52
+ sessionPubkey: Uint8Array;
53
+ expiryTimestamp?: bigint;
54
+ }) => Promise<bigint>;
55
+ revokeSession: (params: {
56
+ sessionId: bigint | string;
57
+ }) => Promise<void>;
58
+ withdraw: (params: {
59
+ sessionId: bigint | string;
60
+ tokenId: number;
61
+ amount: number;
62
+ }) => Promise<void>;
63
+ transfer: (params: {
64
+ sessionId: bigint | string;
65
+ fromAccountId: number;
66
+ toAccountId?: number;
67
+ tokenId: number;
68
+ tokenDecimals: number;
69
+ amount: number | string;
70
+ }) => Promise<number | undefined>;
71
+ getTimestamp: () => Promise<bigint>;
72
+ getActionNonce: () => Promise<number>;
73
+ queryBlock: (query: any) => Promise<any>;
74
+ queryLastNBlocks: () => Promise<any>;
75
+ queryRecentBlocks: (last_n: number) => Promise<any>;
76
+ queryAction: (query: any) => Promise<any>;
77
+ queryRecentActions: (last_n: number) => Promise<any>;
78
+ getActions: (fromActionId: number, toActionId: number) => Promise<any>;
79
+ }
27
80
  export interface N1WalletState {
28
81
  address: string;
29
82
  appId: string | null;
@@ -37,11 +90,15 @@ export interface N1WalletState {
37
90
  showLogin: boolean;
38
91
  signMessageWithSessionKey: ((message: any) => Promise<any>) | null;
39
92
  signMessageWithWalletKey: ((message: any) => Promise<any>) | null;
93
+ signTransactionWithWalletKey: ((transaction: any) => Promise<any>) | null;
40
94
  userChain: string | null;
41
95
  username: string;
42
96
  viewMode: N1ModalViewMode;
43
97
  walletPubKey: Uint8Array | null;
44
98
  throwTestError: () => Promise<void>;
99
+ nord?: Nord;
100
+ faucetUrl?: string;
101
+ nordUser?: any;
45
102
  }
46
103
  export interface N1InternalWalletState {
47
104
  dynamicHandleLogOut: any;
@@ -63,14 +120,18 @@ export interface N1InternalWalletState {
63
120
  setShowSidebar: (show: boolean) => void;
64
121
  setSignMessageWithSessionKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
65
122
  setSignMessageWithWalletKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
123
+ setSignTransactionWithWalletKey: React.Dispatch<React.SetStateAction<((transaction: any) => Promise<any>) | null>>;
66
124
  setStartClosingLogin: (closing: boolean) => void;
67
125
  setUsername: (username: string) => void;
68
126
  setUserChain: (chain: string) => void;
69
127
  setViewMode: (mode: N1ModalViewMode) => void;
70
128
  setWalletPubKey: (key: Uint8Array) => void;
129
+ setNordUser: (user: any) => void;
71
130
  showSidebar: boolean;
72
131
  startClosingLogin: boolean;
73
132
  showDynamicWidget: any;
74
133
  setShowDynamicWidget: (show: any) => void;
75
134
  darkMode: boolean;
135
+ sessionMode: N1SessionMode | null;
136
+ faucetUrl?: string;
76
137
  }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface WalletConnectionFlowProps {
3
+ onClose?: () => void;
4
+ }
5
+ /**
6
+ * Main component for the wallet connection flow
7
+ */
8
+ export declare const WalletConnectionFlow: React.FC<WalletConnectionFlowProps>;
9
+ export {};
@@ -0,0 +1,145 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useCallback, useState } from 'react';
3
+ import Logo from '../components/Logo';
4
+ import { CHAINS } from './constants';
5
+ import { useDepositFlow, useFlowState, useInterruptHandler, useNordSession, useWalletConnect } from './hooks';
6
+ import { AmountInputScreen, AuthLoadingScreen, ChainSelectionScreen, ConnectWalletScreen, DepositProgressScreen, DepositSuccessScreen, ErrorScreen, EvmWalletAuthScreen, FinalSuccessScreen, NordAuthScreen } from './screens';
7
+ import { FlowState } from './types';
8
+ var ConfirmationDialog = function (_a) {
9
+ var onConfirm = _a.onConfirm, onCancel = _a.onCancel;
10
+ return (_jsx("div", { className: "fixed inset-0 bg-gray-50 dark:bg-gray-950 flex items-center justify-center z-50 font-era overflow-auto", children: _jsxs("div", { className: "bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity] animate-fade-in", children: [_jsx("div", { className: "p-6 border-b border-gray-200 dark:border-gray-800", children: _jsx("div", { className: "flex items-center justify-between", children: _jsx("div", { className: "flex items-center gap-3", children: _jsx("h2", { className: "text-xl text-gray-700 dark:text-gray-300", children: "Confirm Close" }) }) }) }), _jsxs("div", { className: "p-6 overflow-hidden relative", children: [_jsx("p", { className: "text-gray-700 dark:text-gray-300 text-center mb-6", children: "Are you sure you want to close? This operation is in progress." }), _jsxs("div", { className: "flex flex-col space-y-3", children: [_jsx("button", { onClick: onConfirm, className: "group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center \n transition-all duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n cursor-pointer border-gray-200 dark:border-neutral-800 hover:border-gray-400 dark:hover:border-white/60\n text-gray-800 dark:text-gray-200", children: "Yes, close" }), _jsx("button", { onClick: onCancel, className: "group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center \n transition-all duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n cursor-pointer border-gray-200 dark:border-neutral-800 hover:border-gray-400 dark:hover:border-white/60\n text-gray-800 dark:text-gray-200", children: "No, continue" })] })] })] }) }));
11
+ };
12
+ /**
13
+ * Main component for the wallet connection flow
14
+ */
15
+ export var WalletConnectionFlow = function (_a) {
16
+ var onClose = _a.onClose;
17
+ // Handle state changes
18
+ var handleStateChange = useCallback(function (newState, prevState) {
19
+ console.log("State changed from ".concat(prevState, " to ").concat(newState));
20
+ }, []);
21
+ // Handle errors
22
+ var handleError = useCallback(function (error) {
23
+ console.error('Flow error:', error);
24
+ }, []);
25
+ // Initialize flow state
26
+ var _b = useFlowState({
27
+ autoRecover: false, // We'll handle recovery with a prompt
28
+ onStateChange: handleStateChange,
29
+ onError: handleError,
30
+ }), state = _b.state, context = _b.context, transition = _b.transition, updateContext = _b.updateContext, recover = _b.recover, recordInterruption = _b.recordInterruption, handleFlowError = _b.handleError, isRecoveryAvailable = _b.isRecoveryAvailable;
31
+ // Initialize wallet connection
32
+ var _c = useWalletConnect({
33
+ state: state,
34
+ context: context,
35
+ transition: transition,
36
+ handleError: handleFlowError,
37
+ }), isConnecting = _c.isConnecting, connectWallet = _c.connectWallet;
38
+ // Initialize Nord session
39
+ var hasNordAccount = useNordSession({
40
+ state: state,
41
+ context: context,
42
+ transition: transition,
43
+ handleError: handleFlowError,
44
+ }).hasNordAccount;
45
+ // Initialize deposit flow
46
+ var _d = useDepositFlow({
47
+ state: state,
48
+ context: context,
49
+ transition: transition,
50
+ handleError: handleFlowError,
51
+ updateContext: updateContext,
52
+ }), selectedChain = _d.selectedChain, amount = _d.amount, isDepositing = _d.isDepositing, transactionId = _d.transactionId, selectChain = _d.selectChain, updateAmount = _d.updateAmount, startDeposit = _d.startDeposit, goBackToChainSelection = _d.goBackToChainSelection;
53
+ // Initialize interrupt handler
54
+ var _e = useInterruptHandler({
55
+ state: state,
56
+ recordInterruption: recordInterruption,
57
+ onClose: onClose,
58
+ }), isClosing = _e.isClosing, showConfirmation = _e.showConfirmation, handleCloseRequest = _e.handleCloseRequest, confirmClose = _e.confirmClose, cancelClose = _e.cancelClose;
59
+ // Check for recovery on mount
60
+ var _f = useState(false), hasAttemptedRecovery = _f[0], setHasAttemptedRecovery = _f[1];
61
+ React.useEffect(function () {
62
+ if (!hasAttemptedRecovery) {
63
+ if (isRecoveryAvailable) {
64
+ // Automatically recover without showing a prompt
65
+ recover();
66
+ }
67
+ else {
68
+ // Start at CONNECTING_WALLET so we show the wallet selection screen
69
+ // The actual connection will only happen when the user clicks the button
70
+ transition(FlowState.CONNECTING_WALLET);
71
+ }
72
+ setHasAttemptedRecovery(true);
73
+ }
74
+ }, [hasAttemptedRecovery, isRecoveryAvailable, transition, recover]);
75
+ // For deposit progress message
76
+ var _g = useState({
77
+ visible: true,
78
+ title: 'Processing Deposit',
79
+ subtitle: 'Please wait while we process your deposit',
80
+ isTyping: false
81
+ }), depositMessage = _g[0], setDepositMessage = _g[1];
82
+ // Mock table values for success screen
83
+ var tableValues = {
84
+ tx: { text: transactionId || '0x123...456', visible: true, typing: false },
85
+ from: { text: 'Your Wallet', visible: true, typing: false },
86
+ to: { text: 'Nord Account', visible: true, typing: false },
87
+ network: { text: 'Ethereum', visible: true, typing: false },
88
+ status: { text: 'Completed', visible: true, typing: false }
89
+ };
90
+ var handleFinish = function () {
91
+ if (onClose) {
92
+ onClose();
93
+ }
94
+ };
95
+ // Render confirmation dialog if needed
96
+ var renderConfirmationDialog = function () {
97
+ if (!showConfirmation)
98
+ return null;
99
+ return (_jsx(ConfirmationDialog, { onConfirm: confirmClose, onCancel: cancelClose }));
100
+ };
101
+ // Render current screen based on state
102
+ var renderScreen = function () {
103
+ switch (state) {
104
+ case FlowState.IDLE:
105
+ case FlowState.CONNECTING_WALLET:
106
+ return (_jsx(ConnectWalletScreen, { onConnectWallet: connectWallet, isConnecting: isConnecting }));
107
+ case FlowState.ETH_TO_SOL_AUTH:
108
+ return (_jsx(EvmWalletAuthScreen, { onAuth: function () { return transition(FlowState.CHAIN_SELECTION); } }));
109
+ case FlowState.CHAIN_SELECTION:
110
+ return (_jsx(ChainSelectionScreen, { chains: CHAINS, onChainSelect: selectChain }));
111
+ case FlowState.AMOUNT_INPUT:
112
+ return (_jsx(AmountInputScreen, { amount: amount, onAmountChange: updateAmount, onContinue: startDeposit, balance: 100 }));
113
+ case FlowState.DEPOSIT_PROGRESS:
114
+ return (_jsx(DepositProgressScreen, { message: depositMessage, percentComplete: 75 }));
115
+ case FlowState.DEPOSIT_SUCCESS:
116
+ return (_jsx(DepositSuccessScreen, { amount: amount, tableValues: tableValues, onContinue: function () { return transition(FlowState.NORD_AUTH); } }));
117
+ case FlowState.NORD_AUTH:
118
+ return (_jsx(NordAuthScreen, { hasNordAccount: hasNordAccount, onCreateAccount: function () { return transition(FlowState.AUTH_LOADING, { hasNordAccount: false }); }, onLogin: function () { return transition(FlowState.AUTH_LOADING, { hasNordAccount: true }); } }));
119
+ case FlowState.AUTH_LOADING:
120
+ return (_jsx(AuthLoadingScreen, { isCreatingAccount: !hasNordAccount, onAuthComplete: function (success) {
121
+ if (success) {
122
+ console.log('Auth complete callback in WalletConnectionFlow, transitioning to FINAL_SUCCESS');
123
+ // Update the context first
124
+ updateContext({ hasActiveSession: true });
125
+ // Then transition to success
126
+ transition(FlowState.FINAL_SUCCESS, { hasActiveSession: true });
127
+ }
128
+ else {
129
+ // Handle auth failure
130
+ handleFlowError(new Error('Authentication failed'));
131
+ }
132
+ } }));
133
+ case FlowState.FINAL_SUCCESS:
134
+ return (_jsx(FinalSuccessScreen, { onDone: handleFinish }));
135
+ case FlowState.ERROR:
136
+ return (_jsx(ErrorScreen, { error: context.error, onRetry: function () {
137
+ // Logic to go back to appropriate state based on error
138
+ transition(FlowState.CONNECTING_WALLET);
139
+ }, onCancel: handleFinish }));
140
+ default:
141
+ return _jsx("div", { children: "Loading..." });
142
+ }
143
+ };
144
+ return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era ".concat(isClosing ? 'animate-fade-out' : 'animate-fade-in'), children: _jsxs("div", { className: "bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96", children: [_jsx("div", { className: "p-6 border-b border-gray-200 dark:border-gray-800 w-full max-w-2xl mx-auto", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsx("div", { className: "w-6 h-6 text-gray-50", children: _jsx(Logo, { size: 24 }) }) }), _jsx("button", { onClick: handleCloseRequest, className: "\n text-neutral-400 hover:text-gray-900 dark:hover:text-white \n transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n h-10 w-10 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800\n flex items-center justify-center\n ", children: _jsx("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" }) }) })] }) }), _jsxs("div", { className: "wallet-connection-flow-content p-6 overflow-hidden", children: [renderConfirmationDialog(), renderScreen()] })] }) }));
145
+ };
@@ -0,0 +1,14 @@
1
+ import { ButtonKey, ButtonStates } from '../types';
2
+ interface AnimatedButtonProps {
3
+ onClick: () => void;
4
+ text: string;
5
+ isTyping: boolean;
6
+ disabled?: boolean;
7
+ onMouseEnter?: () => void;
8
+ onMouseLeave?: () => void;
9
+ }
10
+ export declare const AnimatedButton: ({ onClick, text, isTyping, disabled, onMouseEnter, onMouseLeave, }: AnimatedButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const useButtonTyping: (buttonStates: ButtonStates, setButtonStates: React.Dispatch<React.SetStateAction<ButtonStates>>, buttonConfigs: Record<ButtonKey, {
12
+ text: string;
13
+ }>) => void;
14
+ export {};
@@ -0,0 +1,75 @@
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 { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useState } from 'react';
14
+ import { ANIMATION_EASE } from '../constants';
15
+ var formatButtonText = function (text) {
16
+ return text.split('').join(' ');
17
+ };
18
+ export var AnimatedButton = function (_a) {
19
+ var onClick = _a.onClick, text = _a.text, isTyping = _a.isTyping, _b = _a.disabled, disabled = _b === void 0 ? false : _b, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave;
20
+ var _c = useState(false), isHovered = _c[0], setIsHovered = _c[1];
21
+ var _d = useState(false), isPressed = _d[0], setIsPressed = _d[1];
22
+ var handleMouseEnter = function () {
23
+ setIsHovered(true);
24
+ onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter();
25
+ };
26
+ var handleMouseLeave = function () {
27
+ setIsHovered(false);
28
+ setIsPressed(false);
29
+ onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave();
30
+ };
31
+ return (_jsxs("button", { onClick: onClick, disabled: disabled, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(false); }, className: "group relative w-full overflow-hidden rounded-md border-2 ".concat(disabled
32
+ ? 'border-gray-200 dark:border-gray-800 bg-gray-100 dark:bg-neutral-950 cursor-not-allowed'
33
+ : isPressed
34
+ ? 'border-main bg-main/10 dark:bg-main/5'
35
+ : isHovered
36
+ ? 'border-main bg-gray-100 dark:bg-neutral-950'
37
+ : 'border-gray-200 dark:border-gray-800 bg-gray-100 dark:bg-neutral-950 hover:border-main', " py-4 text-center \n transition-all duration-300 ease-[").concat(ANIMATION_EASE, "]"), children: [_jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-transparent via-main/10 to-transparent -translate-x-full group-hover:animate-shimmer", style: {
38
+ backgroundSize: '200% 100%',
39
+ } }), _jsx("div", { className: "relative flex items-center justify-center", children: _jsx("span", { className: "text-lg font-medium tracking-wide ".concat(disabled
40
+ ? 'text-gray-400 dark:text-gray-600'
41
+ : isPressed
42
+ ? 'text-main'
43
+ : isHovered
44
+ ? 'text-main'
45
+ : 'text-gray-700 dark:text-gray-300 group-hover:text-main', " transition-colors duration-300"), children: isTyping ? (_jsxs("span", { className: "inline-flex items-center", children: [_jsx("span", { className: "tracking-widest", children: formatButtonText(text) }), _jsx("span", { className: "ml-1 h-5 w-0.5 bg-main animate-cursor-blink" })] })) : (text || '\u00A0') }) })] }));
46
+ };
47
+ export var useButtonTyping = function (buttonStates, setButtonStates, buttonConfigs) {
48
+ var BUTTON_CONFIGS = buttonConfigs || {
49
+ deposit: { text: 'Deposit' },
50
+ continue: { text: 'Continue' },
51
+ openApp: { text: 'Launch' },
52
+ };
53
+ useState(function () {
54
+ Object.entries(buttonStates).forEach(function (_a) {
55
+ var key = _a[0], state = _a[1];
56
+ if (state.isTyping) {
57
+ var config_1 = BUTTON_CONFIGS[key];
58
+ var index_1 = 0;
59
+ var interval_1 = setInterval(function () {
60
+ if (index_1 <= config_1.text.length) {
61
+ setButtonStates(function (prev) {
62
+ var _a;
63
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), { text: config_1.text.slice(0, index_1) }), _a)));
64
+ });
65
+ index_1++;
66
+ }
67
+ else {
68
+ clearInterval(interval_1);
69
+ }
70
+ }, 50);
71
+ return function () { return clearInterval(interval_1); };
72
+ }
73
+ });
74
+ });
75
+ };
@@ -0,0 +1,7 @@
1
+ import { Chain } from '../types';
2
+ interface ChainButtonProps {
3
+ chain: Chain;
4
+ onClick: (chainId: string) => void;
5
+ }
6
+ export declare function ChainButton({ chain, onClick }: ChainButtonProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function ChainButton(_a) {
3
+ var chain = _a.chain, onClick = _a.onClick;
4
+ return (_jsxs("button", { onClick: function () { return onClick(chain.id); }, className: "flex flex-col items-center justify-center p-6 bg-gray-50 dark:bg-gray-950 border-2 border-gray-100 dark:border-gray-800 hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-gray-900 transition-all duration-200 group rounded-lg", children: [_jsx("img", { src: chain.logo, width: 48, height: 48, alt: chain.name, className: "opacity-90 grayscale group-hover:grayscale-0 group-hover:scale-105 transition-all duration-200" }), _jsx("span", { className: "mt-4 font-medium text-gray-600 dark:text-gray-400 group-hover:text-red-500 dark:group-hover:text-gray-50 transition-colors duration-200", children: chain.name })] }));
5
+ }
@@ -0,0 +1 @@
1
+ export declare function LoadingSquares(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ export function LoadingSquares() {
4
+ return (_jsx("div", { className: "relative w-32 h-32 animate-fade-up", style: { animationDelay: '0.2s' }, children: _jsxs("div", { className: "absolute inset-0 grid grid-cols-2 gap-2", children: [_jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader" }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader", style: { animationDelay: '0.2s' } }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader", style: { animationDelay: '0.4s' } }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader", style: { animationDelay: '0.6s' } }) })] }) }));
5
+ }
@@ -0,0 +1,13 @@
1
+ import { TableValues } from '../types';
2
+ interface TransactionTableProps {
3
+ tableValues: TableValues & {
4
+ amount?: {
5
+ text: string;
6
+ visible: boolean;
7
+ typing: boolean;
8
+ };
9
+ };
10
+ onClose?: () => void;
11
+ }
12
+ export declare function TransactionTable({ tableValues, onClose }: TransactionTableProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function TransactionTable(_a) {
3
+ var tableValues = _a.tableValues, onClose = _a.onClose;
4
+ // Friendly labels for the keys
5
+ var getLabel = function (key) {
6
+ var labels = {
7
+ amount: 'Amount',
8
+ tx: 'Transaction ID',
9
+ from: 'From',
10
+ to: 'To',
11
+ network: 'Network',
12
+ status: 'Status'
13
+ };
14
+ return labels[key] || key;
15
+ };
16
+ // Get appropriate color for values based on key
17
+ var getValueStyles = function (key, value) {
18
+ if (key === 'status') {
19
+ if (value.toLowerCase().includes('success') || value.toLowerCase().includes('confirmed')) {
20
+ return 'text-green-500 dark:text-emerald-500 font-medium';
21
+ }
22
+ if (value.toLowerCase().includes('pending')) {
23
+ return 'text-amber-500 dark:text-amber-400 font-medium';
24
+ }
25
+ if (value.toLowerCase().includes('fail') || value.toLowerCase().includes('error')) {
26
+ return 'text-red-500 dark:text-red-400 font-medium';
27
+ }
28
+ }
29
+ if (key === 'tx') {
30
+ return 'text-primary-600 dark:text-primary-400 text-xs ';
31
+ }
32
+ if (key === 'network') {
33
+ return 'text-purple-600 dark:text-purple-400 font-medium';
34
+ }
35
+ if (key === 'from' || key === 'to') {
36
+ return 'text-gray-800 dark:text-gray-200 text-xs ';
37
+ }
38
+ if (key === 'amount') {
39
+ return 'text-green-600 dark:text-emerald-500 font-semibold';
40
+ }
41
+ return 'text-gray-900 dark:text-gray-50 font-medium';
42
+ };
43
+ // Order of fields to display
44
+ var fieldOrder = ['amount', 'status', 'network', 'from', 'to', 'tx'];
45
+ // Sort entries based on fieldOrder
46
+ var sortedEntries = Object.entries(tableValues)
47
+ .sort(function (_a, _b) {
48
+ var keyA = _a[0];
49
+ var keyB = _b[0];
50
+ var indexA = fieldOrder.indexOf(keyA);
51
+ var indexB = fieldOrder.indexOf(keyB);
52
+ return (indexA === -1 ? 999 : indexA) - (indexB === -1 ? 999 : indexB);
53
+ });
54
+ return (_jsxs("div", { className: "relative w-full h-full bg-gray-100 dark:bg-gray-950 border border-gray-200 dark:border-gray-800 p-5 rounded-sm flex flex-col justify-center", children: [onClose && (_jsx("button", { onClick: onClose, className: "absolute top-3 right-2 text-gray-500 dark:text-gray-600 hover:text-gray-500 dark:hover:text-gray-300 transition-colors duration-200 focus:outline-none", "aria-label": "Close details", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })), _jsx("div", { className: "space-y-3 text-sm pt-5", children: sortedEntries.map(function (_a) {
55
+ var key = _a[0], value = _a[1];
56
+ return (_jsxs("div", { className: "flex items-center justify-between py-2 ", children: [_jsx("span", { className: "text-gray-500 dark:text-gray-400 font-medium min-w-[120px]", children: getLabel(key) }), _jsxs("div", { className: "relative transition-all duration-300 ".concat(value.visible ? 'opacity-100' : 'opacity-0', " max-w-[65%] text-right flex-1"), children: [_jsx("span", { className: "".concat(getValueStyles(key, value.text), " break-all inline-block"), children: value.text }), value.typing && (_jsx("span", { className: "inline-block ml-1 w-[2px] h-[14px] bg-primary-500 dark:bg-primary-400 animate-pulse" }))] })] }, key));
57
+ }) })] }));
58
+ }
@@ -0,0 +1,6 @@
1
+ import { WaitingMessageState } from '../types';
2
+ interface WaitingMessageProps {
3
+ message: WaitingMessageState;
4
+ }
5
+ export declare function WaitingMessage({ message }: WaitingMessageProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { LoadingSquares } from './LoadingSquares';
3
+ export function WaitingMessage(_a) {
4
+ var message = _a.message;
5
+ 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: [_jsxs("h3", { className: "text-xl text-gray-800 dark:text-white transition-all duration-300 h-[32px] flex items-center justify-center relative font-semibold", children: [_jsx("span", { className: "opacity-0 absolute select-none", "aria-hidden": "true", children: "Waiting for transaction" }), _jsx("div", { className: "absolute min-w-[280px]", children: message.visible && message.title })] }), _jsxs("p", { className: "text-sm text-gray-600 dark:text-neutral-400 h-[20px] flex items-center justify-center relative", children: [_jsx("span", { className: "opacity-0 absolute select-none", "aria-hidden": "true", children: "Please sign the transaction in your wallet" }), _jsx("div", { className: "absolute min-w-[280px]", children: message.visible && message.subtitle })] })] })] }));
6
+ }
@@ -0,0 +1,5 @@
1
+ export * from './AnimatedButton';
2
+ export * from './ChainButton';
3
+ export * from './LoadingSquares';
4
+ export * from './TransactionTable';
5
+ export * from './WaitingMessage';
@@ -0,0 +1,5 @@
1
+ export * from './AnimatedButton';
2
+ export * from './ChainButton';
3
+ export * from './LoadingSquares';
4
+ export * from './TransactionTable';
5
+ export * from './WaitingMessage';
@@ -0,0 +1,37 @@
1
+ import { StateTransition } from './types';
2
+ export declare const ANIMATION_EASE = "cubic-bezier(0.16, 1, 0.3, 1)";
3
+ export declare const TYPING_INTERVAL = 50;
4
+ export declare const ANIMATION_DURATION = 3000;
5
+ export declare const MIN_DEPOSIT = 1;
6
+ export declare const MAX_DEPOSIT = 10000;
7
+ export declare const INITIAL_APPS: {
8
+ name: string;
9
+ color: string;
10
+ progress: number;
11
+ }[];
12
+ /**
13
+ * Available chains for deposit
14
+ */
15
+ export declare const AVAILABLE_CHAINS: {
16
+ id: string;
17
+ name: string;
18
+ logo: string;
19
+ }[];
20
+ export declare const CHAINS: {
21
+ id: string;
22
+ name: string;
23
+ logo: string;
24
+ }[];
25
+ /**
26
+ * State machine transitions
27
+ * Defines all possible transitions between states and their conditions
28
+ */
29
+ export declare const STATE_TRANSITIONS: StateTransition[];
30
+ /**
31
+ * Local storage key for persisting flow state
32
+ */
33
+ export declare const FLOW_STATE_STORAGE_KEY = "n1_wallet_connection_flow_state";
34
+ /**
35
+ * Time in milliseconds after which a persisted state is considered stale
36
+ */
37
+ export declare const STATE_EXPIRY_TIME: number;