@varity-labs/ui-kit 2.0.0-alpha.1

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 (495) hide show
  1. package/LICENSE +31 -0
  2. package/README.md +248 -0
  3. package/dist/components/AI/ChatbotWidget.d.ts +53 -0
  4. package/dist/components/AI/ChatbotWidget.d.ts.map +1 -0
  5. package/dist/components/AI/ChatbotWidget.js +126 -0
  6. package/dist/components/AI/ChatbotWidget.js.map +1 -0
  7. package/dist/components/AI/InputBar.d.ts +25 -0
  8. package/dist/components/AI/InputBar.d.ts.map +1 -0
  9. package/dist/components/AI/InputBar.js +126 -0
  10. package/dist/components/AI/InputBar.js.map +1 -0
  11. package/dist/components/AI/MessageBubble.d.ts +37 -0
  12. package/dist/components/AI/MessageBubble.d.ts.map +1 -0
  13. package/dist/components/AI/MessageBubble.js +124 -0
  14. package/dist/components/AI/MessageBubble.js.map +1 -0
  15. package/dist/components/AI/index.d.ts +12 -0
  16. package/dist/components/AI/index.d.ts.map +1 -0
  17. package/dist/components/AI/index.js +9 -0
  18. package/dist/components/AI/index.js.map +1 -0
  19. package/dist/components/Analytics/AnalyticsCard.d.ts +48 -0
  20. package/dist/components/Analytics/AnalyticsCard.d.ts.map +1 -0
  21. package/dist/components/Analytics/AnalyticsCard.js +156 -0
  22. package/dist/components/Analytics/AnalyticsCard.js.map +1 -0
  23. package/dist/components/Analytics/ChartContainer.d.ts +53 -0
  24. package/dist/components/Analytics/ChartContainer.d.ts.map +1 -0
  25. package/dist/components/Analytics/ChartContainer.js +128 -0
  26. package/dist/components/Analytics/ChartContainer.js.map +1 -0
  27. package/dist/components/Analytics/DataTable.d.ts +62 -0
  28. package/dist/components/Analytics/DataTable.d.ts.map +1 -0
  29. package/dist/components/Analytics/DataTable.js +165 -0
  30. package/dist/components/Analytics/DataTable.js.map +1 -0
  31. package/dist/components/Analytics/MetricDisplay.d.ts +42 -0
  32. package/dist/components/Analytics/MetricDisplay.d.ts.map +1 -0
  33. package/dist/components/Analytics/MetricDisplay.js +110 -0
  34. package/dist/components/Analytics/MetricDisplay.js.map +1 -0
  35. package/dist/components/Analytics/index.d.ts +14 -0
  36. package/dist/components/Analytics/index.d.ts.map +1 -0
  37. package/dist/components/Analytics/index.js +10 -0
  38. package/dist/components/Analytics/index.js.map +1 -0
  39. package/dist/components/Branding/Attribution.d.ts +39 -0
  40. package/dist/components/Branding/Attribution.d.ts.map +1 -0
  41. package/dist/components/Branding/Attribution.js +124 -0
  42. package/dist/components/Branding/Attribution.js.map +1 -0
  43. package/dist/components/Branding/Logo.d.ts +39 -0
  44. package/dist/components/Branding/Logo.d.ts.map +1 -0
  45. package/dist/components/Branding/Logo.js +67 -0
  46. package/dist/components/Branding/Logo.js.map +1 -0
  47. package/dist/components/Branding/ThemeProvider.d.ts +85 -0
  48. package/dist/components/Branding/ThemeProvider.d.ts.map +1 -0
  49. package/dist/components/Branding/ThemeProvider.js +186 -0
  50. package/dist/components/Branding/ThemeProvider.js.map +1 -0
  51. package/dist/components/Branding/index.d.ts +12 -0
  52. package/dist/components/Branding/index.d.ts.map +1 -0
  53. package/dist/components/Branding/index.js +9 -0
  54. package/dist/components/Branding/index.js.map +1 -0
  55. package/dist/components/Dashboard/DashboardFooter.d.ts +30 -0
  56. package/dist/components/Dashboard/DashboardFooter.d.ts.map +1 -0
  57. package/dist/components/Dashboard/DashboardFooter.js +68 -0
  58. package/dist/components/Dashboard/DashboardFooter.js.map +1 -0
  59. package/dist/components/Dashboard/DashboardHeader.d.ts +24 -0
  60. package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
  61. package/dist/components/Dashboard/DashboardHeader.js +87 -0
  62. package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
  63. package/dist/components/Dashboard/DashboardLayout.d.ts +71 -0
  64. package/dist/components/Dashboard/DashboardLayout.d.ts.map +1 -0
  65. package/dist/components/Dashboard/DashboardLayout.js +52 -0
  66. package/dist/components/Dashboard/DashboardLayout.js.map +1 -0
  67. package/dist/components/Dashboard/DashboardSidebar.d.ts +26 -0
  68. package/dist/components/Dashboard/DashboardSidebar.d.ts.map +1 -0
  69. package/dist/components/Dashboard/DashboardSidebar.js +146 -0
  70. package/dist/components/Dashboard/DashboardSidebar.js.map +1 -0
  71. package/dist/components/Dashboard/EmptyState.d.ts +84 -0
  72. package/dist/components/Dashboard/EmptyState.d.ts.map +1 -0
  73. package/dist/components/Dashboard/EmptyState.js +99 -0
  74. package/dist/components/Dashboard/EmptyState.js.map +1 -0
  75. package/dist/components/Dashboard/KPICard.d.ts +58 -0
  76. package/dist/components/Dashboard/KPICard.d.ts.map +1 -0
  77. package/dist/components/Dashboard/KPICard.js +82 -0
  78. package/dist/components/Dashboard/KPICard.js.map +1 -0
  79. package/dist/components/Dashboard/LoadingSkeleton.d.ts +58 -0
  80. package/dist/components/Dashboard/LoadingSkeleton.d.ts.map +1 -0
  81. package/dist/components/Dashboard/LoadingSkeleton.js +105 -0
  82. package/dist/components/Dashboard/LoadingSkeleton.js.map +1 -0
  83. package/dist/components/Dashboard/StatusBadge.d.ts +57 -0
  84. package/dist/components/Dashboard/StatusBadge.d.ts.map +1 -0
  85. package/dist/components/Dashboard/StatusBadge.js +149 -0
  86. package/dist/components/Dashboard/StatusBadge.js.map +1 -0
  87. package/dist/components/Dashboard/index.d.ts +19 -0
  88. package/dist/components/Dashboard/index.d.ts.map +1 -0
  89. package/dist/components/Dashboard/index.js +18 -0
  90. package/dist/components/Dashboard/index.js.map +1 -0
  91. package/dist/components/InAppWallet/EmailLoginButton.d.ts +27 -0
  92. package/dist/components/InAppWallet/EmailLoginButton.d.ts.map +1 -0
  93. package/dist/components/InAppWallet/EmailLoginButton.js +84 -0
  94. package/dist/components/InAppWallet/EmailLoginButton.js.map +1 -0
  95. package/dist/components/InAppWallet/InAppWalletProvider.d.ts +54 -0
  96. package/dist/components/InAppWallet/InAppWalletProvider.d.ts.map +1 -0
  97. package/dist/components/InAppWallet/InAppWalletProvider.js +238 -0
  98. package/dist/components/InAppWallet/InAppWalletProvider.js.map +1 -0
  99. package/dist/components/InAppWallet/OnboardingFlow.d.ts +25 -0
  100. package/dist/components/InAppWallet/OnboardingFlow.d.ts.map +1 -0
  101. package/dist/components/InAppWallet/OnboardingFlow.js +159 -0
  102. package/dist/components/InAppWallet/OnboardingFlow.js.map +1 -0
  103. package/dist/components/InAppWallet/SocialLoginButtons.d.ts +28 -0
  104. package/dist/components/InAppWallet/SocialLoginButtons.d.ts.map +1 -0
  105. package/dist/components/InAppWallet/SocialLoginButtons.js +128 -0
  106. package/dist/components/InAppWallet/SocialLoginButtons.js.map +1 -0
  107. package/dist/components/InAppWallet/index.d.ts +15 -0
  108. package/dist/components/InAppWallet/index.d.ts.map +1 -0
  109. package/dist/components/InAppWallet/index.js +14 -0
  110. package/dist/components/InAppWallet/index.js.map +1 -0
  111. package/dist/components/Onramp/BuyUSDCButton.d.ts +27 -0
  112. package/dist/components/Onramp/BuyUSDCButton.d.ts.map +1 -0
  113. package/dist/components/Onramp/BuyUSDCButton.js +70 -0
  114. package/dist/components/Onramp/BuyUSDCButton.js.map +1 -0
  115. package/dist/components/Onramp/OnrampWidget.d.ts +38 -0
  116. package/dist/components/Onramp/OnrampWidget.d.ts.map +1 -0
  117. package/dist/components/Onramp/OnrampWidget.js +105 -0
  118. package/dist/components/Onramp/OnrampWidget.js.map +1 -0
  119. package/dist/components/Onramp/index.d.ts +14 -0
  120. package/dist/components/Onramp/index.d.ts.map +1 -0
  121. package/dist/components/Onramp/index.js +12 -0
  122. package/dist/components/Onramp/index.js.map +1 -0
  123. package/dist/components/Payments/CheckoutModal.d.ts +19 -0
  124. package/dist/components/Payments/CheckoutModal.d.ts.map +1 -0
  125. package/dist/components/Payments/CheckoutModal.js +183 -0
  126. package/dist/components/Payments/CheckoutModal.js.map +1 -0
  127. package/dist/components/Payments/SubscriptionWidget.d.ts +17 -0
  128. package/dist/components/Payments/SubscriptionWidget.d.ts.map +1 -0
  129. package/dist/components/Payments/SubscriptionWidget.js +89 -0
  130. package/dist/components/Payments/SubscriptionWidget.js.map +1 -0
  131. package/dist/components/Payments/constants.d.ts +59 -0
  132. package/dist/components/Payments/constants.d.ts.map +1 -0
  133. package/dist/components/Payments/constants.js +145 -0
  134. package/dist/components/Payments/constants.js.map +1 -0
  135. package/dist/components/Payments/index.d.ts +10 -0
  136. package/dist/components/Payments/index.d.ts.map +1 -0
  137. package/dist/components/Payments/index.js +12 -0
  138. package/dist/components/Payments/index.js.map +1 -0
  139. package/dist/components/Payments/types.d.ts +119 -0
  140. package/dist/components/Payments/types.d.ts.map +1 -0
  141. package/dist/components/Payments/types.js +27 -0
  142. package/dist/components/Payments/types.js.map +1 -0
  143. package/dist/components/Payments/usePayments.d.ts +33 -0
  144. package/dist/components/Payments/usePayments.d.ts.map +1 -0
  145. package/dist/components/Payments/usePayments.js +249 -0
  146. package/dist/components/Payments/usePayments.js.map +1 -0
  147. package/dist/components/Privy/InitTimeoutScreen.d.ts +62 -0
  148. package/dist/components/Privy/InitTimeoutScreen.d.ts.map +1 -0
  149. package/dist/components/Privy/InitTimeoutScreen.js +64 -0
  150. package/dist/components/Privy/InitTimeoutScreen.js.map +1 -0
  151. package/dist/components/Privy/InitializingScreen.d.ts +56 -0
  152. package/dist/components/Privy/InitializingScreen.d.ts.map +1 -0
  153. package/dist/components/Privy/InitializingScreen.js +60 -0
  154. package/dist/components/Privy/InitializingScreen.js.map +1 -0
  155. package/dist/components/Privy/PrivyLoginButton.d.ts +27 -0
  156. package/dist/components/Privy/PrivyLoginButton.d.ts.map +1 -0
  157. package/dist/components/Privy/PrivyLoginButton.js +48 -0
  158. package/dist/components/Privy/PrivyLoginButton.js.map +1 -0
  159. package/dist/components/Privy/PrivyProtectedRoute.d.ts +22 -0
  160. package/dist/components/Privy/PrivyProtectedRoute.d.ts.map +1 -0
  161. package/dist/components/Privy/PrivyProtectedRoute.js +46 -0
  162. package/dist/components/Privy/PrivyProtectedRoute.js.map +1 -0
  163. package/dist/components/Privy/PrivyReadyGate.d.ts +69 -0
  164. package/dist/components/Privy/PrivyReadyGate.d.ts.map +1 -0
  165. package/dist/components/Privy/PrivyReadyGate.js +83 -0
  166. package/dist/components/Privy/PrivyReadyGate.js.map +1 -0
  167. package/dist/components/Privy/PrivyUserProfile.d.ts +25 -0
  168. package/dist/components/Privy/PrivyUserProfile.d.ts.map +1 -0
  169. package/dist/components/Privy/PrivyUserProfile.js +98 -0
  170. package/dist/components/Privy/PrivyUserProfile.js.map +1 -0
  171. package/dist/components/Privy/index.d.ts +21 -0
  172. package/dist/components/Privy/index.d.ts.map +1 -0
  173. package/dist/components/Privy/index.js +16 -0
  174. package/dist/components/Privy/index.js.map +1 -0
  175. package/dist/components/SIWE/AuthStatus.d.ts +15 -0
  176. package/dist/components/SIWE/AuthStatus.d.ts.map +1 -0
  177. package/dist/components/SIWE/AuthStatus.js +47 -0
  178. package/dist/components/SIWE/AuthStatus.js.map +1 -0
  179. package/dist/components/SIWE/ProtectedRoute.d.ts +17 -0
  180. package/dist/components/SIWE/ProtectedRoute.d.ts.map +1 -0
  181. package/dist/components/SIWE/ProtectedRoute.js +52 -0
  182. package/dist/components/SIWE/ProtectedRoute.js.map +1 -0
  183. package/dist/components/SIWE/SIWEButton.d.ts +22 -0
  184. package/dist/components/SIWE/SIWEButton.d.ts.map +1 -0
  185. package/dist/components/SIWE/SIWEButton.js +106 -0
  186. package/dist/components/SIWE/SIWEButton.js.map +1 -0
  187. package/dist/components/SIWE/SIWEModal.d.ts +19 -0
  188. package/dist/components/SIWE/SIWEModal.d.ts.map +1 -0
  189. package/dist/components/SIWE/SIWEModal.js +75 -0
  190. package/dist/components/SIWE/SIWEModal.js.map +1 -0
  191. package/dist/components/SIWE/SIWEProvider.d.ts +38 -0
  192. package/dist/components/SIWE/SIWEProvider.d.ts.map +1 -0
  193. package/dist/components/SIWE/SIWEProvider.js +227 -0
  194. package/dist/components/SIWE/SIWEProvider.js.map +1 -0
  195. package/dist/components/SIWE/index.d.ts +15 -0
  196. package/dist/components/SIWE/index.d.ts.map +1 -0
  197. package/dist/components/SIWE/index.js +10 -0
  198. package/dist/components/SIWE/index.js.map +1 -0
  199. package/dist/components/index.d.ts +11 -0
  200. package/dist/components/index.d.ts.map +1 -0
  201. package/dist/components/index.js +16 -0
  202. package/dist/components/index.js.map +1 -0
  203. package/dist/components/templates/Finance/FinanceDashboard.d.ts +15 -0
  204. package/dist/components/templates/Finance/FinanceDashboard.d.ts.map +1 -0
  205. package/dist/components/templates/Finance/FinanceDashboard.js +112 -0
  206. package/dist/components/templates/Finance/FinanceDashboard.js.map +1 -0
  207. package/dist/components/templates/Healthcare/HealthcareDashboard.d.ts +15 -0
  208. package/dist/components/templates/Healthcare/HealthcareDashboard.d.ts.map +1 -0
  209. package/dist/components/templates/Healthcare/HealthcareDashboard.js +121 -0
  210. package/dist/components/templates/Healthcare/HealthcareDashboard.js.map +1 -0
  211. package/dist/components/templates/ISO/ISODashboard.d.ts +15 -0
  212. package/dist/components/templates/ISO/ISODashboard.d.ts.map +1 -0
  213. package/dist/components/templates/ISO/ISODashboard.js +184 -0
  214. package/dist/components/templates/ISO/ISODashboard.js.map +1 -0
  215. package/dist/components/templates/Retail/RetailDashboard.d.ts +15 -0
  216. package/dist/components/templates/Retail/RetailDashboard.d.ts.map +1 -0
  217. package/dist/components/templates/Retail/RetailDashboard.js +151 -0
  218. package/dist/components/templates/Retail/RetailDashboard.js.map +1 -0
  219. package/dist/components/templates/index.d.ts +14 -0
  220. package/dist/components/templates/index.d.ts.map +1 -0
  221. package/dist/components/templates/index.js +14 -0
  222. package/dist/components/templates/index.js.map +1 -0
  223. package/dist/config/chains.d.ts +23 -0
  224. package/dist/config/chains.d.ts.map +1 -0
  225. package/dist/config/chains.js +55 -0
  226. package/dist/config/chains.js.map +1 -0
  227. package/dist/core/VarityClient.d.ts +76 -0
  228. package/dist/core/VarityClient.d.ts.map +1 -0
  229. package/dist/core/VarityClient.js +99 -0
  230. package/dist/core/VarityClient.js.map +1 -0
  231. package/dist/core/config.d.ts +136 -0
  232. package/dist/core/config.d.ts.map +1 -0
  233. package/dist/core/config.js +156 -0
  234. package/dist/core/config.js.map +1 -0
  235. package/dist/hooks/index.d.ts +17 -0
  236. package/dist/hooks/index.d.ts.map +1 -0
  237. package/dist/hooks/index.js +18 -0
  238. package/dist/hooks/index.js.map +1 -0
  239. package/dist/hooks/useAnalytics.d.ts +94 -0
  240. package/dist/hooks/useAnalytics.d.ts.map +1 -0
  241. package/dist/hooks/useAnalytics.js +116 -0
  242. package/dist/hooks/useAnalytics.js.map +1 -0
  243. package/dist/hooks/useAuth.d.ts +71 -0
  244. package/dist/hooks/useAuth.d.ts.map +1 -0
  245. package/dist/hooks/useAuth.js +198 -0
  246. package/dist/hooks/useAuth.js.map +1 -0
  247. package/dist/hooks/useDashboard.d.ts +110 -0
  248. package/dist/hooks/useDashboard.d.ts.map +1 -0
  249. package/dist/hooks/useDashboard.js +201 -0
  250. package/dist/hooks/useDashboard.js.map +1 -0
  251. package/dist/hooks/useVarityAPI.d.ts +88 -0
  252. package/dist/hooks/useVarityAPI.d.ts.map +1 -0
  253. package/dist/hooks/useVarityAPI.js +138 -0
  254. package/dist/hooks/useVarityAPI.js.map +1 -0
  255. package/dist/hooks/useWalletAuth.d.ts +108 -0
  256. package/dist/hooks/useWalletAuth.d.ts.map +1 -0
  257. package/dist/hooks/useWalletAuth.js +415 -0
  258. package/dist/hooks/useWalletAuth.js.map +1 -0
  259. package/dist/hooks/web3/index.d.ts +5 -0
  260. package/dist/hooks/web3/index.d.ts.map +1 -0
  261. package/dist/hooks/web3/index.js +6 -0
  262. package/dist/hooks/web3/index.js.map +1 -0
  263. package/dist/hooks/web3/useAddressValidation.d.ts +37 -0
  264. package/dist/hooks/web3/useAddressValidation.d.ts.map +1 -0
  265. package/dist/hooks/web3/useAddressValidation.js +59 -0
  266. package/dist/hooks/web3/useAddressValidation.js.map +1 -0
  267. package/dist/hooks/web3/useBlockExplorer.d.ts +37 -0
  268. package/dist/hooks/web3/useBlockExplorer.d.ts.map +1 -0
  269. package/dist/hooks/web3/useBlockExplorer.js +59 -0
  270. package/dist/hooks/web3/useBlockExplorer.js.map +1 -0
  271. package/dist/hooks/web3/useUSDCFormat.d.ts +34 -0
  272. package/dist/hooks/web3/useUSDCFormat.d.ts.map +1 -0
  273. package/dist/hooks/web3/useUSDCFormat.js +43 -0
  274. package/dist/hooks/web3/useUSDCFormat.js.map +1 -0
  275. package/dist/hooks/web3/useVarityWallet.d.ts +48 -0
  276. package/dist/hooks/web3/useVarityWallet.d.ts.map +1 -0
  277. package/dist/hooks/web3/useVarityWallet.js +70 -0
  278. package/dist/hooks/web3/useVarityWallet.js.map +1 -0
  279. package/dist/index.d.ts +55 -0
  280. package/dist/index.d.ts.map +1 -0
  281. package/dist/index.js +68 -0
  282. package/dist/index.js.map +1 -0
  283. package/dist/modules/analytics/AnalyticsClient.d.ts +72 -0
  284. package/dist/modules/analytics/AnalyticsClient.d.ts.map +1 -0
  285. package/dist/modules/analytics/AnalyticsClient.js +56 -0
  286. package/dist/modules/analytics/AnalyticsClient.js.map +1 -0
  287. package/dist/modules/analytics/index.d.ts +2 -0
  288. package/dist/modules/analytics/index.d.ts.map +1 -0
  289. package/dist/modules/analytics/index.js +2 -0
  290. package/dist/modules/analytics/index.js.map +1 -0
  291. package/dist/modules/auth/AuthClient.d.ts +41 -0
  292. package/dist/modules/auth/AuthClient.d.ts.map +1 -0
  293. package/dist/modules/auth/AuthClient.js +36 -0
  294. package/dist/modules/auth/AuthClient.js.map +1 -0
  295. package/dist/modules/auth/index.d.ts +2 -0
  296. package/dist/modules/auth/index.d.ts.map +1 -0
  297. package/dist/modules/auth/index.js +2 -0
  298. package/dist/modules/auth/index.js.map +1 -0
  299. package/dist/modules/cache/CacheClient.d.ts +48 -0
  300. package/dist/modules/cache/CacheClient.d.ts.map +1 -0
  301. package/dist/modules/cache/CacheClient.js +59 -0
  302. package/dist/modules/cache/CacheClient.js.map +1 -0
  303. package/dist/modules/cache/index.d.ts +2 -0
  304. package/dist/modules/cache/index.d.ts.map +1 -0
  305. package/dist/modules/cache/index.js +2 -0
  306. package/dist/modules/cache/index.js.map +1 -0
  307. package/dist/modules/compute/ComputeClient.d.ts +54 -0
  308. package/dist/modules/compute/ComputeClient.d.ts.map +1 -0
  309. package/dist/modules/compute/ComputeClient.js +39 -0
  310. package/dist/modules/compute/ComputeClient.js.map +1 -0
  311. package/dist/modules/compute/index.d.ts +2 -0
  312. package/dist/modules/compute/index.d.ts.map +1 -0
  313. package/dist/modules/compute/index.js +2 -0
  314. package/dist/modules/compute/index.js.map +1 -0
  315. package/dist/modules/export/ExportClient.d.ts +56 -0
  316. package/dist/modules/export/ExportClient.d.ts.map +1 -0
  317. package/dist/modules/export/ExportClient.js +42 -0
  318. package/dist/modules/export/ExportClient.js.map +1 -0
  319. package/dist/modules/export/index.d.ts +2 -0
  320. package/dist/modules/export/index.d.ts.map +1 -0
  321. package/dist/modules/export/index.js +2 -0
  322. package/dist/modules/export/index.js.map +1 -0
  323. package/dist/modules/forecasting/ForecastingClient.d.ts +112 -0
  324. package/dist/modules/forecasting/ForecastingClient.d.ts.map +1 -0
  325. package/dist/modules/forecasting/ForecastingClient.js +48 -0
  326. package/dist/modules/forecasting/ForecastingClient.js.map +1 -0
  327. package/dist/modules/forecasting/index.d.ts +2 -0
  328. package/dist/modules/forecasting/index.d.ts.map +1 -0
  329. package/dist/modules/forecasting/index.js +2 -0
  330. package/dist/modules/forecasting/index.js.map +1 -0
  331. package/dist/modules/monitoring/MonitoringClient.d.ts +67 -0
  332. package/dist/modules/monitoring/MonitoringClient.d.ts.map +1 -0
  333. package/dist/modules/monitoring/MonitoringClient.js +48 -0
  334. package/dist/modules/monitoring/MonitoringClient.js.map +1 -0
  335. package/dist/modules/monitoring/index.d.ts +2 -0
  336. package/dist/modules/monitoring/index.d.ts.map +1 -0
  337. package/dist/modules/monitoring/index.js +2 -0
  338. package/dist/modules/monitoring/index.js.map +1 -0
  339. package/dist/modules/notifications/NotificationsClient.d.ts +68 -0
  340. package/dist/modules/notifications/NotificationsClient.d.ts.map +1 -0
  341. package/dist/modules/notifications/NotificationsClient.js +50 -0
  342. package/dist/modules/notifications/NotificationsClient.js.map +1 -0
  343. package/dist/modules/notifications/index.d.ts +2 -0
  344. package/dist/modules/notifications/index.d.ts.map +1 -0
  345. package/dist/modules/notifications/index.js +2 -0
  346. package/dist/modules/notifications/index.js.map +1 -0
  347. package/dist/modules/oracle/OracleClient.d.ts +48 -0
  348. package/dist/modules/oracle/OracleClient.d.ts.map +1 -0
  349. package/dist/modules/oracle/OracleClient.js +34 -0
  350. package/dist/modules/oracle/OracleClient.js.map +1 -0
  351. package/dist/modules/oracle/index.d.ts +2 -0
  352. package/dist/modules/oracle/index.d.ts.map +1 -0
  353. package/dist/modules/oracle/index.js +2 -0
  354. package/dist/modules/oracle/index.js.map +1 -0
  355. package/dist/modules/storage/StorageClient.d.ts +44 -0
  356. package/dist/modules/storage/StorageClient.d.ts.map +1 -0
  357. package/dist/modules/storage/StorageClient.js +43 -0
  358. package/dist/modules/storage/StorageClient.js.map +1 -0
  359. package/dist/modules/storage/index.d.ts +2 -0
  360. package/dist/modules/storage/index.d.ts.map +1 -0
  361. package/dist/modules/storage/index.js +2 -0
  362. package/dist/modules/storage/index.js.map +1 -0
  363. package/dist/modules/templates/TemplateDeploymentClient.d.ts +208 -0
  364. package/dist/modules/templates/TemplateDeploymentClient.d.ts.map +1 -0
  365. package/dist/modules/templates/TemplateDeploymentClient.js +101 -0
  366. package/dist/modules/templates/TemplateDeploymentClient.js.map +1 -0
  367. package/dist/modules/templates/index.d.ts +8 -0
  368. package/dist/modules/templates/index.d.ts.map +1 -0
  369. package/dist/modules/templates/index.js +7 -0
  370. package/dist/modules/templates/index.js.map +1 -0
  371. package/dist/modules/webhooks/WebhooksClient.d.ts +85 -0
  372. package/dist/modules/webhooks/WebhooksClient.d.ts.map +1 -0
  373. package/dist/modules/webhooks/WebhooksClient.js +68 -0
  374. package/dist/modules/webhooks/WebhooksClient.js.map +1 -0
  375. package/dist/modules/webhooks/index.d.ts +2 -0
  376. package/dist/modules/webhooks/index.d.ts.map +1 -0
  377. package/dist/modules/webhooks/index.js +2 -0
  378. package/dist/modules/webhooks/index.js.map +1 -0
  379. package/dist/modules/zk/ZKClient.d.ts +67 -0
  380. package/dist/modules/zk/ZKClient.d.ts.map +1 -0
  381. package/dist/modules/zk/ZKClient.js +36 -0
  382. package/dist/modules/zk/ZKClient.js.map +1 -0
  383. package/dist/modules/zk/index.d.ts +2 -0
  384. package/dist/modules/zk/index.d.ts.map +1 -0
  385. package/dist/modules/zk/index.js +2 -0
  386. package/dist/modules/zk/index.js.map +1 -0
  387. package/dist/providers/ChainContext.d.ts +65 -0
  388. package/dist/providers/ChainContext.d.ts.map +1 -0
  389. package/dist/providers/ChainContext.js +92 -0
  390. package/dist/providers/ChainContext.js.map +1 -0
  391. package/dist/providers/PrivyProvider.d.ts +42 -0
  392. package/dist/providers/PrivyProvider.d.ts.map +1 -0
  393. package/dist/providers/PrivyProvider.js +131 -0
  394. package/dist/providers/PrivyProvider.js.map +1 -0
  395. package/dist/providers/PrivyStack.d.ts +165 -0
  396. package/dist/providers/PrivyStack.d.ts.map +1 -0
  397. package/dist/providers/PrivyStack.js +295 -0
  398. package/dist/providers/PrivyStack.js.map +1 -0
  399. package/dist/providers/VarityDashboardProvider.d.ts +90 -0
  400. package/dist/providers/VarityDashboardProvider.d.ts.map +1 -0
  401. package/dist/providers/VarityDashboardProvider.js +242 -0
  402. package/dist/providers/VarityDashboardProvider.js.map +1 -0
  403. package/dist/providers/VarityProvider.d.ts +32 -0
  404. package/dist/providers/VarityProvider.d.ts.map +1 -0
  405. package/dist/providers/VarityProvider.js +56 -0
  406. package/dist/providers/VarityProvider.js.map +1 -0
  407. package/dist/providers/WalletContext.d.ts +68 -0
  408. package/dist/providers/WalletContext.d.ts.map +1 -0
  409. package/dist/providers/WalletContext.js +98 -0
  410. package/dist/providers/WalletContext.js.map +1 -0
  411. package/dist/providers/WalletSyncProvider.d.ts +84 -0
  412. package/dist/providers/WalletSyncProvider.d.ts.map +1 -0
  413. package/dist/providers/WalletSyncProvider.js +132 -0
  414. package/dist/providers/WalletSyncProvider.js.map +1 -0
  415. package/dist/providers/index.d.ts +47 -0
  416. package/dist/providers/index.d.ts.map +1 -0
  417. package/dist/providers/index.js +51 -0
  418. package/dist/providers/index.js.map +1 -0
  419. package/dist/tests/mocks/httpClient.mock.d.ts +62 -0
  420. package/dist/tests/mocks/httpClient.mock.d.ts.map +1 -0
  421. package/dist/tests/mocks/httpClient.mock.js +108 -0
  422. package/dist/tests/mocks/httpClient.mock.js.map +1 -0
  423. package/dist/tests/setup.d.ts +6 -0
  424. package/dist/tests/setup.d.ts.map +1 -0
  425. package/dist/tests/setup.js +51 -0
  426. package/dist/tests/setup.js.map +1 -0
  427. package/dist/types/api-extensions.d.ts +92 -0
  428. package/dist/types/api-extensions.d.ts.map +1 -0
  429. package/dist/types/api-extensions.js +7 -0
  430. package/dist/types/api-extensions.js.map +1 -0
  431. package/dist/utils/http.d.ts +51 -0
  432. package/dist/utils/http.d.ts.map +1 -0
  433. package/dist/utils/http.js +104 -0
  434. package/dist/utils/http.js.map +1 -0
  435. package/dist/wallets/SimpleSmartWallet.d.ts +68 -0
  436. package/dist/wallets/SimpleSmartWallet.d.ts.map +1 -0
  437. package/dist/wallets/SimpleSmartWallet.js +74 -0
  438. package/dist/wallets/SimpleSmartWallet.js.map +1 -0
  439. package/dist/wallets/SmartWalletProvider.d.ts +217 -0
  440. package/dist/wallets/SmartWalletProvider.d.ts.map +1 -0
  441. package/dist/wallets/SmartWalletProvider.js +366 -0
  442. package/dist/wallets/SmartWalletProvider.js.map +1 -0
  443. package/dist/wallets/config.d.ts +199 -0
  444. package/dist/wallets/config.d.ts.map +1 -0
  445. package/dist/wallets/config.js +183 -0
  446. package/dist/wallets/config.js.map +1 -0
  447. package/dist/wallets/index.d.ts +9 -0
  448. package/dist/wallets/index.d.ts.map +1 -0
  449. package/dist/wallets/index.js +9 -0
  450. package/dist/wallets/index.js.map +1 -0
  451. package/dist/web3/AddressDisplay/AddressDisplay.d.ts +33 -0
  452. package/dist/web3/AddressDisplay/AddressDisplay.d.ts.map +1 -0
  453. package/dist/web3/AddressDisplay/AddressDisplay.js +42 -0
  454. package/dist/web3/AddressDisplay/AddressDisplay.js.map +1 -0
  455. package/dist/web3/AddressInput/AddressInput.d.ts +36 -0
  456. package/dist/web3/AddressInput/AddressInput.d.ts.map +1 -0
  457. package/dist/web3/AddressInput/AddressInput.js +54 -0
  458. package/dist/web3/AddressInput/AddressInput.js.map +1 -0
  459. package/dist/web3/AmountInput/AmountInput.d.ts +41 -0
  460. package/dist/web3/AmountInput/AmountInput.d.ts.map +1 -0
  461. package/dist/web3/AmountInput/AmountInput.js +74 -0
  462. package/dist/web3/AmountInput/AmountInput.js.map +1 -0
  463. package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts +30 -0
  464. package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts.map +1 -0
  465. package/dist/web3/BalanceDisplay/BalanceDisplay.js +35 -0
  466. package/dist/web3/BalanceDisplay/BalanceDisplay.js.map +1 -0
  467. package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts +41 -0
  468. package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts.map +1 -0
  469. package/dist/web3/BlockExplorerLink/BlockExplorerLink.js +46 -0
  470. package/dist/web3/BlockExplorerLink/BlockExplorerLink.js.map +1 -0
  471. package/dist/web3/ConnectWallet/ConnectWallet.d.ts +35 -0
  472. package/dist/web3/ConnectWallet/ConnectWallet.d.ts.map +1 -0
  473. package/dist/web3/ConnectWallet/ConnectWallet.js +58 -0
  474. package/dist/web3/ConnectWallet/ConnectWallet.js.map +1 -0
  475. package/dist/web3/DisconnectButton/DisconnectButton.d.ts +30 -0
  476. package/dist/web3/DisconnectButton/DisconnectButton.d.ts.map +1 -0
  477. package/dist/web3/DisconnectButton/DisconnectButton.js +48 -0
  478. package/dist/web3/DisconnectButton/DisconnectButton.js.map +1 -0
  479. package/dist/web3/WalletBalance/WalletBalance.d.ts +27 -0
  480. package/dist/web3/WalletBalance/WalletBalance.d.ts.map +1 -0
  481. package/dist/web3/WalletBalance/WalletBalance.js +49 -0
  482. package/dist/web3/WalletBalance/WalletBalance.js.map +1 -0
  483. package/dist/web3/WalletDropdown/WalletDropdown.d.ts +29 -0
  484. package/dist/web3/WalletDropdown/WalletDropdown.d.ts.map +1 -0
  485. package/dist/web3/WalletDropdown/WalletDropdown.js +93 -0
  486. package/dist/web3/WalletDropdown/WalletDropdown.js.map +1 -0
  487. package/dist/web3/WalletInfo/WalletInfo.d.ts +31 -0
  488. package/dist/web3/WalletInfo/WalletInfo.d.ts.map +1 -0
  489. package/dist/web3/WalletInfo/WalletInfo.js +41 -0
  490. package/dist/web3/WalletInfo/WalletInfo.js.map +1 -0
  491. package/dist/web3/index.d.ts +11 -0
  492. package/dist/web3/index.d.ts.map +1 -0
  493. package/dist/web3/index.js +14 -0
  494. package/dist/web3/index.js.map +1 -0
  495. package/package.json +105 -0
@@ -0,0 +1,295 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { PrivyProvider } from '@privy-io/react-auth';
3
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
4
+ import { ThirdwebProvider } from 'thirdweb/react';
5
+ import { PrivyReadyGate } from '../components/Privy/PrivyReadyGate';
6
+ import { WalletSyncProvider } from './WalletSyncProvider';
7
+ import { resolveCredentials, VARITY_DEV_CREDENTIALS, resolveCredentialsWithProxy } from '@varity-labs/sdk';
8
+ /**
9
+ * Create React Query client (memoized singleton)
10
+ */
11
+ const queryClient = new QueryClient({
12
+ defaultOptions: {
13
+ queries: {
14
+ staleTime: 1000 * 60 * 5, // 5 minutes
15
+ retry: 1,
16
+ },
17
+ },
18
+ });
19
+ /**
20
+ * Convert thirdweb Chain to Privy Chain format
21
+ */
22
+ function toPrivyChain(chain) {
23
+ // Ensure nativeCurrency properties are never undefined
24
+ const nativeCurrency = {
25
+ name: chain.nativeCurrency?.name ?? 'Ether',
26
+ symbol: chain.nativeCurrency?.symbol ?? 'ETH',
27
+ decimals: chain.nativeCurrency?.decimals ?? 18,
28
+ };
29
+ // Convert blockExplorers array to Privy format (object with default key)
30
+ let blockExplorers;
31
+ if (chain.blockExplorers && Array.isArray(chain.blockExplorers) && chain.blockExplorers.length > 0) {
32
+ const explorer = chain.blockExplorers[0];
33
+ blockExplorers = {
34
+ default: {
35
+ name: explorer.name,
36
+ url: explorer.url,
37
+ },
38
+ };
39
+ }
40
+ return {
41
+ id: chain.id,
42
+ name: chain.name || `Chain ${chain.id}`,
43
+ network: `chain-${chain.id}`,
44
+ nativeCurrency,
45
+ rpcUrls: {
46
+ default: { http: [chain.rpc] },
47
+ public: { http: [chain.rpc] },
48
+ },
49
+ blockExplorers,
50
+ testnet: chain.testnet,
51
+ };
52
+ }
53
+ /**
54
+ * PrivyStack - All-in-one provider for Privy + thirdweb + Varity L3
55
+ *
56
+ * This component combines all necessary providers in the correct order:
57
+ * 1. QueryClientProvider - For React Query (required by Privy)
58
+ * 2. PrivyProvider - Authentication (email, social, wallet)
59
+ * 3. PrivyReadyGate - Prevents blank screen during initialization
60
+ * 4. ThirdwebProvider - Wallet management and contracts
61
+ * 5. WalletSyncProvider - Syncs Privy embedded wallets with thirdweb
62
+ *
63
+ * **Security**: By default, uses Varity Credential Proxy for server-side credential storage.
64
+ * Real credentials NEVER reach client bundles.
65
+ *
66
+ * **Key Features**:
67
+ * - Secure server-side credentials (via credential proxy)
68
+ * - No blank screen during initialization (PrivyReadyGate)
69
+ * - Seamless wallet sync between Privy and thirdweb
70
+ * - Support for email/social login (embedded wallets)
71
+ * - Support for external wallets (MetaMask, WalletConnect, etc.)
72
+ * - Optimized for Varity L3 by default
73
+ *
74
+ * **Stack Order** (critical - do not change):
75
+ * ```
76
+ * QueryClientProvider # React Query for data fetching
77
+ * └─ PrivyProvider # Authentication layer
78
+ * └─ PrivyReadyGate # Loading state management
79
+ * └─ ThirdwebProvider # Blockchain operations
80
+ * └─ WalletSyncProvider # Wallet synchronization
81
+ * └─ YourApp # Your application
82
+ * ```
83
+ *
84
+ * @example Zero-config setup (secure proxy credentials)
85
+ * ```tsx
86
+ * import { PrivyStack } from '@varity-labs/ui-kit';
87
+ *
88
+ * function App() {
89
+ * return (
90
+ * <PrivyStack>
91
+ * <YourApp />
92
+ * </PrivyStack>
93
+ * );
94
+ * }
95
+ * ```
96
+ *
97
+ * @example Production with credential proxy (RECOMMENDED)
98
+ * ```tsx
99
+ * import { PrivyStack } from '@varity-labs/ui-kit';
100
+ *
101
+ * function App() {
102
+ * return (
103
+ * <PrivyStack useCredentialProxy={true}>
104
+ * <YourApp />
105
+ * </PrivyStack>
106
+ * );
107
+ * }
108
+ * ```
109
+ *
110
+ * @example Custom credentials (without proxy)
111
+ * ```tsx
112
+ * import { PrivyStack } from '@varity-labs/ui-kit';
113
+ *
114
+ * function App() {
115
+ * return (
116
+ * <PrivyStack
117
+ * useCredentialProxy={false}
118
+ * appId={process.env.PRIVY_APP_ID}
119
+ * thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
120
+ * >
121
+ * <YourApp />
122
+ * </PrivyStack>
123
+ * );
124
+ * }
125
+ * ```
126
+ *
127
+ * @example With custom chains and appearance
128
+ * ```tsx
129
+ * import { PrivyStack } from '@varity-labs/ui-kit';
130
+ * import { varityL3Testnet, arbitrumSepolia } from '@varity-labs/sdk';
131
+ *
132
+ * function App() {
133
+ * return (
134
+ * <PrivyStack
135
+ * chains={[varityL3Testnet, arbitrumSepolia]}
136
+ * loginMethods={['email', 'google', 'wallet']}
137
+ * appearance={{
138
+ * theme: 'light',
139
+ * accentColor: '#2563EB',
140
+ * logo: '/logo.png'
141
+ * }}
142
+ * onAddressChange={(address) => {
143
+ * console.log('Wallet connected:', address);
144
+ * }}
145
+ * >
146
+ * <YourApp />
147
+ * </PrivyStack>
148
+ * );
149
+ * }
150
+ * ```
151
+ */
152
+ export function PrivyStack({ appId, thirdwebClientId, useCredentialProxy = true, credentialProxyUrl, chains, children, loginMethods = ['email', 'google', 'wallet'], appearance = {
153
+ theme: 'light',
154
+ accentColor: '#2563EB',
155
+ }, onAddressChange, }) {
156
+ // State for async credential loading
157
+ const [credentials, setCredentials] = useState(null);
158
+ const [isLoading, setIsLoading] = useState(true);
159
+ const [error, setError] = useState(null);
160
+ // Load credentials on mount
161
+ useEffect(() => {
162
+ async function loadCredentials() {
163
+ try {
164
+ setIsLoading(true);
165
+ setError(null);
166
+ let resolvedCredentials;
167
+ if (useCredentialProxy) {
168
+ // Use credential proxy (RECOMMENDED)
169
+ resolvedCredentials = await resolveCredentialsWithProxy(appId, thirdwebClientId, {
170
+ proxyUrl: credentialProxyUrl,
171
+ debug: process.env.NODE_ENV === 'development',
172
+ });
173
+ }
174
+ else {
175
+ // Use manual credentials or fallback to dev credentials
176
+ // Pass usingProxy=true to suppress warnings (proxy handles messaging)
177
+ resolvedCredentials = resolveCredentials(appId || VARITY_DEV_CREDENTIALS.privy.appId, thirdwebClientId || VARITY_DEV_CREDENTIALS.thirdweb.clientId, true // Using Varity-managed credentials
178
+ );
179
+ }
180
+ setCredentials(resolvedCredentials);
181
+ }
182
+ catch (err) {
183
+ const errorMessage = err instanceof Error ? err.message : 'Failed to load credentials';
184
+ setError(errorMessage);
185
+ console.error('Failed to load credentials:', err);
186
+ }
187
+ finally {
188
+ setIsLoading(false);
189
+ }
190
+ }
191
+ loadCredentials();
192
+ }, [appId, thirdwebClientId, useCredentialProxy, credentialProxyUrl]);
193
+ // Show loading state
194
+ if (isLoading) {
195
+ return (React.createElement("div", { style: {
196
+ display: 'flex',
197
+ justifyContent: 'center',
198
+ alignItems: 'center',
199
+ height: '100vh',
200
+ fontFamily: 'system-ui, -apple-system, sans-serif',
201
+ } },
202
+ React.createElement("div", { style: { textAlign: 'center' } },
203
+ React.createElement("div", { style: {
204
+ width: '48px',
205
+ height: '48px',
206
+ border: '4px solid #f3f3f3',
207
+ borderTop: '4px solid #2563EB',
208
+ borderRadius: '50%',
209
+ animation: 'spin 1s linear infinite',
210
+ margin: '0 auto 16px',
211
+ } }),
212
+ React.createElement("p", { style: { color: '#666' } }, "Initializing authentication...")),
213
+ React.createElement("style", null, `
214
+ @keyframes spin {
215
+ 0% { transform: rotate(0deg); }
216
+ 100% { transform: rotate(360deg); }
217
+ }
218
+ `)));
219
+ }
220
+ // Show error state
221
+ if (error || !credentials) {
222
+ return (React.createElement("div", { style: {
223
+ display: 'flex',
224
+ justifyContent: 'center',
225
+ alignItems: 'center',
226
+ height: '100vh',
227
+ fontFamily: 'system-ui, -apple-system, sans-serif',
228
+ padding: '24px',
229
+ } },
230
+ React.createElement("div", { style: {
231
+ maxWidth: '600px',
232
+ padding: '32px',
233
+ backgroundColor: '#FEE2E2',
234
+ border: '1px solid #EF4444',
235
+ borderRadius: '8px',
236
+ } },
237
+ React.createElement("h2", { style: { margin: '0 0 16px', color: '#991B1B' } }, "Failed to Load Credentials"),
238
+ React.createElement("p", { style: { margin: '0 0 16px', color: '#7F1D1D' } }, error || 'Unknown error occurred while loading credentials'),
239
+ React.createElement("p", { style: { margin: '0', color: '#7F1D1D', fontSize: '14px' } }, "Please check:"),
240
+ React.createElement("ul", { style: { margin: '8px 0 0', color: '#7F1D1D', fontSize: '14px' } },
241
+ React.createElement("li", null, "Credential proxy is deployed and accessible"),
242
+ React.createElement("li", null, "Manual credentials are provided if proxy is disabled"),
243
+ React.createElement("li", null, "Network connectivity is working")))));
244
+ }
245
+ // Use Varity L3 Testnet as default chain if none provided
246
+ const supportedChains = React.useMemo(() => {
247
+ if (chains && chains.length > 0) {
248
+ return chains.map(toPrivyChain);
249
+ }
250
+ // Default to Varity L3 Testnet
251
+ return [
252
+ {
253
+ id: 33529,
254
+ name: 'Varity L3 Testnet',
255
+ network: 'varity-testnet',
256
+ nativeCurrency: {
257
+ name: 'USDC',
258
+ symbol: 'USDC',
259
+ decimals: 6,
260
+ },
261
+ rpcUrls: {
262
+ default: {
263
+ http: ['https://rpc-varity-testnet-rroe52pwjp.t.conduit.xyz'],
264
+ },
265
+ public: {
266
+ http: ['https://rpc-varity-testnet-rroe52pwjp.t.conduit.xyz'],
267
+ },
268
+ },
269
+ blockExplorers: {
270
+ default: {
271
+ name: 'Varity Explorer',
272
+ url: 'https://explorer-varity-testnet-rroe52pwjp.t.conduit.xyz',
273
+ },
274
+ },
275
+ testnet: true,
276
+ },
277
+ ];
278
+ }, [chains]);
279
+ return (React.createElement(QueryClientProvider, { client: queryClient },
280
+ React.createElement(PrivyProvider, { appId: credentials.privy.appId, config: {
281
+ loginMethods,
282
+ appearance: {
283
+ theme: appearance.theme || 'light',
284
+ accentColor: (appearance.accentColor || '#2563EB'),
285
+ logo: appearance.logo,
286
+ },
287
+ supportedChains,
288
+ defaultChain: supportedChains[0],
289
+ } },
290
+ React.createElement(PrivyReadyGate, null,
291
+ React.createElement(ThirdwebProvider, null,
292
+ React.createElement(WalletSyncProvider, { onAddressChange: onAddressChange }, children))))));
293
+ }
294
+ export default PrivyStack;
295
+ //# sourceMappingURL=PrivyStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyStack.js","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { useWalletSync, WalletSyncState } from './WalletSyncProvider';
3
+ export interface VarityDashboardProviderProps {
4
+ children: ReactNode;
5
+ /**
6
+ * Privy App ID (from Privy Dashboard)
7
+ * Can also be set via NEXT_PUBLIC_PRIVY_APP_ID environment variable
8
+ */
9
+ privyAppId?: string;
10
+ /**
11
+ * Thirdweb Client ID (from thirdweb Dashboard)
12
+ * Can also be set via NEXT_PUBLIC_THIRDWEB_CLIENT_ID environment variable
13
+ */
14
+ thirdwebClientId?: string;
15
+ /**
16
+ * Appearance configuration
17
+ */
18
+ appearance?: {
19
+ theme?: 'light' | 'dark';
20
+ accentColor?: `#${string}`;
21
+ logo?: string;
22
+ };
23
+ /**
24
+ * Login methods to enable
25
+ * @default ['email', 'google', 'wallet']
26
+ */
27
+ loginMethods?: ('email' | 'google' | 'twitter' | 'discord' | 'github' | 'wallet' | 'sms')[];
28
+ /**
29
+ * Initialization timeout in milliseconds
30
+ * @default 10000
31
+ */
32
+ initTimeout?: number;
33
+ /**
34
+ * Callback when wallet address changes
35
+ */
36
+ onAddressChange?: (address: string | null) => void;
37
+ /**
38
+ * Callback when wallet sync state changes
39
+ */
40
+ onWalletSyncChange?: (state: WalletSyncState) => void;
41
+ /**
42
+ * Custom error boundary component
43
+ */
44
+ errorBoundary?: React.ComponentType<{
45
+ children: React.ReactNode;
46
+ }>;
47
+ }
48
+ /**
49
+ * VarityDashboardProvider - Complete provider setup for Varity L3 dashboards
50
+ *
51
+ * Combines:
52
+ * - Privy (authentication: email, social, wallet)
53
+ * - Thirdweb (wallet management, contracts)
54
+ * - WalletSync (unified wallet state)
55
+ * - React Query (data fetching)
56
+ * - Wagmi (Ethereum interactions)
57
+ *
58
+ * Features:
59
+ * - Embedded wallets for non-crypto users
60
+ * - Gasless transactions support (when configured)
61
+ * - NFT-based licensing support
62
+ * - Cross-chain functionality
63
+ * - Loading states and error handling
64
+ *
65
+ * @example
66
+ * ```tsx
67
+ * import { VarityDashboardProvider } from '@varity-labs/ui-kit';
68
+ *
69
+ * function App() {
70
+ * return (
71
+ * <VarityDashboardProvider
72
+ * privyAppId="your-privy-app-id"
73
+ * thirdwebClientId="your-thirdweb-client-id"
74
+ * appearance={{
75
+ * theme: 'light',
76
+ * accentColor: '#2563EB',
77
+ * logo: '/logo.png'
78
+ * }}
79
+ * >
80
+ * <YourDashboard />
81
+ * </VarityDashboardProvider>
82
+ * );
83
+ * }
84
+ * ```
85
+ */
86
+ export declare function VarityDashboardProvider({ children, privyAppId, thirdwebClientId, appearance, loginMethods, initTimeout, onAddressChange, onWalletSyncChange, errorBoundary: ErrorBoundary, }: VarityDashboardProviderProps): React.JSX.Element;
87
+ export { useWalletSync };
88
+ export type { WalletSyncState };
89
+ export default VarityDashboardProvider;
90
+ //# sourceMappingURL=VarityDashboardProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VarityDashboardProvider.d.ts","sourceRoot":"","sources":["../../src/providers/VarityDashboardProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAuB,SAAS,EAAW,MAAM,OAAO,CAAC;AASvE,OAAO,EAAsB,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAwM1F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IAC5F;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,UAGC,EACD,YAA4C,EAC5C,WAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,aAAa,EAAE,aAAa,GAC7B,EAAE,4BAA4B,qBAgF9B;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,242 @@
1
+ 'use client';
2
+ import React, { useState, useEffect, useMemo } from 'react';
3
+ import { PrivyProvider, usePrivy } from '@privy-io/react-auth';
4
+ import { WagmiProvider } from '@privy-io/wagmi';
5
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
6
+ import { ThirdwebProvider } from 'thirdweb/react';
7
+ import { createThirdwebClient } from 'thirdweb';
8
+ import { http } from 'viem';
9
+ import { arbitrumSepolia, arbitrum } from 'viem/chains';
10
+ import { createConfig } from 'wagmi';
11
+ import { WalletSyncProvider, useWalletSync } from './WalletSyncProvider';
12
+ /**
13
+ * Varity L3 Chain Configuration (Arbitrum Orbit Testnet)
14
+ * CRITICAL: Uses correct RPC URL for Conduit deployment
15
+ */
16
+ const varityL3Testnet = {
17
+ id: 33529,
18
+ name: 'Varity L3 Testnet',
19
+ network: 'varity-testnet',
20
+ nativeCurrency: {
21
+ decimals: 6, // USDC has 6 decimals - NOT 18!
22
+ name: 'USDC',
23
+ symbol: 'USDC',
24
+ },
25
+ rpcUrls: {
26
+ default: {
27
+ http: ['https://rpc-varity-testnet-rroe52pwjp.t.conduit.xyz'],
28
+ },
29
+ public: {
30
+ http: ['https://rpc-varity-testnet-rroe52pwjp.t.conduit.xyz'],
31
+ },
32
+ },
33
+ blockExplorers: {
34
+ default: {
35
+ name: 'Varity Explorer',
36
+ url: 'https://explorer-varity-testnet-rroe52pwjp.t.conduit.xyz',
37
+ },
38
+ },
39
+ testnet: true,
40
+ };
41
+ // Create Wagmi config for Privy
42
+ const wagmiConfig = createConfig({
43
+ chains: [varityL3Testnet, arbitrumSepolia, arbitrum],
44
+ transports: {
45
+ [varityL3Testnet.id]: http(),
46
+ [arbitrumSepolia.id]: http(),
47
+ [arbitrum.id]: http(),
48
+ },
49
+ });
50
+ // Create React Query client
51
+ const queryClient = new QueryClient();
52
+ /**
53
+ * InitializingScreen - Shows while Privy and thirdweb providers initialize
54
+ */
55
+ function InitializingScreen({ logo }) {
56
+ return (React.createElement("div", { className: "min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100 flex items-center justify-center p-4" },
57
+ React.createElement("div", { className: "bg-white rounded-lg shadow-xl p-8 max-w-md text-center" },
58
+ React.createElement("div", { className: "flex justify-center mb-4" },
59
+ React.createElement("div", { className: "relative" },
60
+ React.createElement("div", { className: "animate-spin rounded-full h-16 w-16 border-b-4 border-blue-600" }),
61
+ logo && (React.createElement("img", { src: logo, alt: "Logo", className: "absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-8 h-8" })))),
62
+ React.createElement("h1", { className: "text-2xl font-bold text-gray-900 mb-2" }, "Initializing Dashboard..."),
63
+ React.createElement("p", { className: "text-gray-600 mb-4" }, "Setting up Web3 providers and authentication."),
64
+ React.createElement("div", { className: "text-sm text-gray-500 space-y-1" },
65
+ React.createElement("p", { className: "flex items-center justify-center gap-2" },
66
+ React.createElement("span", { className: "w-4 h-4 text-green-500" }, "\u2713"),
67
+ "Loading authentication"),
68
+ React.createElement("p", { className: "flex items-center justify-center gap-2" },
69
+ React.createElement("span", { className: "w-4 h-4 text-green-500" }, "\u2713"),
70
+ "Connecting to Varity L3"),
71
+ React.createElement("p", { className: "flex items-center justify-center gap-2" },
72
+ React.createElement("span", { className: "w-4 h-4 text-green-500" }, "\u2713"),
73
+ "Preparing wallet connection")))));
74
+ }
75
+ /**
76
+ * InitTimeoutScreen - Shows if initialization takes too long
77
+ */
78
+ function InitTimeoutScreen({ onRetry }) {
79
+ return (React.createElement("div", { className: "min-h-screen bg-gray-50 flex items-center justify-center p-4" },
80
+ React.createElement("div", { className: "bg-white rounded-lg shadow-lg p-8 max-w-md" },
81
+ React.createElement("div", { className: "w-16 h-16 bg-yellow-100 rounded-full flex items-center justify-center mx-auto mb-4" },
82
+ React.createElement("span", { className: "text-2xl" }, "\u23F1")),
83
+ React.createElement("h1", { className: "text-2xl font-bold text-gray-900 mb-2" }, "Taking Longer Than Expected"),
84
+ React.createElement("p", { className: "text-gray-600 mb-4" }, "The Web3 providers are taking longer than usual to initialize."),
85
+ React.createElement("ul", { className: "text-sm text-gray-700 space-y-2 mb-4" },
86
+ React.createElement("li", { className: "flex items-start gap-2" },
87
+ React.createElement("span", { className: "text-yellow-600 mt-0.5" }, "\u2022"),
88
+ React.createElement("span", null, "Check your internet connection")),
89
+ React.createElement("li", { className: "flex items-start gap-2" },
90
+ React.createElement("span", { className: "text-yellow-600 mt-0.5" }, "\u2022"),
91
+ React.createElement("span", null, "Services may be experiencing delays"))),
92
+ React.createElement("div", { className: "flex gap-2" },
93
+ React.createElement("button", { onClick: onRetry, className: "flex-1 bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors" }, "Retry"),
94
+ React.createElement("button", { onClick: () => window.location.reload(), className: "flex-1 bg-gray-200 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-300 transition-colors" }, "Refresh Page")))));
95
+ }
96
+ /**
97
+ * ConfigErrorScreen - Shows when required env vars are missing
98
+ */
99
+ function ConfigErrorScreen({ error }) {
100
+ return (React.createElement("div", { className: "min-h-screen bg-gray-50 flex items-center justify-center p-4" },
101
+ React.createElement("div", { className: "bg-white rounded-lg shadow-lg p-8 max-w-md" },
102
+ React.createElement("div", { className: "w-16 h-16 bg-red-100 rounded-full flex items-center justify-center mx-auto mb-4" },
103
+ React.createElement("span", { className: "text-2xl" }, "\u26A0")),
104
+ React.createElement("h1", { className: "text-2xl font-bold text-gray-900 mb-2" }, "Configuration Error"),
105
+ React.createElement("p", { className: "text-gray-600 mb-4" },
106
+ "Missing required configuration: ",
107
+ React.createElement("strong", null, error)),
108
+ React.createElement("ul", { className: "text-sm text-gray-700 space-y-2 mb-4" },
109
+ React.createElement("li", null, "\u2022 Check your .env.local file"),
110
+ React.createElement("li", null, "\u2022 Ensure all environment variables are set"),
111
+ React.createElement("li", null, "\u2022 Restart the development server")),
112
+ React.createElement("button", { onClick: () => window.location.reload(), className: "w-full bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors" }, "Retry"))));
113
+ }
114
+ /**
115
+ * PrivyReadyGate - Waits for Privy to be ready before rendering children
116
+ */
117
+ function PrivyReadyGate({ children, logo, initTimeout = 10000, }) {
118
+ const { ready } = usePrivy();
119
+ const [showTimeoutScreen, setShowTimeoutScreen] = useState(false);
120
+ useEffect(() => {
121
+ const timeout = setTimeout(() => {
122
+ if (!ready) {
123
+ setShowTimeoutScreen(true);
124
+ }
125
+ }, initTimeout);
126
+ return () => clearTimeout(timeout);
127
+ }, [ready, initTimeout]);
128
+ if (ready) {
129
+ return React.createElement(React.Fragment, null, children);
130
+ }
131
+ if (showTimeoutScreen) {
132
+ return (React.createElement(InitTimeoutScreen, { onRetry: () => setShowTimeoutScreen(false) }));
133
+ }
134
+ return React.createElement(InitializingScreen, { logo: logo });
135
+ }
136
+ /**
137
+ * VarityDashboardProvider - Complete provider setup for Varity L3 dashboards
138
+ *
139
+ * Combines:
140
+ * - Privy (authentication: email, social, wallet)
141
+ * - Thirdweb (wallet management, contracts)
142
+ * - WalletSync (unified wallet state)
143
+ * - React Query (data fetching)
144
+ * - Wagmi (Ethereum interactions)
145
+ *
146
+ * Features:
147
+ * - Embedded wallets for non-crypto users
148
+ * - Gasless transactions support (when configured)
149
+ * - NFT-based licensing support
150
+ * - Cross-chain functionality
151
+ * - Loading states and error handling
152
+ *
153
+ * @example
154
+ * ```tsx
155
+ * import { VarityDashboardProvider } from '@varity-labs/ui-kit';
156
+ *
157
+ * function App() {
158
+ * return (
159
+ * <VarityDashboardProvider
160
+ * privyAppId="your-privy-app-id"
161
+ * thirdwebClientId="your-thirdweb-client-id"
162
+ * appearance={{
163
+ * theme: 'light',
164
+ * accentColor: '#2563EB',
165
+ * logo: '/logo.png'
166
+ * }}
167
+ * >
168
+ * <YourDashboard />
169
+ * </VarityDashboardProvider>
170
+ * );
171
+ * }
172
+ * ```
173
+ */
174
+ export function VarityDashboardProvider({ children, privyAppId, thirdwebClientId, appearance = {
175
+ theme: 'light',
176
+ accentColor: '#2563EB',
177
+ }, loginMethods = ['email', 'google', 'wallet'], initTimeout = 10000, onAddressChange, onWalletSyncChange, errorBoundary: ErrorBoundary, }) {
178
+ // Get config from props or environment variables
179
+ const appId = privyAppId || process.env.NEXT_PUBLIC_PRIVY_APP_ID;
180
+ const clientId = thirdwebClientId || process.env.NEXT_PUBLIC_THIRDWEB_CLIENT_ID;
181
+ // Validate required config
182
+ const [configError, setConfigError] = useState(null);
183
+ useEffect(() => {
184
+ if (!appId) {
185
+ setConfigError('Privy App ID is required (pass privyAppId prop or set NEXT_PUBLIC_PRIVY_APP_ID)');
186
+ }
187
+ else if (!clientId) {
188
+ setConfigError('Thirdweb Client ID is required (pass thirdwebClientId prop or set NEXT_PUBLIC_THIRDWEB_CLIENT_ID)');
189
+ }
190
+ else {
191
+ setConfigError(null);
192
+ }
193
+ }, [appId, clientId]);
194
+ // Create thirdweb client
195
+ const thirdwebClient = useMemo(() => {
196
+ if (!clientId)
197
+ return null;
198
+ try {
199
+ return createThirdwebClient({ clientId });
200
+ }
201
+ catch (error) {
202
+ console.error('Failed to create thirdweb client:', error);
203
+ return null;
204
+ }
205
+ }, [clientId]);
206
+ // Show config error
207
+ if (configError) {
208
+ return React.createElement(ConfigErrorScreen, { error: configError });
209
+ }
210
+ // Show thirdweb error
211
+ if (!thirdwebClient) {
212
+ return React.createElement(ConfigErrorScreen, { error: "Failed to initialize thirdweb client" });
213
+ }
214
+ const content = (React.createElement(PrivyProvider, { appId: appId, config: {
215
+ loginMethods,
216
+ appearance: {
217
+ theme: appearance.theme,
218
+ accentColor: appearance.accentColor,
219
+ logo: appearance.logo,
220
+ showWalletLoginFirst: false,
221
+ },
222
+ embeddedWallets: {
223
+ createOnLogin: 'users-without-wallets',
224
+ },
225
+ defaultChain: varityL3Testnet,
226
+ supportedChains: [varityL3Testnet, arbitrumSepolia, arbitrum],
227
+ } },
228
+ React.createElement(QueryClientProvider, { client: queryClient },
229
+ React.createElement(WagmiProvider, { config: wagmiConfig },
230
+ React.createElement(PrivyReadyGate, { logo: appearance.logo, initTimeout: initTimeout },
231
+ React.createElement(ThirdwebProvider, null,
232
+ React.createElement(WalletSyncProvider, { onAddressChange: onAddressChange, onSyncStateChange: onWalletSyncChange }, children)))))));
233
+ // Wrap with error boundary if provided
234
+ if (ErrorBoundary) {
235
+ return React.createElement(ErrorBoundary, null, content);
236
+ }
237
+ return content;
238
+ }
239
+ // Re-export hooks for convenience
240
+ export { useWalletSync };
241
+ export default VarityDashboardProvider;
242
+ //# sourceMappingURL=VarityDashboardProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VarityDashboardProvider.js","sourceRoot":"","sources":["../../src/providers/VarityDashboardProvider.tsx"],"names":[],"mappings":"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"}