@n1xyz/wallet-widget 0.0.1 → 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 (483) hide show
  1. package/LICENSE +44 -0
  2. package/README.md +210 -0
  3. package/dist/Logic/sessionManager.d.ts +53 -0
  4. package/dist/Logic/sessionManager.js +178 -0
  5. package/dist/Logic/transactionManager.d.ts +41 -0
  6. package/dist/Logic/transactionManager.js +192 -0
  7. package/dist/Logic/utils.d.ts +1 -0
  8. package/dist/Logic/utils.js +47 -9
  9. package/dist/Modal/BackButton.js +14 -1
  10. package/dist/Modal/ConnectView.js +20 -23
  11. package/dist/Modal/CreateSessionView.js +23 -11
  12. package/dist/Modal/CreateUserView.js +1 -1
  13. package/dist/Modal/LoadingFallback.d.ts +2 -0
  14. package/dist/Modal/LoadingFallback.js +2 -0
  15. package/dist/Modal/ModalHeader.js +14 -3
  16. package/dist/Modal/N1WalletModal.js +91 -79
  17. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
  18. package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
  19. package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
  20. package/dist/Modal/NTSFlow/NTSFlow.js +30 -0
  21. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
  22. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
  23. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
  24. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
  25. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
  26. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
  27. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
  28. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
  29. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
  30. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
  31. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
  32. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
  33. package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
  34. package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
  35. package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
  36. package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
  37. package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
  38. package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
  39. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  40. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
  41. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  42. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
  43. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
  44. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
  45. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  46. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
  47. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
  48. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
  49. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
  50. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
  51. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  52. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
  53. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  54. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
  55. package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
  56. package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
  57. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  58. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  59. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  60. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  61. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  62. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  63. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  64. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
  65. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  66. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  67. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  68. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  69. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  70. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
  71. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  72. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  73. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  74. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  75. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  76. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
  77. package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
  78. package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
  79. package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
  80. package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
  81. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
  82. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
  83. package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
  84. package/dist/Modal/NTSFlow/components/BackButton.js +26 -0
  85. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
  86. package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
  87. package/dist/Modal/NTSFlow/index.d.ts +1 -0
  88. package/dist/Modal/NTSFlow/index.js +1 -0
  89. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
  90. package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
  91. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
  92. package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
  93. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
  94. package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
  95. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
  96. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
  97. package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
  98. package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
  99. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
  100. package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
  101. package/dist/Modal/NoWhitelistView.js +14 -1
  102. package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
  103. package/dist/Modal/NordFlow/NordFlow.js +262 -0
  104. package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
  105. package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
  106. package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
  107. package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
  108. package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
  109. package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
  110. package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
  111. package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
  112. package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
  113. package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
  114. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
  115. package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
  116. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
  117. package/dist/Modal/NordFlow/components/TransactionTable.js +83 -0
  118. package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
  119. package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
  120. package/dist/Modal/NordFlow/components/index.d.ts +5 -0
  121. package/dist/Modal/NordFlow/components/index.js +5 -0
  122. package/dist/Modal/NordFlow/constants.d.ts +37 -0
  123. package/dist/Modal/NordFlow/constants.js +192 -0
  124. package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
  125. package/dist/Modal/NordFlow/hoc/index.js +1 -0
  126. package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
  127. package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
  128. package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
  129. package/dist/Modal/NordFlow/hooks/index.js +5 -0
  130. package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  131. package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
  132. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
  133. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +365 -0
  134. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
  135. package/dist/Modal/NordFlow/hooks/useFlowState.js +166 -0
  136. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
  137. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
  138. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
  139. package/dist/Modal/NordFlow/hooks/useNordInstance.js +310 -0
  140. package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
  141. package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
  142. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
  143. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +231 -0
  144. package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
  145. package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
  146. package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  147. package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
  148. package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
  149. package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
  150. package/dist/Modal/NordFlow/index copy.d.ts +1 -0
  151. package/dist/Modal/NordFlow/index copy.js +1 -0
  152. package/dist/Modal/NordFlow/index.d.ts +1 -0
  153. package/dist/Modal/NordFlow/index.js +1 -0
  154. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  155. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  156. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  157. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  158. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  159. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +47 -0
  160. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +10 -0
  161. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +165 -0
  162. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
  163. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +44 -0
  164. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  165. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +119 -0
  166. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
  167. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +126 -0
  168. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
  169. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
  170. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  171. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
  172. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
  173. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
  174. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
  175. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +62 -0
  176. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  177. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
  178. package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  179. package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
  180. package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
  181. package/dist/Modal/NordFlow/screens/index.js +9 -0
  182. package/dist/Modal/NordFlow/types.d.ts +108 -0
  183. package/dist/Modal/NordFlow/types.js +32 -0
  184. package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
  185. package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
  186. package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
  187. package/dist/Modal/NordFlow/utils/index.js +3 -0
  188. package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
  189. package/dist/Modal/NordFlow/utils/nordUtils.js +61 -0
  190. package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
  191. package/dist/Modal/NordFlow/utils/persistence.js +83 -0
  192. package/dist/Modal/Sidebar/N1Sidebar.js +167 -14
  193. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
  194. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
  195. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
  196. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
  197. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
  198. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +38 -0
  199. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
  200. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
  201. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
  202. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
  203. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
  204. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +197 -0
  205. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
  206. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
  207. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
  208. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +28 -0
  209. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
  210. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +22 -0
  211. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
  212. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
  213. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
  214. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
  215. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
  216. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +76 -0
  217. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
  218. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +103 -0
  219. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
  220. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
  221. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
  222. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
  223. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
  224. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +7 -0
  225. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
  226. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +249 -0
  227. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
  228. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
  229. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
  230. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
  231. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
  232. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +177 -0
  233. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
  234. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +188 -0
  235. package/dist/Modal/SigningView.js +1 -1
  236. package/dist/NordFlow/WalletConnectionFlow.d.ts +9 -0
  237. package/dist/NordFlow/WalletConnectionFlow.js +145 -0
  238. package/dist/NordFlow/components/AnimatedButton.d.ts +14 -0
  239. package/dist/NordFlow/components/AnimatedButton.js +75 -0
  240. package/dist/NordFlow/components/ChainButton.d.ts +7 -0
  241. package/dist/NordFlow/components/ChainButton.js +5 -0
  242. package/dist/NordFlow/components/LoadingSquares.d.ts +1 -0
  243. package/dist/NordFlow/components/LoadingSquares.js +5 -0
  244. package/dist/NordFlow/components/TransactionTable.d.ts +13 -0
  245. package/dist/NordFlow/components/TransactionTable.js +58 -0
  246. package/dist/NordFlow/components/WaitingMessage.d.ts +6 -0
  247. package/dist/NordFlow/components/WaitingMessage.js +6 -0
  248. package/dist/NordFlow/components/index.d.ts +5 -0
  249. package/dist/NordFlow/components/index.js +5 -0
  250. package/dist/NordFlow/constants.d.ts +37 -0
  251. package/dist/NordFlow/constants.js +223 -0
  252. package/dist/NordFlow/hooks/index.d.ts +8 -0
  253. package/dist/NordFlow/hooks/index.js +8 -0
  254. package/dist/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  255. package/dist/NordFlow/hooks/useButtonTyping.js +43 -0
  256. package/dist/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  257. package/dist/NordFlow/hooks/useDepositFlow.js +166 -0
  258. package/dist/NordFlow/hooks/useFlowState.d.ts +32 -0
  259. package/dist/NordFlow/hooks/useFlowState.js +163 -0
  260. package/dist/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  261. package/dist/NordFlow/hooks/useInterruptHandler.js +101 -0
  262. package/dist/NordFlow/hooks/useNordSession.d.ts +32 -0
  263. package/dist/NordFlow/hooks/useNordSession.js +193 -0
  264. package/dist/NordFlow/hooks/useTableValues.d.ts +2 -0
  265. package/dist/NordFlow/hooks/useTableValues.js +69 -0
  266. package/dist/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  267. package/dist/NordFlow/hooks/useWaitingMessage.js +89 -0
  268. package/dist/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  269. package/dist/NordFlow/hooks/useWalletConnect.js +132 -0
  270. package/dist/NordFlow/index.d.ts +3 -0
  271. package/dist/NordFlow/index.js +3 -0
  272. package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  273. package/dist/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  274. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  275. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  276. package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  277. package/dist/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  278. package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  279. package/dist/NordFlow/screens/04-AmountInputScreen.js +20 -0
  280. package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  281. package/dist/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  282. package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  283. package/dist/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  284. package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  285. package/dist/NordFlow/screens/07-NordAuthScreen.js +14 -0
  286. package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  287. package/dist/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  288. package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  289. package/dist/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  290. package/dist/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  291. package/dist/NordFlow/screens/10-ErrorScreen.js +13 -0
  292. package/dist/NordFlow/screens/index.d.ts +10 -0
  293. package/dist/NordFlow/screens/index.js +10 -0
  294. package/dist/NordFlow/types.d.ts +105 -0
  295. package/dist/NordFlow/types.js +34 -0
  296. package/dist/NordFlow/utils/persistence.d.ts +24 -0
  297. package/dist/NordFlow/utils/persistence.js +83 -0
  298. package/dist/Provider/LazyWalletProvider.js +75 -38
  299. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  300. package/dist/Provider/N1WalletProvider.js +63 -42
  301. package/dist/Provider/types.d.ts +69 -0
  302. package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +9 -0
  303. package/dist/WalletConnectionFlow/WalletConnectionFlow.js +145 -0
  304. package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +14 -0
  305. package/dist/WalletConnectionFlow/components/AnimatedButton.js +75 -0
  306. package/dist/WalletConnectionFlow/components/ChainButton.d.ts +7 -0
  307. package/dist/WalletConnectionFlow/components/ChainButton.js +5 -0
  308. package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +1 -0
  309. package/dist/WalletConnectionFlow/components/LoadingSquares.js +5 -0
  310. package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +13 -0
  311. package/dist/WalletConnectionFlow/components/TransactionTable.js +58 -0
  312. package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +6 -0
  313. package/dist/WalletConnectionFlow/components/WaitingMessage.js +6 -0
  314. package/dist/WalletConnectionFlow/components/index.d.ts +5 -0
  315. package/dist/WalletConnectionFlow/components/index.js +5 -0
  316. package/dist/WalletConnectionFlow/constants.d.ts +37 -0
  317. package/dist/WalletConnectionFlow/constants.js +223 -0
  318. package/dist/WalletConnectionFlow/hooks/index.d.ts +8 -0
  319. package/dist/WalletConnectionFlow/hooks/index.js +8 -0
  320. package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +7 -0
  321. package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +43 -0
  322. package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +38 -0
  323. package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +166 -0
  324. package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +32 -0
  325. package/dist/WalletConnectionFlow/hooks/useFlowState.js +163 -0
  326. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +27 -0
  327. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +101 -0
  328. package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +32 -0
  329. package/dist/WalletConnectionFlow/hooks/useNordSession.js +193 -0
  330. package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +2 -0
  331. package/dist/WalletConnectionFlow/hooks/useTableValues.js +69 -0
  332. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +6 -0
  333. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +89 -0
  334. package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +30 -0
  335. package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +132 -0
  336. package/dist/WalletConnectionFlow/index.d.ts +3 -0
  337. package/dist/WalletConnectionFlow/index.js +3 -0
  338. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  339. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +17 -0
  340. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  341. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  342. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  343. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +7 -0
  344. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +8 -0
  345. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +20 -0
  346. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  347. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +6 -0
  348. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  349. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +99 -0
  350. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +7 -0
  351. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +14 -0
  352. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  353. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +20 -0
  354. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  355. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +18 -0
  356. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +7 -0
  357. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +13 -0
  358. package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +8 -0
  359. package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +20 -0
  360. package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +8 -0
  361. package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +28 -0
  362. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +6 -0
  363. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +20 -0
  364. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +7 -0
  365. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +7 -0
  366. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +6 -0
  367. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +17 -0
  368. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +7 -0
  369. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +6 -0
  370. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +8 -0
  371. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +99 -0
  372. package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +7 -0
  373. package/dist/WalletConnectionFlow/screens/ErrorScreen.js +13 -0
  374. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +6 -0
  375. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +47 -0
  376. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +6 -0
  377. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +47 -0
  378. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +5 -0
  379. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +18 -0
  380. package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +7 -0
  381. package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +14 -0
  382. package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +6 -0
  383. package/dist/WalletConnectionFlow/screens/SigningScreen.js +6 -0
  384. package/dist/WalletConnectionFlow/screens/index.d.ts +10 -0
  385. package/dist/WalletConnectionFlow/screens/index.js +10 -0
  386. package/dist/WalletConnectionFlow/types.d.ts +105 -0
  387. package/dist/WalletConnectionFlow/types.js +34 -0
  388. package/dist/WalletConnectionFlow/utils/persistence.d.ts +24 -0
  389. package/dist/WalletConnectionFlow/utils/persistence.js +83 -0
  390. package/dist/components/Logo.d.ts +7 -0
  391. package/dist/components/Logo.js +118 -0
  392. package/dist/components/QRCodeLoader.d.ts +4 -0
  393. package/dist/components/QRCodeLoader.js +8 -0
  394. package/dist/components/WalletDeposit/AnimatedButton.d.ts +17 -0
  395. package/dist/components/WalletDeposit/AnimatedButton.js +29 -0
  396. package/dist/components/WalletDeposit/components/ChainButton.d.ts +7 -0
  397. package/dist/components/WalletDeposit/components/ChainButton.js +5 -0
  398. package/dist/components/WalletDeposit/components/LoadingSquares.d.ts +1 -0
  399. package/dist/components/WalletDeposit/components/LoadingSquares.js +5 -0
  400. package/dist/components/WalletDeposit/components/TransactionTable.d.ts +13 -0
  401. package/dist/components/WalletDeposit/components/TransactionTable.js +58 -0
  402. package/dist/components/WalletDeposit/components/WaitingMessage.d.ts +6 -0
  403. package/dist/components/WalletDeposit/components/WaitingMessage.js +6 -0
  404. package/dist/components/WalletDeposit/constants.d.ts +15 -0
  405. package/dist/components/WalletDeposit/constants.js +32 -0
  406. package/dist/components/WalletDeposit/hooks.d.ts +9 -0
  407. package/dist/components/WalletDeposit/hooks.js +185 -0
  408. package/dist/components/WalletDeposit/index.d.ts +1 -0
  409. package/dist/components/WalletDeposit/index.js +136 -0
  410. package/dist/components/WalletDeposit/screens/AmountInputScreen.d.ts +12 -0
  411. package/dist/components/WalletDeposit/screens/AmountInputScreen.js +18 -0
  412. package/dist/components/WalletDeposit/screens/AppsTableScreen.d.ts +8 -0
  413. package/dist/components/WalletDeposit/screens/AppsTableScreen.js +28 -0
  414. package/dist/components/WalletDeposit/screens/ChainSelectionScreen.d.ts +5 -0
  415. package/dist/components/WalletDeposit/screens/ChainSelectionScreen.js +8 -0
  416. package/dist/components/WalletDeposit/screens/InitialScreen.d.ts +9 -0
  417. package/dist/components/WalletDeposit/screens/InitialScreen.js +18 -0
  418. package/dist/components/WalletDeposit/screens/SigningScreen.d.ts +6 -0
  419. package/dist/components/WalletDeposit/screens/SigningScreen.js +6 -0
  420. package/dist/components/WalletDeposit/screens/SuccessScreen.d.ts +12 -0
  421. package/dist/components/WalletDeposit/screens/SuccessScreen.js +7 -0
  422. package/dist/components/WalletDeposit/types.d.ts +48 -0
  423. package/dist/config/dynamic.d.ts +20 -0
  424. package/dist/config/dynamic.js +47 -0
  425. package/dist/config/solana.d.ts +25 -0
  426. package/dist/config/solana.js +41 -0
  427. package/dist/errors/types.d.ts +5 -1
  428. package/dist/errors/types.js +12 -0
  429. package/dist/hooks/useSolanaSession.d.ts +17 -0
  430. package/dist/hooks/useSolanaSession.js +180 -0
  431. package/dist/index.d.ts +2 -1
  432. package/dist/index.js +2 -1
  433. package/dist/main.css +1 -1
  434. package/dist/utils/dynamicImports.d.ts +24 -0
  435. package/dist/utils/dynamicImports.js +41 -0
  436. package/dist/utils/shortenString.d.ts +2 -0
  437. package/dist/utils/shortenString.js +8 -0
  438. package/dist/utils/solana-session.d.ts +84 -0
  439. package/dist/utils/solana-session.js +230 -0
  440. package/package.json +24 -17
  441. package/.eslintrc.js +0 -29
  442. package/dist/Common/NIcon.js +0 -7
  443. package/dist/components/AnimatedButton.d.ts +0 -9
  444. package/dist/components/AnimatedButton.js +0 -5
  445. package/postcss.config.js +0 -6
  446. package/src/Logic/getPseudoName.ts +0 -5832
  447. package/src/Logic/utils.ts +0 -162
  448. package/src/Logic/words.ts +0 -93571
  449. package/src/Modal/BackButton.tsx +0 -23
  450. package/src/Modal/ConnectView.tsx +0 -88
  451. package/src/Modal/CreateSessionView.tsx +0 -242
  452. package/src/Modal/CreateUserView.tsx +0 -195
  453. package/src/Modal/ModalHeader.tsx +0 -64
  454. package/src/Modal/N1WalletModal.tsx +0 -275
  455. package/src/Modal/NoWhitelistView.tsx +0 -61
  456. package/src/Modal/Sidebar/N1Sidebar.tsx +0 -172
  457. package/src/Modal/SigningView.tsx +0 -18
  458. package/src/Modal/SuccessView.tsx +0 -36
  459. package/src/Provider/LazyWalletProvider.tsx +0 -136
  460. package/src/Provider/N1WalletProvider.tsx +0 -208
  461. package/src/Provider/context.ts +0 -11
  462. package/src/Provider/hooks.ts +0 -22
  463. package/src/Provider/icons/CoinbaseWalletIcon.tsx +0 -27
  464. package/src/Provider/icons/ConnectionDotsSVG.tsx +0 -19
  465. package/src/Provider/icons/MetamaskIcon.tsx +0 -58
  466. package/src/Provider/icons/PhantomIcon.tsx +0 -26
  467. package/src/Provider/icons/UserIcon.tsx +0 -15
  468. package/src/Provider/icons/WalletConnectIcon.tsx +0 -15
  469. package/src/Provider/index.ts +0 -3
  470. package/src/Provider/types.ts +0 -77
  471. package/src/WidgetButton/N1ConnectButton.tsx +0 -72
  472. package/src/components/LazyLoadWrapper.tsx +0 -19
  473. package/src/config.ts +0 -2
  474. package/src/errors/types.ts +0 -49
  475. package/src/index.ts +0 -5
  476. package/src/main.css +0 -3
  477. package/src/styles/main.css +0 -3
  478. package/src/utils/lazyLoad.ts +0 -12
  479. package/src/utils/logger.ts +0 -98
  480. package/src/utils/react-shim.js +0 -8
  481. package/tailwind.config.js +0 -44
  482. package/tsconfig.json +0 -21
  483. /package/dist/{Common/NIcon.d.ts → components/WalletDeposit/types.js} +0 -0
package/LICENSE ADDED
@@ -0,0 +1,44 @@
1
+ SOFTWARE LICENSE AGREEMENT
2
+
3
+ Copyright (c) 2024 N1 Labs. All Rights Reserved.
4
+
5
+ This software and associated documentation files (the "Software") are protected by copyright laws
6
+ and international treaties. The following terms govern your use of the Software:
7
+
8
+ 1. PERMISSIONS
9
+ You are permitted to:
10
+ a) Install and use the Software through official npm packages
11
+ b) Use the Software as part of your applications
12
+ c) Create and distribute applications that use the Software as a dependency
13
+
14
+ 2. RESTRICTIONS
15
+ You may not:
16
+ a) Modify, adapt, or create derivative works of the Software
17
+ b) Reverse engineer, decompile, or disassemble the Software
18
+ c) Remove or modify any copyright or proprietary notices
19
+ d) Redistribute the Software except through official npm package dependencies
20
+ e) Fork or create alternate distributions of the Software
21
+
22
+ 3. OWNERSHIP
23
+ The Software is owned by N1 Labs and is protected by copyright laws and international treaty
24
+ provisions. N1 Labs retains all rights not expressly granted to you in this Agreement.
25
+
26
+ 4. DISTRIBUTION
27
+ The Software may only be distributed through the official npm registry as a package dependency.
28
+ You may list this package as a dependency in your package.json, but may not include its source
29
+ code in your projects.
30
+
31
+ 5. NO WARRANTIES
32
+ The Software is provided "AS IS" without warranty of any kind. N1 Labs disclaims all
33
+ warranties, expressed or implied, including but not limited to the implied warranties
34
+ of merchantability and fitness for a particular purpose.
35
+
36
+ 6. LIMITATION OF LIABILITY
37
+ In no event shall N1 Labs be liable for any damages whatsoever arising out of the use
38
+ of or inability to use the Software.
39
+
40
+ 7. TERMINATION
41
+ This license will terminate automatically if you fail to comply with any of the terms
42
+ and conditions of this Agreement. Upon termination, you must cease all use of the Software.
43
+
44
+ For licensing inquiries, please contact: legal@n1.xyz
package/README.md ADDED
@@ -0,0 +1,210 @@
1
+ # N1 Wallet Widget
2
+
3
+ A React component library for integrating N1 wallet functionality into your application. This widget provides a seamless way to connect to blockchain wallets, manage sessions, and perform wallet operations.
4
+
5
+ ## Features
6
+
7
+ - Wallet connection and authentication
8
+ - Session management (Nord and NTS modes)
9
+ - Transaction signing
10
+ - Message signing
11
+ - Balance display
12
+ - Error handling
13
+ - Dark/light mode support
14
+ - Customizable UI
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install @n1xyz/wallet-widget
20
+ # or
21
+ yarn add @n1xyz/wallet-widget
22
+ ```
23
+
24
+ ## Quick Start
25
+
26
+ ```jsx
27
+ import { N1WalletProvider, N1SessionMode } from '@n1xyz/wallet-widget';
28
+ import { Nord } from '@n1xyz/nord-ts';
29
+
30
+ // Initialize Nord client
31
+ const nord = new Nord({
32
+ // Your Nord configuration
33
+ });
34
+
35
+ function App() {
36
+ return (
37
+ <N1WalletProvider
38
+ providedSessionMode={N1SessionMode.Nord}
39
+ appId="your-app-id"
40
+ nord={nord}
41
+ >
42
+ {/* Your application components */}
43
+ </N1WalletProvider>
44
+ );
45
+ }
46
+ ```
47
+
48
+ ## Usage
49
+
50
+ The wallet widget provides a React context that can be accessed throughout your application to interact with the wallet functionality.
51
+
52
+ ### Accessing Wallet Context
53
+
54
+ ```jsx
55
+ import { useN1WalletContext } from '@n1xyz/wallet-widget';
56
+
57
+ function WalletInfo() {
58
+ const {
59
+ address,
60
+ isConnected,
61
+ balances,
62
+ username,
63
+ setShowLogin
64
+ } = useN1WalletContext();
65
+
66
+ return (
67
+ <div>
68
+ {isConnected ? (
69
+ <>
70
+ <p>Connected as: {username}</p>
71
+ <p>Address: {address}</p>
72
+ <p>Balances: {balances.map(b => `${b.balance} ${b.appType}`).join(', ')}</p>
73
+ </>
74
+ ) : (
75
+ <button onClick={() => setShowLogin(true)}>Connect Wallet</button>
76
+ )}
77
+ </div>
78
+ );
79
+ }
80
+ ```
81
+
82
+ ### Signing Messages and Transactions
83
+
84
+ ```jsx
85
+ import { useN1WalletContext } from '@n1xyz/wallet-widget';
86
+
87
+ function SigningExample() {
88
+ const {
89
+ signMessageWithSessionKey,
90
+ signMessageWithWalletKey,
91
+ signTransactionWithWalletKey
92
+ } = useN1WalletContext();
93
+
94
+ const handleSignMessage = async () => {
95
+ if (signMessageWithSessionKey) {
96
+ const message = { content: "Hello, world!" };
97
+ const signature = await signMessageWithSessionKey(message);
98
+ console.log("Signature:", signature);
99
+ }
100
+ };
101
+
102
+ return (
103
+ <button onClick={handleSignMessage}>Sign Message</button>
104
+ );
105
+ }
106
+ ```
107
+
108
+ ## API Reference
109
+
110
+ ### N1WalletProvider Props
111
+
112
+ | Prop | Type | Required | Default | Description |
113
+ |------|------|----------|---------|-------------|
114
+ | children | React.ReactNode | Yes | - | Child components |
115
+ | providedSessionMode | N1SessionMode | Yes | - | Session mode (Nord or NTS) |
116
+ | appId | string | Yes | - | Your application ID |
117
+ | darkMode | boolean | No | true | Enable dark mode UI |
118
+ | onError | (error: WalletError) => void | No | - | Error handler callback |
119
+ | faucetUrl | string | No | - | URL for faucet service |
120
+ | nord | Nord | No | - | Nord instance (required for Nord mode) |
121
+
122
+ ### N1SessionMode
123
+
124
+ ```typescript
125
+ enum N1SessionMode {
126
+ Nord,
127
+ NTS
128
+ }
129
+ ```
130
+
131
+ ### N1WalletContext
132
+
133
+ The context provides the following values:
134
+
135
+ | Property | Type | Description |
136
+ |----------|------|-------------|
137
+ | address | string | User's wallet address |
138
+ | appId | string | Application ID |
139
+ | balances | Balance[] | User's token balances |
140
+ | chain | string | Current blockchain |
141
+ | isConnected | boolean | Connection status |
142
+ | sessionMode | N1SessionMode | Current session mode |
143
+ | sessionPubKey | Uint8Array | Session public key |
144
+ | setShowLogin | (show: boolean) => void | Show/hide login modal |
145
+ | showLogin | boolean | Login modal visibility state |
146
+ | signMessageWithSessionKey | (message: any) => Promise<any> | Sign message with session key |
147
+ | signMessageWithWalletKey | (message: any) => Promise<any> | Sign message with wallet key |
148
+ | signTransactionWithWalletKey | (transaction: any) => Promise<any> | Sign transaction with wallet key |
149
+ | username | string | User's username |
150
+ | walletPubKey | Uint8Array | Wallet public key |
151
+
152
+ ## Error Handling
153
+
154
+ The wallet widget includes a built-in error boundary that catches and processes wallet-related errors. You can provide a custom error handler through the `onError` prop:
155
+
156
+ ```jsx
157
+ <N1WalletProvider
158
+ providedSessionMode={N1SessionMode.Nord}
159
+ appId="your-app-id"
160
+ onError={(error) => {
161
+ console.error("Wallet error:", error.code, error.message);
162
+ // Handle error appropriately
163
+ }}
164
+ >
165
+ {/* Your application */}
166
+ </N1WalletProvider>
167
+ ```
168
+
169
+ ## Examples
170
+
171
+ ### Nord Mode Integration
172
+
173
+ ```jsx
174
+ import { useEffect, useState } from 'react';
175
+ import { N1WalletProvider, N1SessionMode } from '@n1xyz/wallet-widget';
176
+ import { Nord } from '@n1xyz/nord-ts';
177
+
178
+ function App() {
179
+ const [nord, setNord] = useState(null);
180
+
181
+ useEffect(() => {
182
+ async function initNord() {
183
+ const nordClient = new Nord({
184
+ // Your Nord configuration
185
+ });
186
+ await nordClient.initialize();
187
+ setNord(nordClient);
188
+ }
189
+
190
+ initNord();
191
+ }, []);
192
+
193
+ if (!nord) return <div>Loading...</div>;
194
+
195
+ return (
196
+ <N1WalletProvider
197
+ providedSessionMode={N1SessionMode.Nord}
198
+ appId="your-app-id"
199
+ faucetUrl="https://your-faucet-url.com/api/faucet"
200
+ nord={nord}
201
+ >
202
+ <YourApplication />
203
+ </N1WalletProvider>
204
+ );
205
+ }
206
+ ```
207
+
208
+ ## License
209
+
210
+ [MIT License](LICENSE)
@@ -0,0 +1,53 @@
1
+ import { N1SessionMode } from '../Provider/types';
2
+ /**
3
+ * Interface for session key data stored in local storage
4
+ */
5
+ export interface SessionKeyData {
6
+ ed25519PrivateKey: Uint8Array;
7
+ walletPublicKey: string;
8
+ chainName: string;
9
+ createdAt: string;
10
+ sessionMode: N1SessionMode;
11
+ }
12
+ /**
13
+ * Generate a new session key pair
14
+ * @returns Promise resolving to the generated key pair
15
+ */
16
+ export declare function generateSessionKeys(): Promise<{
17
+ publicKey: Uint8Array;
18
+ privateKey: Uint8Array;
19
+ }>;
20
+ /**
21
+ * Create a signing function for the given key pair
22
+ * @param privateKey The private key to use for signing
23
+ * @returns A function that signs messages with the private key
24
+ */
25
+ export declare function createSigningFunction(privateKey: Uint8Array): (message: Uint8Array) => Promise<Uint8Array>;
26
+ /**
27
+ * Store session keys in local storage
28
+ * @param data The session key data to store
29
+ */
30
+ export declare function storeSessionKeys({ privKey, walletPublicKey, chainName, sessionMode }: {
31
+ privKey: Uint8Array;
32
+ walletPublicKey: string;
33
+ chainName: string;
34
+ sessionMode: N1SessionMode;
35
+ }): void;
36
+ /**
37
+ * Retrieve session keys from local storage
38
+ * @param walletPublicKey The wallet public key to retrieve session keys for
39
+ * @returns The session key data or null if not found
40
+ */
41
+ export declare function getSessionKeys(walletPublicKey: string): SessionKeyData | null;
42
+ /**
43
+ * Remove session keys from local storage
44
+ * @param walletPublicKey The wallet public key to remove session keys for
45
+ */
46
+ export declare function removeSessionKeys(walletPublicKey: string): void;
47
+ /**
48
+ * Check if a session exists and is valid
49
+ * @param walletPublicKey The wallet public key to check
50
+ * @param sessionMode The session mode to check
51
+ * @returns Whether a valid session exists
52
+ */
53
+ export declare function hasValidSession(walletPublicKey: string, sessionMode: N1SessionMode): Promise<boolean>;
@@ -0,0 +1,178 @@
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 { generateSessionKeyPair, signEd25519 } from '@n1xyz/nts-sdk';
38
+ import { N1SessionMode } from '../Provider/types';
39
+ import { logger } from '../utils/logger';
40
+ import { arrayBufferToBase64, base64ToUint8Array } from './utils';
41
+ /**
42
+ * Generate a new session key pair
43
+ * @returns Promise resolving to the generated key pair
44
+ */
45
+ export function generateSessionKeys() {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ var error_1;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ _a.trys.push([0, 2, , 3]);
52
+ return [4 /*yield*/, generateSessionKeyPair()];
53
+ case 1: return [2 /*return*/, _a.sent()];
54
+ case 2:
55
+ error_1 = _a.sent();
56
+ logger.error('Failed to generate session keys', error_1);
57
+ throw error_1;
58
+ case 3: return [2 /*return*/];
59
+ }
60
+ });
61
+ });
62
+ }
63
+ /**
64
+ * Create a signing function for the given key pair
65
+ * @param privateKey The private key to use for signing
66
+ * @returns A function that signs messages with the private key
67
+ */
68
+ export function createSigningFunction(privateKey) {
69
+ var _this = this;
70
+ return function (message) { return __awaiter(_this, void 0, void 0, function () {
71
+ var error_2;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ _a.trys.push([0, 2, , 3]);
76
+ return [4 /*yield*/, signEd25519(message, privateKey)];
77
+ case 1: return [2 /*return*/, _a.sent()];
78
+ case 2:
79
+ error_2 = _a.sent();
80
+ logger.error('Error signing with session key', error_2);
81
+ throw error_2;
82
+ case 3: return [2 /*return*/];
83
+ }
84
+ });
85
+ }); };
86
+ }
87
+ /**
88
+ * Store session keys in local storage
89
+ * @param data The session key data to store
90
+ */
91
+ export function storeSessionKeys(_a) {
92
+ var privKey = _a.privKey, walletPublicKey = _a.walletPublicKey, chainName = _a.chainName, sessionMode = _a.sessionMode;
93
+ var storageKey = "n1_sessionKey_".concat(walletPublicKey);
94
+ var data = {
95
+ ed25519PrivateKey: arrayBufferToBase64(privKey),
96
+ walletPublicKey: walletPublicKey,
97
+ chainName: chainName,
98
+ createdAt: new Date().toISOString(),
99
+ sessionMode: sessionMode.toString()
100
+ };
101
+ localStorage.setItem(storageKey, JSON.stringify(data));
102
+ logger.debug('Session keys stored in local storage', { walletPublicKey: walletPublicKey, sessionMode: sessionMode });
103
+ }
104
+ /**
105
+ * Retrieve session keys from local storage
106
+ * @param walletPublicKey The wallet public key to retrieve session keys for
107
+ * @returns The session key data or null if not found
108
+ */
109
+ export function getSessionKeys(walletPublicKey) {
110
+ var storageKey = "n1_sessionKey_".concat(walletPublicKey);
111
+ var data = localStorage.getItem(storageKey);
112
+ if (!data) {
113
+ return null;
114
+ }
115
+ try {
116
+ var parsedData = JSON.parse(data);
117
+ if (parsedData.ed25519PrivateKey) {
118
+ parsedData.ed25519PrivateKey = base64ToUint8Array(parsedData.ed25519PrivateKey);
119
+ }
120
+ // Convert sessionMode string to enum value
121
+ if (typeof parsedData.sessionMode === 'string') {
122
+ parsedData.sessionMode = parsedData.sessionMode === N1SessionMode.Nord.toString()
123
+ ? N1SessionMode.Nord
124
+ : N1SessionMode.NTS;
125
+ }
126
+ else if (parsedData.sessionMode === undefined) {
127
+ // For backward compatibility, default to NTS mode if not specified
128
+ parsedData.sessionMode = N1SessionMode.NTS;
129
+ }
130
+ return parsedData;
131
+ }
132
+ catch (error) {
133
+ logger.error('Failed to parse session key data', error);
134
+ return null;
135
+ }
136
+ }
137
+ /**
138
+ * Remove session keys from local storage
139
+ * @param walletPublicKey The wallet public key to remove session keys for
140
+ */
141
+ export function removeSessionKeys(walletPublicKey) {
142
+ var storageKey = "n1_sessionKey_".concat(walletPublicKey);
143
+ localStorage.removeItem(storageKey);
144
+ logger.debug('Session keys removed from local storage', { walletPublicKey: walletPublicKey });
145
+ }
146
+ /**
147
+ * Check if a session exists and is valid
148
+ * @param walletPublicKey The wallet public key to check
149
+ * @param sessionMode The session mode to check
150
+ * @returns Whether a valid session exists
151
+ */
152
+ export function hasValidSession(walletPublicKey, sessionMode) {
153
+ return __awaiter(this, void 0, void 0, function () {
154
+ var sessionData, createdAt, now, sessionAgeMs, maxSessionAgeMs;
155
+ return __generator(this, function (_a) {
156
+ sessionData = getSessionKeys(walletPublicKey);
157
+ if (!sessionData) {
158
+ return [2 /*return*/, false];
159
+ }
160
+ // Check if the session mode matches
161
+ if (sessionData.sessionMode !== sessionMode) {
162
+ return [2 /*return*/, false];
163
+ }
164
+ createdAt = new Date(sessionData.createdAt);
165
+ now = new Date();
166
+ sessionAgeMs = now.getTime() - createdAt.getTime();
167
+ maxSessionAgeMs = 7 * 24 * 60 * 60 * 1000;
168
+ if (sessionAgeMs > maxSessionAgeMs) {
169
+ // Session is expired, remove it
170
+ removeSessionKeys(walletPublicKey);
171
+ return [2 /*return*/, false];
172
+ }
173
+ // TODO: Add additional validation based on session mode
174
+ // For example, verify the session with the backend
175
+ return [2 /*return*/, true];
176
+ });
177
+ });
178
+ }
@@ -0,0 +1,41 @@
1
+ import { N1SessionMode } from '../Provider/types';
2
+ /**
3
+ * Interface for transaction data
4
+ */
5
+ export interface TransactionData {
6
+ chainId: string;
7
+ amount: string;
8
+ tokenSymbol: string;
9
+ walletAddress: string;
10
+ sessionMode: N1SessionMode;
11
+ }
12
+ /**
13
+ * Interface for transaction result
14
+ */
15
+ export interface TransactionResult {
16
+ success: boolean;
17
+ transactionId: string;
18
+ amount: string;
19
+ tokenSymbol: string;
20
+ fromAddress: string;
21
+ toAddress: string;
22
+ networkName: string;
23
+ status: 'Completed' | 'Failed' | 'Pending';
24
+ explorerUrl?: string;
25
+ error?: Error;
26
+ }
27
+ /**
28
+ * Create and send a transaction
29
+ * @param data Transaction data
30
+ * @param signMessage Function to sign messages with wallet
31
+ * @returns Transaction result
32
+ */
33
+ export declare function createAndSendTransaction(data: TransactionData, signMessage: (message: Uint8Array) => Promise<Uint8Array>): Promise<TransactionResult>;
34
+ /**
35
+ * Get explorer URL for a transaction
36
+ */
37
+ export declare function getExplorerUrl(transactionId: string, chainId: string): string;
38
+ /**
39
+ * Check transaction status
40
+ */
41
+ export declare function checkTransactionStatus(transactionId: string, chainId: string, sessionMode: N1SessionMode): Promise<'Completed' | 'Failed' | 'Pending'>;