@n1xyz/wallet-widget 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/README.md +184 -19
  2. package/dist/Logic/sessionManager.d.ts +53 -0
  3. package/dist/Logic/sessionManager.js +178 -0
  4. package/dist/Logic/transactionManager.d.ts +41 -0
  5. package/dist/Logic/transactionManager.js +192 -0
  6. package/dist/Modal/BackButton.js +1 -1
  7. package/dist/Modal/ConnectView.js +1 -1
  8. package/dist/Modal/CreateSessionView.js +1 -1
  9. package/dist/Modal/LoadingFallback.d.ts +2 -0
  10. package/dist/Modal/LoadingFallback.js +2 -0
  11. package/dist/Modal/ModalHeader.js +1 -1
  12. package/dist/Modal/N1WalletModal.js +88 -81
  13. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
  14. package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
  15. package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
  16. package/dist/Modal/NTSFlow/NTSFlow.js +30 -0
  17. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
  18. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
  19. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
  20. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
  21. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
  22. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
  23. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
  24. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
  25. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
  26. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
  27. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
  28. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
  29. package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
  30. package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
  31. package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
  32. package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
  33. package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
  34. package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
  35. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  36. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
  37. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  38. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
  39. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
  40. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
  41. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  42. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
  43. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
  44. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
  45. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
  46. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
  47. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  48. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
  49. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  50. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
  51. package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
  52. package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
  53. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  54. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  55. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  56. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  57. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  58. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  59. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  60. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
  61. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  62. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  63. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  64. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  65. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  66. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
  67. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  68. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  69. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  70. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  71. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  72. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
  73. package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
  74. package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
  75. package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
  76. package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
  77. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
  78. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
  79. package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
  80. package/dist/Modal/NTSFlow/components/BackButton.js +26 -0
  81. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
  82. package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
  83. package/dist/Modal/NTSFlow/index.d.ts +1 -0
  84. package/dist/Modal/NTSFlow/index.js +1 -0
  85. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
  86. package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
  87. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
  88. package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
  89. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
  90. package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
  91. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
  92. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
  93. package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
  94. package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
  95. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
  96. package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
  97. package/dist/Modal/NoWhitelistView.js +1 -1
  98. package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
  99. package/dist/Modal/NordFlow/NordFlow.js +262 -0
  100. package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
  101. package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
  102. package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
  103. package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
  104. package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
  105. package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
  106. package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
  107. package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
  108. package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
  109. package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
  110. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
  111. package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
  112. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
  113. package/dist/Modal/NordFlow/components/TransactionTable.js +83 -0
  114. package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
  115. package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
  116. package/dist/Modal/NordFlow/components/index.d.ts +5 -0
  117. package/dist/Modal/NordFlow/components/index.js +5 -0
  118. package/dist/Modal/NordFlow/constants.d.ts +37 -0
  119. package/dist/Modal/NordFlow/constants.js +192 -0
  120. package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
  121. package/dist/Modal/NordFlow/hoc/index.js +1 -0
  122. package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
  123. package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
  124. package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
  125. package/dist/Modal/NordFlow/hooks/index.js +5 -0
  126. package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  127. package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
  128. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
  129. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +365 -0
  130. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
  131. package/dist/Modal/NordFlow/hooks/useFlowState.js +166 -0
  132. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
  133. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
  134. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
  135. package/dist/Modal/NordFlow/hooks/useNordInstance.js +310 -0
  136. package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
  137. package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
  138. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
  139. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +231 -0
  140. package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
  141. package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
  142. package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  143. package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
  144. package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
  145. package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
  146. package/dist/Modal/NordFlow/index copy.d.ts +1 -0
  147. package/dist/Modal/NordFlow/index copy.js +1 -0
  148. package/dist/Modal/NordFlow/index.d.ts +1 -0
  149. package/dist/Modal/NordFlow/index.js +1 -0
  150. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  151. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  152. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  153. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  154. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  155. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +47 -0
  156. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +10 -0
  157. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +165 -0
  158. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
  159. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +44 -0
  160. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  161. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +119 -0
  162. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
  163. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +126 -0
  164. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
  165. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
  166. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  167. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
  168. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
  169. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
  170. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
  171. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +62 -0
  172. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  173. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
  174. package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  175. package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
  176. package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
  177. package/dist/Modal/NordFlow/screens/index.js +9 -0
  178. package/dist/Modal/NordFlow/types.d.ts +108 -0
  179. package/dist/Modal/NordFlow/types.js +32 -0
  180. package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
  181. package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
  182. package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
  183. package/dist/Modal/NordFlow/utils/index.js +3 -0
  184. package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
  185. package/dist/Modal/NordFlow/utils/nordUtils.js +61 -0
  186. package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
  187. package/dist/Modal/NordFlow/utils/persistence.js +83 -0
  188. package/dist/Modal/Sidebar/N1Sidebar.js +32 -18
  189. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
  190. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
  191. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
  192. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
  193. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
  194. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +38 -0
  195. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
  196. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
  197. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
  198. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
  199. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
  200. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +197 -0
  201. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
  202. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
  203. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
  204. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +28 -0
  205. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
  206. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +22 -0
  207. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
  208. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
  209. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
  210. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
  211. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
  212. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +76 -0
  213. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
  214. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +103 -0
  215. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
  216. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
  217. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
  218. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
  219. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
  220. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +7 -0
  221. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
  222. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +249 -0
  223. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
  224. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
  225. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
  226. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
  227. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
  228. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +177 -0
  229. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
  230. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +188 -0
  231. package/dist/NordFlow/WalletConnectionFlow.d.ts +9 -0
  232. package/dist/NordFlow/WalletConnectionFlow.js +145 -0
  233. package/dist/NordFlow/components/AnimatedButton.d.ts +14 -0
  234. package/dist/NordFlow/components/AnimatedButton.js +75 -0
  235. package/dist/NordFlow/components/ChainButton.d.ts +7 -0
  236. package/dist/NordFlow/components/ChainButton.js +5 -0
  237. package/dist/NordFlow/components/LoadingSquares.d.ts +1 -0
  238. package/dist/NordFlow/components/LoadingSquares.js +5 -0
  239. package/dist/NordFlow/components/TransactionTable.d.ts +13 -0
  240. package/dist/NordFlow/components/TransactionTable.js +58 -0
  241. package/dist/NordFlow/components/WaitingMessage.d.ts +6 -0
  242. package/dist/NordFlow/components/WaitingMessage.js +6 -0
  243. package/dist/NordFlow/components/index.d.ts +5 -0
  244. package/dist/NordFlow/components/index.js +5 -0
  245. package/dist/NordFlow/constants.d.ts +37 -0
  246. package/dist/NordFlow/constants.js +223 -0
  247. package/dist/NordFlow/hooks/index.d.ts +8 -0
  248. package/dist/NordFlow/hooks/index.js +8 -0
  249. package/dist/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  250. package/dist/NordFlow/hooks/useButtonTyping.js +43 -0
  251. package/dist/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  252. package/dist/NordFlow/hooks/useDepositFlow.js +166 -0
  253. package/dist/NordFlow/hooks/useFlowState.d.ts +32 -0
  254. package/dist/NordFlow/hooks/useFlowState.js +163 -0
  255. package/dist/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  256. package/dist/NordFlow/hooks/useInterruptHandler.js +101 -0
  257. package/dist/NordFlow/hooks/useNordSession.d.ts +32 -0
  258. package/dist/NordFlow/hooks/useNordSession.js +193 -0
  259. package/dist/NordFlow/hooks/useTableValues.d.ts +2 -0
  260. package/dist/NordFlow/hooks/useTableValues.js +69 -0
  261. package/dist/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  262. package/dist/NordFlow/hooks/useWaitingMessage.js +89 -0
  263. package/dist/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  264. package/dist/NordFlow/hooks/useWalletConnect.js +132 -0
  265. package/dist/NordFlow/index.d.ts +3 -0
  266. package/dist/NordFlow/index.js +3 -0
  267. package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  268. package/dist/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  269. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  270. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  271. package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  272. package/dist/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  273. package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  274. package/dist/NordFlow/screens/04-AmountInputScreen.js +20 -0
  275. package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  276. package/dist/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  277. package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  278. package/dist/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  279. package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  280. package/dist/NordFlow/screens/07-NordAuthScreen.js +14 -0
  281. package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  282. package/dist/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  283. package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  284. package/dist/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  285. package/dist/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  286. package/dist/NordFlow/screens/10-ErrorScreen.js +13 -0
  287. package/dist/NordFlow/screens/index.d.ts +10 -0
  288. package/dist/NordFlow/screens/index.js +10 -0
  289. package/dist/NordFlow/types.d.ts +105 -0
  290. package/dist/NordFlow/types.js +34 -0
  291. package/dist/NordFlow/utils/persistence.d.ts +24 -0
  292. package/dist/NordFlow/utils/persistence.js +83 -0
  293. package/dist/Provider/LazyWalletProvider.js +75 -42
  294. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  295. package/dist/Provider/N1WalletProvider.js +61 -43
  296. package/dist/Provider/types.d.ts +61 -0
  297. package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +9 -0
  298. package/dist/WalletConnectionFlow/WalletConnectionFlow.js +145 -0
  299. package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +14 -0
  300. package/dist/WalletConnectionFlow/components/AnimatedButton.js +75 -0
  301. package/dist/WalletConnectionFlow/components/ChainButton.d.ts +7 -0
  302. package/dist/WalletConnectionFlow/components/ChainButton.js +5 -0
  303. package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +1 -0
  304. package/dist/WalletConnectionFlow/components/LoadingSquares.js +5 -0
  305. package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +13 -0
  306. package/dist/WalletConnectionFlow/components/TransactionTable.js +58 -0
  307. package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +6 -0
  308. package/dist/WalletConnectionFlow/components/WaitingMessage.js +6 -0
  309. package/dist/WalletConnectionFlow/components/index.d.ts +5 -0
  310. package/dist/WalletConnectionFlow/components/index.js +5 -0
  311. package/dist/WalletConnectionFlow/constants.d.ts +37 -0
  312. package/dist/WalletConnectionFlow/constants.js +223 -0
  313. package/dist/WalletConnectionFlow/hooks/index.d.ts +8 -0
  314. package/dist/WalletConnectionFlow/hooks/index.js +8 -0
  315. package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +7 -0
  316. package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +43 -0
  317. package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +38 -0
  318. package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +166 -0
  319. package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +32 -0
  320. package/dist/WalletConnectionFlow/hooks/useFlowState.js +163 -0
  321. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +27 -0
  322. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +101 -0
  323. package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +32 -0
  324. package/dist/WalletConnectionFlow/hooks/useNordSession.js +193 -0
  325. package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +2 -0
  326. package/dist/WalletConnectionFlow/hooks/useTableValues.js +69 -0
  327. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +6 -0
  328. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +89 -0
  329. package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +30 -0
  330. package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +132 -0
  331. package/dist/WalletConnectionFlow/index.d.ts +3 -0
  332. package/dist/WalletConnectionFlow/index.js +3 -0
  333. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  334. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +17 -0
  335. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  336. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  337. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  338. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +7 -0
  339. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +8 -0
  340. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +20 -0
  341. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  342. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +6 -0
  343. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  344. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +99 -0
  345. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +7 -0
  346. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +14 -0
  347. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  348. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +20 -0
  349. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  350. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +18 -0
  351. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +7 -0
  352. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +13 -0
  353. package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +8 -0
  354. package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +20 -0
  355. package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +8 -0
  356. package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +28 -0
  357. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +6 -0
  358. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +20 -0
  359. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +7 -0
  360. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +7 -0
  361. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +6 -0
  362. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +17 -0
  363. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +7 -0
  364. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +6 -0
  365. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +8 -0
  366. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +99 -0
  367. package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +7 -0
  368. package/dist/WalletConnectionFlow/screens/ErrorScreen.js +13 -0
  369. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +6 -0
  370. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +47 -0
  371. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +6 -0
  372. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +47 -0
  373. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +5 -0
  374. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +18 -0
  375. package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +7 -0
  376. package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +14 -0
  377. package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +6 -0
  378. package/dist/WalletConnectionFlow/screens/SigningScreen.js +6 -0
  379. package/dist/WalletConnectionFlow/screens/index.d.ts +10 -0
  380. package/dist/WalletConnectionFlow/screens/index.js +10 -0
  381. package/dist/WalletConnectionFlow/types.d.ts +105 -0
  382. package/dist/WalletConnectionFlow/types.js +34 -0
  383. package/dist/WalletConnectionFlow/utils/persistence.d.ts +24 -0
  384. package/dist/WalletConnectionFlow/utils/persistence.js +83 -0
  385. package/dist/components/WalletDeposit/components/TransactionTable.d.ts +9 -2
  386. package/dist/components/WalletDeposit/components/TransactionTable.js +55 -5
  387. package/dist/components/WalletDeposit/types.d.ts +5 -0
  388. package/dist/config/dynamic.d.ts +20 -0
  389. package/dist/config/dynamic.js +47 -0
  390. package/dist/config/solana.d.ts +25 -0
  391. package/dist/config/solana.js +41 -0
  392. package/dist/errors/types.d.ts +5 -1
  393. package/dist/errors/types.js +12 -0
  394. package/dist/hooks/useSolanaSession.d.ts +17 -0
  395. package/dist/hooks/useSolanaSession.js +180 -0
  396. package/dist/index.d.ts +1 -2
  397. package/dist/index.js +1 -2
  398. package/dist/main.css +1 -1
  399. package/dist/utils/solana-session.d.ts +84 -0
  400. package/dist/utils/solana-session.js +230 -0
  401. package/package.json +14 -11
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Types for the wallet connection flow state machine
3
+ */
4
+ /**
5
+ * Enum representing all possible states in the wallet connection flow
6
+ */
7
+ export declare enum FlowState {
8
+ IDLE = "IDLE",
9
+ CONNECTING_WALLET = "CONNECTING_WALLET",
10
+ WALLET_CONNECTED = "WALLET_CONNECTED",
11
+ ETH_TO_SOL_AUTH = "ETH_TO_SOL_AUTH",
12
+ CHAIN_SELECTION = "CHAIN_SELECTION",
13
+ AMOUNT_INPUT = "AMOUNT_INPUT",
14
+ DEPOSIT_PROGRESS = "DEPOSIT_PROGRESS",
15
+ DEPOSIT_SUCCESS = "DEPOSIT_SUCCESS",
16
+ NORD_AUTH = "NORD_AUTH",
17
+ AUTH_LOADING = "AUTH_LOADING",
18
+ FINAL_SUCCESS = "FINAL_SUCCESS",
19
+ ERROR = "ERROR"
20
+ }
21
+ /**
22
+ * Interface representing the flow context, containing all data necessary
23
+ * for the wallet connection flow
24
+ */
25
+ export interface FlowContext {
26
+ walletType: 'solana' | 'ethereum' | null;
27
+ hasNordAccount: boolean;
28
+ hasActiveSession: boolean;
29
+ selectedChain: string | null;
30
+ amount: string;
31
+ transactionId: string | null;
32
+ error: Error | null;
33
+ lastInterruption: {
34
+ timestamp: number;
35
+ state: FlowState;
36
+ context: Partial<FlowContext>;
37
+ } | null;
38
+ }
39
+ /**
40
+ * Interface for state transitions in the flow
41
+ */
42
+ export interface StateTransition {
43
+ from: FlowState | FlowState[];
44
+ to: FlowState;
45
+ condition?: (context: FlowContext) => boolean;
46
+ }
47
+ /**
48
+ * Initial flow context with default values
49
+ */
50
+ export declare const initialFlowContext: FlowContext;
51
+ export interface TableValues {
52
+ amount?: {
53
+ text: string;
54
+ visible: boolean;
55
+ typing: boolean;
56
+ };
57
+ tx: {
58
+ text: string;
59
+ visible: boolean;
60
+ typing: boolean;
61
+ };
62
+ from: {
63
+ text: string;
64
+ visible: boolean;
65
+ typing: boolean;
66
+ };
67
+ to: {
68
+ text: string;
69
+ visible: boolean;
70
+ typing: boolean;
71
+ };
72
+ network: {
73
+ text: string;
74
+ visible: boolean;
75
+ typing: boolean;
76
+ };
77
+ status: {
78
+ text: string;
79
+ visible: boolean;
80
+ typing: boolean;
81
+ };
82
+ }
83
+ export interface WaitingMessageState {
84
+ title: string;
85
+ subtitle: string;
86
+ visible: boolean;
87
+ isTyping: boolean;
88
+ }
89
+ export interface Chain {
90
+ id: string;
91
+ name: string;
92
+ logo: string;
93
+ }
94
+ export interface App {
95
+ name: string;
96
+ color: string;
97
+ progress: number;
98
+ }
99
+ export type ButtonKey = 'deposit' | 'continue' | 'openApp';
100
+ export interface ButtonState {
101
+ text: string;
102
+ isTyping: boolean;
103
+ showCursor: boolean;
104
+ }
105
+ export type ButtonStates = Record<ButtonKey, ButtonState>;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Types for the wallet connection flow state machine
3
+ */
4
+ /**
5
+ * Enum representing all possible states in the wallet connection flow
6
+ */
7
+ export var FlowState;
8
+ (function (FlowState) {
9
+ FlowState["IDLE"] = "IDLE";
10
+ FlowState["CONNECTING_WALLET"] = "CONNECTING_WALLET";
11
+ FlowState["WALLET_CONNECTED"] = "WALLET_CONNECTED";
12
+ FlowState["ETH_TO_SOL_AUTH"] = "ETH_TO_SOL_AUTH";
13
+ FlowState["CHAIN_SELECTION"] = "CHAIN_SELECTION";
14
+ FlowState["AMOUNT_INPUT"] = "AMOUNT_INPUT";
15
+ FlowState["DEPOSIT_PROGRESS"] = "DEPOSIT_PROGRESS";
16
+ FlowState["DEPOSIT_SUCCESS"] = "DEPOSIT_SUCCESS";
17
+ FlowState["NORD_AUTH"] = "NORD_AUTH";
18
+ FlowState["AUTH_LOADING"] = "AUTH_LOADING";
19
+ FlowState["FINAL_SUCCESS"] = "FINAL_SUCCESS";
20
+ FlowState["ERROR"] = "ERROR";
21
+ })(FlowState || (FlowState = {}));
22
+ /**
23
+ * Initial flow context with default values
24
+ */
25
+ export var initialFlowContext = {
26
+ walletType: null,
27
+ hasNordAccount: false,
28
+ hasActiveSession: false,
29
+ selectedChain: null,
30
+ amount: '',
31
+ transactionId: null,
32
+ error: null,
33
+ lastInterruption: null,
34
+ };
@@ -0,0 +1,24 @@
1
+ import { FlowContext, FlowState } from '../types';
2
+ /**
3
+ * Saves the current flow state and context to localStorage
4
+ * @param state Current flow state
5
+ * @param context Current flow context
6
+ */
7
+ export declare const saveStateToLocalStorage: (state: FlowState, context: FlowContext) => void;
8
+ /**
9
+ * Loads the flow state and context from localStorage if available and not expired
10
+ * @returns The loaded state and context, or null if not available or expired
11
+ */
12
+ export declare const loadStateFromLocalStorage: () => {
13
+ state: FlowState;
14
+ context: FlowContext;
15
+ } | null;
16
+ /**
17
+ * Clears the stored flow state from localStorage
18
+ */
19
+ export declare const clearStoredState: () => void;
20
+ /**
21
+ * Checks if there is a stored state that can be recovered
22
+ * @returns True if there is a recoverable state, false otherwise
23
+ */
24
+ export declare const hasRecoverableState: () => boolean;
@@ -0,0 +1,83 @@
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 { initialFlowContext } from '../types';
13
+ import { FLOW_STATE_STORAGE_KEY, STATE_EXPIRY_TIME } from '../constants';
14
+ /**
15
+ * Saves the current flow state and context to localStorage
16
+ * @param state Current flow state
17
+ * @param context Current flow context
18
+ */
19
+ export var saveStateToLocalStorage = function (state, context) {
20
+ try {
21
+ var persistedData = {
22
+ state: state,
23
+ context: __assign(__assign({}, context), {
24
+ // Filter out any sensitive data or error objects that shouldn't be persisted
25
+ error: context.error
26
+ ? {
27
+ message: context.error.message,
28
+ name: context.error.name,
29
+ }
30
+ : null }),
31
+ timestamp: Date.now(),
32
+ };
33
+ localStorage.setItem(FLOW_STATE_STORAGE_KEY, JSON.stringify(persistedData));
34
+ }
35
+ catch (error) {
36
+ console.error('Failed to save flow state:', error);
37
+ }
38
+ };
39
+ /**
40
+ * Loads the flow state and context from localStorage if available and not expired
41
+ * @returns The loaded state and context, or null if not available or expired
42
+ */
43
+ export var loadStateFromLocalStorage = function () {
44
+ try {
45
+ var storedData = localStorage.getItem(FLOW_STATE_STORAGE_KEY);
46
+ if (!storedData) {
47
+ return null;
48
+ }
49
+ var parsedData = JSON.parse(storedData);
50
+ var state = parsedData.state, context = parsedData.context, timestamp = parsedData.timestamp;
51
+ // Check if data is expired
52
+ if (Date.now() - timestamp > STATE_EXPIRY_TIME) {
53
+ localStorage.removeItem(FLOW_STATE_STORAGE_KEY);
54
+ return null;
55
+ }
56
+ return {
57
+ state: state,
58
+ context: __assign(__assign({}, initialFlowContext), context),
59
+ };
60
+ }
61
+ catch (error) {
62
+ console.error('Failed to load flow state:', error);
63
+ return null;
64
+ }
65
+ };
66
+ /**
67
+ * Clears the stored flow state from localStorage
68
+ */
69
+ export var clearStoredState = function () {
70
+ try {
71
+ localStorage.removeItem(FLOW_STATE_STORAGE_KEY);
72
+ }
73
+ catch (error) {
74
+ console.error('Failed to clear flow state:', error);
75
+ }
76
+ };
77
+ /**
78
+ * Checks if there is a stored state that can be recovered
79
+ * @returns True if there is a recoverable state, false otherwise
80
+ */
81
+ export var hasRecoverableState = function () {
82
+ return loadStateFromLocalStorage() !== null;
83
+ };
@@ -46,86 +46,111 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
49
- import { useEffect, useState, useRef } from 'react';
49
+ import { useCallback, useEffect, useRef, useState } from 'react';
50
50
  import { useN1WalletInternalContext } from './hooks';
51
- import { logger } from '../utils/logger';
52
- import { N1ModalViewMode } from './types';
53
- var getSettings = function (darkMode) { return ({
54
- initialAuthenticationMode: 'connect-only',
55
- environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
56
- theme: {
57
- mode: darkMode ? 'dark' : 'light',
58
- },
59
- events: {
60
- onAuthSuccess: function (args) {
61
- console.log('onAuthSuccess was called', args);
62
- },
63
- },
64
- }); };
51
+ import { N1SessionMode } from './types';
65
52
  function DynamicContextConsumer(_a) {
66
53
  var children = _a.children;
67
- var _b = useN1WalletInternalContext(), setDynamicWallet = _b.setDynamicWallet, setAddress = _b.setAddress, setDynamicSdkHasLoaded = _b.setDynamicSdkHasLoaded, setShowDynamicWidget = _b.setShowDynamicWidget, setDynamicHandleLogOut = _b.setDynamicHandleLogOut, setViewMode = _b.setViewMode;
68
- var _c = useState(null), DynamicContext = _c[0], setDynamicContext = _c[1];
54
+ var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
69
55
  var showAuthFlowRef = useRef(null);
56
+ // Use refs to track previous values and prevent unnecessary updates
57
+ var prevPrimaryWalletRef = useRef(null);
58
+ var prevHandleLogOutRef = useRef(null);
59
+ var prevSdkHasLoadedRef = useRef(null);
60
+ var _c = useN1WalletInternalContext(), setDynamicWallet = _c.setDynamicWallet, setDynamicHandleLogOut = _c.setDynamicHandleLogOut, setDynamicSdkHasLoaded = _c.setDynamicSdkHasLoaded, setAddress = _c.setAddress, setShowDynamicWidget = _c.setShowDynamicWidget;
61
+ // Load the Dynamic context only once
70
62
  useEffect(function () {
63
+ var isMounted = true;
71
64
  import('@dynamic-labs/sdk-react-core').then(function (_a) {
72
65
  var useDynamicContext = _a.useDynamicContext;
73
- setDynamicContext(function () { return useDynamicContext; });
66
+ if (isMounted) {
67
+ setDynamicContext(function () { return useDynamicContext; });
68
+ }
74
69
  });
70
+ return function () { isMounted = false; };
75
71
  }, []);
76
- // Set up a stable widget function that uses the ref
72
+ // Set up a stable widget function that uses the ref - only once
77
73
  useEffect(function () {
78
- setShowDynamicWidget(function () { return function (show) {
79
- console.log('yeeyyeye', showAuthFlowRef);
80
- console.log('yeeyyeye', showAuthFlowRef.current, show);
74
+ var stableShowWidget = function (show) {
81
75
  if (showAuthFlowRef.current) {
82
76
  showAuthFlowRef.current(show);
83
77
  }
84
- }; });
78
+ };
79
+ setShowDynamicWidget(function () { return stableShowWidget; });
85
80
  }, [setShowDynamicWidget]);
86
81
  if (!DynamicContext) {
87
82
  return _jsx(_Fragment, { children: children });
88
83
  }
89
84
  var DynamicComponent = function () {
90
85
  var _a = DynamicContext(), primaryWallet = _a.primaryWallet, sdkHasLoaded = _a.sdkHasLoaded, setShowAuthFlow = _a.setShowAuthFlow, handleLogOut = _a.handleLogOut;
91
- // Store setShowAuthFlow in ref to avoid re-renders
86
+ // Store setShowAuthFlow in ref to avoid re-renders - only when it changes
92
87
  useEffect(function () {
93
- showAuthFlowRef.current = setShowAuthFlow;
88
+ if (setShowAuthFlow !== showAuthFlowRef.current) {
89
+ showAuthFlowRef.current = setShowAuthFlow;
90
+ }
94
91
  }, [setShowAuthFlow]);
92
+ // Set the dynamic wallet and address when the primary wallet changes
93
+ // Use deep comparison to prevent unnecessary updates
95
94
  useEffect(function () {
96
- if (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address) {
97
- logger.debug('Primary wallet found');
95
+ // Skip if the wallet hasn't actually changed
96
+ if (primaryWallet === prevPrimaryWalletRef.current) {
97
+ return;
98
+ }
99
+ prevPrimaryWalletRef.current = primaryWallet;
100
+ if (primaryWallet) {
98
101
  setDynamicWallet(primaryWallet);
99
102
  setAddress(primaryWallet.address);
100
103
  }
101
104
  else {
102
- logger.debug('No primary wallet found');
103
105
  setDynamicWallet(null);
104
106
  setAddress('');
105
- setViewMode(N1ModalViewMode.Connect);
106
107
  }
107
- }, [primaryWallet]);
108
+ }, [primaryWallet, setDynamicWallet, setAddress]);
109
+ // Set the logout handler when it changes - only when it actually changes
108
110
  useEffect(function () {
109
- if (sdkHasLoaded) {
110
- setDynamicSdkHasLoaded(true);
111
+ if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {
112
+ prevHandleLogOutRef.current = handleLogOut;
113
+ setDynamicHandleLogOut(function () { return handleLogOut; });
111
114
  }
112
- }, [sdkHasLoaded]);
113
- // Set the logout handler
115
+ }, [handleLogOut, setDynamicHandleLogOut]);
116
+ // Set the SDK loaded flag when it changes - only when it actually changes
114
117
  useEffect(function () {
115
- if (handleLogOut) {
116
- setDynamicHandleLogOut(function () { return handleLogOut; });
118
+ if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {
119
+ prevSdkHasLoadedRef.current = sdkHasLoaded;
120
+ setDynamicSdkHasLoaded(sdkHasLoaded);
117
121
  }
118
- }, [handleLogOut]);
122
+ }, [sdkHasLoaded, setDynamicSdkHasLoaded]);
119
123
  return _jsx(_Fragment, { children: children });
120
124
  };
121
125
  return _jsx(DynamicComponent, {});
122
126
  }
127
+ var getSettings = function (darkMode) { return ({
128
+ initialAuthenticationMode: 'connect-only',
129
+ environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
130
+ silentAuthentication: true,
131
+ silentAuth: true,
132
+ theme: {
133
+ mode: darkMode ? 'dark' : 'light',
134
+ },
135
+ events: {
136
+ onAuthSuccess: function (args) {
137
+ console.log('onAuthSuccess was called', args);
138
+ },
139
+ },
140
+ }); };
123
141
  function LazyInternal(props) {
124
142
  var _this = this;
125
143
  var _a = useState(null), Provider = _a[0], setProvider = _a[1];
126
144
  var _b = useState([]), walletConnectors = _b[0], setWalletConnectors = _b[1];
127
- var darkMode = useN1WalletInternalContext().darkMode;
145
+ var _c = useN1WalletInternalContext(), darkMode = _c.darkMode, sessionMode = _c.sessionMode;
146
+ // Use a ref to track the previous session mode
147
+ var prevSessionModeRef = useRef(null);
128
148
  useEffect(function () {
149
+ // Skip if the session mode hasn't changed
150
+ if (sessionMode === prevSessionModeRef.current) {
151
+ return;
152
+ }
153
+ prevSessionModeRef.current = sessionMode;
129
154
  var loadDynamicDeps = function () { return __awaiter(_this, void 0, void 0, function () {
130
155
  var _a, DynamicContextProvider_1, EthereumWalletConnectors, SolanaWalletConnectors, error_1;
131
156
  return __generator(this, function (_b) {
@@ -140,7 +165,14 @@ function LazyInternal(props) {
140
165
  case 1:
141
166
  _a = _b.sent(), DynamicContextProvider_1 = _a[0].DynamicContextProvider, EthereumWalletConnectors = _a[1].EthereumWalletConnectors, SolanaWalletConnectors = _a[2].SolanaWalletConnectors;
142
167
  setProvider(function () { return DynamicContextProvider_1; });
143
- setWalletConnectors([EthereumWalletConnectors, SolanaWalletConnectors]);
168
+ if (sessionMode === N1SessionMode.Nord) {
169
+ // Only use Solana wallet connectors for Nord mode
170
+ setWalletConnectors([SolanaWalletConnectors]);
171
+ }
172
+ else {
173
+ // Use all wallet connectors for NTS mode
174
+ setWalletConnectors([EthereumWalletConnectors, SolanaWalletConnectors]);
175
+ }
144
176
  return [3 /*break*/, 3];
145
177
  case 2:
146
178
  error_1 = _b.sent();
@@ -151,12 +183,13 @@ function LazyInternal(props) {
151
183
  });
152
184
  }); };
153
185
  loadDynamicDeps();
154
- }, []);
186
+ }, [sessionMode]);
187
+ // Memoize the dynamic settings to prevent unnecessary re-renders
188
+ var dynamicSettings = useCallback(function () { return (__assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors })); }, [darkMode, walletConnectors]);
155
189
  if (!Provider || walletConnectors.length === 0) {
156
190
  return null;
157
191
  }
158
- var dynamicSettings = __assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors });
159
- return (_jsx(Provider, { settings: dynamicSettings, theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
192
+ return (_jsx(Provider, { settings: dynamicSettings(), theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
160
193
  }
161
194
  export function LazyWalletProvider(_a) {
162
195
  var children = _a.children;
@@ -1,2 +1,2 @@
1
1
  import { N1WalletProviderProps } from './types';
2
- export declare function N1WalletProvider({ children, providedSessionMode, appId, darkMode, onError, }: N1WalletProviderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function N1WalletProvider({ children, providedSessionMode, appId, darkMode, onError, faucetUrl, nord, }: N1WalletProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -56,6 +56,9 @@ import { N1WalletModal } from '../Modal/N1WalletModal';
56
56
  import { WalletError, WalletErrorCode } from '../errors/types';
57
57
  import { N1InternalWalletContext, N1WalletContext } from './context';
58
58
  import { N1ModalViewMode, N1SessionMode, } from './types';
59
+ import { useNordWalletConnect } from '../Modal/NordFlow/hooks/useNordWalletConnect';
60
+ import { useNordInstance } from '../Modal/NordFlow/hooks/useNordInstance';
61
+ import { FlowState } from '../Modal/NordFlow/types';
59
62
  var LazyWalletProvider = React.lazy(function () {
60
63
  return import('./LazyWalletProvider').then(function (mod) { return ({
61
64
  default: mod.LazyWalletProvider,
@@ -83,7 +86,7 @@ var WalletErrorBoundary = /** @class */ (function (_super) {
83
86
  }(React.Component));
84
87
  export function N1WalletProvider(_a) {
85
88
  var _this = this;
86
- var children = _a.children, providedSessionMode = _a.providedSessionMode, appId = _a.appId, _b = _a.darkMode, darkMode = _b === void 0 ? true : _b, onError = _a.onError;
89
+ var children = _a.children, providedSessionMode = _a.providedSessionMode, appId = _a.appId, _b = _a.darkMode, darkMode = _b === void 0 ? true : _b, onError = _a.onError, faucetUrl = _a.faucetUrl, nord = _a.nord;
87
90
  var _c = useState(false), isConnected = _c[0], setIsConnected = _c[1];
88
91
  var _d = useState(null), ntsInterface = _d[0], setNtsInterface = _d[1];
89
92
  var _e = useState(false), showLogin = _e[0], setShowLogin = _e[1];
@@ -93,28 +96,35 @@ export function N1WalletProvider(_a) {
93
96
  var _j = useState(''), username = _j[0], setUsername = _j[1];
94
97
  var _k = useState(null), signMessageWithSessionKey = _k[0], setSignMessageWithSessionKey = _k[1];
95
98
  var _l = useState(null), signMessageWithWalletKey = _l[0], setSignMessageWithWalletKey = _l[1];
96
- var _m = useState(false), showSidebar = _m[0], setShowSidebar = _m[1];
97
- var _o = useState(false), startClosingLogin = _o[0], setStartClosingLogin = _o[1];
98
- var _p = useState(false), loading = _p[0], setLoading = _p[1];
99
- var _q = useState(N1ModalViewMode.Connect), viewMode = _q[0], setViewMode = _q[1];
100
- // Log initialization only once on mount
101
- useEffect(function () {
102
- // eslint-disable-next-line no-console
103
- console.log('N1WalletProvider initializing');
104
- }, []);
99
+ var _m = useState(null), signTransactionWithWalletKey = _m[0], setSignTransactionWithWalletKey = _m[1];
100
+ var _o = useState(false), showSidebar = _o[0], setShowSidebar = _o[1];
101
+ var _p = useState(false), startClosingLogin = _p[0], setStartClosingLogin = _p[1];
102
+ var _q = useState(false), loading = _q[0], setLoading = _q[1];
103
+ var _r = useState(N1ModalViewMode.Connect), viewMode = _r[0], setViewMode = _r[1];
104
+ var _s = useState(null), nordUser = _s[0], setNordUser = _s[1];
105
105
  // dynamic
106
- var _r = useState(''), address = _r[0], setAddress = _r[1];
107
- var _s = useState([]), balances = _s[0], setBalances = _s[1];
108
- var _t = useState(''), chain = _t[0], setChain = _t[1];
109
- var _u = useState(null), dynamicSdkHasLoaded = _u[0], setDynamicSdkHasLoaded = _u[1];
110
- var _v = useState(null), dynamicHandleLogOut = _v[0], setDynamicHandleLogOut = _v[1];
111
- var _w = useState(null), sessionMode = _w[0], setSessionMode = _w[1];
112
- var _x = useState(null), dynamicWallet = _x[0], setDynamicWallet = _x[1];
113
- var _y = useState(null), showDynamicWidget = _y[0], setShowDynamicWidget = _y[1];
106
+ var _t = useState(''), address = _t[0], setAddress = _t[1];
107
+ var _u = useState([]), balances = _u[0], setBalances = _u[1];
108
+ var _v = useState(''), chain = _v[0], setChain = _v[1];
109
+ var _w = useState(null), dynamicSdkHasLoaded = _w[0], setDynamicSdkHasLoaded = _w[1];
110
+ var _x = useState(null), dynamicHandleLogOut = _x[0], setDynamicHandleLogOut = _x[1];
111
+ var _y = useState(null), sessionMode = _y[0], setSessionMode = _y[1];
112
+ var _z = useState(null), dynamicWallet = _z[0], setDynamicWallet = _z[1];
113
+ var _0 = useState(null), showDynamicWidget = _0[0], setShowDynamicWidget = _0[1];
114
+ // Create a separate component for Nord hooks to avoid conditional hook calls
115
+ var NordHooks = function () {
116
+ useNordInstance();
117
+ useNordWalletConnect(FlowState.IDLE, function (newState) { return console.log('State transition:', newState); }, {}, // context
118
+ function (updates) { return console.log('Context updates:', updates); }, providedSessionMode);
119
+ return null;
120
+ };
114
121
  // Combine SDK loading and initialization into a single effect
115
122
  useEffect(function () {
116
123
  var mounted = true;
117
- var loadNTSSDK = function () { return __awaiter(_this, void 0, void 0, function () {
124
+ // Set the session mode from props
125
+ setSessionMode(providedSessionMode);
126
+ // Load the appropriate SDK
127
+ var loadSDK = function () { return __awaiter(_this, void 0, void 0, function () {
118
128
  var NTSInterface, error_1;
119
129
  return __generator(this, function (_a) {
120
130
  switch (_a.label) {
@@ -122,8 +132,6 @@ export function N1WalletProvider(_a) {
122
132
  // eslint-disable-next-line no-console
123
133
  console.log('Loading NTS SDK');
124
134
  if (providedSessionMode === N1SessionMode.Nord) {
125
- // eslint-disable-next-line no-console
126
- console.log('Nord mode, skipping NTS SDK load');
127
135
  return [2 /*return*/];
128
136
  }
129
137
  _a.label = 1;
@@ -149,11 +157,11 @@ export function N1WalletProvider(_a) {
149
157
  }
150
158
  });
151
159
  }); };
152
- loadNTSSDK();
160
+ loadSDK();
153
161
  return function () {
154
162
  mounted = false;
155
163
  };
156
- }, [providedSessionMode]);
164
+ }, [providedSessionMode, onError]);
157
165
  // Separate effect to handle loading state based on both SDKs
158
166
  useEffect(function () {
159
167
  var isDynamicReady = dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;
@@ -170,25 +178,31 @@ export function N1WalletProvider(_a) {
170
178
  return [2 /*return*/];
171
179
  });
172
180
  }); };
173
- return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: {
174
- address: address,
175
- balances: balances,
176
- appId: appId,
177
- chain: chain,
178
- isConnected: isConnected,
179
- ntsInterface: ntsInterface,
180
- sessionMode: sessionMode,
181
- sessionPubKey: sessionPubKey,
182
- setShowLogin: setShowLogin,
183
- showLogin: showLogin,
184
- signMessageWithSessionKey: signMessageWithSessionKey,
185
- signMessageWithWalletKey: signMessageWithWalletKey,
186
- userChain: userChain,
187
- username: username,
188
- viewMode: viewMode,
189
- walletPubKey: walletPubKey,
190
- throwTestError: throwTestError,
191
- }, children: _jsxs(N1InternalWalletContext.Provider, { value: {
181
+ // Create the wallet context value
182
+ var walletContextValue = {
183
+ address: address,
184
+ appId: appId,
185
+ balances: balances,
186
+ chain: chain,
187
+ isConnected: isConnected,
188
+ ntsInterface: ntsInterface,
189
+ sessionMode: sessionMode,
190
+ sessionPubKey: sessionPubKey,
191
+ setShowLogin: setShowLogin,
192
+ showLogin: showLogin,
193
+ signMessageWithSessionKey: signMessageWithSessionKey,
194
+ signMessageWithWalletKey: signMessageWithWalletKey,
195
+ signTransactionWithWalletKey: signTransactionWithWalletKey,
196
+ userChain: userChain,
197
+ username: username,
198
+ viewMode: viewMode,
199
+ walletPubKey: walletPubKey,
200
+ throwTestError: throwTestError,
201
+ faucetUrl: faucetUrl,
202
+ nord: nord,
203
+ nordUser: nordUser,
204
+ };
205
+ return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: walletContextValue, children: _jsxs(N1InternalWalletContext.Provider, { value: {
192
206
  dynamicHandleLogOut: dynamicHandleLogOut,
193
207
  dynamicWallet: dynamicWallet,
194
208
  loading: loading,
@@ -208,6 +222,7 @@ export function N1WalletProvider(_a) {
208
222
  setShowSidebar: setShowSidebar,
209
223
  setSignMessageWithSessionKey: setSignMessageWithSessionKey,
210
224
  setSignMessageWithWalletKey: setSignMessageWithWalletKey,
225
+ setSignTransactionWithWalletKey: setSignTransactionWithWalletKey,
211
226
  setStartClosingLogin: setStartClosingLogin,
212
227
  setUsername: setUsername,
213
228
  setUserChain: setUserChain,
@@ -218,5 +233,8 @@ export function N1WalletProvider(_a) {
218
233
  showDynamicWidget: showDynamicWidget,
219
234
  setShowDynamicWidget: setShowDynamicWidget,
220
235
  darkMode: darkMode,
221
- }, children: [children, _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
236
+ sessionMode: sessionMode,
237
+ faucetUrl: faucetUrl,
238
+ setNordUser: setNordUser,
239
+ }, children: [children, providedSessionMode === N1SessionMode.Nord && _jsx(NordHooks, {}), _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
222
240
  }