@use-glyph/sdk-react 2.1.11 → 2.2.0
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 +58 -1
- package/dist/EIP1193Strategy.js +375 -123
- package/dist/EIP1193Strategy.js.map +1 -1
- package/dist/PrivyStrategy.js +112 -103
- package/dist/PrivyStrategy.js.map +1 -1
- package/dist/glyph-widget.es.js +3 -3
- package/dist/glyph-widget.umd.js +31 -111
- package/dist/glyph-widget.umd.js.map +1 -1
- package/dist/index.js +8205 -7448
- package/dist/index.js.map +1 -1
- package/dist/types/components/ui/drawer.d.ts +9 -11
- package/dist/types/context/glyphDataQuery.d.ts +11 -0
- package/dist/types/context/strategies/privyWallet.d.ts +11 -0
- package/dist/types/hooks/useBalancesForChain.d.ts +1 -1
- package/dist/types/hooks/useGlyph.d.ts +5 -1
- package/dist/types/hooks/useRelayQuote.d.ts +15 -15
- package/dist/types/hooks/useRelayTokenList.d.ts +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/rpcPublic.d.ts +5 -0
- package/dist/types/lib/walletAuth.d.ts +15 -0
- package/dist/types/lib/walletAuthSession.d.ts +36 -0
- package/dist/types/types/GlyphWidgetTypes.d.ts +10 -1
- package/package.json +21 -10
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { default as react, ComponentProps, HTMLAttributes, PropsWithChildren } from 'react';
|
|
1
|
+
import { default as react, ComponentProps, ComponentPropsWithoutRef, ComponentRef, HTMLAttributes, PropsWithChildren } from 'react';
|
|
2
2
|
import { Drawer as DrawerPrimitive } from 'vaul';
|
|
3
3
|
declare const Drawer: ({ shouldScaleBackground, repositionInputs, ...props }: ComponentProps<typeof DrawerPrimitive.Root>) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
declare const DrawerTrigger:
|
|
4
|
+
declare const DrawerTrigger: typeof DrawerPrimitive.Trigger;
|
|
5
5
|
declare const DrawerPortal: react.FC<PropsWithChildren>;
|
|
6
|
-
declare const DrawerClose:
|
|
7
|
-
declare const DrawerHandle:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
declare const DrawerOverlay: react.ForwardRefExoticComponent<Omit<Omit<import('@radix-ui/react-dialog').DialogOverlayProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
declare const DrawerContent: react.ForwardRefExoticComponent<Omit<Omit<import('@radix-ui/react-dialog').DialogContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
6
|
+
declare const DrawerClose: typeof DrawerPrimitive.Close;
|
|
7
|
+
declare const DrawerHandle: typeof DrawerPrimitive.Handle;
|
|
8
|
+
declare const DrawerOverlay: react.ForwardRefExoticComponent<ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay> & react.RefAttributes<ComponentRef<typeof DrawerPrimitive.Overlay>>>;
|
|
9
|
+
declare const DrawerContent: react.ForwardRefExoticComponent<ComponentPropsWithoutRef<typeof DrawerPrimitive.Content> & {
|
|
12
10
|
childrenWrapperClassName?: string;
|
|
13
|
-
} & react.RefAttributes<
|
|
11
|
+
} & react.RefAttributes<ComponentRef<typeof DrawerPrimitive.Content>>>;
|
|
14
12
|
declare const DrawerHeader: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
|
|
15
13
|
declare const DrawerFooter: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
-
declare const DrawerTitle: react.ForwardRefExoticComponent<
|
|
17
|
-
declare const DrawerDescription: react.ForwardRefExoticComponent<
|
|
14
|
+
declare const DrawerTitle: react.ForwardRefExoticComponent<ComponentPropsWithoutRef<typeof DrawerPrimitive.Title> & react.RefAttributes<ComponentRef<typeof DrawerPrimitive.Title>>>;
|
|
15
|
+
declare const DrawerDescription: react.ForwardRefExoticComponent<ComponentPropsWithoutRef<typeof DrawerPrimitive.Description> & react.RefAttributes<ComponentRef<typeof DrawerPrimitive.Description>>>;
|
|
18
16
|
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHandle, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GlyphApiFetch } from './GlyphContext';
|
|
2
|
+
export type ScopedGlyphData<T> = {
|
|
3
|
+
scope: string;
|
|
4
|
+
value: T;
|
|
5
|
+
};
|
|
6
|
+
export declare class GlyphDataRequestError extends Error {
|
|
7
|
+
readonly status: number;
|
|
8
|
+
constructor(status: number);
|
|
9
|
+
}
|
|
10
|
+
export declare function fetchScopedGlyphData<T>(apiFetch: GlyphApiFetch | null, path: string, signal: AbortSignal, isCurrent: () => boolean, scope: string): Promise<ScopedGlyphData<T>>;
|
|
11
|
+
export declare function shouldRetryGlyphData(error: Error, failureCount: number, limit: number): boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { User } from '@privy-io/react-auth';
|
|
2
|
+
/** Select supported EVM signers, preserving Glyph > other cross-app > native precedence. */
|
|
3
|
+
export declare function selectPrivyWallet(user: User | null, glyphAppId?: string): {
|
|
4
|
+
address: string;
|
|
5
|
+
usesCrossapp: boolean;
|
|
6
|
+
providerAppId: string;
|
|
7
|
+
} | {
|
|
8
|
+
address: string;
|
|
9
|
+
usesCrossapp: boolean;
|
|
10
|
+
providerAppId: null;
|
|
11
|
+
} | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GlyphWidgetBalances } from '../types';
|
|
2
|
-
export declare function useBalancesForChain(chainId?: number | "all"): import('@tanstack/react-query').UseQueryResult<GlyphWidgetBalances | null
|
|
2
|
+
export declare function useBalancesForChain(chainId?: number | "all"): import('@tanstack/react-query').UseQueryResult<NoInfer<GlyphWidgetBalances | null>, Error>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SignTypedDataParams, UnsignedTransactionRequest } from '@privy-io/react-auth';
|
|
2
|
-
import { GlyphWidgetBalances, GlyphWidgetUser } from '../types';
|
|
2
|
+
import { GlyphAuthError, GlyphWidgetBalances, GlyphWidgetUser } from '../types';
|
|
3
3
|
export interface GlyphInterface {
|
|
4
4
|
/**
|
|
5
5
|
* Check whether the `GlyphContext` is ready to be used. You should wait for this to
|
|
@@ -27,6 +27,10 @@ export interface GlyphInterface {
|
|
|
27
27
|
transaction: UnsignedTransactionRequest;
|
|
28
28
|
}) => Promise<string>;
|
|
29
29
|
login: () => void;
|
|
30
|
+
/** Retry wallet authentication from a fresh click. False means deferred or failed. */
|
|
31
|
+
signIn: () => Promise<boolean>;
|
|
32
|
+
needsSignature: boolean;
|
|
33
|
+
authError: GlyphAuthError | null;
|
|
30
34
|
logout: () => void;
|
|
31
35
|
/**
|
|
32
36
|
* The base URL for the Glyph Widget API (optional, uses default DASHBOARD_BASE_URL from envs if not provided)
|
|
@@ -5,7 +5,7 @@ export declare const checkIfGasIsEnough: (gasCurrencyAddress: string, sourceToke
|
|
|
5
5
|
export declare const useRelayQuote: (enabled?: boolean) => {
|
|
6
6
|
appFeesWaived: boolean;
|
|
7
7
|
operation: string;
|
|
8
|
-
data: Execute
|
|
8
|
+
data: NoInfer<Execute>;
|
|
9
9
|
error: Error;
|
|
10
10
|
isError: true;
|
|
11
11
|
isPending: false;
|
|
@@ -28,13 +28,13 @@ export declare const useRelayQuote: (enabled?: boolean) => {
|
|
|
28
28
|
isRefetching: boolean;
|
|
29
29
|
isStale: boolean;
|
|
30
30
|
isEnabled: boolean;
|
|
31
|
-
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Execute
|
|
31
|
+
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<NoInfer<Execute>, Error>>;
|
|
32
32
|
fetchStatus: import('@tanstack/react-query').FetchStatus;
|
|
33
|
-
promise: Promise<Execute
|
|
33
|
+
promise: Promise<NoInfer<Execute>>;
|
|
34
34
|
} | {
|
|
35
35
|
appFeesWaived: boolean;
|
|
36
36
|
operation: string;
|
|
37
|
-
data: Execute
|
|
37
|
+
data: NoInfer<Execute>;
|
|
38
38
|
error: null;
|
|
39
39
|
isError: false;
|
|
40
40
|
isPending: false;
|
|
@@ -57,9 +57,9 @@ export declare const useRelayQuote: (enabled?: boolean) => {
|
|
|
57
57
|
isRefetching: boolean;
|
|
58
58
|
isStale: boolean;
|
|
59
59
|
isEnabled: boolean;
|
|
60
|
-
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Execute
|
|
60
|
+
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<NoInfer<Execute>, Error>>;
|
|
61
61
|
fetchStatus: import('@tanstack/react-query').FetchStatus;
|
|
62
|
-
promise: Promise<Execute
|
|
62
|
+
promise: Promise<NoInfer<Execute>>;
|
|
63
63
|
} | {
|
|
64
64
|
appFeesWaived: boolean;
|
|
65
65
|
operation: string;
|
|
@@ -86,9 +86,9 @@ export declare const useRelayQuote: (enabled?: boolean) => {
|
|
|
86
86
|
isRefetching: boolean;
|
|
87
87
|
isStale: boolean;
|
|
88
88
|
isEnabled: boolean;
|
|
89
|
-
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Execute
|
|
89
|
+
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<NoInfer<Execute>, Error>>;
|
|
90
90
|
fetchStatus: import('@tanstack/react-query').FetchStatus;
|
|
91
|
-
promise: Promise<Execute
|
|
91
|
+
promise: Promise<NoInfer<Execute>>;
|
|
92
92
|
} | {
|
|
93
93
|
appFeesWaived: boolean;
|
|
94
94
|
operation: string;
|
|
@@ -115,9 +115,9 @@ export declare const useRelayQuote: (enabled?: boolean) => {
|
|
|
115
115
|
isRefetching: boolean;
|
|
116
116
|
isStale: boolean;
|
|
117
117
|
isEnabled: boolean;
|
|
118
|
-
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Execute
|
|
118
|
+
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<NoInfer<Execute>, Error>>;
|
|
119
119
|
fetchStatus: import('@tanstack/react-query').FetchStatus;
|
|
120
|
-
promise: Promise<Execute
|
|
120
|
+
promise: Promise<NoInfer<Execute>>;
|
|
121
121
|
} | {
|
|
122
122
|
appFeesWaived: boolean;
|
|
123
123
|
operation: string;
|
|
@@ -144,13 +144,13 @@ export declare const useRelayQuote: (enabled?: boolean) => {
|
|
|
144
144
|
isRefetching: boolean;
|
|
145
145
|
isStale: boolean;
|
|
146
146
|
isEnabled: boolean;
|
|
147
|
-
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Execute
|
|
147
|
+
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<NoInfer<Execute>, Error>>;
|
|
148
148
|
fetchStatus: import('@tanstack/react-query').FetchStatus;
|
|
149
|
-
promise: Promise<Execute
|
|
149
|
+
promise: Promise<NoInfer<Execute>>;
|
|
150
150
|
} | {
|
|
151
151
|
appFeesWaived: boolean;
|
|
152
152
|
operation: string;
|
|
153
|
-
data: Execute
|
|
153
|
+
data: NoInfer<Execute>;
|
|
154
154
|
isError: false;
|
|
155
155
|
error: null;
|
|
156
156
|
isPending: false;
|
|
@@ -173,7 +173,7 @@ export declare const useRelayQuote: (enabled?: boolean) => {
|
|
|
173
173
|
isRefetching: boolean;
|
|
174
174
|
isStale: boolean;
|
|
175
175
|
isEnabled: boolean;
|
|
176
|
-
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Execute
|
|
176
|
+
refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<NoInfer<Execute>, Error>>;
|
|
177
177
|
fetchStatus: import('@tanstack/react-query').FetchStatus;
|
|
178
|
-
promise: Promise<Execute
|
|
178
|
+
promise: Promise<NoInfer<Execute>>;
|
|
179
179
|
};
|
|
@@ -7,7 +7,7 @@ export type GetCurrenciesResponse = paths["/currencies/v2"]["post"]["responses"]
|
|
|
7
7
|
type QueryType = typeof useQuery<GetCurrenciesResponse, DefaultError, GetCurrenciesResponse, QueryKey>;
|
|
8
8
|
type QueryOptions = Parameters<QueryType>["0"];
|
|
9
9
|
export declare const queryTokenList: (options?: GetCurrenciesBody, headers?: Record<string, string>) => Promise<GetCurrenciesResponse>;
|
|
10
|
-
export default function (options?: GetCurrenciesBody, queryOptions?: Partial<QueryOptions>): Omit<import('@tanstack/react-query').UseQueryResult<{
|
|
10
|
+
export default function (options?: GetCurrenciesBody, queryOptions?: Partial<QueryOptions>): Omit<import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
11
11
|
chainId?: number;
|
|
12
12
|
address?: string;
|
|
13
13
|
symbol?: string;
|
|
@@ -19,7 +19,7 @@ export default function (options?: GetCurrenciesBody, queryOptions?: Partial<Que
|
|
|
19
19
|
verified?: boolean;
|
|
20
20
|
isNative?: boolean;
|
|
21
21
|
};
|
|
22
|
-
}[]
|
|
22
|
+
}[]>, Error>, "data"> & {
|
|
23
23
|
data?: GetCurrenciesResponse;
|
|
24
24
|
};
|
|
25
25
|
export {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { useGlyphTokenGate, useGlyphOwnershipCheck, type GlyphOwnershipCheckRequ
|
|
|
16
16
|
export { useGlyphView } from './hooks/useGlyphView';
|
|
17
17
|
export { glyphConnectorDetails } from './lib/constants';
|
|
18
18
|
export { GlyphViewType as GlyphView, StrategyType, WalletClientType } from './types';
|
|
19
|
-
export type { GlyphWidgetUser } from './types';
|
|
19
|
+
export type { GlyphWidgetUser, GlyphAuthError, GlyphAuthErrorReason } from './types';
|
|
20
20
|
export { GlyphProvider, GlyphWidget, LoginButton, LogoutButton, SignUpButton, Wallet, ChainSelector };
|
|
21
21
|
export { NativeGlyphConnectButton } from './components/NativeGlyphConnectButton';
|
|
22
22
|
export { useNativeGlyphConnection } from './hooks/useNativeGlyphConnection';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GlyphAuthError, GlyphAuthErrorReason } from '../types';
|
|
2
|
+
export declare class WalletAuthFailure extends Error {
|
|
3
|
+
readonly reason: GlyphAuthErrorReason;
|
|
4
|
+
readonly retryAfterMs?: number | undefined;
|
|
5
|
+
constructor(reason: GlyphAuthErrorReason, message: string, retryAfterMs?: number | undefined);
|
|
6
|
+
}
|
|
7
|
+
export declare function walletAuthOrigin(value: string): string | null;
|
|
8
|
+
export declare function hasWalletActivation(): boolean;
|
|
9
|
+
export declare function signingFailure(error: unknown): WalletAuthFailure;
|
|
10
|
+
export declare function fetchWalletMessage(origin: string, address: string, signal: AbortSignal): Promise<{
|
|
11
|
+
message: string;
|
|
12
|
+
nonce: string;
|
|
13
|
+
}>;
|
|
14
|
+
export declare function verifyWalletSignature(origin: string, address: string, signature: string, nonce: string, signal: AbortSignal): Promise<string>;
|
|
15
|
+
export declare function publicAuthError(error: unknown): GlyphAuthError;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { GlyphApiFetch } from '../context/GlyphContext';
|
|
2
|
+
import { GlyphAuthError } from '../types';
|
|
3
|
+
type Snapshot = {
|
|
4
|
+
generation: number;
|
|
5
|
+
ready: boolean;
|
|
6
|
+
authenticated: boolean;
|
|
7
|
+
needsSignature: boolean;
|
|
8
|
+
authError: GlyphAuthError | null;
|
|
9
|
+
apiFetch: GlyphApiFetch | null;
|
|
10
|
+
};
|
|
11
|
+
type Options = {
|
|
12
|
+
address: string;
|
|
13
|
+
origin: string;
|
|
14
|
+
/** Stable connector family; runtime instance identity is fenced by isCurrent. */
|
|
15
|
+
connector: string;
|
|
16
|
+
popup: boolean;
|
|
17
|
+
isCurrent: () => boolean;
|
|
18
|
+
sign: (message: string) => Promise<string>;
|
|
19
|
+
onLogin: () => void;
|
|
20
|
+
onAuthError: (error: GlyphAuthError) => void;
|
|
21
|
+
storage?: Pick<Storage, "getItem" | "setItem" | "removeItem">;
|
|
22
|
+
activation?: () => boolean;
|
|
23
|
+
};
|
|
24
|
+
/** One mounted wallet/origin/connector capability. No async result can change another generation. */
|
|
25
|
+
export declare function createWalletAuthSession(options: Options): {
|
|
26
|
+
subscribe(listener: () => void): () => void;
|
|
27
|
+
getSnapshot: () => Readonly<Snapshot>;
|
|
28
|
+
current: (generation?: number) => boolean;
|
|
29
|
+
signIn: (generation: number) => Promise<boolean>;
|
|
30
|
+
automatic(): void;
|
|
31
|
+
start(): void;
|
|
32
|
+
stop(forget?: boolean): void;
|
|
33
|
+
logout(): void;
|
|
34
|
+
forget(): void;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
@@ -29,11 +29,19 @@ export declare const GlyphViewType: {
|
|
|
29
29
|
readonly OPEN: "open";
|
|
30
30
|
};
|
|
31
31
|
export type GlyphViewType = (typeof GlyphViewType)[keyof typeof GlyphViewType];
|
|
32
|
+
export type GlyphAuthErrorReason = "popup_blocked" | "rejected" | "verify_failed" | "network";
|
|
33
|
+
/** Static, credential-free failure information. No raw provider causes are exposed. */
|
|
34
|
+
export type GlyphAuthError = {
|
|
35
|
+
reason: GlyphAuthErrorReason;
|
|
36
|
+
message: string;
|
|
37
|
+
retryAt?: number;
|
|
38
|
+
};
|
|
32
39
|
export interface BaseGlyphProviderOptions extends PropsWithChildren {
|
|
33
40
|
glyphUrl?: string;
|
|
34
41
|
useStagingTenant?: boolean;
|
|
35
42
|
onLogin?: () => void;
|
|
36
43
|
onLogout?: () => void;
|
|
44
|
+
onAuthError?: (error: GlyphAuthError) => void;
|
|
37
45
|
/**
|
|
38
46
|
* Optional per-chain RPC override. Maps a chainId to a single RPC URL or an array of URLs
|
|
39
47
|
* (used as a viem `fallback` transport). Chains without an entry keep the default RPC
|
|
@@ -119,7 +127,8 @@ export type GlyphWidgetProps = {
|
|
|
119
127
|
};
|
|
120
128
|
export type GlyphWidgetUser = {
|
|
121
129
|
hasProfile: boolean;
|
|
122
|
-
id
|
|
130
|
+
/** Legacy field; the current widget user API does not return an id. */
|
|
131
|
+
id?: string;
|
|
123
132
|
name: string;
|
|
124
133
|
picture: string;
|
|
125
134
|
evmWallet: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@use-glyph/sdk-react",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "GLYPH-1.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -29,6 +29,17 @@
|
|
|
29
29
|
"README.md"
|
|
30
30
|
],
|
|
31
31
|
"devDependencies": {
|
|
32
|
+
"@privy-io/cross-app-connect": "0.7.3",
|
|
33
|
+
"@privy-io/react-auth": "3.48.1",
|
|
34
|
+
"@privy-io/wagmi": "4.0.19",
|
|
35
|
+
"@rainbow-me/rainbowkit": "2.2.11",
|
|
36
|
+
"@tanstack/react-query": "5.101.1",
|
|
37
|
+
"@types/react": "19.1.1",
|
|
38
|
+
"@types/react-dom": "19.1.1",
|
|
39
|
+
"react": "19.1.3",
|
|
40
|
+
"react-dom": "19.1.3",
|
|
41
|
+
"viem": "2.57.5",
|
|
42
|
+
"wagmi": "2.19.5",
|
|
32
43
|
"@eslint/js": "^9.34.0",
|
|
33
44
|
"@types/node": "^24.3.0",
|
|
34
45
|
"@vitejs/plugin-react": "^5.0.2",
|
|
@@ -48,21 +59,21 @@
|
|
|
48
59
|
"tailwindcss-animate": "^1.0.7",
|
|
49
60
|
"typescript": "~5.9.3",
|
|
50
61
|
"typescript-eslint": "^8.41.0",
|
|
51
|
-
"vite": "7.
|
|
62
|
+
"vite": "7.3.7",
|
|
52
63
|
"vite-plugin-dts": "^4.5.4"
|
|
53
64
|
},
|
|
54
65
|
"peerDependencies": {
|
|
55
|
-
"@privy-io/cross-app-connect": ">=0.2.1",
|
|
56
|
-
"@privy-io/react-auth": ">=3.
|
|
57
|
-
"@privy-io/wagmi": ">=
|
|
58
|
-
"@rainbow-me/rainbowkit": ">=2.2.
|
|
59
|
-
"@tanstack/react-query": ">=5.76.0",
|
|
66
|
+
"@privy-io/cross-app-connect": ">=0.2.1 <0.8",
|
|
67
|
+
"@privy-io/react-auth": ">=3.14.1 <3.49.0",
|
|
68
|
+
"@privy-io/wagmi": ">=4.0.19 <5",
|
|
69
|
+
"@rainbow-me/rainbowkit": ">=2.2.11 <3",
|
|
70
|
+
"@tanstack/react-query": ">=5.76.0 <6",
|
|
60
71
|
"@types/react": "^18.x || ^19.x",
|
|
61
72
|
"@types/react-dom": "^18.x || ^19.x",
|
|
62
73
|
"react": "^18.x || ^19.x",
|
|
63
74
|
"react-dom": "^18.x || ^19.x",
|
|
64
|
-
"viem": ">=2.
|
|
65
|
-
"wagmi": ">=2.
|
|
75
|
+
"viem": ">=2.57.5 <3",
|
|
76
|
+
"wagmi": ">=2.19.5 <3"
|
|
66
77
|
},
|
|
67
78
|
"dependencies": {
|
|
68
79
|
"@radix-ui/react-accordion": "^1.2.12",
|
|
@@ -70,7 +81,7 @@
|
|
|
70
81
|
"@radix-ui/react-popover": "^1.1.15",
|
|
71
82
|
"@radix-ui/react-slot": "^1.2.3",
|
|
72
83
|
"@radix-ui/react-tooltip": "1.2.8",
|
|
73
|
-
"@relayprotocol/relay-sdk": "3.
|
|
84
|
+
"@relayprotocol/relay-sdk": "3.2.0",
|
|
74
85
|
"@types/throttle-debounce": "5.0.2",
|
|
75
86
|
"class-variance-authority": "^0.7.1",
|
|
76
87
|
"clsx": "^2.1.1",
|