@varity-labs/ui-kit 2.0.0-beta.7 → 2.0.0-beta.9
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.
- package/README.md +1 -1
- package/dist/components/Dashboard/DashboardHeader.js +4 -4
- package/dist/components/Dashboard/DashboardHeader.js.map +1 -1
- package/dist/components/Dashboard/DashboardLayout.d.ts +3 -3
- package/dist/components/Dashboard/DashboardLayout.d.ts.map +1 -1
- package/dist/components/Dashboard/DashboardLayout.js +1 -1
- package/dist/providers/PrivyStack.d.ts +21 -49
- package/dist/providers/PrivyStack.d.ts.map +1 -1
- package/dist/providers/PrivyStack.js +16 -46
- package/dist/providers/PrivyStack.js.map +1 -1
- package/dist/providers/WalletSyncProvider.d.ts +17 -24
- package/dist/providers/WalletSyncProvider.d.ts.map +1 -1
- package/dist/providers/WalletSyncProvider.js +16 -27
- package/dist/providers/WalletSyncProvider.js.map +1 -1
- package/package.json +21 -20
- package/dist/components/Analytics/__tests__/DataTable.test.d.ts +0 -2
- package/dist/components/Analytics/__tests__/DataTable.test.d.ts.map +0 -1
- package/dist/components/Analytics/__tests__/DataTable.test.js +0 -113
- package/dist/components/Analytics/__tests__/DataTable.test.js.map +0 -1
- package/dist/components/Dashboard/__tests__/EmptyState.test.d.ts +0 -2
- package/dist/components/Dashboard/__tests__/EmptyState.test.d.ts.map +0 -1
- package/dist/components/Dashboard/__tests__/EmptyState.test.js +0 -81
- package/dist/components/Dashboard/__tests__/EmptyState.test.js.map +0 -1
- package/dist/components/Dashboard/__tests__/KPICard.test.d.ts +0 -2
- package/dist/components/Dashboard/__tests__/KPICard.test.d.ts.map +0 -1
- package/dist/components/Dashboard/__tests__/KPICard.test.js +0 -78
- package/dist/components/Dashboard/__tests__/KPICard.test.js.map +0 -1
- package/dist/components/Privy/__tests__/InitScreens.test.d.ts +0 -2
- package/dist/components/Privy/__tests__/InitScreens.test.d.ts.map +0 -1
- package/dist/components/Privy/__tests__/InitScreens.test.js +0 -74
- package/dist/components/Privy/__tests__/InitScreens.test.js.map +0 -1
- package/dist/core/VarityClient.d.ts +0 -76
- package/dist/core/VarityClient.d.ts.map +0 -1
- package/dist/core/VarityClient.js +0 -99
- package/dist/core/VarityClient.js.map +0 -1
- package/dist/core/config.d.ts +0 -136
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js +0 -156
- package/dist/core/config.js.map +0 -1
- package/dist/hooks/useAnalytics.d.ts +0 -94
- package/dist/hooks/useAnalytics.d.ts.map +0 -1
- package/dist/hooks/useAnalytics.js +0 -116
- package/dist/hooks/useAnalytics.js.map +0 -1
- package/dist/hooks/useAuth.d.ts +0 -71
- package/dist/hooks/useAuth.d.ts.map +0 -1
- package/dist/hooks/useAuth.js +0 -198
- package/dist/hooks/useAuth.js.map +0 -1
- package/dist/hooks/useDashboard.d.ts +0 -110
- package/dist/hooks/useDashboard.d.ts.map +0 -1
- package/dist/hooks/useDashboard.js +0 -201
- package/dist/hooks/useDashboard.js.map +0 -1
- package/dist/hooks/useVarityAPI.d.ts +0 -88
- package/dist/hooks/useVarityAPI.d.ts.map +0 -1
- package/dist/hooks/useVarityAPI.js +0 -138
- package/dist/hooks/useVarityAPI.js.map +0 -1
- package/dist/hooks/useWalletAuth.d.ts +0 -108
- package/dist/hooks/useWalletAuth.d.ts.map +0 -1
- package/dist/hooks/useWalletAuth.js +0 -415
- package/dist/hooks/useWalletAuth.js.map +0 -1
- package/dist/modules/cache/index.d.ts +0 -12
- package/dist/modules/cache/index.d.ts.map +0 -1
- package/dist/modules/cache/index.js +0 -13
- package/dist/modules/cache/index.js.map +0 -1
- package/dist/types/api-extensions.d.ts +0 -92
- package/dist/types/api-extensions.d.ts.map +0 -1
- package/dist/types/api-extensions.js +0 -7
- package/dist/types/api-extensions.js.map +0 -1
package/README.md
CHANGED
|
@@ -13,10 +13,10 @@ export const DashboardHeader = ({ height = 64, sidebarWidth = 0, user, onLogout,
|
|
|
13
13
|
const [showProfileDropdown, setShowProfileDropdown] = useState(false);
|
|
14
14
|
const notificationRef = useRef(null);
|
|
15
15
|
const profileRef = useRef(null);
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
16
|
+
const truncateDisplay = (value) => {
|
|
17
|
+
if (!value)
|
|
18
18
|
return '';
|
|
19
|
-
return `${
|
|
19
|
+
return `${value.slice(0, 6)}...${value.slice(-4)}`;
|
|
20
20
|
};
|
|
21
21
|
// Close dropdowns when clicking outside
|
|
22
22
|
useEffect(() => {
|
|
@@ -139,7 +139,7 @@ export const DashboardHeader = ({ height = 64, sidebarWidth = 0, user, onLogout,
|
|
|
139
139
|
} }, !user.avatarUrl && user.name.charAt(0).toUpperCase()),
|
|
140
140
|
React.createElement("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'flex-start' } },
|
|
141
141
|
React.createElement("span", { style: { fontWeight: 500, fontSize: '14px', color: 'var(--varity-text-primary, #212121)' } }, user.name),
|
|
142
|
-
React.createElement("span", { style: { fontSize: '12px', color: 'var(--varity-text-secondary, #757575)' } },
|
|
142
|
+
React.createElement("span", { style: { fontSize: '12px', color: 'var(--varity-text-secondary, #757575)' } }, truncateDisplay(user.email))),
|
|
143
143
|
React.createElement("span", { style: { fontSize: '12px', color: 'var(--varity-text-secondary, #757575)' } }, showProfileDropdown ? '▲' : '▼')),
|
|
144
144
|
showProfileDropdown && (React.createElement("div", { style: {
|
|
145
145
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardHeader.js","sourceRoot":"","sources":["../../../src/components/Dashboard/DashboardHeader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AA0B1D;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,MAAM,GAAG,EAAE,EACX,YAAY,GAAG,CAAC,EAChB,IAAI,EACJ,QAAQ,EACR,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,CAAC,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,GAAG,WAAW,EAChC,EAAE,EAAE;IACH,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrE,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAE/C,MAAM,eAAe,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"DashboardHeader.js","sourceRoot":"","sources":["../../../src/components/Dashboard/DashboardHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -54,8 +54,8 @@ export interface NavigationItem {
|
|
|
54
54
|
export interface UserInfo {
|
|
55
55
|
/** User's display name */
|
|
56
56
|
name: string;
|
|
57
|
-
/** User's email
|
|
58
|
-
|
|
57
|
+
/** User's email address */
|
|
58
|
+
email: string;
|
|
59
59
|
/** User's avatar URL */
|
|
60
60
|
avatarUrl?: string;
|
|
61
61
|
}
|
|
@@ -67,7 +67,7 @@ export interface UserInfo {
|
|
|
67
67
|
* <DashboardLayout
|
|
68
68
|
* companyName="Acme Corp"
|
|
69
69
|
* logoUrl="/logo.png"
|
|
70
|
-
* user={{ name: "John Doe",
|
|
70
|
+
* user={{ name: "John Doe", email: "john@example.com" }}
|
|
71
71
|
* navigationItems={[
|
|
72
72
|
* { label: "Dashboard", icon: "dashboard", path: "/" },
|
|
73
73
|
* { label: "Analytics", icon: "analytics", path: "/analytics" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Dashboard/DashboardLayout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKxC,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mCAAmC;IACnC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,kCAAkC;IAClC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,gEAAgE;IAChE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,
|
|
1
|
+
{"version":3,"file":"DashboardLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Dashboard/DashboardLayout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKxC,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mCAAmC;IACnC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,kCAAkC;IAClC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,gEAAgE;IAChE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA+E1D,CAAA"}
|
|
@@ -16,7 +16,7 @@ import { DashboardFooter } from './DashboardFooter';
|
|
|
16
16
|
* <DashboardLayout
|
|
17
17
|
* companyName="Acme Corp"
|
|
18
18
|
* logoUrl="/logo.png"
|
|
19
|
-
* user={{ name: "John Doe",
|
|
19
|
+
* user={{ name: "John Doe", email: "john@example.com" }}
|
|
20
20
|
* navigationItems={[
|
|
21
21
|
* { label: "Dashboard", icon: "dashboard", path: "/" },
|
|
22
22
|
* { label: "Analytics", icon: "analytics", path: "/analytics" }
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Simple chain configuration type (Varity internal — no external dependency required)
|
|
4
|
+
*/
|
|
5
|
+
export interface Chain {
|
|
6
|
+
id: number;
|
|
7
|
+
rpc: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
testnet?: boolean;
|
|
10
|
+
}
|
|
3
11
|
export interface PrivyStackProps {
|
|
4
12
|
/**
|
|
5
|
-
* Your
|
|
6
|
-
*
|
|
7
|
-
* Optional - defaults to shared development credentials (VARITY_DEV_CREDENTIALS).
|
|
8
|
-
* For production, provide your own credentials.
|
|
13
|
+
* Your Varity auth app ID.
|
|
9
14
|
*
|
|
10
|
-
*
|
|
15
|
+
* Optional — defaults to shared development credentials (VARITY_DEV_CREDENTIALS).
|
|
16
|
+
* For production, `varitykit deploy` injects the correct value automatically.
|
|
17
|
+
* You never need to sign up for any external service.
|
|
11
18
|
*/
|
|
12
19
|
appId?: string;
|
|
13
|
-
/**
|
|
14
|
-
* Your thirdweb client ID from https://thirdweb.com/dashboard
|
|
15
|
-
*
|
|
16
|
-
* Optional - defaults to shared development credentials (VARITY_DEV_CREDENTIALS).
|
|
17
|
-
* For production, provide your own credentials.
|
|
18
|
-
*
|
|
19
|
-
* @see https://thirdweb.com/dashboard
|
|
20
|
-
*/
|
|
21
|
-
thirdwebClientId?: string;
|
|
22
20
|
/**
|
|
23
21
|
* Chains to support
|
|
24
22
|
* @default [varityL3Testnet]
|
|
@@ -30,7 +28,7 @@ export interface PrivyStackProps {
|
|
|
30
28
|
children: ReactNode;
|
|
31
29
|
/**
|
|
32
30
|
* Login methods to enable
|
|
33
|
-
* @default ['email', 'google'
|
|
31
|
+
* @default ['email', 'google']
|
|
34
32
|
*/
|
|
35
33
|
loginMethods?: Array<'email' | 'wallet' | 'google' | 'twitter' | 'discord' | 'github' | 'apple' | 'linkedin' | 'sms'>;
|
|
36
34
|
/**
|
|
@@ -42,7 +40,7 @@ export interface PrivyStackProps {
|
|
|
42
40
|
logo?: string;
|
|
43
41
|
};
|
|
44
42
|
/**
|
|
45
|
-
* Callback when
|
|
43
|
+
* Callback when user address changes
|
|
46
44
|
*/
|
|
47
45
|
onAddressChange?: (address: string | null) => void;
|
|
48
46
|
}
|
|
@@ -84,41 +82,34 @@ export interface PrivyStackProps {
|
|
|
84
82
|
* }
|
|
85
83
|
* ```
|
|
86
84
|
*
|
|
87
|
-
* @example Production setup
|
|
85
|
+
* @example Production setup (varitykit deploy injects appId automatically)
|
|
88
86
|
* ```tsx
|
|
89
87
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
90
88
|
*
|
|
91
89
|
* function App() {
|
|
92
90
|
* return (
|
|
93
|
-
* <PrivyStack
|
|
94
|
-
* appId={process.env.PRIVY_APP_ID}
|
|
95
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
96
|
-
* >
|
|
91
|
+
* <PrivyStack appId={process.env.NEXT_PUBLIC_VARITY_AUTH_ID}>
|
|
97
92
|
* <YourApp />
|
|
98
93
|
* </PrivyStack>
|
|
99
94
|
* );
|
|
100
95
|
* }
|
|
101
96
|
* ```
|
|
102
97
|
*
|
|
103
|
-
* @example With
|
|
98
|
+
* @example With appearance customization
|
|
104
99
|
* ```tsx
|
|
105
100
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
106
|
-
* import { varityL3Testnet, arbitrumSepolia } from '@varity-labs/sdk';
|
|
107
101
|
*
|
|
108
102
|
* function App() {
|
|
109
103
|
* return (
|
|
110
104
|
* <PrivyStack
|
|
111
|
-
*
|
|
112
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
113
|
-
* chains={[varityL3Testnet, arbitrumSepolia]}
|
|
114
|
-
* loginMethods={['email', 'google', 'wallet']}
|
|
105
|
+
* loginMethods={['email', 'google']}
|
|
115
106
|
* appearance={{
|
|
116
107
|
* theme: 'light',
|
|
117
108
|
* accentColor: '#2563EB',
|
|
118
109
|
* logo: '/logo.png'
|
|
119
110
|
* }}
|
|
120
111
|
* onAddressChange={(address) => {
|
|
121
|
-
* console.log('
|
|
112
|
+
* console.log('User address changed:', address);
|
|
122
113
|
* }}
|
|
123
114
|
* >
|
|
124
115
|
* <YourApp />
|
|
@@ -126,26 +117,7 @@ export interface PrivyStackProps {
|
|
|
126
117
|
* );
|
|
127
118
|
* }
|
|
128
119
|
* ```
|
|
129
|
-
*
|
|
130
|
-
* @example With wallet address tracking
|
|
131
|
-
* ```tsx
|
|
132
|
-
* <PrivyStack
|
|
133
|
-
* appId={process.env.PRIVY_APP_ID}
|
|
134
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
135
|
-
* onAddressChange={(address) => {
|
|
136
|
-
* if (address) {
|
|
137
|
-
* // User connected wallet
|
|
138
|
-
* localStorage.setItem('wallet_address', address);
|
|
139
|
-
* } else {
|
|
140
|
-
* // User disconnected
|
|
141
|
-
* localStorage.removeItem('wallet_address');
|
|
142
|
-
* }
|
|
143
|
-
* }}
|
|
144
|
-
* >
|
|
145
|
-
* <YourApp />
|
|
146
|
-
* </PrivyStack>
|
|
147
|
-
* ```
|
|
148
120
|
*/
|
|
149
|
-
export declare function PrivyStack({ appId,
|
|
121
|
+
export declare function PrivyStack({ appId, chains, children, loginMethods, appearance, onAddressChange, }: PrivyStackProps): JSX.Element;
|
|
150
122
|
export default PrivyStack;
|
|
151
123
|
//# sourceMappingURL=PrivyStack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivyStack.d.ts","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PrivyStack.d.ts","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOzC;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAmDD,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC;IACtH;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAkC,EAClC,UAGC,EACD,eAAe,GAChB,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAiE/B;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PrivyProvider } from '@privy-io/react-auth';
|
|
3
3
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
4
|
-
import { ThirdwebProvider } from 'thirdweb/react';
|
|
5
4
|
import { PrivyReadyGate } from '../components/Privy/PrivyReadyGate';
|
|
6
5
|
import { WalletSyncProvider } from './WalletSyncProvider';
|
|
7
|
-
import {
|
|
6
|
+
import { VARITY_DEV_CREDENTIALS } from '@varity-labs/sdk';
|
|
8
7
|
/**
|
|
9
8
|
* Create React Query client (memoized singleton)
|
|
10
9
|
*/
|
|
@@ -17,7 +16,7 @@ const queryClient = new QueryClient({
|
|
|
17
16
|
},
|
|
18
17
|
});
|
|
19
18
|
/**
|
|
20
|
-
* Convert
|
|
19
|
+
* Convert Varity Chain to Privy Chain format
|
|
21
20
|
*/
|
|
22
21
|
function toPrivyChain(chain) {
|
|
23
22
|
return {
|
|
@@ -25,9 +24,9 @@ function toPrivyChain(chain) {
|
|
|
25
24
|
name: chain.name || `Chain ${chain.id}`,
|
|
26
25
|
network: `chain-${chain.id}`,
|
|
27
26
|
nativeCurrency: {
|
|
28
|
-
name: '
|
|
29
|
-
symbol: '
|
|
30
|
-
decimals:
|
|
27
|
+
name: 'USDC',
|
|
28
|
+
symbol: 'USDC',
|
|
29
|
+
decimals: 6,
|
|
31
30
|
},
|
|
32
31
|
rpcUrls: {
|
|
33
32
|
default: { http: [chain.rpc] },
|
|
@@ -74,41 +73,34 @@ function toPrivyChain(chain) {
|
|
|
74
73
|
* }
|
|
75
74
|
* ```
|
|
76
75
|
*
|
|
77
|
-
* @example Production setup
|
|
76
|
+
* @example Production setup (varitykit deploy injects appId automatically)
|
|
78
77
|
* ```tsx
|
|
79
78
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
80
79
|
*
|
|
81
80
|
* function App() {
|
|
82
81
|
* return (
|
|
83
|
-
* <PrivyStack
|
|
84
|
-
* appId={process.env.PRIVY_APP_ID}
|
|
85
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
86
|
-
* >
|
|
82
|
+
* <PrivyStack appId={process.env.NEXT_PUBLIC_VARITY_AUTH_ID}>
|
|
87
83
|
* <YourApp />
|
|
88
84
|
* </PrivyStack>
|
|
89
85
|
* );
|
|
90
86
|
* }
|
|
91
87
|
* ```
|
|
92
88
|
*
|
|
93
|
-
* @example With
|
|
89
|
+
* @example With appearance customization
|
|
94
90
|
* ```tsx
|
|
95
91
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
96
|
-
* import { varityL3Testnet, arbitrumSepolia } from '@varity-labs/sdk';
|
|
97
92
|
*
|
|
98
93
|
* function App() {
|
|
99
94
|
* return (
|
|
100
95
|
* <PrivyStack
|
|
101
|
-
*
|
|
102
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
103
|
-
* chains={[varityL3Testnet, arbitrumSepolia]}
|
|
104
|
-
* loginMethods={['email', 'google', 'wallet']}
|
|
96
|
+
* loginMethods={['email', 'google']}
|
|
105
97
|
* appearance={{
|
|
106
98
|
* theme: 'light',
|
|
107
99
|
* accentColor: '#2563EB',
|
|
108
100
|
* logo: '/logo.png'
|
|
109
101
|
* }}
|
|
110
102
|
* onAddressChange={(address) => {
|
|
111
|
-
* console.log('
|
|
103
|
+
* console.log('User address changed:', address);
|
|
112
104
|
* }}
|
|
113
105
|
* >
|
|
114
106
|
* <YourApp />
|
|
@@ -116,34 +108,13 @@ function toPrivyChain(chain) {
|
|
|
116
108
|
* );
|
|
117
109
|
* }
|
|
118
110
|
* ```
|
|
119
|
-
*
|
|
120
|
-
* @example With wallet address tracking
|
|
121
|
-
* ```tsx
|
|
122
|
-
* <PrivyStack
|
|
123
|
-
* appId={process.env.PRIVY_APP_ID}
|
|
124
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
125
|
-
* onAddressChange={(address) => {
|
|
126
|
-
* if (address) {
|
|
127
|
-
* // User connected wallet
|
|
128
|
-
* localStorage.setItem('wallet_address', address);
|
|
129
|
-
* } else {
|
|
130
|
-
* // User disconnected
|
|
131
|
-
* localStorage.removeItem('wallet_address');
|
|
132
|
-
* }
|
|
133
|
-
* }}
|
|
134
|
-
* >
|
|
135
|
-
* <YourApp />
|
|
136
|
-
* </PrivyStack>
|
|
137
|
-
* ```
|
|
138
111
|
*/
|
|
139
|
-
export function PrivyStack({ appId,
|
|
112
|
+
export function PrivyStack({ appId, chains, children, loginMethods = ['email', 'google'], appearance = {
|
|
140
113
|
theme: 'light',
|
|
141
114
|
accentColor: '#2563EB',
|
|
142
115
|
}, onAddressChange, }) {
|
|
143
|
-
// Resolve
|
|
144
|
-
const
|
|
145
|
-
return resolveCredentials(appId || VARITY_DEV_CREDENTIALS.privy.appId, thirdwebClientId || VARITY_DEV_CREDENTIALS.thirdweb.clientId);
|
|
146
|
-
}, [appId, thirdwebClientId]);
|
|
116
|
+
// Resolve auth app ID — fall back to shared dev credentials automatically
|
|
117
|
+
const resolvedAppId = React.useMemo(() => appId || VARITY_DEV_CREDENTIALS.privy.appId, [appId]);
|
|
147
118
|
// Use Varity default chain if none provided
|
|
148
119
|
const supportedChains = React.useMemo(() => {
|
|
149
120
|
if (chains && chains.length > 0) {
|
|
@@ -153,7 +124,7 @@ export function PrivyStack({ appId, thirdwebClientId, chains, children, loginMet
|
|
|
153
124
|
return [
|
|
154
125
|
{
|
|
155
126
|
id: 33529,
|
|
156
|
-
name: 'Varity
|
|
127
|
+
name: 'Varity Testnet',
|
|
157
128
|
network: 'varity-testnet',
|
|
158
129
|
nativeCurrency: {
|
|
159
130
|
name: 'USDC',
|
|
@@ -179,7 +150,7 @@ export function PrivyStack({ appId, thirdwebClientId, chains, children, loginMet
|
|
|
179
150
|
];
|
|
180
151
|
}, [chains]);
|
|
181
152
|
return (React.createElement(QueryClientProvider, { client: queryClient },
|
|
182
|
-
React.createElement(PrivyProvider, { appId:
|
|
153
|
+
React.createElement(PrivyProvider, { appId: resolvedAppId, config: {
|
|
183
154
|
loginMethods,
|
|
184
155
|
appearance: {
|
|
185
156
|
theme: appearance.theme || 'light',
|
|
@@ -190,8 +161,7 @@ export function PrivyStack({ appId, thirdwebClientId, chains, children, loginMet
|
|
|
190
161
|
defaultChain: supportedChains[0],
|
|
191
162
|
} },
|
|
192
163
|
React.createElement(PrivyReadyGate, null,
|
|
193
|
-
React.createElement(
|
|
194
|
-
React.createElement(WalletSyncProvider, { onAddressChange: onAddressChange }, children))))));
|
|
164
|
+
React.createElement(WalletSyncProvider, { onAddressChange: onAddressChange }, children)))));
|
|
195
165
|
}
|
|
196
166
|
export default PrivyStack;
|
|
197
167
|
//# sourceMappingURL=PrivyStack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivyStack.js","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PrivyStack.js","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAY1D;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;IAClC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,SAAS,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY;YACtC,KAAK,EAAE,CAAC;SACT;KACF;CACF,CAAC,CAAC;AAkBH;;GAEG;AACH,SAAS,YAAY,CAAC,KAAY;IAChC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,CAAC,EAAE,EAAE;QACvC,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,EAAE;QAC5B,cAAc,EAAE;YACd,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;SACZ;QACD,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;SAC9B;QACD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAClC,UAAU,GAAG;IACX,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,SAAS;CACvB,EACD,eAAe,GACC;IAChB,0EAA0E;IAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CACjC,GAAG,EAAE,CAAC,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,KAAK,EACjD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,4CAA4C;IAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAuB,EAAE;QAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QACD,qCAAqC;QACrC,OAAO;YACL;gBACE,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,gBAAgB;gBACzB,cAAc,EAAE;oBACd,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,CAAC;iBACZ;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,IAAI,EAAE,CAAC,qDAAqD,CAAC;qBAC9D;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,CAAC,qDAAqD,CAAC;qBAC9D;iBACF;gBACD,cAAc,EAAE;oBACd,OAAO,EAAE;wBACP,IAAI,EAAE,iBAAiB;wBACvB,GAAG,EAAE,0DAA0D;qBAChE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;QACtC,oBAAC,aAAa,IACZ,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE;gBACN,YAAY;gBACZ,UAAU,EAAE;oBACV,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,OAAO;oBAClC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,SAAS,CAAiB;oBAClE,IAAI,EAAE,UAAU,CAAC,IAAI;iBACtB;gBACD,eAAe,EAAE,eAAsB;gBACvC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAQ;aACxC;YAED,oBAAC,cAAc;gBACb,oBAAC,kBAAkB,IAAC,eAAe,EAAE,eAAe,IACjD,QAAQ,CACU,CACN,CACH,CACI,CACvB,CAAC;AACJ,CAAC;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* Provides unified
|
|
3
|
+
* Auth Sync State
|
|
4
|
+
* Provides unified auth state from Privy
|
|
5
5
|
*/
|
|
6
6
|
export interface WalletSyncState {
|
|
7
|
-
/** The
|
|
7
|
+
/** The user's account address (from Privy embedded wallet) */
|
|
8
8
|
address: string | null;
|
|
9
|
-
/** Whether
|
|
9
|
+
/** Whether auth state is still loading */
|
|
10
10
|
isLoading: boolean;
|
|
11
|
-
/** Whether
|
|
11
|
+
/** Whether the user account is ready */
|
|
12
12
|
isSynced: boolean;
|
|
13
|
-
/** Whether the user is authenticated
|
|
13
|
+
/** Whether the user is authenticated */
|
|
14
14
|
isAuthenticated: boolean;
|
|
15
|
-
/** The authentication method used (email, google,
|
|
15
|
+
/** The authentication method used (email, google, etc.) */
|
|
16
16
|
authMethod: string | null;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* WalletSyncContext - Provides unified
|
|
20
|
-
*
|
|
21
|
-
* This context synchronizes embedded wallets (created by Privy for email/social users)
|
|
22
|
-
* with Thirdweb's wallet context, ensuring a consistent experience.
|
|
19
|
+
* WalletSyncContext - Provides unified auth state via Privy
|
|
23
20
|
*/
|
|
24
21
|
export declare const WalletSyncContext: React.Context<WalletSyncState>;
|
|
25
22
|
/**
|
|
@@ -50,30 +47,26 @@ export interface WalletSyncProviderProps {
|
|
|
50
47
|
onSyncStateChange?: (state: WalletSyncState) => void;
|
|
51
48
|
}
|
|
52
49
|
/**
|
|
53
|
-
* WalletSyncProvider -
|
|
50
|
+
* WalletSyncProvider - Provides unified auth state for Varity apps
|
|
54
51
|
*
|
|
55
52
|
* This provider ensures that when a user signs in with email/Google,
|
|
56
|
-
* their
|
|
53
|
+
* their account address is available to all components.
|
|
57
54
|
*
|
|
58
55
|
* Features:
|
|
59
|
-
* -
|
|
60
|
-
* - Supports
|
|
61
|
-
* -
|
|
62
|
-
* - Provides unified wallet state across the app
|
|
56
|
+
* - Tracks user address from Privy embedded account
|
|
57
|
+
* - Supports email/social login (email, Google, etc.)
|
|
58
|
+
* - Provides unified auth state across the app
|
|
63
59
|
*
|
|
64
60
|
* @example
|
|
65
61
|
* ```tsx
|
|
66
62
|
* import { WalletSyncProvider, VarityPrivyProvider } from '@varity-labs/ui-kit';
|
|
67
|
-
* import { ThirdwebProvider } from 'thirdweb/react';
|
|
68
63
|
*
|
|
69
64
|
* function App() {
|
|
70
65
|
* return (
|
|
71
|
-
* <VarityPrivyProvider appId="your-
|
|
72
|
-
* <
|
|
73
|
-
* <
|
|
74
|
-
*
|
|
75
|
-
* </WalletSyncProvider>
|
|
76
|
-
* </ThirdwebProvider>
|
|
66
|
+
* <VarityPrivyProvider appId="your-app-id">
|
|
67
|
+
* <WalletSyncProvider>
|
|
68
|
+
* <YourApp />
|
|
69
|
+
* </WalletSyncProvider>
|
|
77
70
|
* </VarityPrivyProvider>
|
|
78
71
|
* );
|
|
79
72
|
* }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletSyncProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"WalletSyncProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,gCAM5B,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,uBAAsC,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,eAAe,EACf,iBAAiB,GAClB,EAAE,uBAAuB,qBAwEzB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect, createContext, useContext } from 'react';
|
|
2
2
|
import { usePrivy, useWallets } from '@privy-io/react-auth';
|
|
3
|
-
import { useActiveAccount } from 'thirdweb/react';
|
|
4
3
|
/**
|
|
5
|
-
* WalletSyncContext - Provides unified
|
|
6
|
-
*
|
|
7
|
-
* This context synchronizes embedded wallets (created by Privy for email/social users)
|
|
8
|
-
* with Thirdweb's wallet context, ensuring a consistent experience.
|
|
4
|
+
* WalletSyncContext - Provides unified auth state via Privy
|
|
9
5
|
*/
|
|
10
6
|
export const WalletSyncContext = createContext({
|
|
11
7
|
address: null,
|
|
@@ -31,30 +27,26 @@ export const WalletSyncContext = createContext({
|
|
|
31
27
|
*/
|
|
32
28
|
export const useWalletSync = () => useContext(WalletSyncContext);
|
|
33
29
|
/**
|
|
34
|
-
* WalletSyncProvider -
|
|
30
|
+
* WalletSyncProvider - Provides unified auth state for Varity apps
|
|
35
31
|
*
|
|
36
32
|
* This provider ensures that when a user signs in with email/Google,
|
|
37
|
-
* their
|
|
33
|
+
* their account address is available to all components.
|
|
38
34
|
*
|
|
39
35
|
* Features:
|
|
40
|
-
* -
|
|
41
|
-
* - Supports
|
|
42
|
-
* -
|
|
43
|
-
* - Provides unified wallet state across the app
|
|
36
|
+
* - Tracks user address from Privy embedded account
|
|
37
|
+
* - Supports email/social login (email, Google, etc.)
|
|
38
|
+
* - Provides unified auth state across the app
|
|
44
39
|
*
|
|
45
40
|
* @example
|
|
46
41
|
* ```tsx
|
|
47
42
|
* import { WalletSyncProvider, VarityPrivyProvider } from '@varity-labs/ui-kit';
|
|
48
|
-
* import { ThirdwebProvider } from 'thirdweb/react';
|
|
49
43
|
*
|
|
50
44
|
* function App() {
|
|
51
45
|
* return (
|
|
52
|
-
* <VarityPrivyProvider appId="your-
|
|
53
|
-
* <
|
|
54
|
-
* <
|
|
55
|
-
*
|
|
56
|
-
* </WalletSyncProvider>
|
|
57
|
-
* </ThirdwebProvider>
|
|
46
|
+
* <VarityPrivyProvider appId="your-app-id">
|
|
47
|
+
* <WalletSyncProvider>
|
|
48
|
+
* <YourApp />
|
|
49
|
+
* </WalletSyncProvider>
|
|
58
50
|
* </VarityPrivyProvider>
|
|
59
51
|
* );
|
|
60
52
|
* }
|
|
@@ -63,7 +55,6 @@ export const useWalletSync = () => useContext(WalletSyncContext);
|
|
|
63
55
|
export function WalletSyncProvider({ children, onAddressChange, onSyncStateChange, }) {
|
|
64
56
|
const { authenticated, user, ready: privyReady } = usePrivy();
|
|
65
57
|
const { wallets, ready: walletsReady } = useWallets();
|
|
66
|
-
const activeAccount = useActiveAccount();
|
|
67
58
|
const [syncState, setSyncState] = useState({
|
|
68
59
|
address: null,
|
|
69
60
|
isLoading: true,
|
|
@@ -72,11 +63,9 @@ export function WalletSyncProvider({ children, onAddressChange, onSyncStateChang
|
|
|
72
63
|
authMethod: null,
|
|
73
64
|
});
|
|
74
65
|
useEffect(() => {
|
|
75
|
-
// Get the primary
|
|
76
|
-
// Priority: Privy wallet > Thirdweb active account
|
|
66
|
+
// Get the primary user address (Privy embedded wallet)
|
|
77
67
|
const privyWallet = wallets && wallets.length > 0 ? wallets[0] : null;
|
|
78
|
-
const
|
|
79
|
-
const primaryAddress = privyWallet?.address || thirdwebAddress || null;
|
|
68
|
+
const primaryAddress = privyWallet?.address || null;
|
|
80
69
|
// Determine auth method
|
|
81
70
|
let authMethod = null;
|
|
82
71
|
if (user?.email) {
|
|
@@ -116,14 +105,14 @@ export function WalletSyncProvider({ children, onAddressChange, onSyncStateChang
|
|
|
116
105
|
if (onSyncStateChange) {
|
|
117
106
|
onSyncStateChange(newState);
|
|
118
107
|
}
|
|
119
|
-
}, [authenticated, user, wallets, walletsReady, privyReady,
|
|
120
|
-
// Store
|
|
108
|
+
}, [authenticated, user, wallets, walletsReady, privyReady, onAddressChange, onSyncStateChange, syncState.address]);
|
|
109
|
+
// Store user address in localStorage for persistence across sessions
|
|
121
110
|
useEffect(() => {
|
|
122
111
|
if (syncState.address) {
|
|
123
|
-
localStorage.setItem('
|
|
112
|
+
localStorage.setItem('varity_user_address', syncState.address);
|
|
124
113
|
}
|
|
125
114
|
else if (!syncState.isLoading && !syncState.isAuthenticated) {
|
|
126
|
-
localStorage.removeItem('
|
|
115
|
+
localStorage.removeItem('varity_user_address');
|
|
127
116
|
}
|
|
128
117
|
}, [syncState.address, syncState.isLoading, syncState.isAuthenticated]);
|
|
129
118
|
return (React.createElement(WalletSyncContext.Provider, { value: syncState }, children));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletSyncProvider.js","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAa,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"WalletSyncProvider.js","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"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"}
|