@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,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
+ };
@@ -1,6 +1,13 @@
1
1
  import { TableValues } from '../types';
2
2
  interface TransactionTableProps {
3
- tableValues: TableValues;
3
+ tableValues: TableValues & {
4
+ amount?: {
5
+ text: string;
6
+ visible: boolean;
7
+ typing: boolean;
8
+ };
9
+ };
10
+ onClose?: () => void;
4
11
  }
5
- export declare function TransactionTable({ tableValues }: TransactionTableProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function TransactionTable({ tableValues, onClose }: TransactionTableProps): import("react/jsx-runtime").JSX.Element;
6
13
  export {};
@@ -1,8 +1,58 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  export function TransactionTable(_a) {
3
- var tableValues = _a.tableValues;
4
- return (_jsx("div", { className: "w-1/2 bg-gray-100 dark:bg-gray-950 border border-gray-200 dark:border-gray-800 p-5 rounded-sm h-full", children: _jsx("div", { className: "space-y-4 text-sm", children: Object.entries(tableValues).map(function (_a) {
5
- var key = _a[0], value = _a[1];
6
- return (_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-gray-500 dark:text-gray-400", children: key }), _jsxs("div", { className: "relative transition-opacity duration-300 ".concat(value.visible ? 'opacity-100' : 'opacity-0'), children: [_jsx("span", { className: "text-gray-900 dark:text-gray-50", children: value.text }), value.typing && (_jsx("span", { className: "absolute right-[-12px] top-1/2 -translate-y-1/2 w-[4px] h-[24px] bg-red-500 dark:bg-red-500" }))] })] }, key));
7
- }) }) }));
3
+ var tableValues = _a.tableValues, onClose = _a.onClose;
4
+ // Friendly labels for the keys
5
+ var getLabel = function (key) {
6
+ var labels = {
7
+ amount: 'Amount',
8
+ tx: 'Transaction ID',
9
+ from: 'From',
10
+ to: 'To',
11
+ network: 'Network',
12
+ status: 'Status'
13
+ };
14
+ return labels[key] || key;
15
+ };
16
+ // Get appropriate color for values based on key
17
+ var getValueStyles = function (key, value) {
18
+ if (key === 'status') {
19
+ if (value.toLowerCase().includes('success') || value.toLowerCase().includes('confirmed')) {
20
+ return 'text-green-500 dark:text-emerald-500 font-medium';
21
+ }
22
+ if (value.toLowerCase().includes('pending')) {
23
+ return 'text-amber-500 dark:text-amber-400 font-medium';
24
+ }
25
+ if (value.toLowerCase().includes('fail') || value.toLowerCase().includes('error')) {
26
+ return 'text-red-500 dark:text-red-400 font-medium';
27
+ }
28
+ }
29
+ if (key === 'tx') {
30
+ return 'text-primary-600 dark:text-primary-400 text-xs ';
31
+ }
32
+ if (key === 'network') {
33
+ return 'text-purple-600 dark:text-purple-400 font-medium';
34
+ }
35
+ if (key === 'from' || key === 'to') {
36
+ return 'text-gray-800 dark:text-gray-200 text-xs ';
37
+ }
38
+ if (key === 'amount') {
39
+ return 'text-green-600 dark:text-emerald-500 font-semibold';
40
+ }
41
+ return 'text-gray-900 dark:text-gray-50 font-medium';
42
+ };
43
+ // Order of fields to display
44
+ var fieldOrder = ['amount', 'status', 'network', 'from', 'to', 'tx'];
45
+ // Sort entries based on fieldOrder
46
+ var sortedEntries = Object.entries(tableValues)
47
+ .sort(function (_a, _b) {
48
+ var keyA = _a[0];
49
+ var keyB = _b[0];
50
+ var indexA = fieldOrder.indexOf(keyA);
51
+ var indexB = fieldOrder.indexOf(keyB);
52
+ return (indexA === -1 ? 999 : indexA) - (indexB === -1 ? 999 : indexB);
53
+ });
54
+ return (_jsxs("div", { className: "relative w-full h-full bg-gray-100 dark:bg-gray-950 border border-gray-200 dark:border-gray-800 p-5 rounded-sm flex flex-col justify-center", children: [onClose && (_jsx("button", { onClick: onClose, className: "absolute top-3 right-2 text-gray-500 dark:text-gray-600 hover:text-gray-500 dark:hover:text-gray-300 transition-colors duration-200 focus:outline-none", "aria-label": "Close details", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })), _jsx("div", { className: "space-y-3 text-sm pt-5", children: sortedEntries.map(function (_a) {
55
+ var key = _a[0], value = _a[1];
56
+ return (_jsxs("div", { className: "flex items-center justify-between py-2 ", children: [_jsx("span", { className: "text-gray-500 dark:text-gray-400 font-medium min-w-[120px]", children: getLabel(key) }), _jsxs("div", { className: "relative transition-all duration-300 ".concat(value.visible ? 'opacity-100' : 'opacity-0', " max-w-[65%] text-right flex-1"), children: [_jsx("span", { className: "".concat(getValueStyles(key, value.text), " break-all inline-block"), children: value.text }), value.typing && (_jsx("span", { className: "inline-block ml-1 w-[2px] h-[14px] bg-primary-500 dark:bg-primary-400 animate-pulse" }))] })] }, key));
57
+ }) })] }));
8
58
  }
@@ -1,4 +1,9 @@
1
1
  export interface TableValues {
2
+ amount?: {
3
+ text: string;
4
+ visible: boolean;
5
+ typing: boolean;
6
+ };
2
7
  tx: {
3
8
  text: string;
4
9
  visible: boolean;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Dynamic widget configuration
3
+ */
4
+ import { DynamicContextProps } from '@dynamic-labs/sdk-react-core';
5
+ import { N1SessionMode } from '../Provider/types';
6
+ /**
7
+ * Get Dynamic widget settings based on session mode
8
+ *
9
+ * @param environmentId - Dynamic environment ID
10
+ * @param sessionMode - Session mode (Nord or NTS)
11
+ * @returns Dynamic widget settings
12
+ */
13
+ export declare function getDynamicSettings(environmentId: string, sessionMode?: N1SessionMode | null): DynamicContextProps['settings'];
14
+ /**
15
+ * Set nordflow context flag in Dynamic widget
16
+ *
17
+ * @param setCustomData - Dynamic setCustomData function
18
+ * @param isNordflow - Whether the context is nordflow
19
+ */
20
+ export declare function setDynamicNordflowContext(setCustomData: (data: Record<string, any>) => void, isNordflow: boolean): void;
@@ -0,0 +1,47 @@
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 { SolanaWalletConnectors } from '@dynamic-labs/solana';
13
+ import { N1SessionMode } from '../Provider/types';
14
+ /**
15
+ * Get Dynamic widget settings based on session mode
16
+ *
17
+ * @param environmentId - Dynamic environment ID
18
+ * @param sessionMode - Session mode (Nord or NTS)
19
+ * @returns Dynamic widget settings
20
+ */
21
+ export function getDynamicSettings(environmentId, sessionMode) {
22
+ if (sessionMode === void 0) { sessionMode = null; }
23
+ // Base settings for all contexts
24
+ var baseSettings = {
25
+ environmentId: environmentId,
26
+ appName: 'N1 Wallet',
27
+ appLogoUrl: 'https://n1.xyz/logo.png',
28
+ walletConnectorExtensions: [],
29
+ };
30
+ // Nord-specific settings
31
+ if (sessionMode === N1SessionMode.Nord) {
32
+ return __assign(__assign({}, baseSettings), {
33
+ // Only include Solana wallets when in Nord mode
34
+ walletConnectors: [SolanaWalletConnectors] });
35
+ }
36
+ // Default settings for NTS mode or when sessionMode is null
37
+ return baseSettings;
38
+ }
39
+ /**
40
+ * Set nordflow context flag in Dynamic widget
41
+ *
42
+ * @param setCustomData - Dynamic setCustomData function
43
+ * @param isNordflow - Whether the context is nordflow
44
+ */
45
+ export function setDynamicNordflowContext(setCustomData, isNordflow) {
46
+ setCustomData({ isNordflow: isNordflow });
47
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Solana network configuration
3
+ */
4
+ export declare enum SolanaNetwork {
5
+ MAINNET = "mainnet-beta",
6
+ TESTNET = "testnet",
7
+ DEVNET = "devnet"
8
+ }
9
+ export interface SolanaConfig {
10
+ network: SolanaNetwork;
11
+ endpoint: string;
12
+ explorerUrl: string;
13
+ }
14
+ /**
15
+ * Solana network configurations
16
+ */
17
+ export declare const SOLANA_NETWORKS: Record<SolanaNetwork, SolanaConfig>;
18
+ /**
19
+ * Default Solana network to use
20
+ */
21
+ export declare const DEFAULT_SOLANA_NETWORK = SolanaNetwork.DEVNET;
22
+ /**
23
+ * Get Solana network configuration by network name
24
+ */
25
+ export declare function getSolanaConfig(network?: SolanaNetwork): SolanaConfig;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Solana network configuration
3
+ */
4
+ var _a;
5
+ export var SolanaNetwork;
6
+ (function (SolanaNetwork) {
7
+ SolanaNetwork["MAINNET"] = "mainnet-beta";
8
+ SolanaNetwork["TESTNET"] = "testnet";
9
+ SolanaNetwork["DEVNET"] = "devnet";
10
+ })(SolanaNetwork || (SolanaNetwork = {}));
11
+ /**
12
+ * Solana network configurations
13
+ */
14
+ export var SOLANA_NETWORKS = (_a = {},
15
+ _a[SolanaNetwork.MAINNET] = {
16
+ network: SolanaNetwork.MAINNET,
17
+ endpoint: 'https://api.mainnet-beta.solana.com',
18
+ explorerUrl: 'https://explorer.solana.com',
19
+ },
20
+ _a[SolanaNetwork.TESTNET] = {
21
+ network: SolanaNetwork.TESTNET,
22
+ endpoint: 'https://api.testnet.solana.com',
23
+ explorerUrl: 'https://explorer.solana.com/?cluster=testnet',
24
+ },
25
+ _a[SolanaNetwork.DEVNET] = {
26
+ network: SolanaNetwork.DEVNET,
27
+ endpoint: 'https://api.devnet.solana.com',
28
+ explorerUrl: 'https://explorer.solana.com/?cluster=devnet',
29
+ },
30
+ _a);
31
+ /**
32
+ * Default Solana network to use
33
+ */
34
+ export var DEFAULT_SOLANA_NETWORK = SolanaNetwork.DEVNET;
35
+ /**
36
+ * Get Solana network configuration by network name
37
+ */
38
+ export function getSolanaConfig(network) {
39
+ if (network === void 0) { network = DEFAULT_SOLANA_NETWORK; }
40
+ return SOLANA_NETWORKS[network];
41
+ }
@@ -5,7 +5,11 @@ export declare enum WalletErrorCode {
5
5
  NETWORK_ERROR = "NETWORK_ERROR",
6
6
  INVALID_CHAIN = "INVALID_CHAIN",
7
7
  UNKNOWN = "UNKNOWN",
8
- TRANSACTION_FAILED = "TRANSACTION_FAILED"
8
+ TRANSACTION_FAILED = "TRANSACTION_FAILED",
9
+ INITIALIZATION_ERROR = "INITIALIZATION_ERROR",
10
+ USER_FETCH_FAILED = "USER_FETCH_FAILED",
11
+ SESSION_INITIALIZATION_FAILED = "SESSION_INITIALIZATION_FAILED",
12
+ AUTHENTICATION_FAILED = "AUTHENTICATION_FAILED"
9
13
  }
10
14
  export declare class WalletError extends Error {
11
15
  code: WalletErrorCode;
@@ -22,6 +22,10 @@ export var WalletErrorCode;
22
22
  WalletErrorCode["INVALID_CHAIN"] = "INVALID_CHAIN";
23
23
  WalletErrorCode["UNKNOWN"] = "UNKNOWN";
24
24
  WalletErrorCode["TRANSACTION_FAILED"] = "TRANSACTION_FAILED";
25
+ WalletErrorCode["INITIALIZATION_ERROR"] = "INITIALIZATION_ERROR";
26
+ WalletErrorCode["USER_FETCH_FAILED"] = "USER_FETCH_FAILED";
27
+ WalletErrorCode["SESSION_INITIALIZATION_FAILED"] = "SESSION_INITIALIZATION_FAILED";
28
+ WalletErrorCode["AUTHENTICATION_FAILED"] = "AUTHENTICATION_FAILED";
25
29
  })(WalletErrorCode || (WalletErrorCode = {}));
26
30
  var WalletError = /** @class */ (function (_super) {
27
31
  __extends(WalletError, _super);
@@ -55,6 +59,14 @@ var WalletError = /** @class */ (function (_super) {
55
59
  return 'Invalid Chain';
56
60
  case WalletErrorCode.TRANSACTION_FAILED:
57
61
  return 'Transaction Failed';
62
+ case WalletErrorCode.INITIALIZATION_ERROR:
63
+ return 'Initialization Error';
64
+ case WalletErrorCode.USER_FETCH_FAILED:
65
+ return 'User Fetch Failed';
66
+ case WalletErrorCode.SESSION_INITIALIZATION_FAILED:
67
+ return 'Session Initialization Failed';
68
+ case WalletErrorCode.AUTHENTICATION_FAILED:
69
+ return 'Authentication Failed';
58
70
  default:
59
71
  return 'Wallet Error';
60
72
  }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Hook for managing Solana session keys
3
+ *
4
+ * @returns Object with session key management functions and state
5
+ */
6
+ export declare function useSolanaSession(): {
7
+ hasSession: boolean;
8
+ isGeneratingKeys: boolean;
9
+ generateSessionKeys: () => Promise<{
10
+ publicKey: Uint8Array;
11
+ privateKey: Uint8Array;
12
+ } | null>;
13
+ rotateKeys: () => Promise<{
14
+ publicKey: Uint8Array;
15
+ privateKey: Uint8Array;
16
+ } | null>;
17
+ };
@@ -0,0 +1,180 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useCallback, useEffect, useState } from 'react';
38
+ import { useN1WalletContext, useN1WalletInternalContext } from '../Provider/hooks';
39
+ import { N1SessionMode } from '../Provider/types';
40
+ import { WalletError, WalletErrorCode } from '../errors/types';
41
+ import { logger } from '../utils/logger';
42
+ import { createSessionSigningFunction, generateSolanaSessionKeyPair, getSessionKeysFromLocalStorage, hasValidSession, rotateSessionKeys, storeSessionKeysInLocalStorage, } from '../utils/solana-session';
43
+ /**
44
+ * Hook for managing Solana session keys
45
+ *
46
+ * @returns Object with session key management functions and state
47
+ */
48
+ export function useSolanaSession() {
49
+ var _this = this;
50
+ var _a = useN1WalletContext(), address = _a.address, sessionMode = _a.sessionMode, walletPubKey = _a.walletPubKey, signMessageWithWalletKey = _a.signMessageWithWalletKey;
51
+ var _b = useN1WalletInternalContext(), setSessionPubKey = _b.setSessionPubKey, setSignMessageWithSessionKey = _b.setSignMessageWithSessionKey, handleError = _b.handleError;
52
+ var _c = useState(false), isGeneratingKeys = _c[0], setIsGeneratingKeys = _c[1];
53
+ var _d = useState(false), hasSession = _d[0], setHasSession = _d[1];
54
+ // Check if we have a valid session on mount and when address changes
55
+ useEffect(function () {
56
+ if (address && sessionMode === N1SessionMode.Nord) {
57
+ var hasExistingSession = hasValidSession(address);
58
+ setHasSession(hasExistingSession);
59
+ // If we have a valid session, set up the session key and signing function
60
+ if (hasExistingSession) {
61
+ var sessionData_1 = getSessionKeysFromLocalStorage(address);
62
+ if (sessionData_1) {
63
+ setSessionPubKey(base64ToUint8Array(sessionData_1.ed25519PrivateKey));
64
+ setSignMessageWithSessionKey(function () {
65
+ return createSessionSigningFunction(sessionData_1.ed25519PrivateKey);
66
+ });
67
+ logger.debug('Restored existing Solana session', { address: address });
68
+ }
69
+ }
70
+ }
71
+ else {
72
+ setHasSession(false);
73
+ }
74
+ }, [address, sessionMode, setSessionPubKey, setSignMessageWithSessionKey]);
75
+ /**
76
+ * Generate new session keys
77
+ */
78
+ var generateSessionKeys = useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
79
+ var keyPair, signFn_1, error_1;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0:
83
+ if (!address || sessionMode !== N1SessionMode.Nord) {
84
+ handleError(new WalletError(WalletErrorCode.INVALID_STATE, 'Cannot generate session keys: wallet not connected or not in Nord mode'));
85
+ return [2 /*return*/, null];
86
+ }
87
+ if (!signMessageWithWalletKey) {
88
+ handleError(new WalletError(WalletErrorCode.WALLET_NOT_FOUND, 'Cannot generate session keys: wallet signing function not available'));
89
+ return [2 /*return*/, null];
90
+ }
91
+ setIsGeneratingKeys(true);
92
+ _a.label = 1;
93
+ case 1:
94
+ _a.trys.push([1, 3, 4, 5]);
95
+ return [4 /*yield*/, generateSolanaSessionKeyPair()];
96
+ case 2:
97
+ keyPair = _a.sent();
98
+ // Store in local storage
99
+ storeSessionKeysInLocalStorage({
100
+ privKey: keyPair.privateKey,
101
+ walletPublicKey: address,
102
+ chainName: 'solana',
103
+ });
104
+ // Set up session key and signing function
105
+ setSessionPubKey(keyPair.publicKey);
106
+ signFn_1 = createSessionSigningFunction(keyPair.privateKey);
107
+ setSignMessageWithSessionKey(function () { return signFn_1; });
108
+ setHasSession(true);
109
+ logger.debug('Generated new Solana session keys', { address: address });
110
+ return [2 /*return*/, keyPair];
111
+ case 3:
112
+ error_1 = _a.sent();
113
+ handleError(new WalletError(WalletErrorCode.SESSION_CREATION_FAILED, 'Failed to generate session keys', { originalError: error_1 }));
114
+ return [2 /*return*/, null];
115
+ case 4:
116
+ setIsGeneratingKeys(false);
117
+ return [7 /*endfinally*/];
118
+ case 5: return [2 /*return*/];
119
+ }
120
+ });
121
+ }); }, [
122
+ address,
123
+ sessionMode,
124
+ signMessageWithWalletKey,
125
+ handleError,
126
+ setSessionPubKey,
127
+ setSignMessageWithSessionKey,
128
+ ]);
129
+ /**
130
+ * Rotate session keys
131
+ */
132
+ var rotateKeys = useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
133
+ var keyPair, signFn_2, error_2;
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0:
137
+ if (!address || sessionMode !== N1SessionMode.Nord) {
138
+ handleError(new WalletError(WalletErrorCode.INVALID_STATE, 'Cannot rotate session keys: wallet not connected or not in Nord mode'));
139
+ return [2 /*return*/, null];
140
+ }
141
+ setIsGeneratingKeys(true);
142
+ _a.label = 1;
143
+ case 1:
144
+ _a.trys.push([1, 3, 4, 5]);
145
+ return [4 /*yield*/, rotateSessionKeys(address, 'solana')];
146
+ case 2:
147
+ keyPair = _a.sent();
148
+ if (keyPair) {
149
+ // Set up session key and signing function
150
+ setSessionPubKey(keyPair.publicKey);
151
+ signFn_2 = createSessionSigningFunction(keyPair.privateKey);
152
+ setSignMessageWithSessionKey(function () { return signFn_2; });
153
+ setHasSession(true);
154
+ logger.debug('Rotated Solana session keys', { address: address });
155
+ }
156
+ return [2 /*return*/, keyPair];
157
+ case 3:
158
+ error_2 = _a.sent();
159
+ handleError(new WalletError(WalletErrorCode.SESSION_CREATION_FAILED, 'Failed to rotate session keys', { originalError: error_2 }));
160
+ return [2 /*return*/, null];
161
+ case 4:
162
+ setIsGeneratingKeys(false);
163
+ return [7 /*endfinally*/];
164
+ case 5: return [2 /*return*/];
165
+ }
166
+ });
167
+ }); }, [
168
+ address,
169
+ sessionMode,
170
+ handleError,
171
+ setSessionPubKey,
172
+ setSignMessageWithSessionKey,
173
+ ]);
174
+ return {
175
+ hasSession: hasSession,
176
+ isGeneratingKeys: isGeneratingKeys,
177
+ generateSessionKeys: generateSessionKeys,
178
+ rotateKeys: rotateKeys,
179
+ };
180
+ }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import './main.css';
2
2
  export { N1WalletProvider } from './Provider/N1WalletProvider';
3
- export { N1ModalViewMode } from './Provider/types';
3
+ export { N1ModalViewMode, N1SessionMode, type N1NordFunctions, } from './Provider/types';
4
4
  export { N1ConnectButton } from './WidgetButton/N1ConnectButton';
5
5
  export { useN1WalletContext } from './Provider/hooks';
6
6
  export { default as Logo } from './components/Logo';
7
- export { default as WalletDeposit } from './components/WalletDeposit';
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import './main.css';
2
2
  export { N1WalletProvider } from './Provider/N1WalletProvider';
3
- export { N1ModalViewMode } from './Provider/types';
3
+ export { N1ModalViewMode, N1SessionMode, } from './Provider/types';
4
4
  export { N1ConnectButton } from './WidgetButton/N1ConnectButton';
5
5
  export { useN1WalletContext } from './Provider/hooks';
6
6
  export { default as Logo } from './components/Logo';
7
- export { default as WalletDeposit } from './components/WalletDeposit';