@n1xyz/wallet-widget 0.0.30 → 0.0.33-alpha.0

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 (415) hide show
  1. package/README.md +117 -208
  2. package/dist/components/LoadingFallback.js.map +1 -0
  3. package/dist/{WidgetButton → components}/N1ConnectButton.js +3 -3
  4. package/dist/components/N1ConnectButton.js.map +1 -0
  5. package/dist/components/logos/ZeroOneLogo.d.ts +8 -0
  6. package/dist/components/logos/ZeroOneLogo.js +6 -0
  7. package/dist/components/logos/ZeroOneLogo.js.map +1 -0
  8. package/dist/components/logos/index.d.ts +1 -0
  9. package/dist/components/logos/index.js +1 -0
  10. package/dist/components/logos/index.js.map +1 -1
  11. package/dist/config/chains.js +2 -0
  12. package/dist/config/chains.js.map +1 -0
  13. package/dist/config/solana.js +1 -1
  14. package/dist/config/solana.js.map +1 -1
  15. package/dist/{Provider/context.d.ts → context/n1-wallet-context.d.ts} +2 -2
  16. package/dist/{Provider/context.js → context/n1-wallet-context.js} +1 -1
  17. package/dist/context/n1-wallet-context.js.map +1 -0
  18. package/dist/{Modal → features/onboarding-flow}/N1WalletModal.d.ts +1 -1
  19. package/dist/{Modal → features/onboarding-flow}/N1WalletModal.js +18 -15
  20. package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -0
  21. package/dist/features/onboarding-flow/OnboardingFlow.d.ts +9 -0
  22. package/dist/features/onboarding-flow/OnboardingFlow.js +98 -0
  23. package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -0
  24. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ChainButton.d.ts +1 -2
  25. package/dist/features/onboarding-flow/components/ChainButton.js +21 -0
  26. package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -0
  27. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.js +1 -1
  28. package/dist/features/onboarding-flow/components/Header.js.map +1 -0
  29. package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -0
  30. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.js +1 -1
  31. package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -0
  32. package/dist/features/onboarding-flow/components/WaitingMessage.js +17 -0
  33. package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -0
  34. package/dist/features/onboarding-flow/components/index.js.map +1 -0
  35. package/dist/features/onboarding-flow/index.d.ts +1 -0
  36. package/dist/features/onboarding-flow/index.js +2 -0
  37. package/dist/features/onboarding-flow/index.js.map +1 -0
  38. package/dist/{Modal/NordFlow/context/DepositContext.d.ts → features/onboarding-flow/providers/DepositFlowProvider.d.ts} +9 -7
  39. package/dist/{Modal/NordFlow/context/DepositContext.js → features/onboarding-flow/providers/DepositFlowProvider.js} +228 -78
  40. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -0
  41. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.d.ts +48 -0
  42. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +185 -0
  43. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -0
  44. package/dist/features/onboarding-flow/providers/StateProvider.d.ts +10 -0
  45. package/dist/features/onboarding-flow/providers/StateProvider.js +14 -0
  46. package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -0
  47. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.d.ts +21 -0
  48. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +394 -0
  49. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -0
  50. package/dist/features/onboarding-flow/providers/debug.d.ts +6 -0
  51. package/dist/features/onboarding-flow/providers/debug.js +63 -0
  52. package/dist/features/onboarding-flow/providers/debug.js.map +1 -0
  53. package/dist/features/onboarding-flow/providers/index.d.ts +5 -0
  54. package/dist/features/onboarding-flow/providers/index.js +8 -0
  55. package/dist/features/onboarding-flow/providers/index.js.map +1 -0
  56. package/dist/features/onboarding-flow/providers/onboardingStateMachine.d.ts +48 -0
  57. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +83 -0
  58. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -0
  59. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.js +2 -2
  60. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -0
  61. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts +31 -0
  62. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +100 -0
  63. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -0
  64. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.d.ts +2 -0
  65. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.js +123 -61
  66. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -0
  67. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.d.ts +3 -0
  68. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +31 -0
  69. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -0
  70. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.js +31 -26
  71. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -0
  72. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +31 -0
  73. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -0
  74. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +14 -0
  75. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -0
  76. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.d.ts +1 -0
  77. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.js +1 -0
  78. package/dist/features/onboarding-flow/screens/index.js.map +1 -0
  79. package/dist/{Modal/NordFlow → features/onboarding-flow}/types.d.ts +13 -16
  80. package/dist/features/onboarding-flow/types.js +34 -0
  81. package/dist/features/onboarding-flow/types.js.map +1 -0
  82. package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -0
  83. package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -0
  84. package/dist/{utils/dynamicNord.d.ts → features/onboarding-flow/utils/nordUser.d.ts} +0 -1
  85. package/dist/{utils/dynamicNord.js → features/onboarding-flow/utils/nordUser.js} +2 -13
  86. package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -0
  87. package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -0
  88. package/dist/{Logic/sessionManager.d.ts → features/onboarding-flow/utils/session.d.ts} +2 -2
  89. package/dist/{Logic/sessionManager.js → features/onboarding-flow/utils/session.js} +36 -5
  90. package/dist/features/onboarding-flow/utils/session.js.map +1 -0
  91. package/dist/{Logic/transactionManager.js → features/onboarding-flow/utils/transaction.js} +1 -1
  92. package/dist/features/onboarding-flow/utils/transaction.js.map +1 -0
  93. package/dist/{Logic → features/onboarding-flow/utils}/utils.d.ts +1 -1
  94. package/dist/{Logic → features/onboarding-flow/utils}/utils.js +1 -1
  95. package/dist/features/onboarding-flow/utils/utils.js.map +1 -0
  96. package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -0
  97. package/dist/hooks/index.d.ts +2 -0
  98. package/dist/hooks/index.js +3 -0
  99. package/dist/hooks/index.js.map +1 -0
  100. package/dist/hooks/useN1Wallet.d.ts +2 -0
  101. package/dist/{Provider/hooks.js → hooks/useN1Wallet.js} +2 -2
  102. package/dist/hooks/useN1Wallet.js.map +1 -0
  103. package/dist/{Provider/hooks → hooks}/useNordUserInitialization.js +7 -7
  104. package/dist/hooks/useNordUserInitialization.js.map +1 -0
  105. package/dist/index.d.ts +4 -4
  106. package/dist/index.js +4 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/{Provider → providers}/LazyWalletProvider.js +34 -8
  109. package/dist/providers/LazyWalletProvider.js.map +1 -0
  110. package/dist/providers/N1WalletProvider.d.ts +3 -0
  111. package/dist/{Provider → providers}/N1WalletProvider.js +51 -22
  112. package/dist/providers/N1WalletProvider.js.map +1 -0
  113. package/dist/providers/ShadowRootWrapper.js.map +1 -0
  114. package/dist/providers/WalletErrorBoundary.js.map +1 -0
  115. package/dist/styles/embedded-main-css.d.ts +2 -0
  116. package/dist/styles/embedded-main-css.js +3 -0
  117. package/dist/styles/embedded-main-css.js.map +1 -0
  118. package/dist/styles/main.css +2 -0
  119. package/dist/{Provider/types.d.ts → types/wallet.d.ts} +7 -8
  120. package/dist/{Provider/types.js → types/wallet.js} +1 -1
  121. package/dist/types/wallet.js.map +1 -0
  122. package/dist/{Logic → utils}/getPseudoName.js.map +1 -1
  123. package/dist/{Logic → utils}/words.js.map +1 -1
  124. package/package.json +25 -21
  125. package/dist/Logic/sessionManager.js.map +0 -1
  126. package/dist/Logic/transactionManager.js.map +0 -1
  127. package/dist/Logic/utils.js.map +0 -1
  128. package/dist/Modal/LoadingFallback.js.map +0 -1
  129. package/dist/Modal/N1WalletModal.js.map +0 -1
  130. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +0 -2
  131. package/dist/Modal/NTSFlow/LoadingFallback.js +0 -3
  132. package/dist/Modal/NTSFlow/LoadingFallback.js.map +0 -1
  133. package/dist/Modal/NTSFlow/NTSFlow.d.ts +0 -4
  134. package/dist/Modal/NTSFlow/NTSFlow.js +0 -35
  135. package/dist/Modal/NTSFlow/NTSFlow.js.map +0 -1
  136. package/dist/Modal/NTSFlow/components/BackButton.d.ts +0 -3
  137. package/dist/Modal/NTSFlow/components/BackButton.js +0 -26
  138. package/dist/Modal/NTSFlow/components/BackButton.js.map +0 -1
  139. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +0 -1
  140. package/dist/Modal/NTSFlow/components/ModalHeader.js +0 -21
  141. package/dist/Modal/NTSFlow/components/ModalHeader.js.map +0 -1
  142. package/dist/Modal/NTSFlow/index.d.ts +0 -1
  143. package/dist/Modal/NTSFlow/index.js +0 -2
  144. package/dist/Modal/NTSFlow/index.js.map +0 -1
  145. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +0 -1
  146. package/dist/Modal/NTSFlow/views/ConnectView.js +0 -68
  147. package/dist/Modal/NTSFlow/views/ConnectView.js.map +0 -1
  148. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +0 -1
  149. package/dist/Modal/NTSFlow/views/CreateSessionView.js +0 -246
  150. package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +0 -1
  151. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +0 -1
  152. package/dist/Modal/NTSFlow/views/CreateUserView.js +0 -106
  153. package/dist/Modal/NTSFlow/views/CreateUserView.js.map +0 -1
  154. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +0 -1
  155. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +0 -43
  156. package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +0 -1
  157. package/dist/Modal/NTSFlow/views/SigningView.d.ts +0 -1
  158. package/dist/Modal/NTSFlow/views/SigningView.js +0 -6
  159. package/dist/Modal/NTSFlow/views/SigningView.js.map +0 -1
  160. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +0 -1
  161. package/dist/Modal/NTSFlow/views/SuccessView.js +0 -11
  162. package/dist/Modal/NTSFlow/views/SuccessView.js.map +0 -1
  163. package/dist/Modal/NordFlow/NordFlow.d.ts +0 -9
  164. package/dist/Modal/NordFlow/NordFlow.js +0 -84
  165. package/dist/Modal/NordFlow/NordFlow.js.map +0 -1
  166. package/dist/Modal/NordFlow/components/ChainButton.js +0 -25
  167. package/dist/Modal/NordFlow/components/ChainButton.js.map +0 -1
  168. package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +0 -9
  169. package/dist/Modal/NordFlow/components/EVMChainsButton.js +0 -21
  170. package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +0 -1
  171. package/dist/Modal/NordFlow/components/Header.js.map +0 -1
  172. package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +0 -1
  173. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +0 -1
  174. package/dist/Modal/NordFlow/components/LoadingSquares.js +0 -6
  175. package/dist/Modal/NordFlow/components/LoadingSquares.js.map +0 -1
  176. package/dist/Modal/NordFlow/components/MoreButton.d.ts +0 -8
  177. package/dist/Modal/NordFlow/components/MoreButton.js +0 -19
  178. package/dist/Modal/NordFlow/components/MoreButton.js.map +0 -1
  179. package/dist/Modal/NordFlow/components/TransactionTable.js.map +0 -1
  180. package/dist/Modal/NordFlow/components/WaitingMessage.js +0 -18
  181. package/dist/Modal/NordFlow/components/WaitingMessage.js.map +0 -1
  182. package/dist/Modal/NordFlow/components/index.js.map +0 -1
  183. package/dist/Modal/NordFlow/constants.d.ts +0 -37
  184. package/dist/Modal/NordFlow/constants.js +0 -183
  185. package/dist/Modal/NordFlow/constants.js.map +0 -1
  186. package/dist/Modal/NordFlow/context/DepositContext.js.map +0 -1
  187. package/dist/Modal/NordFlow/context/FlowContext.d.ts +0 -24
  188. package/dist/Modal/NordFlow/context/FlowContext.js +0 -218
  189. package/dist/Modal/NordFlow/context/FlowContext.js.map +0 -1
  190. package/dist/Modal/NordFlow/context/NordProvider.d.ts +0 -10
  191. package/dist/Modal/NordFlow/context/NordProvider.js +0 -14
  192. package/dist/Modal/NordFlow/context/NordProvider.js.map +0 -1
  193. package/dist/Modal/NordFlow/context/WalletConnectContext.d.ts +0 -20
  194. package/dist/Modal/NordFlow/context/WalletConnectContext.js +0 -269
  195. package/dist/Modal/NordFlow/context/WalletConnectContext.js.map +0 -1
  196. package/dist/Modal/NordFlow/context/index.d.ts +0 -5
  197. package/dist/Modal/NordFlow/context/index.js +0 -8
  198. package/dist/Modal/NordFlow/context/index.js.map +0 -1
  199. package/dist/Modal/NordFlow/hoc/index.d.ts +0 -1
  200. package/dist/Modal/NordFlow/hoc/index.js +0 -2
  201. package/dist/Modal/NordFlow/hoc/index.js.map +0 -1
  202. package/dist/Modal/NordFlow/hoc/withImageFallback.js.map +0 -1
  203. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.d.ts +0 -18
  204. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js +0 -181
  205. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js.map +0 -1
  206. package/dist/Modal/NordFlow/index.d.ts +0 -1
  207. package/dist/Modal/NordFlow/index.js +0 -2
  208. package/dist/Modal/NordFlow/index.js.map +0 -1
  209. package/dist/Modal/NordFlow/screens/00-IdleScreen.d.ts +0 -6
  210. package/dist/Modal/NordFlow/screens/00-IdleScreen.js +0 -9
  211. package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +0 -1
  212. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +0 -1
  213. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.d.ts +0 -1
  214. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js +0 -115
  215. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js.map +0 -1
  216. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +0 -2
  217. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +0 -45
  218. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +0 -1
  219. package/dist/Modal/NordFlow/screens/03-AmountInputScreen.js.map +0 -1
  220. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +0 -1
  221. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +0 -66
  222. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +0 -1
  223. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +0 -1
  224. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +0 -204
  225. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +0 -1
  226. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.d.ts +0 -1
  227. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js +0 -29
  228. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js.map +0 -1
  229. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +0 -1
  230. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +0 -51
  231. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +0 -1
  232. package/dist/Modal/NordFlow/screens/05-DepositSuccessScreen.js.map +0 -1
  233. package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js +0 -37
  234. package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js.map +0 -1
  235. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +0 -1
  236. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +0 -132
  237. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +0 -1
  238. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +0 -1
  239. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +0 -30
  240. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +0 -1
  241. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.d.ts +0 -5
  242. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js +0 -39
  243. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js.map +0 -1
  244. package/dist/Modal/NordFlow/screens/08-ErrorScreen.js +0 -68
  245. package/dist/Modal/NordFlow/screens/08-ErrorScreen.js.map +0 -1
  246. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +0 -5
  247. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +0 -52
  248. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +0 -1
  249. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +0 -1
  250. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +0 -68
  251. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +0 -1
  252. package/dist/Modal/NordFlow/screens/index.js.map +0 -1
  253. package/dist/Modal/NordFlow/types.js +0 -34
  254. package/dist/Modal/NordFlow/types.js.map +0 -1
  255. package/dist/Modal/NordFlow/utils/depositStorage.js.map +0 -1
  256. package/dist/Modal/NordFlow/utils/imageUtils.js.map +0 -1
  257. package/dist/Modal/NordFlow/utils/index.d.ts +0 -2
  258. package/dist/Modal/NordFlow/utils/index.js +0 -3
  259. package/dist/Modal/NordFlow/utils/index.js.map +0 -1
  260. package/dist/Modal/NordFlow/utils/nordUtils.js.map +0 -1
  261. package/dist/Modal/Sidebar/N1Sidebar.d.ts +0 -1
  262. package/dist/Modal/Sidebar/N1Sidebar.js +0 -203
  263. package/dist/Modal/Sidebar/N1Sidebar.js.map +0 -1
  264. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +0 -12
  265. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +0 -90
  266. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js.map +0 -1
  267. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +0 -6
  268. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +0 -43
  269. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +0 -1
  270. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +0 -11
  271. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +0 -20
  272. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +0 -1
  273. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +0 -1
  274. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +0 -143
  275. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +0 -1
  276. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +0 -248
  277. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +0 -1
  278. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +0 -10
  279. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +0 -62
  280. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +0 -1
  281. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +0 -7
  282. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +0 -30
  283. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +0 -1
  284. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +0 -11
  285. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +0 -22
  286. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +0 -1
  287. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +0 -7
  288. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +0 -20
  289. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +0 -1
  290. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +0 -7
  291. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +0 -24
  292. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +0 -1
  293. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +0 -7
  294. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +0 -80
  295. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +0 -1
  296. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +0 -9
  297. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +0 -110
  298. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +0 -1
  299. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +0 -7
  300. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +0 -30
  301. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +0 -1
  302. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +0 -9
  303. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +0 -40
  304. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +0 -1
  305. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +0 -7
  306. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +0 -10
  307. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +0 -1
  308. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +0 -13
  309. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +0 -264
  310. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +0 -1
  311. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +0 -5
  312. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +0 -113
  313. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +0 -1
  314. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +0 -1
  315. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +0 -183
  316. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +0 -1
  317. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +0 -0
  318. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +0 -278
  319. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +0 -1
  320. package/dist/Provider/LazyWalletProvider.js.map +0 -1
  321. package/dist/Provider/N1WalletProvider.d.ts +0 -3
  322. package/dist/Provider/N1WalletProvider.js.map +0 -1
  323. package/dist/Provider/ShadowRootWrapper.js.map +0 -1
  324. package/dist/Provider/WalletErrorBoundary.js.map +0 -1
  325. package/dist/Provider/context.js.map +0 -1
  326. package/dist/Provider/hooks/useNordUserInitialization.js.map +0 -1
  327. package/dist/Provider/hooks.d.ts +0 -2
  328. package/dist/Provider/hooks.js.map +0 -1
  329. package/dist/Provider/icons/CoinbaseWalletIcon.d.ts +0 -1
  330. package/dist/Provider/icons/CoinbaseWalletIcon.js +0 -5
  331. package/dist/Provider/icons/CoinbaseWalletIcon.js.map +0 -1
  332. package/dist/Provider/icons/ConnectionDotsSVG.d.ts +0 -1
  333. package/dist/Provider/icons/ConnectionDotsSVG.js +0 -5
  334. package/dist/Provider/icons/ConnectionDotsSVG.js.map +0 -1
  335. package/dist/Provider/icons/MetamaskIcon.d.ts +0 -1
  336. package/dist/Provider/icons/MetamaskIcon.js +0 -5
  337. package/dist/Provider/icons/MetamaskIcon.js.map +0 -1
  338. package/dist/Provider/icons/PhantomIcon.d.ts +0 -1
  339. package/dist/Provider/icons/PhantomIcon.js +0 -5
  340. package/dist/Provider/icons/PhantomIcon.js.map +0 -1
  341. package/dist/Provider/icons/UserIcon.d.ts +0 -1
  342. package/dist/Provider/icons/UserIcon.js +0 -5
  343. package/dist/Provider/icons/UserIcon.js.map +0 -1
  344. package/dist/Provider/icons/WalletConnectIcon.d.ts +0 -1
  345. package/dist/Provider/icons/WalletConnectIcon.js +0 -5
  346. package/dist/Provider/icons/WalletConnectIcon.js.map +0 -1
  347. package/dist/Provider/index.d.ts +0 -3
  348. package/dist/Provider/index.js +0 -4
  349. package/dist/Provider/index.js.map +0 -1
  350. package/dist/Provider/types.js.map +0 -1
  351. package/dist/WidgetButton/N1ConnectButton.js.map +0 -1
  352. package/dist/components/QRCodeLoader.d.ts +0 -4
  353. package/dist/components/QRCodeLoader.js +0 -9
  354. package/dist/components/QRCodeLoader.js.map +0 -1
  355. package/dist/components/logos/EVMChainsGroup.d.ts +0 -7
  356. package/dist/components/logos/EVMChainsGroup.js +0 -19
  357. package/dist/components/logos/EVMChainsGroup.js.map +0 -1
  358. package/dist/components/logos/MoreChainsGroup.d.ts +0 -7
  359. package/dist/components/logos/MoreChainsGroup.js +0 -19
  360. package/dist/components/logos/MoreChainsGroup.js.map +0 -1
  361. package/dist/embedded-main-css.d.ts +0 -2
  362. package/dist/embedded-main-css.js +0 -3
  363. package/dist/embedded-main-css.js.map +0 -1
  364. package/dist/main.css +0 -2
  365. package/dist/utils/dynamicImports.js +0 -42
  366. package/dist/utils/dynamicImports.js.map +0 -1
  367. package/dist/utils/dynamicNord.js.map +0 -1
  368. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf +0 -0
  369. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Trial.otf +0 -0
  370. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf +0 -0
  371. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf +0 -0
  372. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Italic-Trial.otf +0 -0
  373. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Trial.otf +0 -0
  374. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf +0 -0
  375. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Trial.otf +0 -0
  376. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf +0 -0
  377. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Trial.otf +0 -0
  378. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf +0 -0
  379. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf +0 -0
  380. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf +0 -0
  381. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Trial.otf +0 -0
  382. /package/dist/{Modal → components}/LoadingFallback.d.ts +0 -0
  383. /package/dist/{Modal → components}/LoadingFallback.js +0 -0
  384. /package/dist/{WidgetButton → components}/N1ConnectButton.d.ts +0 -0
  385. /package/dist/{Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts → config/chains.d.ts} +0 -0
  386. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.d.ts +0 -0
  387. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.d.ts +0 -0
  388. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.js +0 -0
  389. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.d.ts +0 -0
  390. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/WaitingMessage.d.ts +0 -0
  391. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.d.ts +0 -0
  392. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.js +0 -0
  393. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.d.ts +0 -0
  394. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.d.ts +0 -0
  395. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/06-AuthLoadingScreen.d.ts +0 -0
  396. /package/dist/{Modal/NordFlow/screens/08-ErrorScreen.d.ts → features/onboarding-flow/screens/07-ErrorScreen.d.ts} +0 -0
  397. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.d.ts +0 -0
  398. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.js +0 -0
  399. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.d.ts +0 -0
  400. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.js +0 -0
  401. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.d.ts +0 -0
  402. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.js +0 -0
  403. /package/dist/{Logic/transactionManager.d.ts → features/onboarding-flow/utils/transaction.d.ts} +0 -0
  404. /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.d.ts +0 -0
  405. /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.js +0 -0
  406. /package/dist/{Provider/hooks → hooks}/useNordUserInitialization.d.ts +0 -0
  407. /package/dist/{Provider → providers}/LazyWalletProvider.d.ts +0 -0
  408. /package/dist/{Provider → providers}/ShadowRootWrapper.d.ts +0 -0
  409. /package/dist/{Provider → providers}/ShadowRootWrapper.js +0 -0
  410. /package/dist/{Provider → providers}/WalletErrorBoundary.d.ts +0 -0
  411. /package/dist/{Provider → providers}/WalletErrorBoundary.js +0 -0
  412. /package/dist/{Logic → utils}/getPseudoName.d.ts +0 -0
  413. /package/dist/{Logic → utils}/getPseudoName.js +0 -0
  414. /package/dist/{Logic → utils}/words.d.ts +0 -0
  415. /package/dist/{Logic → utils}/words.js +0 -0
@@ -54,40 +54,31 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
54
  }
55
55
  return to.concat(ar || Array.prototype.slice.call(from));
56
56
  };
57
- var _a;
58
57
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
59
58
  import { Connection, LAMPORTS_PER_SOL, PublicKey } from "@solana/web3.js";
60
59
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
61
60
  import { SolanaLogo } from "../../../components/logos";
62
- import { getSolanaRpcUrl, SolanaNetwork } from "../../../config/solana";
63
- import { useN1WalletContext } from "../../../Provider/hooks";
61
+ import { useN1WalletContext } from "../../../hooks";
64
62
  import { logger } from "../../../utils/logger";
65
- import { useDepositContext } from "../context/DepositContext";
66
- import { useFlowStateContext } from "../context/FlowContext";
63
+ import { useDepositFlow, useOnboardingState } from "../providers";
67
64
  import { formatAmount, isNordConfigured } from "../utils/nordUtils";
68
- var USDC_MINT_BY_NETWORK = (_a = {},
69
- _a[SolanaNetwork.MAINNET] = "EPjFWdd5AufqSSqeM2qN1xzybapC8hEki3H6KNozN8n",
70
- _a[SolanaNetwork.TESTNET] = "Gh9ZwEmdLJ8DscKDTvQYTNUCq6sDgtdHcW52quXFMcGQ",
71
- _a[SolanaNetwork.DEVNET] = "Gh9ZwEmdLJ8DscKDTvQYTNUCq6sDgtdHcW52quXFMcGQ",
72
- _a);
73
- var GAS_FEE_LAMPORTS = 5000; // ~0.000005 SOL
74
- var BALANCE_REFRESH_MS = 20000;
75
- var DEFAULT_AMOUNT = "100";
76
- var DEFAULT_MIN_DEPOSIT = 5;
77
- var INITIAL_BALANCE_STATE = {
78
- usdc: null,
79
- sol: null,
80
- loading: false,
81
- error: null,
82
- };
65
+ import { getSolanaRpcUrl } from "../../../config/solana";
66
+ export var DEFAULT_MIN_DEPOSIT = 5;
67
+ export var BALANCE_REFRESH_MS = 20000;
83
68
  export function AmountInputScreen(_a) {
84
69
  var _this = this;
85
- var context = useFlowStateContext().context;
86
- var _b = useDepositContext(), amount = _b.amount, updateAmount = _b.updateAmount, startDeposit = _b.startDeposit;
70
+ var context = useOnboardingState().context;
71
+ var _b = useDepositFlow(), amount = _b.amount, updateAmount = _b.updateAmount, startDeposit = _b.startDeposit;
87
72
  var _c = useN1WalletContext(), nord = _c.nord, address = _c.address;
88
- var _d = useState("USDC"), tokenSymbol = _d[0], setTokenSymbol = _d[1];
89
- var _e = useState(6), tokenDecimals = _e[0], setTokenDecimals = _e[1];
90
- var _f = useState(INITIAL_BALANCE_STATE), walletBalances = _f[0], setWalletBalances = _f[1];
73
+ var _d = useState(null), tokenSymbol = _d[0], setTokenSymbol = _d[1];
74
+ var _e = useState(null), tokenDecimals = _e[0], setTokenDecimals = _e[1];
75
+ var _f = useState(null), nordTokens = _f[0], setNordTokens = _f[1];
76
+ var _g = useState({
77
+ usdc: null,
78
+ sol: null,
79
+ loading: false,
80
+ error: null,
81
+ }), walletBalances = _g[0], setWalletBalances = _g[1];
91
82
  var isMountedRef = useRef(true);
92
83
  useEffect(function () {
93
84
  return function () {
@@ -96,44 +87,96 @@ export function AmountInputScreen(_a) {
96
87
  }, []);
97
88
  useEffect(function () {
98
89
  if (!amount) {
99
- updateAmount(DEFAULT_AMOUNT);
90
+ updateAmount("100");
100
91
  }
101
92
  }, [amount, updateAmount]);
102
93
  var selectedChainName = context.selectedChain || "Solana";
103
- var selectedNetwork = useMemo(function () {
104
- var configuredNetwork = context.selectedChainNetwork;
105
- if (configuredNetwork &&
106
- Object.values(SolanaNetwork).includes(configuredNetwork)) {
107
- return configuredNetwork;
108
- }
109
- return SolanaNetwork.MAINNET;
110
- }, [context.selectedChainNetwork]);
111
- var fallbackMintForNetwork = useMemo(function () {
112
- var _a;
113
- return (_a = USDC_MINT_BY_NETWORK[selectedNetwork]) !== null && _a !== void 0 ? _a : USDC_MINT_BY_NETWORK[SolanaNetwork.MAINNET];
114
- }, [selectedNetwork]);
115
- var _g = useState(fallbackMintForNetwork), tokenMintAddress = _g[0], setTokenMintAddress = _g[1];
94
+ var _h = useState(null), tokenMintAddress = _h[0], setTokenMintAddress = _h[1];
116
95
  useEffect(function () {
117
- setTokenMintAddress(fallbackMintForNetwork);
118
- }, [fallbackMintForNetwork]);
96
+ var isCancelled = false;
97
+ var loadNordTokens = function () { return __awaiter(_this, void 0, void 0, function () {
98
+ var error_1;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0:
102
+ if (!nord || !isNordConfigured(nord)) {
103
+ if (!isCancelled) {
104
+ setNordTokens(null);
105
+ }
106
+ return [2 /*return*/];
107
+ }
108
+ if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {
109
+ if (!isCancelled) {
110
+ setNordTokens(nord.tokens);
111
+ }
112
+ return [2 /*return*/];
113
+ }
114
+ if (typeof nord.fetchNordInfo !== "function") {
115
+ return [2 /*return*/];
116
+ }
117
+ _a.label = 1;
118
+ case 1:
119
+ _a.trys.push([1, 3, , 4]);
120
+ return [4 /*yield*/, nord.fetchNordInfo()];
121
+ case 2:
122
+ _a.sent();
123
+ if (isCancelled) {
124
+ return [2 /*return*/];
125
+ }
126
+ if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {
127
+ setNordTokens(nord.tokens);
128
+ }
129
+ return [3 /*break*/, 4];
130
+ case 3:
131
+ error_1 = _a.sent();
132
+ if (!isCancelled) {
133
+ logger.warn("Unable to fetch Nord info:", error_1);
134
+ setNordTokens(null);
135
+ }
136
+ return [3 /*break*/, 4];
137
+ case 4: return [2 /*return*/];
138
+ }
139
+ });
140
+ }); };
141
+ loadNordTokens();
142
+ return function () {
143
+ isCancelled = true;
144
+ };
145
+ }, [nord]);
119
146
  useEffect(function () {
120
147
  if (nord && isNordConfigured(nord)) {
121
148
  try {
122
- var usdcToken_1 = nord.tokens.find(function (t) { return t.symbol === "USDC"; }) || nord.tokens[0];
123
- if (usdcToken_1) {
124
- setTokenSymbol(usdcToken_1.symbol);
125
- setTokenDecimals(usdcToken_1.decimals);
126
- setTokenMintAddress(function (prev) { var _a; return (_a = usdcToken_1.mintAddr) !== null && _a !== void 0 ? _a : prev; });
149
+ if (!nordTokens || nordTokens.length === 0) {
150
+ return;
151
+ }
152
+ console.log("nordTokens", nordTokens);
153
+ var usdcToken = nordTokens.find(function (t) { return t.symbol === "USDC"; }) || nordTokens[0];
154
+ if (usdcToken) {
155
+ if (!usdcToken.symbol) {
156
+ throw new Error("Nord token configuration missing symbol");
157
+ }
158
+ if (!Number.isFinite(usdcToken.decimals)) {
159
+ throw new Error("Nord token configuration missing decimals");
160
+ }
161
+ if (!usdcToken.mintAddr) {
162
+ throw new Error("Nord token configuration missing mint address");
163
+ }
164
+ setTokenSymbol(usdcToken.symbol);
165
+ setTokenDecimals(usdcToken.decimals);
166
+ setTokenMintAddress(usdcToken.mintAddr);
127
167
  }
128
168
  }
129
169
  catch (error) {
130
170
  logger.warn("Error getting token information from Nord:", error);
131
171
  }
132
172
  }
133
- }, [nord]);
173
+ }, [nord, nordTokens]);
134
174
  var minDeposit = useMemo(function () {
135
175
  var _a, _b;
136
- if (!nord || !isNordConfigured(nord) || !tokenMintAddress) {
176
+ if (!nord ||
177
+ !isNordConfigured(nord) ||
178
+ !tokenMintAddress ||
179
+ tokenDecimals == null) {
137
180
  return DEFAULT_MIN_DEPOSIT;
138
181
  }
139
182
  try {
@@ -158,14 +201,19 @@ export function AmountInputScreen(_a) {
158
201
  args_1[_i] = arguments[_i];
159
202
  }
160
203
  return __awaiter(_this, __spreadArray([], args_1, true), void 0, function (showSpinner) {
161
- var rpcEndpoint, connection, ownerKey, _a, solLamports, tokenAccounts, usdcTotal, error_1;
204
+ var rpcEndpoint, connection, ownerKey, _a, solLamports, tokenAccounts, usdcTotal, error_2;
162
205
  if (showSpinner === void 0) { showSpinner = true; }
163
206
  return __generator(this, function (_b) {
164
207
  switch (_b.label) {
165
208
  case 0:
166
- if (!address) {
209
+ if (!address || !tokenMintAddress) {
167
210
  if (isMountedRef.current) {
168
- setWalletBalances(INITIAL_BALANCE_STATE);
211
+ setWalletBalances({
212
+ usdc: null,
213
+ sol: null,
214
+ loading: false,
215
+ error: null,
216
+ });
169
217
  }
170
218
  return [2 /*return*/];
171
219
  }
@@ -210,8 +258,8 @@ export function AmountInputScreen(_a) {
210
258
  });
211
259
  return [3 /*break*/, 4];
212
260
  case 3:
213
- error_1 = _b.sent();
214
- logger.warn("Failed to load wallet balances", error_1);
261
+ error_2 = _b.sent();
262
+ logger.warn("Failed to load wallet balances", error_2);
215
263
  if (!isMountedRef.current) {
216
264
  return [2 /*return*/];
217
265
  }
@@ -223,17 +271,21 @@ export function AmountInputScreen(_a) {
223
271
  });
224
272
  }, [address, tokenMintAddress]);
225
273
  useEffect(function () {
274
+ if (!tokenMintAddress) {
275
+ return;
276
+ }
226
277
  fetchBalances();
227
278
  var interval = setInterval(function () {
228
279
  fetchBalances(false);
229
280
  }, BALANCE_REFRESH_MS);
230
281
  return function () { return clearInterval(interval); };
231
- }, [fetchBalances]);
282
+ }, [fetchBalances, tokenMintAddress]);
232
283
  var isSolana = selectedChainName.toLowerCase().includes("solana");
233
- var gasFeeInSol = GAS_FEE_LAMPORTS / LAMPORTS_PER_SOL;
234
- var gasFeeUSD = "~$0.0012";
284
+ var requiredSolForFees = 0.002; // ensure wallet has at least 0.002 SOL for fees
285
+ var gasFeeDisplay = "~$0.30";
235
286
  var minDepositDisplay = minDeposit.toString();
236
- var formattedBalance = walletBalances.usdc == null
287
+ var tokenSymbolDisplay = tokenSymbol !== null && tokenSymbol !== void 0 ? tokenSymbol : "—";
288
+ var formattedBalance = walletBalances.usdc == null || tokenDecimals == null
237
289
  ? walletBalances.loading
238
290
  ? "Loading..."
239
291
  : "—"
@@ -247,7 +299,9 @@ export function AmountInputScreen(_a) {
247
299
  var hasEnteredAmount = Number.isFinite(numericAmount) && numericAmount > 0;
248
300
  var meetsMinDeposit = numericAmount >= minDeposit;
249
301
  var hasSufficientUsdc = walletBalances.usdc == null ? false : numericAmount <= walletBalances.usdc;
250
- var hasSufficientSol = walletBalances.sol == null ? false : walletBalances.sol >= gasFeeInSol;
302
+ var hasSufficientSol = walletBalances.sol == null
303
+ ? false
304
+ : walletBalances.sol >= requiredSolForFees;
251
305
  var validationError = useMemo(function () {
252
306
  if (!address) {
253
307
  return "Connect a wallet to continue.";
@@ -255,10 +309,15 @@ export function AmountInputScreen(_a) {
255
309
  if (walletBalances.error) {
256
310
  return walletBalances.error;
257
311
  }
312
+ if (!tokenSymbol || tokenDecimals == null) {
313
+ return "Token information unavailable. Please try again later.";
314
+ }
258
315
  if (!hasEnteredAmount) {
259
316
  return "Enter an amount to continue.";
260
317
  }
261
- if (walletBalances.loading || walletBalances.usdc == null || walletBalances.sol == null) {
318
+ if (walletBalances.loading ||
319
+ walletBalances.usdc == null ||
320
+ walletBalances.sol == null) {
262
321
  return null;
263
322
  }
264
323
  if (!meetsMinDeposit) {
@@ -282,16 +341,19 @@ export function AmountInputScreen(_a) {
282
341
  hasSufficientUsdc,
283
342
  meetsMinDeposit,
284
343
  tokenSymbol,
344
+ tokenDecimals,
285
345
  minDeposit,
286
346
  ]);
287
347
  var isValidAmount = !walletBalances.loading && validationError === null;
288
348
  var handleUseMax = function () {
289
- if (walletBalances.usdc == null || walletBalances.usdc <= 0) {
349
+ if (walletBalances.usdc == null ||
350
+ walletBalances.usdc <= 0 ||
351
+ tokenDecimals == null) {
290
352
  return;
291
353
  }
292
354
  updateAmount(walletBalances.usdc.toFixed(tokenDecimals));
293
355
  };
294
- return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("h2", { className: "text-sm text-white font-medium", children: "Deposit From" }), _jsxs("div", { className: "flex items-center space-x-2 rounded-md bg-n1-ww-border h-5 justify-center p-1", children: [isSolana ? (_jsx("div", { className: "rounded-full flex items-center justify-center bg-black h-3 w-3", children: _jsx(SolanaLogo, { width: 6, height: 6 }) })) : (_jsx("div", { className: "w-4 h-4 rounded-full bg-n1-ww-gray-600" })), _jsx("span", { className: "text-white text-xs font-medium", children: selectedChainName })] })] }), _jsxs("div", { className: "space-y-3 mb-4 text-white text-xs font-light", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Available Balance:" }), _jsxs("span", { children: [formattedBalance, " ", tokenSymbol] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "SOL Balance:" }), _jsxs("span", { children: [formattedSolBalance, " SOL"] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Minimum Deposit:" }), _jsxs("span", { children: [minDepositDisplay, " ", tokenSymbol] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Gas Fee:" }), _jsxs("span", { children: [gasFeeInSol.toFixed(6), " SOL (", gasFeeUSD, ")"] })] })] }), _jsx("div", { className: "h-px bg-n1-ww-border mb-4" }), _jsxs("div", { className: "mb-4 flex justify-between w-full", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsxs("div", { className: "flex items-center justify-between border border-n1-ww-gray-400 bg-n1-ww-gray-600 flex-1 w-[292px] rounded h-8 px-2", children: [_jsx("span", { className: "text-white text-sm font-medium", children: "Amount" }), _jsxs("div", { className: "flex items-center space-x-2", children: [_jsx("input", { type: "number", step: "0.000001", value: amount, onChange: function (e) { return updateAmount(e.target.value); }, className: "text-white font-light text-xs text-right bg-transparent border-none outline-none focus:ring-2 focus:ring-n1-ww-main focus:ring-offset-0 rounded px-1" }), _jsx("button", { className: "border border-n1-ww-gray-400 h-5 text-white text-xs font-light flex items-center justify-center px-1 rounded transition-colors", children: tokenSymbol })] })] }) }), _jsx("button", { className: "border border-n1-ww-gray-400 bg-n1-ww-gray-600 rounded text-white text-sm font-medium px-2 h-8 hover:bg-n1-ww-gray-800 transition-colors w-[68px]", onClick: handleUseMax, type: "button", children: "Max" })] }), validationError && (_jsx("p", { className: "mb-2 text-xs text-red-400", children: validationError })), _jsx("button", { onClick: startDeposit, disabled: !isValidAmount, className: "\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ".concat(isValidAmount
356
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("h2", { className: "text-sm text-white font-medium", children: "Deposit From" }), _jsxs("div", { className: "flex items-center space-x-2 rounded-md bg-n1-ww-border h-5 justify-center p-1", children: [isSolana ? (_jsx("div", { className: "rounded-full flex items-center justify-center bg-black h-3 w-3", children: _jsx(SolanaLogo, { width: 6, height: 6 }) })) : (_jsx("div", { className: "w-4 h-4 rounded-full bg-n1-ww-gray-600" })), _jsx("span", { className: "text-white text-xs font-medium", children: selectedChainName })] })] }), _jsxs("div", { className: "space-y-3 mb-4 text-white text-xs font-light", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Available Balance:" }), _jsxs("span", { children: [formattedBalance, " ", tokenSymbolDisplay] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "SOL Balance:" }), _jsxs("span", { children: [formattedSolBalance, " SOL"] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Minimum Deposit:" }), _jsxs("span", { children: [minDepositDisplay, " ", tokenSymbolDisplay] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Gas Fee:" }), _jsx("span", { children: gasFeeDisplay })] })] }), _jsx("div", { className: "h-px bg-n1-ww-border mb-4" }), _jsxs("div", { className: "mb-4 flex justify-between w-full", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsxs("div", { className: "flex items-center justify-between border border-n1-ww-gray-400 bg-n1-ww-gray-600 flex-1 w-[292px] rounded h-8 px-2", children: [_jsx("span", { className: "text-white text-sm font-medium", children: "Amount" }), _jsxs("div", { className: "flex items-center space-x-2", children: [_jsx("input", { type: "number", step: "0.000001", value: amount, onChange: function (e) { return updateAmount(e.target.value); }, className: "text-white font-light text-xs text-right bg-transparent border-none outline-none focus:ring-2 focus:ring-n1-ww-main focus:ring-offset-0 rounded px-1" }), _jsx("button", { className: "border border-n1-ww-gray-400 h-5 text-white text-xs font-light flex items-center justify-center px-1 rounded transition-colors", children: tokenSymbolDisplay })] })] }) }), _jsx("button", { className: "border border-n1-ww-gray-400 bg-n1-ww-gray-600 rounded text-white text-sm font-medium px-2 h-8 hover:bg-n1-ww-gray-800 transition-colors w-[68px]", onClick: handleUseMax, type: "button", children: "Max" })] }), validationError && (_jsx("p", { className: "mb-2 text-xs text-red-400", children: validationError })), _jsx("button", { onClick: startDeposit, disabled: !isValidAmount, className: "\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ".concat(isValidAmount
295
357
  ? "border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer"
296
358
  : "border-n1-ww-border opacity-50 cursor-not-allowed", "\n "), children: _jsx("span", { className: "\n font-medium text-sm opacity-90\n ".concat(isValidAmount ? "text-n1-ww-main" : "text-n1-ww-gray-600", "\n "), children: "Deposit" }) })] }));
297
359
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"03-AmountInputScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/03-AmountInputScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Connection, LAMPORTS_PER_SOL, PublicKey } from \"@solana/web3.js\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { SolanaLogo } from \"../../../components/logos\";\nimport { useN1WalletContext } from \"../../../hooks\";\nimport { logger } from \"../../../utils/logger\";\nimport { useDepositFlow, useOnboardingState } from \"../providers\";\nimport { WalletBalanceState } from \"../types\";\nimport { formatAmount, isNordConfigured } from \"../utils/nordUtils\";\nimport { getSolanaRpcUrl } from \"../../../config/solana\";\n\nexport const DEFAULT_MIN_DEPOSIT = 5;\n\nexport const BALANCE_REFRESH_MS = 20_000;\n\ninterface AmountInputScreenProps {}\n\nexport function AmountInputScreen({}: AmountInputScreenProps) {\n const { context } = useOnboardingState();\n const { amount, updateAmount, startDeposit } = useDepositFlow();\n const { nord, address } = useN1WalletContext();\n\n const [tokenSymbol, setTokenSymbol] = useState<string | null>(null);\n const [tokenDecimals, setTokenDecimals] = useState<number | null>(null);\n const [nordTokens, setNordTokens] = useState<any[] | null>(null);\n const [walletBalances, setWalletBalances] = useState<WalletBalanceState>({\n usdc: null,\n sol: null,\n loading: false,\n error: null,\n });\n const isMountedRef = useRef(true);\n\n useEffect(() => {\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n useEffect(() => {\n if (!amount) {\n updateAmount(\"100\");\n }\n }, [amount, updateAmount]);\n\n const selectedChainName = context.selectedChain || \"Solana\";\n const [tokenMintAddress, setTokenMintAddress] = useState<string | null>(null);\n\n useEffect(() => {\n let isCancelled = false;\n\n const loadNordTokens = async () => {\n if (!nord || !isNordConfigured(nord)) {\n if (!isCancelled) {\n setNordTokens(null);\n }\n return;\n }\n\n if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {\n if (!isCancelled) {\n setNordTokens(nord.tokens);\n }\n return;\n }\n\n if (typeof nord.fetchNordInfo !== \"function\") {\n return;\n }\n\n try {\n await nord.fetchNordInfo();\n if (isCancelled) {\n return;\n }\n if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {\n setNordTokens(nord.tokens);\n }\n } catch (error) {\n if (!isCancelled) {\n logger.warn(\"Unable to fetch Nord info:\", error);\n setNordTokens(null);\n }\n }\n };\n\n loadNordTokens();\n\n return () => {\n isCancelled = true;\n };\n }, [nord]);\n\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n if (!nordTokens || nordTokens.length === 0) {\n return;\n }\n console.log(\"nordTokens\", nordTokens);\n const usdcToken =\n nordTokens.find((t: any) => t.symbol === \"USDC\") || nordTokens[0];\n if (usdcToken) {\n if (!usdcToken.symbol) {\n throw new Error(\"Nord token configuration missing symbol\");\n }\n if (!Number.isFinite(usdcToken.decimals)) {\n throw new Error(\"Nord token configuration missing decimals\");\n }\n if (!usdcToken.mintAddr) {\n throw new Error(\"Nord token configuration missing mint address\");\n }\n setTokenSymbol(usdcToken.symbol);\n setTokenDecimals(usdcToken.decimals);\n setTokenMintAddress(usdcToken.mintAddr);\n }\n } catch (error) {\n logger.warn(\"Error getting token information from Nord:\", error);\n }\n }\n }, [nord, nordTokens]);\n\n const minDeposit = useMemo(() => {\n if (\n !nord ||\n !isNordConfigured(nord) ||\n !tokenMintAddress ||\n tokenDecimals == null\n ) {\n return DEFAULT_MIN_DEPOSIT;\n }\n try {\n // @ts-ignore\n const mintInfo = nord.protonClient?.mintInfo?.get(tokenMintAddress);\n if (mintInfo?.minDeposit) {\n const minDepositUnits = Number(mintInfo.minDeposit);\n const divisor = 10 ** tokenDecimals;\n if (Number.isFinite(minDepositUnits) && divisor > 0) {\n return minDepositUnits / divisor;\n }\n }\n } catch (error) {\n logger.warn(\"Unable to derive min deposit from Nord config\", error);\n }\n return DEFAULT_MIN_DEPOSIT;\n }, [nord, tokenMintAddress, tokenDecimals]);\n\n const fetchBalances = useCallback(\n async (showSpinner: boolean = true) => {\n if (!address || !tokenMintAddress) {\n if (isMountedRef.current) {\n setWalletBalances({\n usdc: null,\n sol: null,\n loading: false,\n error: null,\n });\n }\n return;\n }\n\n if (showSpinner) {\n setWalletBalances((prev) => ({\n ...prev,\n loading: true,\n error: null,\n }));\n }\n\n try {\n const rpcEndpoint = getSolanaRpcUrl();\n const connection = new Connection(rpcEndpoint, \"confirmed\");\n const ownerKey = new PublicKey(address);\n\n const [solLamports, tokenAccounts] = await Promise.all([\n connection.getBalance(ownerKey),\n connection.getParsedTokenAccountsByOwner(ownerKey, {\n mint: new PublicKey(tokenMintAddress),\n }),\n ]);\n\n const usdcTotal = tokenAccounts.value.reduce((total, { account }) => {\n const info = account.data.parsed?.info;\n const tokenAmount = info?.tokenAmount;\n if (!tokenAmount) {\n return total;\n }\n const uiAmount =\n typeof tokenAmount.uiAmount === \"number\"\n ? tokenAmount.uiAmount\n : parseFloat(tokenAmount.uiAmountString ?? \"0\");\n return total + (Number.isFinite(uiAmount) ? uiAmount : 0);\n }, 0);\n\n if (!isMountedRef.current) {\n return;\n }\n\n setWalletBalances({\n usdc: usdcTotal,\n sol: solLamports / LAMPORTS_PER_SOL,\n loading: false,\n error: null,\n });\n } catch (error) {\n logger.warn(\"Failed to load wallet balances\", error);\n if (!isMountedRef.current) {\n return;\n }\n setWalletBalances((prev) => ({\n ...prev,\n loading: false,\n error: \"Unable to fetch wallet balances. Please try again.\",\n }));\n }\n },\n [address, tokenMintAddress]\n );\n\n useEffect(() => {\n if (!tokenMintAddress) {\n return;\n }\n fetchBalances();\n const interval = setInterval(() => {\n fetchBalances(false);\n }, BALANCE_REFRESH_MS);\n\n return () => clearInterval(interval);\n }, [fetchBalances, tokenMintAddress]);\n\n const isSolana = selectedChainName.toLowerCase().includes(\"solana\");\n const requiredSolForFees = 0.002; // ensure wallet has at least 0.002 SOL for fees\n const gasFeeDisplay = \"~$0.30\";\n const minDepositDisplay = minDeposit.toString();\n const tokenSymbolDisplay = tokenSymbol ?? \"—\";\n\n const formattedBalance =\n walletBalances.usdc == null || tokenDecimals == null\n ? walletBalances.loading\n ? \"Loading...\"\n : \"—\"\n : formatAmount(walletBalances.usdc, tokenDecimals);\n\n const formattedSolBalance =\n walletBalances.sol == null\n ? walletBalances.loading\n ? \"Loading...\"\n : \"—\"\n : walletBalances.sol.toFixed(4);\n\n const numericAmount = Number(amount || 0);\n const hasEnteredAmount = Number.isFinite(numericAmount) && numericAmount > 0;\n const meetsMinDeposit = numericAmount >= minDeposit;\n const hasSufficientUsdc =\n walletBalances.usdc == null ? false : numericAmount <= walletBalances.usdc;\n const hasSufficientSol =\n walletBalances.sol == null\n ? false\n : walletBalances.sol >= requiredSolForFees;\n\n const validationError = useMemo(() => {\n if (!address) {\n return \"Connect a wallet to continue.\";\n }\n\n if (walletBalances.error) {\n return walletBalances.error;\n }\n\n if (!tokenSymbol || tokenDecimals == null) {\n return \"Token information unavailable. Please try again later.\";\n }\n\n if (!hasEnteredAmount) {\n return \"Enter an amount to continue.\";\n }\n\n if (\n walletBalances.loading ||\n walletBalances.usdc == null ||\n walletBalances.sol == null\n ) {\n return null;\n }\n\n if (!meetsMinDeposit) {\n return `Minimum deposit is ${minDeposit} ${tokenSymbol}.`;\n }\n\n if (!hasSufficientUsdc) {\n return `Insufficient ${tokenSymbol} balance for this deposit.`;\n }\n\n if (!hasSufficientSol) {\n return \"Not enough SOL to cover network fees.\";\n }\n\n return null;\n }, [\n address,\n walletBalances.error,\n walletBalances.loading,\n walletBalances.usdc,\n walletBalances.sol,\n hasEnteredAmount,\n hasSufficientSol,\n hasSufficientUsdc,\n meetsMinDeposit,\n tokenSymbol,\n tokenDecimals,\n minDeposit,\n ]);\n\n const isValidAmount = !walletBalances.loading && validationError === null;\n\n const handleUseMax = () => {\n if (\n walletBalances.usdc == null ||\n walletBalances.usdc <= 0 ||\n tokenDecimals == null\n ) {\n return;\n }\n updateAmount(walletBalances.usdc.toFixed(tokenDecimals));\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n {/* Header Section */}\n <div className=\"flex items-center justify-between mb-4\">\n <h2 className=\"text-sm text-white font-medium\">Deposit From</h2>\n <div className=\"flex items-center space-x-2 rounded-md bg-n1-ww-border h-5 justify-center p-1\">\n {isSolana ? (\n <div className=\"rounded-full flex items-center justify-center bg-black h-3 w-3\">\n <SolanaLogo width={6} height={6} />\n </div>\n ) : (\n <div className=\"w-4 h-4 rounded-full bg-n1-ww-gray-600\"></div>\n )}\n <span className=\"text-white text-xs font-medium\">\n {selectedChainName}\n </span>\n </div>\n </div>\n\n {/* Deposit Information Section */}\n <div className=\"space-y-3 mb-4 text-white text-xs font-light\">\n <div className=\"flex items-center justify-between\">\n <span>Available Balance:</span>\n <span>\n {formattedBalance} {tokenSymbolDisplay}\n </span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>SOL Balance:</span>\n <span>{formattedSolBalance} SOL</span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>Minimum Deposit:</span>\n <span>\n {minDepositDisplay} {tokenSymbolDisplay}\n </span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>Gas Fee:</span>\n <span>{gasFeeDisplay}</span>\n </div>\n </div>\n\n <div className=\"h-px bg-n1-ww-border mb-4\"></div>\n\n {/* Amount Input Section */}\n <div className=\"mb-4 flex justify-between w-full\">\n <div className=\"flex items-center gap-3\">\n <div className=\"flex items-center justify-between border border-n1-ww-gray-400 bg-n1-ww-gray-600 flex-1 w-[292px] rounded h-8 px-2\">\n <span className=\"text-white text-sm font-medium\">Amount</span>\n <div className=\"flex items-center space-x-2\">\n <input\n type=\"number\"\n step=\"0.000001\"\n value={amount}\n onChange={(e) => updateAmount(e.target.value)}\n className=\"text-white font-light text-xs text-right bg-transparent border-none outline-none focus:ring-2 focus:ring-n1-ww-main focus:ring-offset-0 rounded px-1\"\n />\n <button className=\"border border-n1-ww-gray-400 h-5 text-white text-xs font-light flex items-center justify-center px-1 rounded transition-colors\">\n {tokenSymbolDisplay}\n </button>\n </div>\n </div>\n </div>\n <button\n className=\"border border-n1-ww-gray-400 bg-n1-ww-gray-600 rounded text-white text-sm font-medium px-2 h-8 hover:bg-n1-ww-gray-800 transition-colors w-[68px]\"\n onClick={handleUseMax}\n type=\"button\"\n >\n Max\n </button>\n </div>\n\n {validationError && (\n <p className=\"mb-2 text-xs text-red-400\">{validationError}</p>\n )}\n\n {/* Deposit Button */}\n <button\n onClick={startDeposit}\n disabled={!isValidAmount}\n className={`\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ${\n isValidAmount\n ? \"border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer\"\n : \"border-n1-ww-border opacity-50 cursor-not-allowed\"\n }\n `}\n >\n <span\n className={`\n font-medium text-sm opacity-90\n ${isValidAmount ? \"text-n1-ww-main\" : \"text-n1-ww-gray-600\"}\n `}\n >\n Deposit\n </span>\n </button>\n </div>\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { WaitingMessageState } from "../types";
2
+ export declare const DEPOSIT_PROGRESS_MESSAGE: WaitingMessageState;
3
+ export declare function DepositProgressScreen(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,31 @@
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 } from "react/jsx-runtime";
13
+ import { WaitingMessage } from "../components/WaitingMessage";
14
+ import { useDepositFlow } from "../providers";
15
+ export var DEPOSIT_PROGRESS_MESSAGE = {
16
+ visible: true,
17
+ title: "Processing Deposit",
18
+ subtitle: "Please wait while we process your deposit",
19
+ isTyping: false,
20
+ };
21
+ var SUBTITLES = {
22
+ solana: 'Please sign the transaction in your wallet to continue',
23
+ nord: 'Waiting for N1 to process the deposit...',
24
+ };
25
+ export function DepositProgressScreen() {
26
+ var _a;
27
+ var depositProgressPhase = useDepositFlow().depositProgressPhase;
28
+ var message = __assign(__assign({}, DEPOSIT_PROGRESS_MESSAGE), { subtitle: (_a = SUBTITLES[depositProgressPhase]) !== null && _a !== void 0 ? _a : SUBTITLES.solana });
29
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsx(WaitingMessage, { message: message, animation: "transfer" }) }));
30
+ }
31
+ //# sourceMappingURL=04-DepositProgressScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"04-DepositProgressScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/04-DepositProgressScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,CAAC,IAAM,wBAAwB,GAAwB;IAC3D,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,IAAM,SAAS,GAAsC;IACnD,MAAM,EAAE,wDAAwD;IAChE,IAAI,EAAE,0CAA0C;CACjD,CAAC;AAEF,MAAM,UAAU,qBAAqB;;IAC3B,IAAA,oBAAoB,GAAK,cAAc,EAAE,qBAArB,CAAsB;IAClD,IAAM,OAAO,yBACR,wBAAwB,KAC3B,QAAQ,EAAE,MAAA,SAAS,CAAC,oBAAoB,CAAC,mCAAI,SAAS,CAAC,MAAM,GAC9D,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAC,0BAA0B,YACvC,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,UAAU,GAAG,GACrD,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { WaitingMessage } from \"../components/WaitingMessage\";\nimport { useDepositFlow } from \"../providers\";\nimport { WaitingMessageState } from \"../types\";\n\n\nexport const DEPOSIT_PROGRESS_MESSAGE: WaitingMessageState = {\n visible: true,\n title: \"Processing Deposit\",\n subtitle: \"Please wait while we process your deposit\",\n isTyping: false,\n};\n\nconst SUBTITLES: Record<'solana' | 'nord', string> = {\n solana: 'Please sign the transaction in your wallet to continue',\n nord: 'Waiting for N1 to process the deposit...',\n};\n\nexport function DepositProgressScreen() {\n const { depositProgressPhase } = useDepositFlow();\n const message = {\n ...DEPOSIT_PROGRESS_MESSAGE,\n subtitle: SUBTITLES[depositProgressPhase] ?? SUBTITLES.solana,\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n <WaitingMessage message={message} animation=\"transfer\" />\n </div>\n );\n}\n"]}
@@ -35,55 +35,56 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
- import { useEffect, useState } from 'react';
39
- import { useN1WalletContext } from '../../../Provider/hooks';
40
- import { isNordConfigured, shortenAddress } from '../utils/nordUtils';
41
- import { useDepositContext } from '../context/DepositContext';
42
- import { useFlowStateContext } from '../context/FlowContext';
43
- import { getExplorerUrl } from '../../../Logic/transactionManager';
38
+ import { useEffect, useState } from "react";
39
+ import { useN1WalletContext } from "../../../hooks";
40
+ import { isNordConfigured, shortenAddress } from "../utils/nordUtils";
41
+ import { useDepositFlow, useOnboardingState } from "../providers";
42
+ import { getExplorerUrl } from "../utils/transaction";
44
43
  // Share icon component reused from Header.tsx
45
44
  var ShareIcon = function (_a) {
46
45
  var className = _a.className;
47
- return (_jsxs("svg", { className: className || 'h-full w-full', viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M5.93066 8.06944L12.3473 1.65277", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("path", { d: "M8.06958 1.65277H12.3474V5.93055", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("path", { d: "M10.7431 7.80207V12.3472H1.65283V3.25693H6.19797", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" })] }));
46
+ return (_jsxs("svg", { className: className || "h-full w-full", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M5.93066 8.06944L12.3473 1.65277", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("path", { d: "M8.06958 1.65277H12.3474V5.93055", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("path", { d: "M10.7431 7.80207V12.3472H1.65283V3.25693H6.19797", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" })] }));
48
47
  };
49
48
  export function DepositSuccessScreen() {
50
49
  var _this = this;
51
- var _a = useDepositContext(), amount = _a.amount, completeDeposit = _a.completeDeposit, transactionResult = _a.transactionResult, transactionId = _a.transactionId;
50
+ var _a = useDepositFlow(), amount = _a.amount, completeDeposit = _a.completeDeposit, transactionResult = _a.transactionResult, transactionId = _a.transactionId;
52
51
  var nord = useN1WalletContext().nord;
53
- var context = useFlowStateContext().context;
52
+ var context = useOnboardingState().context;
54
53
  var isContinueEnabled = useState(true)[0];
55
- var _b = useState('USDC'), tokenSymbol = _b[0], setTokenSymbol = _b[1];
54
+ var _b = useState("USDC"), tokenSymbol = _b[0], setTokenSymbol = _b[1];
56
55
  var _c = useState(false), copiedAddress = _c[0], setCopiedAddress = _c[1];
57
56
  var _d = useState(false), showCopyTooltip = _d[0], setShowCopyTooltip = _d[1];
58
57
  var fallbackTransaction = transactionResult !== null && transactionResult !== void 0 ? transactionResult : {
59
58
  success: true,
60
- transactionId: transactionId !== null && transactionId !== void 0 ? transactionId : 'pending-transaction',
61
- amount: amount || '0',
62
- tokenSymbol: 'USDC',
63
- fromAddress: 'Debug Wallet',
64
- toAddress: 'Exchange Account',
65
- networkName: 'Devnet',
66
- status: 'Completed',
67
- explorerUrl: transactionId ? getExplorerUrl(transactionId) : '',
59
+ transactionId: transactionId !== null && transactionId !== void 0 ? transactionId : "pending-transaction",
60
+ amount: amount || "0",
61
+ tokenSymbol: "USDC",
62
+ fromAddress: "Debug Wallet",
63
+ toAddress: "Exchange Account",
64
+ networkName: "Devnet",
65
+ status: "Completed",
66
+ explorerUrl: transactionId ? getExplorerUrl(transactionId) : "",
68
67
  };
69
68
  // Get token information from Nord if available
70
69
  useEffect(function () {
71
70
  if (nord && isNordConfigured(nord)) {
72
71
  try {
73
- var usdcToken = nord.tokens.find(function (t) { return t.symbol === 'USDC'; }) || nord.tokens[0];
72
+ var usdcToken = nord.tokens.find(function (t) { return t.symbol === "USDC"; }) || nord.tokens[0];
74
73
  if (usdcToken) {
75
74
  setTokenSymbol(usdcToken.symbol);
76
75
  }
77
76
  }
78
77
  catch (error) {
79
- console.warn('Error getting token information from Nord:', error);
78
+ console.warn("Error getting token information from Nord:", error);
80
79
  }
81
80
  }
82
81
  }, [nord]);
83
82
  // Solana transaction ID (from depositSpl)
84
83
  var solanaTransactionId = transactionId || fallbackTransaction.transactionId;
85
84
  var solanaTransactionIdShort = shortenAddress(solanaTransactionId, 5, 4);
86
- var solanaExplorerUrl = solanaTransactionId ? getExplorerUrl(solanaTransactionId) : '';
85
+ var solanaExplorerUrl = solanaTransactionId
86
+ ? getExplorerUrl(solanaTransactionId)
87
+ : "";
87
88
  // N1 transaction ID (could be derived from transactionResult or generated)
88
89
  // For now, using a formatted version or placeholder
89
90
  var n1TransactionId = (transactionResult === null || transactionResult === void 0 ? void 0 : transactionResult.transactionId)
@@ -101,7 +102,7 @@ export function DepositSuccessScreen() {
101
102
  return __generator(this, function (_b) {
102
103
  switch (_b.label) {
103
104
  case 0:
104
- if (!fromAddressFull || typeof navigator === 'undefined')
105
+ if (!fromAddressFull || typeof navigator === "undefined")
105
106
  return [2 /*return*/];
106
107
  nav = navigator;
107
108
  if (!((_a = nav.clipboard) === null || _a === void 0 ? void 0 : _a.writeText)) return [3 /*break*/, 4];
@@ -118,14 +119,18 @@ export function DepositSuccessScreen() {
118
119
  return [3 /*break*/, 4];
119
120
  case 3:
120
121
  error_1 = _b.sent();
121
- console.warn('Failed to copy address:', error_1);
122
+ console.warn("Failed to copy address:", error_1);
122
123
  return [3 /*break*/, 4];
123
124
  case 4: return [2 /*return*/];
124
125
  }
125
126
  });
126
127
  }); };
127
- return (_jsx("div", { className: "relative w-full", children: _jsxs("div", { className: "flex flex-col space-y-4", children: [_jsx("div", { className: "w-full py-4", children: _jsx("div", { className: "flex items-center justify-center", children: _jsxs("div", { className: "text-center flex items-end", children: [_jsx("div", { className: "text-5xl md:text-6xl tracking-tight text-n1-ww-main font-medium", children: Number(amount).toLocaleString() }), _jsx("div", { className: "h-5 inline-flex items-center justify-center border border-n1-ww-border rounded px-1 py-1 ml-2 mb-1", children: _jsx("span", { className: "text-white text-xs font-light", children: tokenSymbol }) })] }) }) }), _jsxs("div", { className: "space-y-3 mb-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "Amount:" }), _jsxs("span", { className: "text-white text-xs font-light", children: [Number(amount).toLocaleString(), " ", tokenSymbol] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "Status:" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "text-n1-ww-accent-neon", children: [_jsx("rect", { x: "0.5", y: "0.5", width: "13", height: "13", rx: "6.5", stroke: "currentColor" }), _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.7917 4.83199L6.54647 9.9756L6.27917 10.2995L5.97635 10.0059L3.5 7.60561L4.0421 7.0879L6.21563 9.19473L10.1935 4.375L10.7917 4.83199Z", fill: "currentColor", stroke: "currentColor", strokeWidth: "0.5" })] }), _jsx("span", { className: "text-n1-ww-accent-neon text-xs font-light", children: fallbackTransaction.status })] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "From:" }), _jsxs("div", { className: "relative flex items-center gap-1 group", children: [_jsx("button", { onClick: handleCopyAddress, onMouseEnter: function () { return !copiedAddress && setShowCopyTooltip(true); }, onMouseLeave: function () { return setShowCopyTooltip(false); }, className: "text-white text-xs font-light underline cursor-pointer hover:text-n1-ww-main transition-colors", children: fromAddressShort }), (copiedAddress || showCopyTooltip) && (_jsx("div", { className: "absolute left-full ml-2 px-2 py-1 bg-n1-ww-gray-800 border border-n1-ww-border rounded text-xs text-white whitespace-nowrap z-10 pointer-events-none ".concat(copiedAddress ? 'opacity-100' : showCopyTooltip ? 'opacity-100' : 'opacity-0', " transition-opacity duration-200"), children: copiedAddress ? 'Copied!' : 'Click to copy' }))] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "N1 Transaction ID:" }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("span", { className: "text-white text-xs font-light underline", children: n1TransactionIdShort }), n1ExplorerUrl && (_jsx("a", { href: n1ExplorerUrl, target: "_blank", rel: "noopener noreferrer", className: "flex h-4 w-4 flex-shrink-0 items-center justify-center text-n1-ww-main hover:text-white transition-colors", "aria-label": "View N1 transaction on explorer", children: _jsx(ShareIcon, {}) }))] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "Solana Transaction ID:" }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("span", { className: "text-white text-xs font-light underline", children: solanaTransactionIdShort }), solanaExplorerUrl && (_jsx("a", { href: solanaExplorerUrl, target: "_blank", rel: "noopener noreferrer", className: "flex h-4 w-4 flex-shrink-0 items-center justify-center text-n1-ww-main hover:text-white transition-colors", "aria-label": "View transaction on explorer", children: _jsx(ShareIcon, {}) }))] })] })] }), _jsx("div", { className: "h-px bg-n1-ww-border mb-4" }), _jsx("button", { onClick: isContinueEnabled ? completeDeposit : undefined, disabled: !isContinueEnabled, className: "\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ".concat(isContinueEnabled
128
- ? 'border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer text-n1-ww-main'
129
- : 'border-n1-ww-border opacity-50 cursor-not-allowed text-n1-ww-gray-600', "\n "), children: _jsx("span", { className: "font-medium text-sm opacity-90", children: context.isDepositOnlyFlow ? 'Close' : 'Continue' }) })] }) }));
128
+ return (_jsx("div", { className: "relative w-full", children: _jsxs("div", { className: "flex flex-col space-y-4", children: [_jsx("div", { className: "w-full py-4", children: _jsx("div", { className: "flex items-center justify-center", children: _jsxs("div", { className: "text-center flex items-end", children: [_jsx("div", { className: "text-5xl md:text-6xl tracking-tight text-n1-ww-main font-medium", children: Number(amount).toLocaleString() }), _jsx("div", { className: "h-5 inline-flex items-center justify-center border border-n1-ww-border rounded px-1 py-1 ml-2 mb-1", children: _jsx("span", { className: "text-white text-xs font-light", children: tokenSymbol }) })] }) }) }), _jsxs("div", { className: "space-y-3 mb-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "Amount:" }), _jsxs("span", { className: "text-white text-xs font-light", children: [Number(amount).toLocaleString(), " ", tokenSymbol] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "Status:" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "text-n1-ww-accent-neon", children: [_jsx("rect", { x: "0.5", y: "0.5", width: "13", height: "13", rx: "6.5", stroke: "currentColor" }), _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.7917 4.83199L6.54647 9.9756L6.27917 10.2995L5.97635 10.0059L3.5 7.60561L4.0421 7.0879L6.21563 9.19473L10.1935 4.375L10.7917 4.83199Z", fill: "currentColor", stroke: "currentColor", strokeWidth: "0.5" })] }), _jsx("span", { className: "text-n1-ww-accent-neon text-xs font-light", children: fallbackTransaction.status })] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "From:" }), _jsxs("div", { className: "relative flex items-center gap-1 group", children: [_jsx("button", { onClick: handleCopyAddress, onMouseEnter: function () { return !copiedAddress && setShowCopyTooltip(true); }, onMouseLeave: function () { return setShowCopyTooltip(false); }, className: "text-white text-xs font-light underline cursor-pointer hover:text-n1-ww-main transition-colors", children: fromAddressShort }), (copiedAddress || showCopyTooltip) && (_jsx("div", { className: "absolute top-full mt-1 left-1/2 -translate-x-1/2 px-2 py-1 bg-n1-ww-gray-800 border border-n1-ww-border rounded text-xs text-white whitespace-nowrap z-10 pointer-events-none ".concat(copiedAddress
129
+ ? "opacity-100"
130
+ : showCopyTooltip
131
+ ? "opacity-100"
132
+ : "opacity-0", " transition-opacity duration-200"), children: copiedAddress ? "Copied!" : "Click to copy" }))] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "N1 Transaction ID:" }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("span", { className: "text-white text-xs font-light underline", children: n1TransactionIdShort }), n1ExplorerUrl && (_jsx("a", { href: n1ExplorerUrl, target: "_blank", rel: "noopener noreferrer", className: "flex h-4 w-4 flex-shrink-0 items-center justify-center text-n1-ww-main hover:text-white transition-colors", "aria-label": "View N1 transaction on explorer", children: _jsx(ShareIcon, {}) }))] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-white text-xs font-light", children: "Solana Transaction ID:" }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("span", { className: "text-white text-xs font-light underline", children: solanaTransactionIdShort }), solanaExplorerUrl && (_jsx("a", { href: solanaExplorerUrl, target: "_blank", rel: "noopener noreferrer", className: "flex h-4 w-4 flex-shrink-0 items-center justify-center text-n1-ww-main hover:text-white transition-colors", "aria-label": "View transaction on explorer", children: _jsx(ShareIcon, {}) }))] })] })] }), _jsx("div", { className: "h-px bg-n1-ww-border mb-4" }), _jsx("button", { onClick: isContinueEnabled ? completeDeposit : undefined, disabled: !isContinueEnabled, className: "\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ".concat(isContinueEnabled
133
+ ? "border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer text-n1-ww-main"
134
+ : "border-n1-ww-border opacity-50 cursor-not-allowed text-n1-ww-gray-600", "\n "), children: _jsx("span", { className: "font-medium text-sm opacity-90", children: context.isDepositOnlyFlow ? "Close" : "Continue" }) })] }) }));
130
135
  }
131
136
  //# sourceMappingURL=05-DepositSuccessScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"05-DepositSuccessScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/05-DepositSuccessScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,8CAA8C;AAC9C,IAAM,SAAS,GAAG,UAAC,EAAqC;QAAnC,SAAS,eAAA;IAA+B,OAAA,CAC3D,eACE,SAAS,EAAE,SAAS,IAAI,eAAe,EACvC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,aAElC,eACE,CAAC,EAAC,kCAAkC,EACpC,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,GACrB,EACF,eACE,CAAC,EAAC,kCAAkC,EACpC,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,GACrB,EACF,eACE,CAAC,EAAC,kDAAkD,EACpD,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,GACrB,IACE,CACP;AA1B4D,CA0B5D,CAAC;AAEF,MAAM,UAAU,oBAAoB;IAApC,iBAgPC;IA/OO,IAAA,KACJ,cAAc,EAAE,EADV,MAAM,YAAA,EAAE,eAAe,qBAAA,EAAE,iBAAiB,uBAAA,EAAE,aAAa,mBAC/C,CAAC;IACX,IAAA,IAAI,GAAK,kBAAkB,EAAE,KAAzB,CAA0B;IAC9B,IAAA,OAAO,GAAK,kBAAkB,EAAE,QAAzB,CAA0B;IAClC,IAAA,iBAAiB,GAAI,QAAQ,CAAC,IAAI,CAAC,GAAlB,CAAmB;IACrC,IAAA,KAAgC,QAAQ,CAAC,MAAM,CAAC,EAA/C,WAAW,QAAA,EAAE,cAAc,QAAoB,CAAC;IACjD,IAAA,KAAoC,QAAQ,CAAC,KAAK,CAAC,EAAlD,aAAa,QAAA,EAAE,gBAAgB,QAAmB,CAAC;IACpD,IAAA,KAAwC,QAAQ,CAAC,KAAK,CAAC,EAAtD,eAAe,QAAA,EAAE,kBAAkB,QAAmB,CAAC;IAE9D,IAAM,mBAAmB,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI;QAC/C,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,qBAAqB;QACrD,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,cAAc;QAC3B,SAAS,EAAE,kBAAkB;QAC7B,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;KAChE,CAAC;IAEF,+CAA+C;IAC/C,SAAS,CAAC;QACR,IAAI,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,IAAM,SAAS,GACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,MAAM,EAAnB,CAAmB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,SAAS,EAAE,CAAC;oBACd,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,0CAA0C;IAC1C,IAAM,mBAAmB,GACvB,aAAa,IAAI,mBAAmB,CAAC,aAAa,CAAC;IACrD,IAAM,wBAAwB,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,IAAM,iBAAiB,GAAG,mBAAmB;QAC3C,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAEP,2EAA2E;IAC3E,oDAAoD;IACpD,IAAM,eAAe,GAAG,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa;QACtD,CAAC,CAAC,aAAM,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE;QACzD,CAAC,CAAC,aAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;IAChD,IAAM,oBAAoB,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,qEAAqE;IACrE,IAAM,aAAa,GAAG,yCAAkC,eAAe,CAAE,CAAC;IAE1E,IAAM,gBAAgB,GAAG,cAAc,CACrC,mBAAmB,CAAC,WAAW,EAC/B,CAAC,EACD,CAAC,CACF,CAAC;IACF,IAAM,eAAe,GAAG,mBAAmB,CAAC,WAAW,CAAC;IAExD,8CAA8C;IAC9C,IAAM,iBAAiB,GAAG;;;;;;oBACxB,IAAI,CAAC,eAAe,IAAI,OAAO,SAAS,KAAK,WAAW;wBAAE,sBAAO;oBAE3D,GAAG,GAAG,SAEX,CAAC;yBAEE,CAAA,MAAA,GAAG,CAAC,SAAS,0CAAE,SAAS,CAAA,EAAxB,wBAAwB;;;;oBAExB,qBAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,EAAA;;oBAA9C,SAA8C,CAAC;oBAC/C,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACvB,UAAU,CAAC;wBACT,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC,EAAE,IAAI,CAAC,CAAC;;;;oBAET,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAK,CAAC,CAAC;;;;;SAGpD,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC9B,eAAK,SAAS,EAAC,yBAAyB,aAEtC,cAAK,SAAS,EAAC,aAAa,YAC1B,cAAK,SAAS,EAAC,kCAAkC,YAC/C,eAAK,SAAS,EAAC,4BAA4B,aACzC,cAAK,SAAS,EAAC,iEAAiE,YAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,GAC5B,EACN,cAAK,SAAS,EAAC,oGAAoG,YACjH,eAAM,SAAS,EAAC,+BAA+B,YAC5C,WAAW,GACP,GACH,IACF,GACF,GACF,EAGN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,+BAA+B,wBAAe,EAC9D,gBAAM,SAAS,EAAC,+BAA+B,aAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAG,WAAW,IACzC,IACH,EAEN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,+BAA+B,wBAAe,EAC9D,eAAK,SAAS,EAAC,yBAAyB,aACtC,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,wBAAwB,aAElC,eACE,CAAC,EAAC,KAAK,EACP,CAAC,EAAC,KAAK,EACP,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,KAAK,EACR,MAAM,EAAC,cAAc,GACrB,EACF,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,0IAA0I,EAC5I,IAAI,EAAC,cAAc,EACnB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,GACjB,IACE,EACN,eAAM,SAAS,EAAC,2CAA2C,YACxD,mBAAmB,CAAC,MAAM,GACtB,IACH,IACF,EAEN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,+BAA+B,sBAAa,EAC5D,eAAK,SAAS,EAAC,wCAAwC,aACrD,iBACE,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EAAE,cAAM,OAAA,CAAC,aAAa,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAA1C,CAA0C,EAC9D,YAAY,EAAE,cAAM,OAAA,kBAAkB,CAAC,KAAK,CAAC,EAAzB,CAAyB,EAC7C,SAAS,EAAC,gGAAgG,YAEzG,gBAAgB,GACV,EACR,CAAC,aAAa,IAAI,eAAe,CAAC,IAAI,CACrC,cACE,SAAS,EAAE,wLACT,aAAa;gDACX,CAAC,CAAC,aAAa;gDACf,CAAC,CAAC,eAAe;oDACjB,CAAC,CAAC,aAAa;oDACf,CAAC,CAAC,WAAW,qCACiB,YAEjC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,GACxC,CACP,IACG,IACF,EAEN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,+BAA+B,mCAExC,EACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,yCAAyC,YACtD,oBAAoB,GAChB,EACN,aAAa,IAAI,CAChB,YACE,IAAI,EAAE,aAAa,EACnB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,2GAA2G,gBAC1G,iCAAiC,YAE5C,KAAC,SAAS,KAAG,GACX,CACL,IACG,IACF,EAEN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,+BAA+B,uCAExC,EACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,yCAAyC,YACtD,wBAAwB,GACpB,EACN,iBAAiB,IAAI,CACpB,YACE,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,2GAA2G,gBAC1G,8BAA8B,YAEzC,KAAC,SAAS,KAAG,GACX,CACL,IACG,IACF,IACF,EAGN,cAAK,SAAS,EAAC,2BAA2B,GAAO,EAGjD,iBACE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EACxD,QAAQ,EAAE,CAAC,iBAAiB,EAC5B,SAAS,EAAE,8KAIP,iBAAiB;wBACf,CAAC,CAAC,0EAA0E;wBAC5E,CAAC,CAAC,uEAAuE,iBAE9E,YAED,eAAM,SAAS,EAAC,gCAAgC,YAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,GAC5C,GACA,IACL,GACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useN1WalletContext } from \"../../../hooks\";\nimport { isNordConfigured, shortenAddress } from \"../utils/nordUtils\";\nimport { useDepositFlow, useOnboardingState } from \"../providers\";\nimport { getExplorerUrl } from \"../utils/transaction\";\n\n// Share icon component reused from Header.tsx\nconst ShareIcon = ({ className }: { className?: string }) => (\n <svg\n className={className || \"h-full w-full\"}\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5.93066 8.06944L12.3473 1.65277\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M8.06958 1.65277H12.3474V5.93055\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M10.7431 7.80207V12.3472H1.65283V3.25693H6.19797\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n </svg>\n);\n\nexport function DepositSuccessScreen() {\n const { amount, completeDeposit, transactionResult, transactionId } =\n useDepositFlow();\n const { nord } = useN1WalletContext();\n const { context } = useOnboardingState();\n const [isContinueEnabled] = useState(true);\n const [tokenSymbol, setTokenSymbol] = useState(\"USDC\");\n const [copiedAddress, setCopiedAddress] = useState(false);\n const [showCopyTooltip, setShowCopyTooltip] = useState(false);\n\n const fallbackTransaction = transactionResult ?? {\n success: true,\n transactionId: transactionId ?? \"pending-transaction\",\n amount: amount || \"0\",\n tokenSymbol: \"USDC\",\n fromAddress: \"Debug Wallet\",\n toAddress: \"Exchange Account\",\n networkName: \"Devnet\",\n status: \"Completed\",\n explorerUrl: transactionId ? getExplorerUrl(transactionId) : \"\",\n };\n\n // Get token information from Nord if available\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n const usdcToken =\n nord.tokens.find((t) => t.symbol === \"USDC\") || nord.tokens[0];\n if (usdcToken) {\n setTokenSymbol(usdcToken.symbol);\n }\n } catch (error) {\n console.warn(\"Error getting token information from Nord:\", error);\n }\n }\n }, [nord]);\n\n // Solana transaction ID (from depositSpl)\n const solanaTransactionId =\n transactionId || fallbackTransaction.transactionId;\n const solanaTransactionIdShort = shortenAddress(solanaTransactionId, 5, 4);\n const solanaExplorerUrl = solanaTransactionId\n ? getExplorerUrl(solanaTransactionId)\n : \"\";\n\n // N1 transaction ID (could be derived from transactionResult or generated)\n // For now, using a formatted version or placeholder\n const n1TransactionId = transactionResult?.transactionId\n ? `n1_${transactionResult.transactionId.substring(0, 8)}`\n : `n1_${solanaTransactionId.substring(0, 8)}`;\n const n1TransactionIdShort = shortenAddress(n1TransactionId, 5, 4);\n // N1 explorer URL (placeholder - adjust based on actual N1 explorer)\n const n1ExplorerUrl = `https://explorer.n1.network/tx/${n1TransactionId}`;\n\n const fromAddressShort = shortenAddress(\n fallbackTransaction.fromAddress,\n 5,\n 4\n );\n const fromAddressFull = fallbackTransaction.fromAddress;\n\n // Handle copy to clipboard for wallet address\n const handleCopyAddress = async () => {\n if (!fromAddressFull || typeof navigator === \"undefined\") return;\n\n const nav = navigator as Navigator & {\n clipboard?: { writeText: (text: string) => Promise<void> };\n };\n\n if (nav.clipboard?.writeText) {\n try {\n await nav.clipboard.writeText(fromAddressFull);\n setCopiedAddress(true);\n setTimeout(() => {\n setCopiedAddress(false);\n }, 1000);\n } catch (error) {\n console.warn(\"Failed to copy address:\", error);\n }\n }\n };\n\n return (\n <div className=\"relative w-full\">\n <div className=\"flex flex-col space-y-4\">\n {/* Amount display */}\n <div className=\"w-full py-4\">\n <div className=\"flex items-center justify-center\">\n <div className=\"text-center flex items-end\">\n <div className=\"text-5xl md:text-6xl tracking-tight text-n1-ww-main font-medium\">\n {Number(amount).toLocaleString()}\n </div>\n <div className=\"h-5 inline-flex items-center justify-center border border-n1-ww-border rounded px-1 py-1 ml-2 mb-1\">\n <span className=\"text-white text-xs font-light\">\n {tokenSymbol}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n {/* Transaction details */}\n <div className=\"space-y-3 mb-4\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-white text-xs font-light\">Amount:</span>\n <span className=\"text-white text-xs font-light\">\n {Number(amount).toLocaleString()} {tokenSymbol}\n </span>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <span className=\"text-white text-xs font-light\">Status:</span>\n <div className=\"flex items-center gap-2\">\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"text-n1-ww-accent-neon\"\n >\n <rect\n x=\"0.5\"\n y=\"0.5\"\n width=\"13\"\n height=\"13\"\n rx=\"6.5\"\n stroke=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.7917 4.83199L6.54647 9.9756L6.27917 10.2995L5.97635 10.0059L3.5 7.60561L4.0421 7.0879L6.21563 9.19473L10.1935 4.375L10.7917 4.83199Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"0.5\"\n />\n </svg>\n <span className=\"text-n1-ww-accent-neon text-xs font-light\">\n {fallbackTransaction.status}\n </span>\n </div>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <span className=\"text-white text-xs font-light\">From:</span>\n <div className=\"relative flex items-center gap-1 group\">\n <button\n onClick={handleCopyAddress}\n onMouseEnter={() => !copiedAddress && setShowCopyTooltip(true)}\n onMouseLeave={() => setShowCopyTooltip(false)}\n className=\"text-white text-xs font-light underline cursor-pointer hover:text-n1-ww-main transition-colors\"\n >\n {fromAddressShort}\n </button>\n {(copiedAddress || showCopyTooltip) && (\n <div\n className={`absolute top-full mt-1 left-1/2 -translate-x-1/2 px-2 py-1 bg-n1-ww-gray-800 border border-n1-ww-border rounded text-xs text-white whitespace-nowrap z-10 pointer-events-none ${\n copiedAddress\n ? \"opacity-100\"\n : showCopyTooltip\n ? \"opacity-100\"\n : \"opacity-0\"\n } transition-opacity duration-200`}\n >\n {copiedAddress ? \"Copied!\" : \"Click to copy\"}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <span className=\"text-white text-xs font-light\">\n N1 Transaction ID:\n </span>\n <div className=\"flex items-center gap-1\">\n <span className=\"text-white text-xs font-light underline\">\n {n1TransactionIdShort}\n </span>\n {n1ExplorerUrl && (\n <a\n href={n1ExplorerUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex h-4 w-4 flex-shrink-0 items-center justify-center text-n1-ww-main hover:text-white transition-colors\"\n aria-label=\"View N1 transaction on explorer\"\n >\n <ShareIcon />\n </a>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <span className=\"text-white text-xs font-light\">\n Solana Transaction ID:\n </span>\n <div className=\"flex items-center gap-1\">\n <span className=\"text-white text-xs font-light underline\">\n {solanaTransactionIdShort}\n </span>\n {solanaExplorerUrl && (\n <a\n href={solanaExplorerUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex h-4 w-4 flex-shrink-0 items-center justify-center text-n1-ww-main hover:text-white transition-colors\"\n aria-label=\"View transaction on explorer\"\n >\n <ShareIcon />\n </a>\n )}\n </div>\n </div>\n </div>\n\n {/* Separator */}\n <div className=\"h-px bg-n1-ww-border mb-4\"></div>\n\n {/* Continue / Close button */}\n <button\n onClick={isContinueEnabled ? completeDeposit : undefined}\n disabled={!isContinueEnabled}\n className={`\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ${\n isContinueEnabled\n ? \"border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer text-n1-ww-main\"\n : \"border-n1-ww-border opacity-50 cursor-not-allowed text-n1-ww-gray-600\"\n }\n `}\n >\n <span className=\"font-medium text-sm opacity-90\">\n {context.isDepositOnlyFlow ? \"Close\" : \"Continue\"}\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { useDepositFlow } from '../providers';
4
+ import { WaitingMessage } from '../components/WaitingMessage';
5
+ export function AuthLoadingScreen() {
6
+ var _a = useState(false), isHovered = _a[0], setIsHovered = _a[1];
7
+ var authInitiatedRef = useRef(false);
8
+ // Get auth-related state and functions from the deposit flow context
9
+ var _b = useDepositFlow(), performAuth = _b.performAuth, authStatus = _b.authStatus, authErrorMessage = _b.authErrorMessage, authStatusMessage = _b.authStatusMessage;
10
+ useEffect(function () {
11
+ if (!authInitiatedRef.current) {
12
+ authInitiatedRef.current = true;
13
+ performAuth();
14
+ }
15
+ }, [performAuth]);
16
+ var handleRetry = function () {
17
+ // Reset and retry authentication
18
+ authInitiatedRef.current = false;
19
+ performAuth();
20
+ };
21
+ var loadingMessage = {
22
+ visible: true,
23
+ title: 'Authenticating',
24
+ subtitle: authStatusMessage || 'Please wait while we create your Nord account',
25
+ isTyping: false,
26
+ };
27
+ return (_jsx("div", { className: "overflow-hidden relative", children: authStatus !== 'error' ? (_jsx(WaitingMessage, { loaderSize: 52, message: loadingMessage })) : (_jsxs("div", { className: "flex flex-col items-center text-center space-y-2 ", children: [_jsx("h3", { className: "text-xl text-white font-semibold", children: "Authentication Failed" }), _jsx("p", { className: "text-sm text-neutral-400", children: "There was an error during authentication. Please try again." }), authErrorMessage && (_jsx("p", { className: "text-xs text-red-400", children: authErrorMessage })), _jsx("div", { className: "pt-4 w-full", children: _jsx("button", { onClick: handleRetry, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n w-full h-8 rounded border bg-transparent flex items-center justify-center font-medium text-sm\n transition-all duration-200 transform\n border-n1-ww-main text-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer\n ", style: {
28
+ transform: isHovered ? 'scale(0.99)' : 'scale(1)',
29
+ }, children: "Try Again" }) })] })) }));
30
+ }
31
+ //# sourceMappingURL=06-AuthLoadingScreen.js.map